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