scrolly
by ixitxachitl
Game:
Description:
Init: ;\ This section is to be used in the INIT code of levelASM REP #$20 ; | LDA #$0F42 ; | Use indeirect and mode 2 on register 210F STA $4330 ; | 4330 = Mode, 4331 = Register LDA #ParallaxTable_180342737 ; | Address of HDMA table, get high and low byte STA $4332 ; | 4332 = Low-Byte of table, 4333 = High-Byte of table SEP #$20 ; | LDA.b #ParallaxTable_180342737>>16 ; | Address of HDMA table, get bank byte STA $4334 ; | 4334 = Bank-Byte of table LDA #$7F ; | Address of indirect table in RAM bank byte STA $4337 ; | 4334 = Bank-Byte of indirect table LDA #$08 ; | TSB $0D9F ; | Enable HDMA channel 3 .MainCode: ;\ This section is to be used in the MAIN code of levelASM REP #$20 ;/ 16 bit action starts here. (To load the x position of the BG) LDA #$0000 ;\ Multiplied by 0 PHA ; | Preserve A (current multiplication result) CLC : ADC #$0001 ; | Add rate. STA $7F9E00 ; | Store to FreeRAM for indirect HDMA PLA ;/ Restore A (current multiplication result) LDA $1E ;\ Load BG x Position LSR #4 ; | Multiplied by 0.0625 PHA ; | Preserve A (current multiplication result) CLC : ADC #$0001 ; | Add rate. STA $7F9E02 ; | Store to FreeRAM for indirect HDMA PLA ;/ Restore A (current multiplication result) LDA $1E ;\ Load BG x Position LSR #3 ; | Multiplied by 0.125 PHA ; | Preserve A (current multiplication result) CLC : ADC #$0001 ; | Add rate. STA $7F9E04 ; | Store to FreeRAM for indirect HDMA PLA ;/ Restore A (current multiplication result) LDA $1E ;\ Load BG x Position LSR #2 ; | Multiplied by 0.25 PHA ; | Preserve A (current multiplication result) CLC : ADC #$0001 ; | Add rate. STA $7F9E06 ; | Store to FreeRAM for indirect HDMA PLA ;/ Restore A (current multiplication result) LDA $1E ;\ Load BG x Position LSR #1 ; | Multiplied by 0.5 PHA ; | Preserve A (current multiplication result) CLC : ADC #$0001 ; | Add rate. STA $7F9E08 ; | Store to FreeRAM for indirect HDMA PLA ;/ Restore A (current multiplication result) LDA $1E ;\ Load BG x Position ASL #0 ; | Multiplied by 1 PHA ; | Preserve A (current multiplication result) CLC : ADC #$0001 ; | Add rate. STA $7F9E0A ; | Store to FreeRAM for indirect HDMA PLA ;/ Restore A (current multiplication result) LDA $1E ;\ Load BG x Position ASL #1 ; | Multiplied by 2 PHA ; | Preserve A (current multiplication result) CLC : ADC #$0001 ; | Add rate. STA $7F9E0C ; | Store to FreeRAM for indirect HDMA PLA ;/ Restore A (current multiplication result) LDA $1E ;\ Load BG x Position ASL #2 ; | Multiplied by 4 PHA ; | Preserve A (current multiplication result) CLC : ADC #$0001 ; | Add rate. STA $7F9E0E ; | Store to FreeRAM for indirect HDMA PLA ;/ Restore A (current multiplication result) LDA $1E ;\ Load BG x Position ASL #3 ; | Multiplied by 8 PHA ; | Preserve A (current multiplication result) CLC : ADC #$0001 ; | Add rate. STA $7F9E10 ; | Store to FreeRAM for indirect HDMA PLA ;/ Restore A (current multiplication result) LDA $1E ;\ Load BG x Position ASL #4 ; | Multiplied by 16 PHA ; | Preserve A (current multiplication result) CLC : ADC #$0001 ; | Add rate. STA $7F9E12 ; | Store to FreeRAM for indirect HDMA PLA ;/ Restore A (current multiplication result) SEP #$20 ; Back to 8bit RTL ; Return ParallaxTable_180342737: ;\ db $01 : dw $9E00 ; | db $01 : dw $9E00 ; | db $01 : dw $9E00 ; | db $01 : dw $9E00 ; | db $01 : dw $9E00 ; | db $01 : dw $9E00 ; | db $01 : dw $9E00 ; | db $01 : dw $9E00 ; | db $01 : dw $9E00 ; | db $01 : dw $9E00 ; | db $01 : dw $9E00 ; | db $01 : dw $9E00 ; | db $01 : dw $9E00 ; | db $01 : dw $9E00 ; | db $01 : dw $9E00 ; | db $01 : dw $9E00 ; | db $01 : dw $9E00 ; | db $01 : dw $9E00 ; | db $01 : dw $9E00 ; | db $01 : dw $9E00 ; | db $01 : dw $9E00 ; | db $01 : dw $9E00 ; | db $01 : dw $9E00 ; | db $01 : dw $9E00 ; | db $01 : dw $9E02 ; | db $01 : dw $9E02 ; | db $01 : dw $9E02 ; | db $01 : dw $9E02 ; | db $01 : dw $9E02 ; | db $01 : dw $9E02 ; | db $01 : dw $9E02 ; | db $01 : dw $9E02 ; | db $01 : dw $9E02 ; | db $01 : dw $9E02 ; | db $01 : dw $9E02 ; | db $01 : dw $9E02 ; | db $01 : dw $9E02 ; | db $01 : dw $9E02 ; | db $01 : dw $9E02 ; | db $01 : dw $9E02 ; | db $01 : dw $9E02 ; | db $01 : dw $9E02 ; | db $01 : dw $9E02 ; | db $01 : dw $9E02 ; | db $01 : dw $9E02 ; | db $01 : dw $9E02 ; | db $01 : dw $9E02 ; | db $01 : dw $9E02 ; | db $01 : dw $9E04 ; | db $01 : dw $9E04 ; | db $01 : dw $9E04 ; | db $01 : dw $9E04 ; | db $01 : dw $9E04 ; | db $01 : dw $9E04 ; | db $01 : dw $9E04 ; | db $01 : dw $9E04 ; | db $01 : dw $9E04 ; | db $01 : dw $9E04 ; | db $01 : dw $9E04 ; | db $01 : dw $9E04 ; | db $01 : dw $9E04 ; | db $01 : dw $9E04 ; | db $01 : dw $9E04 ; | db $01 : dw $9E04 ; | db $01 : dw $9E04 ; | db $01 : dw $9E04 ; | db $01 : dw $9E04 ; | db $01 : dw $9E04 ; | db $01 : dw $9E04 ; | db $01 : dw $9E04 ; | db $01 : dw $9E04 ; | db $01 : dw $9E04 ; | db $01 : dw $9E06 ; | db $01 : dw $9E06 ; | db $01 : dw $9E06 ; | db $01 : dw $9E06 ; | db $01 : dw $9E06 ; | db $01 : dw $9E06 ; | db $01 : dw $9E06 ; | db $01 : dw $9E06 ; | db $01 : dw $9E06 ; | db $01 : dw $9E06 ; | db $01 : dw $9E06 ; | db $01 : dw $9E06 ; | db $01 : dw $9E06 ; | db $01 : dw $9E06 ; | db $01 : dw $9E06 ; | db $01 : dw $9E06 ; | db $01 : dw $9E06 ; | db $01 : dw $9E06 ; | db $01 : dw $9E06 ; | db $01 : dw $9E06 ; | db $01 : dw $9E06 ; | db $01 : dw $9E06 ; | db $01 : dw $9E06 ; | db $01 : dw $9E06 ; | db $01 : dw $9E08 ; | db $01 : dw $9E08 ; | db $01 : dw $9E08 ; | db $01 : dw $9E08 ; | db $01 : dw $9E08 ; | db $01 : dw $9E08 ; | db $01 : dw $9E08 ; | db $01 : dw $9E08 ; | db $01 : dw $9E08 ; | db $01 : dw $9E08 ; | db $01 : dw $9E08 ; | db $01 : dw $9E08 ; | db $01 : dw $9E08 ; | db $01 : dw $9E08 ; | db $01 : dw $9E08 ; | db $01 : dw $9E08 ; | db $01 : dw $9E08 ; | db $01 : dw $9E08 ; | db $01 : dw $9E08 ; | db $01 : dw $9E08 ; | db $01 : dw $9E08 ; | db $01 : dw $9E08 ; | db $01 : dw $9E08 ; | db $01 : dw $9E08 ; | db $01 : dw $9E0A ; | db $01 : dw $9E0A ; | db $01 : dw $9E0A ; | db $01 : dw $9E0A ; | db $01 : dw $9E0A ; | db $01 : dw $9E0A ; | db $01 : dw $9E0A ; | db $01 : dw $9E0A ; | db $01 : dw $9E0A ; | db $01 : dw $9E0A ; | db $01 : dw $9E0A ; | db $01 : dw $9E0A ; | db $01 : dw $9E0A ; | db $01 : dw $9E0A ; | db $01 : dw $9E0A ; | db $01 : dw $9E0A ; | db $01 : dw $9E0A ; | db $01 : dw $9E0A ; | db $01 : dw $9E0A ; | db $01 : dw $9E0A ; | db $01 : dw $9E0A ; | db $01 : dw $9E0A ; | db $01 : dw $9E0A ; | db $01 : dw $9E0A ; | db $01 : dw $9E0C ; | db $01 : dw $9E0C ; | db $01 : dw $9E0C ; | db $01 : dw $9E0C ; | db $01 : dw $9E0C ; | db $01 : dw $9E0C ; | db $01 : dw $9E0C ; | db $01 : dw $9E0C ; | db $01 : dw $9E0C ; | db $01 : dw $9E0C ; | db $01 : dw $9E0C ; | db $01 : dw $9E0C ; | db $01 : dw $9E0C ; | db $01 : dw $9E0C ; | db $01 : dw $9E0C ; | db $01 : dw $9E0C ; | db $01 : dw $9E0C ; | db $01 : dw $9E0C ; | db $01 : dw $9E0C ; | db $01 : dw $9E0C ; | db $01 : dw $9E0C ; | db $01 : dw $9E0C ; | db $01 : dw $9E0C ; | db $01 : dw $9E0C ; | db $01 : dw $9E0E ; | db $01 : dw $9E0E ; | db $01 : dw $9E0E ; | db $01 : dw $9E0E ; | db $01 : dw $9E0E ; | db $01 : dw $9E0E ; | db $01 : dw $9E0E ; | db $01 : dw $9E0E ; | db $01 : dw $9E0E ; | db $01 : dw $9E0E ; | db $01 : dw $9E0E ; | db $01 : dw $9E0E ; | db $01 : dw $9E0E ; | db $01 : dw $9E0E ; | db $01 : dw $9E0E ; | db $01 : dw $9E0E ; | db $01 : dw $9E0E ; | db $01 : dw $9E0E ; | db $01 : dw $9E0E ; | db $01 : dw $9E0E ; | db $01 : dw $9E0E ; | db $01 : dw $9E0E ; | db $01 : dw $9E0E ; | db $01 : dw $9E0E ; | db $01 : dw $9E10 ; | db $01 : dw $9E10 ; | db $01 : dw $9E10 ; | db $01 : dw $9E10 ; | db $01 : dw $9E10 ; | db $01 : dw $9E10 ; | db $01 : dw $9E10 ; | db $01 : dw $9E10 ; | db $01 : dw $9E10 ; | db $01 : dw $9E10 ; | db $01 : dw $9E10 ; | db $01 : dw $9E10 ; | db $01 : dw $9E10 ; | db $01 : dw $9E10 ; | db $01 : dw $9E10 ; | db $01 : dw $9E10 ; | db $01 : dw $9E10 ; | db $01 : dw $9E10 ; | db $01 : dw $9E10 ; | db $01 : dw $9E10 ; | db $01 : dw $9E10 ; | db $01 : dw $9E10 ; | db $01 : dw $9E10 ; | db $01 : dw $9E10 ; | db $01 : dw $9E12 ; | db $01 : dw $9E12 ; | db $01 : dw $9E12 ; | db $01 : dw $9E12 ; | db $01 : dw $9E12 ; | db $01 : dw $9E12 ; | db $01 : dw $9E12 ; | db $01 : dw $9E12 ; | db $00 ;/back to listings