indent - pre-new version changing
This commit is contained in:
parent
8cffd41557
commit
9a71cb289e
761
src/menu.s
761
src/menu.s
|
@ -2,361 +2,361 @@
|
||||||
*** MENU LIBRARY
|
*** MENU LIBRARY
|
||||||
|
|
||||||
** MENU USES ZP $F0-$F1 as ptr to MenuDefs
|
** MENU USES ZP $F0-$F1 as ptr to MenuDefs
|
||||||
Menu_InitMenu sta $F0
|
Menu_InitMenu sta $F0
|
||||||
stx $F1
|
stx $F1
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Menu_PrevItem dec Menu_ItemSelected
|
Menu_PrevItem dec Menu_ItemSelected
|
||||||
bpl :noflip
|
bpl :noflip
|
||||||
lda #MainMenuItems
|
lda #MainMenuItems
|
||||||
dec
|
dec
|
||||||
sta Menu_ItemSelected
|
sta Menu_ItemSelected
|
||||||
:noflip rts
|
:noflip rts
|
||||||
|
|
||||||
|
|
||||||
Menu_NextItem inc Menu_ItemSelected
|
Menu_NextItem inc Menu_ItemSelected
|
||||||
lda Menu_ItemSelected
|
lda Menu_ItemSelected
|
||||||
cmp #MainMenuItems
|
cmp #MainMenuItems
|
||||||
bcc :noflip
|
bcc :noflip
|
||||||
lda #0
|
lda #0
|
||||||
sta Menu_ItemSelected
|
sta Menu_ItemSelected
|
||||||
:noflip rts
|
:noflip rts
|
||||||
|
|
||||||
|
|
||||||
Menu_DrawOptions
|
Menu_DrawOptions
|
||||||
|
|
||||||
stz _menuOptionPtr
|
stz _menuOptionPtr
|
||||||
:drawOption
|
:drawOption
|
||||||
ldy _menuOptionPtr
|
ldy _menuOptionPtr
|
||||||
lda ($F0),y
|
lda ($F0),y
|
||||||
beq :menuDone
|
beq :menuDone
|
||||||
tax
|
tax
|
||||||
iny
|
iny
|
||||||
lda ($F0),y
|
lda ($F0),y
|
||||||
tay
|
tay
|
||||||
jsr GoXY
|
jsr GoXY
|
||||||
ldy _menuOptionPtr
|
ldy _menuOptionPtr
|
||||||
iny
|
iny
|
||||||
iny
|
iny
|
||||||
lda ($F0),y
|
lda ($F0),y
|
||||||
beq :charItem
|
beq :charItem
|
||||||
cmp #1
|
cmp #1
|
||||||
beq :hexItem
|
beq :hexItem
|
||||||
cmp #2
|
cmp #2
|
||||||
beq :jsrItem
|
beq :jsrItem
|
||||||
cmp #3
|
cmp #3
|
||||||
beq :listItem
|
beq :listItem
|
||||||
cmp #4
|
cmp #4
|
||||||
beq :boolItem
|
beq :boolItem
|
||||||
:charItem
|
:charItem
|
||||||
:boolItem
|
:boolItem
|
||||||
:hexItem jsr Menu_DrawOptionHex
|
:hexItem jsr Menu_DrawOptionHex
|
||||||
bra :nextMenuItem
|
bra :nextMenuItem
|
||||||
:listItem jsr Menu_DrawOptionList
|
:listItem jsr Menu_DrawOptionList
|
||||||
bra :nextMenuItem
|
bra :nextMenuItem
|
||||||
:jsrItem jsr Menu_DrawOptionAction
|
:jsrItem jsr Menu_DrawOptionAction
|
||||||
bra :nextMenuItem
|
bra :nextMenuItem
|
||||||
|
|
||||||
:nextMenuItem
|
:nextMenuItem
|
||||||
lda _menuOptionPtr
|
lda _menuOptionPtr
|
||||||
clc
|
clc
|
||||||
adc #6 ; len of "struct"
|
adc #6 ; len of "struct"
|
||||||
sta _menuOptionPtr
|
sta _menuOptionPtr
|
||||||
bra :drawOption
|
bra :drawOption
|
||||||
:menuDone
|
:menuDone
|
||||||
rts
|
rts
|
||||||
|
|
||||||
Menu_DrawOptionHex iny
|
Menu_DrawOptionHex iny
|
||||||
lda ($F0),y ; get len
|
lda ($F0),y ; get len
|
||||||
sta _menuHexIdx
|
sta _menuHexIdx
|
||||||
iny
|
iny
|
||||||
lda ($F0),y ; get da
|
lda ($F0),y ; get da
|
||||||
sta $F2 ; storez
|
sta $F2 ; storez
|
||||||
iny
|
iny
|
||||||
lda ($F0),y ; get da
|
lda ($F0),y ; get da
|
||||||
sta $F3 ; storez
|
sta $F3 ; storez
|
||||||
ldy #0
|
ldy #0
|
||||||
:prloop lda ($F2),y
|
:prloop lda ($F2),y
|
||||||
jsr PRBYTE
|
jsr PRBYTE
|
||||||
iny
|
iny
|
||||||
cpy _menuHexIdx
|
cpy _menuHexIdx
|
||||||
bne :prloop
|
bne :prloop
|
||||||
rts
|
rts
|
||||||
|
|
||||||
Menu_DrawOptionAction iny
|
Menu_DrawOptionAction iny
|
||||||
iny
|
iny
|
||||||
lda ($F0),y
|
lda ($F0),y
|
||||||
tax
|
tax
|
||||||
iny
|
iny
|
||||||
lda ($F0),y
|
lda ($F0),y
|
||||||
tay
|
tay
|
||||||
txa
|
txa
|
||||||
jsr PrintString
|
jsr PrintString
|
||||||
rts
|
rts
|
||||||
|
|
||||||
Menu_DrawOptionList iny ; point to da
|
Menu_DrawOptionList iny ; point to da
|
||||||
iny
|
iny
|
||||||
lda ($F0),y
|
lda ($F0),y
|
||||||
sta $F2
|
sta $F2
|
||||||
iny
|
iny
|
||||||
lda ($F0),y
|
lda ($F0),y
|
||||||
sta $F3 ; now ($2) points to item list structure
|
sta $F3 ; now ($2) points to item list structure
|
||||||
ldy #0
|
ldy #0
|
||||||
lda ($F2),y ; selected index
|
lda ($F2),y ; selected index
|
||||||
asl
|
asl
|
||||||
inc
|
inc
|
||||||
inc ; add 2 to reach table of addresses
|
inc ; add 2 to reach table of addresses
|
||||||
tay
|
tay
|
||||||
lda ($F2),y
|
lda ($F2),y
|
||||||
pha
|
pha
|
||||||
|
|
||||||
iny
|
iny
|
||||||
lda ($F2),y
|
lda ($F2),y
|
||||||
tay
|
tay
|
||||||
pla
|
pla
|
||||||
jsr PrintString
|
jsr PrintString
|
||||||
rts
|
rts
|
||||||
|
|
||||||
_menuHexIdx dw 0
|
_menuHexIdx dw 0
|
||||||
_menuOptionPtr dw 00
|
_menuOptionPtr dw 00
|
||||||
Menu_UndrawSelected
|
Menu_UndrawSelected
|
||||||
stz _stash
|
stz _stash
|
||||||
|
|
||||||
:undrawLoop ldy _stash ; struct ptr
|
:undrawLoop ldy _stash ; struct ptr
|
||||||
lda ($F0),y
|
lda ($F0),y
|
||||||
beq :stop
|
beq :stop
|
||||||
dec ; x-- (left bracket)
|
dec ; x-- (left bracket)
|
||||||
sta _menuSelectedX1
|
sta _menuSelectedX1
|
||||||
iny
|
iny
|
||||||
lda ($F0),y
|
lda ($F0),y
|
||||||
sta _menuSelectedY
|
sta _menuSelectedY
|
||||||
iny
|
iny
|
||||||
lda ($F0),y
|
lda ($F0),y
|
||||||
bne :notChar
|
bne :notChar
|
||||||
iny
|
iny
|
||||||
lda ($F0),y
|
lda ($F0),y
|
||||||
inc ;doit
|
inc ;doit
|
||||||
clc
|
clc
|
||||||
adc _menuSelectedX1
|
adc _menuSelectedX1
|
||||||
tax
|
tax
|
||||||
bra :rightBracket
|
bra :rightBracket
|
||||||
|
|
||||||
:notChar cmp #1
|
:notChar cmp #1
|
||||||
bne :notHex
|
bne :notHex
|
||||||
iny
|
iny
|
||||||
lda ($F0),y
|
lda ($F0),y
|
||||||
asl
|
asl
|
||||||
inc ;doit
|
inc ;doit
|
||||||
clc
|
clc
|
||||||
adc _menuSelectedX1
|
adc _menuSelectedX1
|
||||||
tax
|
tax
|
||||||
bra :rightBracket
|
bra :rightBracket
|
||||||
|
|
||||||
:notHex cmp #2
|
:notHex cmp #2
|
||||||
bne :notAction
|
bne :notAction
|
||||||
iny
|
iny
|
||||||
lda ($F0),y
|
lda ($F0),y
|
||||||
|
|
||||||
inc
|
inc
|
||||||
clc
|
clc
|
||||||
adc _menuSelectedX1
|
adc _menuSelectedX1
|
||||||
tax
|
tax
|
||||||
bra :rightBracket
|
bra :rightBracket
|
||||||
|
|
||||||
|
|
||||||
:notAction
|
:notAction
|
||||||
cmp #3
|
cmp #3
|
||||||
bne :wtf
|
bne :wtf
|
||||||
iny
|
iny
|
||||||
lda ($F0),y
|
lda ($F0),y
|
||||||
|
|
||||||
inc
|
inc
|
||||||
clc
|
clc
|
||||||
adc _menuSelectedX1
|
adc _menuSelectedX1
|
||||||
tax
|
tax
|
||||||
bra :rightBracket
|
bra :rightBracket
|
||||||
|
|
||||||
:wtf
|
:wtf
|
||||||
|
|
||||||
:rightBracket
|
:rightBracket
|
||||||
ldy _menuSelectedY
|
ldy _menuSelectedY
|
||||||
jsr GoXY
|
jsr GoXY
|
||||||
lda #" "
|
lda #" "
|
||||||
jsr COUT
|
jsr COUT
|
||||||
:leftBracket ldx _menuSelectedX1
|
:leftBracket ldx _menuSelectedX1
|
||||||
ldy _menuSelectedY
|
ldy _menuSelectedY
|
||||||
jsr GoXY
|
jsr GoXY
|
||||||
lda #" "
|
lda #" "
|
||||||
jsr COUT
|
jsr COUT
|
||||||
lda _stash
|
lda _stash
|
||||||
clc
|
clc
|
||||||
adc #6
|
adc #6
|
||||||
sta _stash
|
sta _stash
|
||||||
bra :undrawLoop
|
bra :undrawLoop
|
||||||
:stop
|
:stop
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Menu_DrawSelected
|
Menu_DrawSelected
|
||||||
lda #0
|
lda #0
|
||||||
ldx Menu_ItemSelected
|
ldx Menu_ItemSelected
|
||||||
:check beq :foundIdx
|
:check beq :foundIdx
|
||||||
clc
|
clc
|
||||||
adc #6 ; "struct" size
|
adc #6 ; "struct" size
|
||||||
dex
|
dex
|
||||||
bra :check
|
bra :check
|
||||||
|
|
||||||
:foundIdx tay
|
:foundIdx tay
|
||||||
lda ($F0),y
|
lda ($F0),y
|
||||||
dec ; x-- (left bracket)
|
dec ; x-- (left bracket)
|
||||||
sta _menuSelectedX1
|
sta _menuSelectedX1
|
||||||
iny
|
iny
|
||||||
lda ($F0),y
|
lda ($F0),y
|
||||||
sta _menuSelectedY
|
sta _menuSelectedY
|
||||||
iny
|
iny
|
||||||
lda ($F0),y
|
lda ($F0),y
|
||||||
bne :notChar
|
bne :notChar
|
||||||
iny
|
iny
|
||||||
lda ($F0),y
|
lda ($F0),y
|
||||||
inc ;doit
|
inc ;doit
|
||||||
clc
|
clc
|
||||||
adc _menuSelectedX1
|
adc _menuSelectedX1
|
||||||
tax
|
tax
|
||||||
bra :rightBracket
|
bra :rightBracket
|
||||||
|
|
||||||
:notChar cmp #1
|
:notChar cmp #1
|
||||||
bne :notHex
|
bne :notHex
|
||||||
iny
|
iny
|
||||||
lda ($F0),y
|
lda ($F0),y
|
||||||
asl
|
asl
|
||||||
inc ;doit
|
inc ;doit
|
||||||
clc
|
clc
|
||||||
adc _menuSelectedX1
|
adc _menuSelectedX1
|
||||||
tax
|
tax
|
||||||
bra :rightBracket
|
bra :rightBracket
|
||||||
|
|
||||||
:notHex cmp #2
|
:notHex cmp #2
|
||||||
bne :notAction
|
bne :notAction
|
||||||
iny
|
iny
|
||||||
lda ($F0),y
|
lda ($F0),y
|
||||||
|
|
||||||
inc
|
inc
|
||||||
clc
|
clc
|
||||||
adc _menuSelectedX1
|
adc _menuSelectedX1
|
||||||
tax
|
tax
|
||||||
bra :rightBracket
|
bra :rightBracket
|
||||||
|
|
||||||
|
|
||||||
:notAction
|
:notAction
|
||||||
cmp #3
|
cmp #3
|
||||||
bne :wtf
|
bne :wtf
|
||||||
iny
|
iny
|
||||||
lda ($F0),y
|
lda ($F0),y
|
||||||
|
|
||||||
inc
|
inc
|
||||||
clc
|
clc
|
||||||
adc _menuSelectedX1
|
adc _menuSelectedX1
|
||||||
tax
|
tax
|
||||||
bra :rightBracket
|
bra :rightBracket
|
||||||
|
|
||||||
:wtf
|
:wtf
|
||||||
|
|
||||||
:rightBracket
|
:rightBracket
|
||||||
ldy _menuSelectedY
|
ldy _menuSelectedY
|
||||||
jsr GoXY
|
jsr GoXY
|
||||||
lda #"]"
|
lda #"]"
|
||||||
jsr COUT
|
jsr COUT
|
||||||
:leftBracket ldx _menuSelectedX1
|
:leftBracket ldx _menuSelectedX1
|
||||||
ldy _menuSelectedY
|
ldy _menuSelectedY
|
||||||
jsr GoXY
|
jsr GoXY
|
||||||
lda #"["
|
lda #"["
|
||||||
jsr COUT
|
jsr COUT
|
||||||
|
|
||||||
rts
|
rts
|
||||||
_menuSelectedX1 db 0 ; no x2 cuz we be addin' dat offset
|
_menuSelectedX1 db 0 ; no x2 cuz we be addin' dat offset
|
||||||
_menuSelectedY db 0
|
_menuSelectedY db 0
|
||||||
|
|
||||||
MenuOption_Char equ #0
|
MenuOption_Char equ #0
|
||||||
MenuOption_Hex equ #1
|
MenuOption_Hex equ #1
|
||||||
MenuOption_Action equ #2
|
MenuOption_Action equ #2
|
||||||
MenuOption_List equ #3
|
MenuOption_List equ #3
|
||||||
MenuOption_Bool equ #4
|
MenuOption_Bool equ #4
|
||||||
Menu_TypeTable da Menu_TypeChar,Menu_TypeHex,Menu_TypeAction,Menu_TypeList,Menu_TypeBool
|
Menu_TypeTable da Menu_TypeChar,Menu_TypeHex,Menu_TypeAction,Menu_TypeList,Menu_TypeBool
|
||||||
|
|
||||||
* $0 = ptr->MenuDefs
|
* $0 = ptr->MenuDefs
|
||||||
Menu_HandleSelection
|
Menu_HandleSelection
|
||||||
lda #0
|
lda #0
|
||||||
ldx Menu_ItemSelected ; odd choice to load again, but preps flags (z) how i likes it
|
ldx Menu_ItemSelected ; odd choice to load again, but preps flags (z) how i likes it
|
||||||
:check beq :foundIdx ; <- a=struct offset
|
:check beq :foundIdx ; <- a=struct offset
|
||||||
clc
|
clc
|
||||||
adc #6 ; "struct" size
|
adc #6 ; "struct" size
|
||||||
dex
|
dex
|
||||||
bra :check
|
bra :check
|
||||||
|
|
||||||
:foundIdx pha
|
:foundIdx pha
|
||||||
tay
|
tay
|
||||||
iny ;\
|
iny ;\
|
||||||
iny ; \
|
iny ; \
|
||||||
lda ($F0),y ; > get MenuOption_Type, set up for jmp table
|
lda ($F0),y ; > get MenuOption_Type, set up for jmp table
|
||||||
asl ; /
|
asl ; /
|
||||||
tax ;/
|
tax ;/
|
||||||
pla
|
pla
|
||||||
jmp (Menu_TypeTable,x)
|
jmp (Menu_TypeTable,x)
|
||||||
|
|
||||||
Menu_TypeChar rts
|
|
||||||
Menu_TypeBool rts
|
|
||||||
|
|
||||||
Menu_TypeHex pha
|
Menu_TypeChar rts
|
||||||
tay
|
Menu_TypeBool rts
|
||||||
lda ($F0),y
|
|
||||||
tax
|
|
||||||
iny
|
|
||||||
lda ($F0),y
|
|
||||||
tay
|
|
||||||
jsr GoXY
|
|
||||||
pla
|
|
||||||
clc
|
|
||||||
adc #3 ; ->memory size
|
|
||||||
tay
|
|
||||||
lda ($F0),y
|
|
||||||
asl ;*2
|
|
||||||
pha
|
|
||||||
iny
|
|
||||||
lda ($F0),y
|
|
||||||
pha
|
|
||||||
iny
|
|
||||||
lda ($F0),y
|
|
||||||
tay
|
|
||||||
plx
|
|
||||||
pla
|
|
||||||
jsr GetHex
|
|
||||||
rts
|
|
||||||
|
|
||||||
Menu_TypeAction iny ; skip len byte
|
Menu_TypeHex pha
|
||||||
iny
|
tay
|
||||||
lda ($F0),y
|
lda ($F0),y
|
||||||
sta :ACTION+1
|
tax
|
||||||
iny
|
iny
|
||||||
lda ($F0),y
|
lda ($F0),y
|
||||||
sta :ACTION+2
|
tay
|
||||||
lda :ACTION+1
|
jsr GoXY
|
||||||
sec
|
pla
|
||||||
sbc #2
|
clc
|
||||||
sta :ACTION+1
|
adc #3 ; ->memory size
|
||||||
bcs :copy
|
tay
|
||||||
dec :ACTION+2
|
lda ($F0),y
|
||||||
:copy ldx #0 ; this is all so bad
|
asl ;*2
|
||||||
:ACTION lda $ffff,x
|
pha
|
||||||
sta :JSR+1,x
|
iny
|
||||||
inx
|
lda ($F0),y
|
||||||
cpx #2
|
pha
|
||||||
bcc :ACTION
|
iny
|
||||||
:JSR jsr $ffff
|
lda ($F0),y
|
||||||
rts
|
tay
|
||||||
|
plx
|
||||||
|
pla
|
||||||
|
jsr GetHex
|
||||||
|
rts
|
||||||
|
|
||||||
|
Menu_TypeAction iny ; skip len byte
|
||||||
|
iny
|
||||||
|
lda ($F0),y
|
||||||
|
sta :ACTION+1
|
||||||
|
iny
|
||||||
|
lda ($F0),y
|
||||||
|
sta :ACTION+2
|
||||||
|
lda :ACTION+1
|
||||||
|
sec
|
||||||
|
sbc #2
|
||||||
|
sta :ACTION+1
|
||||||
|
bcs :copy
|
||||||
|
dec :ACTION+2
|
||||||
|
:copy ldx #0 ; this is all so bad
|
||||||
|
:ACTION lda $ffff,x
|
||||||
|
sta :JSR+1,x
|
||||||
|
inx
|
||||||
|
cpx #2
|
||||||
|
bcc :ACTION
|
||||||
|
:JSR jsr $ffff
|
||||||
|
rts
|
||||||
|
|
||||||
* Selecting from a List
|
* Selecting from a List
|
||||||
* look for key
|
* look for key
|
||||||
|
@ -364,91 +364,92 @@ Menu_TypeAction iny ; skip len byte
|
||||||
* if up then prev item \_ draw menu options
|
* if up then prev item \_ draw menu options
|
||||||
* if down then next item /
|
* if down then next item /
|
||||||
* if enter, done - when it gets back to menu loop, we should handle special logic there
|
* if enter, done - when it gets back to menu loop, we should handle special logic there
|
||||||
Menu_TypeList
|
Menu_TypeList
|
||||||
rts
|
rts
|
||||||
*** INPUT LIBRARY FOR MENU
|
*** INPUT LIBRARY FOR MENU
|
||||||
* Pass desired length in A
|
* Pass desired length in A
|
||||||
GetHex sta _gethex_maxlen
|
GetHex sta _gethex_maxlen
|
||||||
stx _gethex_resultptr
|
stx _gethex_resultptr
|
||||||
sty _gethex_resultptr+1
|
sty _gethex_resultptr+1
|
||||||
stz _gethex_current
|
stz _gethex_current
|
||||||
|
|
||||||
:input jsr RDKEY
|
:input jsr RDKEY
|
||||||
cmp #$9B ;esc = abort
|
cmp #$9B ;esc = abort
|
||||||
bne :notesc
|
bne :notesc
|
||||||
rts
|
rts
|
||||||
:notesc cmp #"9"+1
|
:notesc cmp #"9"+1
|
||||||
bcs :notNum ;bge > 9
|
bcs :notNum ;bge > 9
|
||||||
cmp #"0"
|
cmp #"0"
|
||||||
bcc :badChar ;
|
bcc :badChar ;
|
||||||
sec
|
sec
|
||||||
sbc #"0"
|
sbc #"0"
|
||||||
bra :storeInput
|
bra :storeInput
|
||||||
:notNum cmp #"a"
|
:notNum cmp #"a"
|
||||||
bcc :notLower
|
bcc :notLower
|
||||||
sec
|
sec
|
||||||
sbc #$20 ; ToUpper
|
sbc #$20 ; ToUpper
|
||||||
:notLower cmp #"A"
|
:notLower cmp #"A"
|
||||||
bcc :badChar
|
bcc :badChar
|
||||||
cmp #"F"+1
|
cmp #"F"+1
|
||||||
bcs :badChar
|
bcs :badChar
|
||||||
:gotHex
|
:gotHex
|
||||||
sec
|
sec
|
||||||
sbc #"A"-10
|
sbc #"A"-10
|
||||||
:storeInput
|
:storeInput
|
||||||
pha
|
pha
|
||||||
jsr PRHEX
|
jsr PRHEX
|
||||||
pla
|
pla
|
||||||
ldy _gethex_current
|
ldy _gethex_current
|
||||||
sta _gethex_buffer,y
|
sta _gethex_buffer,y
|
||||||
iny
|
iny
|
||||||
cpy #_gethex_internalmax
|
cpy #_gethex_internalmax
|
||||||
bge :internalmax
|
bge :internalmax
|
||||||
cpy _gethex_maxlen
|
cpy _gethex_maxlen
|
||||||
bge :passedmax
|
bge :passedmax
|
||||||
sty _gethex_current
|
sty _gethex_current
|
||||||
bra :input
|
bra :input
|
||||||
:internalmax
|
:internalmax
|
||||||
:passedmax
|
:passedmax
|
||||||
lda _gethex_resultptr
|
lda _gethex_resultptr
|
||||||
sta $0
|
sta $0
|
||||||
lda _gethex_resultptr+1
|
lda _gethex_resultptr+1
|
||||||
sta $1
|
sta $1
|
||||||
ldx #0
|
ldx #0
|
||||||
ldy #0
|
ldy #0
|
||||||
:copyBuffer lda _gethex_buffer,x
|
:copyBuffer lda _gethex_buffer,x
|
||||||
asl ; move to upper nibble
|
asl ; move to upper nibble
|
||||||
asl
|
asl
|
||||||
asl
|
asl
|
||||||
asl
|
asl
|
||||||
sta ($0),y ; store
|
sta ($0),y ; store
|
||||||
inx
|
inx
|
||||||
lda _gethex_buffer,x
|
lda _gethex_buffer,x
|
||||||
ora ($0),y
|
ora ($0),y
|
||||||
sta ($0),y
|
sta ($0),y
|
||||||
iny
|
iny
|
||||||
inx
|
inx
|
||||||
cpx _gethex_maxlen
|
cpx _gethex_maxlen
|
||||||
bcc :copyBuffer
|
bcc :copyBuffer
|
||||||
rts
|
rts
|
||||||
|
|
||||||
:badChar bra :input
|
:badChar bra :input
|
||||||
|
|
||||||
_gethex_internalmax equ 8
|
_gethex_internalmax equ 8
|
||||||
_gethex_resultptr da 0000
|
_gethex_resultptr da 0000
|
||||||
_gethex_maxlen db 1
|
_gethex_maxlen db 1
|
||||||
_gethex_current db 0
|
_gethex_current db 0
|
||||||
_gethex_buffer ds _gethex_internalmax
|
_gethex_buffer ds _gethex_internalmax
|
||||||
PrHexChar jsr HexCharForByte
|
PrHexChar jsr HexCharForByte
|
||||||
|
|
||||||
HexCharForByte
|
HexCharForByte
|
||||||
cmp #9
|
cmp #9
|
||||||
bcs :alpha
|
bcs :alpha
|
||||||
:number clc
|
:number clc
|
||||||
adc #"0"
|
adc #"0"
|
||||||
rts
|
rts
|
||||||
:alpha clc
|
:alpha clc
|
||||||
adc #"A"
|
adc #"A"
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue