I'm having a go at rewriting WizardC in ASM as Version 8. So far my code is:
Code:
Code:
#include "ti83plus.inc"
.org $9D93
.db $BB,$6D
Start:
menuStart:
b_call(_ClrLCDFull)
LD HL,txtHeader
CALL dispHeader
LD HL,txtItem1
CALL dispItem
LD HL,txtItem2
CALL dispItem
LD HL,txtItem3
CALL dispItem
LD HL,txtItemQuit
CALL dispItem
menuLoop:
b_call(_GetKey)
CP k1
JR Z,item1
CP k2
JR Z,item2
CP k3
JR Z,item3
CP k4
JR Z,quit
JR MenuLoop
item1:
b_call(_ClrLCDFull)
LD BC,0
LD (curRow),BC
LD HL,txtSelect1
b_call(_PutS)
b_call(_GetKey)
JR menuStart
item2:
b_call(_ClrLCDFull)
LD BC,0
LD (curRow),BC
LD HL,txtSelect2
b_call(_PutS)
b_call(_GetKey)
JR MenuStart
item3:
b_call(_ClrLCDFull)
LD BC,0
LD (curRow),BC
LD HL,txtSelect3
b_call(_PutS)
b_call(_GetKey)
JR menuStart
quit:
b_call(_ClrLCDFull)
RET
dispHeader:
LD BC,$0
LD (curRow),BC
SET textInverse,(IY+TextFlags)
b_call(_PutS)
RES textInverse,(IY+TextFlags)
LD HL,0
LD (curRow),HL
RET
dispItem:
PUSH HL
b_call(_NewLine)
POP HL
b_call(_PutS)
RET
txtHeader:
.db "Wizard Currency Converter",0
txtItem1:
.db "1: Dollars:Gallions",0
txtItem2:
.db "2: Gallions:Dollars",0
txtItem3:
.db "3: About",0
txtSelect1:
.db "Dollars:Gallions is under construction.",0
txtSelect2:
.db "Gallions:Dollars is under construction.",0
txtSelect3:
.db "About is under construction.",0
txtItemQuit:
.db "4: Quit",0
.end
END