57 lines
859 B
NASM
57 lines
859 B
NASM
; ---------------------------------------------------------
|
|
|
|
Menu_CheckHScroll:
|
|
{
|
|
LDA.b $F4
|
|
BIT.b #$10 : BNE .leave_menu
|
|
LDA.b $F6
|
|
BIT.b #$20 : BNE .left
|
|
BIT.b #$10 : BNE .right
|
|
RTS
|
|
|
|
.left
|
|
|
|
REP #$20
|
|
LDA.w #$FFF8
|
|
BRA .merge
|
|
|
|
.right
|
|
REP #$20
|
|
LDA.w #$0008
|
|
|
|
.merge
|
|
STA.w MenuScrollHDirection
|
|
|
|
SEP #$30
|
|
INC.w $0200
|
|
LDA.b #$06 : STA.w $012F
|
|
RTS
|
|
|
|
.leave_menu
|
|
|
|
LDA.b #$0B : STA.w $0200
|
|
RTS
|
|
}
|
|
|
|
; ---------------------------------------------------------
|
|
|
|
Menu_ScrollHorizontal:
|
|
{
|
|
REP #$21 ; set A to 16 bit, clear carry flag
|
|
|
|
LDA.w $E4 ; BG3 Horizontal Scroll Value
|
|
ADC.w MenuScrollHDirection ; Direction set by Menu_CheckHScroll
|
|
AND.w #$01FF
|
|
STA.b $E4
|
|
AND.w #$00FF
|
|
BNE .loop
|
|
|
|
SEC
|
|
RTS
|
|
|
|
.loop
|
|
CLC
|
|
RTS
|
|
}
|
|
|