;--------------------------- |
|
;BUMP MAP BY SIR ART/CHARGED |
|
;--------------------------- |
|
|
|
*= $1000 |
|
|
|
FONTS1 = $3900 |
|
LAMPKA = $3700 |
|
BUMP = $3200 |
|
SIN1 = $3800 |
|
SIN2 = $3880 |
|
|
|
FONTS2 = $2000 |
|
PRZESX = $2800 |
|
PRZESY = $2D00 |
|
MAIN = $3A00 |
|
TABDLAX = $1D00 |
|
TABDLAY = $1E00 |
|
LAMPKA1 = $1900 |
|
LAMPKA2 = $1C00 |
|
SPRITY = $0800 |
|
SPRITY2 = $0900 |
|
KROK = $1A00 |
|
LOWLAMP = $1B00 |
|
|
|
WSPX = $24 |
|
WSPY = $25 |
|
FAZA1 = $26 |
|
FAZA2 = $27 |
|
LICZNIK = $28 |
|
|
|
SEI |
|
LDA #$00 |
|
STA $D020 |
|
STA $D021 |
|
LDA #$7F |
|
STA $DC0D |
|
LDX #$00 |
|
STX $DC0E |
|
INX |
|
STX $D01A |
|
LDA #$08 |
|
STA $D012 |
|
LDA #$97 |
|
STA $DD00 |
|
LDA #$18 |
|
STA $D018 |
|
LDA #$1B |
|
STA $D011 |
|
LDA #$D8 |
|
STA $D016 |
|
LDA #$00 |
|
STA $D022 |
|
LDA #$00 |
|
STA $D023 |
|
LDA #$35 |
|
STA $01 |
|
LDA #<IRQ1 |
|
STA $FFFE |
|
LDA #>IRQ1 |
|
STA $FFFF |
|
|
|
JSR FONTY |
|
JSR SPRINI |
|
|
|
|
|
JSR ATR |
|
JSR LIPRZES |
|
JSR PISZ |
|
JSR TABPISZ |
|
|
|
CLI |
|
JMP BUMPA |
|
|
|
IRQ1 STA REG1+1 |
|
STX REG1+3 |
|
STY REG1+5 |
|
LDA #$00 |
|
STA $D021 |
|
|
|
|
|
LDA #$42 |
|
STA $D012 |
|
LDA #<IRQ2 |
|
STA $FFFE |
|
LDA #>IRQ2 |
|
STA $FFFF |
|
INC $D019 |
|
REG1 LDA #$00 |
|
LDX #$00 |
|
LDY #$00 |
|
RTI |
|
|
|
IRQ2 STA REG2+1 |
|
STX REG2+3 |
|
STY REG2+5 |
|
CMP ($F0,X) |
|
CMP ($F0,X) |
|
CMP ($F0,X) |
|
CMP ($F0,X) |
|
NOP |
|
LDX #$18 |
|
LDA #$D8 |
|
STA $D016 |
|
STX $D018 |
|
|
|
LDA #$E2 |
|
STA $D012 |
|
LDA #<IRQ3 |
|
STA $FFFE |
|
LDA #>IRQ3 |
|
STA $FFFF |
|
INC $D019 |
|
REG2 LDA #$00 |
|
LDX #$00 |
|
LDY #$00 |
|
RTI |
|
|
|
IRQ3 STA REG3+1 |
|
STX REG3+3 |
|
STY REG3+5 |
|
CMP ($F0,X) |
|
CMP ($F0,X) |
|
CMP ($F0,X) |
|
LDX #$15 |
|
LDA #$C8 |
|
STX $D018 |
|
STA $D016 |
|
|
|
LDA #$08 |
|
STA $D012 |
|
LDA #<IRQ1 |
|
STA $FFFE |
|
LDA #>IRQ1 |
|
STA $FFFF |
|
INC $D019 |
|
|
|
REG3 LDA #$00 |
|
LDX #$00 |
|
LDY #$00 |
|
RTI |
|
|
|
BUMPA LDA #<LAMPKA1 |
|
STA $20 |
|
LDA #>LAMPKA1 |
|
STA $21 |
|
LDA #<LAMPKA2 |
|
STA $22 |
|
LDA #>LAMPKA2 |
|
STA $23 |
|
LDA #$07 |
|
STA FAZA1 |
|
LDA #$03 |
|
STA FAZA2 |
|
LDA #$1F |
|
STA LICZNIK |
|
|
|
LDX #$00 |
|
MAKE1 LDA LAMPKA,X |
|
ASL A |
|
ASL A |
|
ASL A |
|
STA KROK,X |
|
LDA #$00 |
|
STA LOWLAMP,X |
|
STA LAMPKA1,X |
|
INX |
|
BNE MAKE1 |
|
J2 |
|
JSR MAIN |
|
LDX #$00 |
|
MAKE2 LDA LOWLAMP,X |
|
CLC |
|
ADC KROK,X |
|
STA LOWLAMP,X |
|
LDA LAMPKA1,X |
|
ADC #$00 |
|
STA LAMPKA1,X |
|
ASL A |
|
ASL A |
|
ASL A |
|
ASL A |
|
STA LAMPKA2,X |
|
INX |
|
BNE MAKE2 |
|
JSR INCFAZA |
|
DEC LICZNIK |
|
BPL J2 |
|
|
|
LDX #$D0 |
|
STX LICZNIK |
|
J1 JSR INCFAZA |
|
JSR MAIN |
|
DEC LICZNIK |
|
BNE J1 |
|
|
|
LDX #$1F |
|
STX LICZNIK |
|
J4 JSR MAIN |
|
LDX #$00 |
|
MAKE4 LDA LOWLAMP,X |
|
SEC |
|
SBC KROK,X |
|
STA LOWLAMP,X |
|
LDA LAMPKA1,X |
|
SBC #$00 |
|
STA LAMPKA1,X |
|
ASL A |
|
ASL A |
|
ASL A |
|
ASL A |
|
STA LAMPKA2,X |
|
INX |
|
BNE MAKE4 |
|
JSR INCFAZA |
|
DEC LICZNIK |
|
BPL J4 |
|
J3 |
|
JMP J3 |
|
|
|
INCFAZA LDA FAZA1 |
|
CLC |
|
ADC #$05 |
|
AND #$7F |
|
STA FAZA1 |
|
TAX |
|
LDA SIN1,X |
|
CLC |
|
ADC #$00 |
|
STA WSPY |
|
LDA FAZA2 |
|
CLC |
|
ADC #$03 |
|
AND #$7F |
|
STA FAZA2 |
|
TAX |
|
LDA SIN2,X |
|
STA WSPX |
|
RTS |
|
|
|
ATR LDX #$00 |
|
LDA #$FF |
|
JTY STA $0450,X |
|
STA $0500,X |
|
STA $0600,X |
|
STA $0670,X |
|
INX |
|
BNE JTY |
|
JSR LINEWAIT |
|
LDX #$00 |
|
LDA #$0E |
|
JTY2 STA $D850,X |
|
STA $D900,X |
|
STA $DA00,X |
|
STA $DA70,X |
|
INX |
|
BNE JTY2 |
|
LDA #$01 |
|
STA $D022 |
|
LDA #$0E |
|
STA $D023 |
|
LDX #$4F |
|
LDA #$A0 |
|
JTY3 STA $0400,X |
|
STA $0770,X |
|
DEX |
|
BPL JTY3 |
|
LDX #$27 |
|
JTY4 TXA |
|
AND #$03 |
|
TAY |
|
LDA TABCOL1,Y |
|
STA $D828,X |
|
STA $DB70,X |
|
LDA TABCOL2,Y |
|
STA $D800,X |
|
STA $DB98,X |
|
DEX |
|
BPL JTY4 |
|
RTS |
|
|
|
FONTY LDA #<FONTS1 |
|
STA $20 |
|
LDA #>FONTS1 |
|
STA $21 |
|
LDA #<FONTS2 |
|
STA $22 |
|
LDA #>FONTS2 |
|
STA $23 |
|
|
|
LDX #$0F |
|
FONTY4 LDY #$7F |
|
FONTY2 LDA ($20),Y |
|
STA ($22),Y |
|
DEY |
|
BPL FONTY2 |
|
LDA $22 |
|
EOR #$80 |
|
STA $22 |
|
BNE FONTY3 |
|
INC $23 |
|
FONTY3 DEX |
|
BPL FONTY4 |
|
|
|
LDA #<FONTS2+4 |
|
STA $22 |
|
LDA #>FONTS2+4 |
|
STA $23 |
|
LDA #$0F |
|
STA $24 |
|
|
|
FONTY8 LDX #$0F |
|
FONTY6 LDY #$03 |
|
FONTY5 LDA ($20),Y |
|
STA ($22),Y |
|
DEY |
|
BPL FONTY5 |
|
LDA $22 |
|
CLC |
|
ADC #$08 |
|
STA $22 |
|
LDA $23 |
|
ADC #$00 |
|
STA $23 |
|
DEX |
|
BPL FONTY6 |
|
LDA $20 |
|
CLC |
|
ADC #$08 |
|
STA $20 |
|
LDA $21 |
|
ADC #$00 |
|
STA $21 |
|
DEC $24 |
|
BPL FONTY8 |
|
RTS |
|
|
|
PROC LDX WSPY |
|
PROC4 LDA TABDLAY,X |
|
STA $20 |
|
PROC5 LDA TABDLAY,X |
|
STA $22 |
|
LDX WSPX |
|
PROC2 LDY TABDLAX,X |
|
LDA ($20),Y |
|
PROC3 LDY TABDLAX,X |
|
ORA ($22),Y |
|
PROC1 STA $0800 |
|
|
|
START = $0454 |
|
|
|
PISZ LDA #<MAIN |
|
STA $20 |
|
LDA #>MAIN |
|
STA $21 |
|
LDA #$00 |
|
STA $23 |
|
LDA #<START |
|
STA $24 |
|
LDA #>START |
|
STA $25 |
|
LDA #<PRZESX |
|
STA $26 |
|
LDA #>PRZESX |
|
STA $27 |
|
LDA #<PRZESY |
|
STA $2A |
|
LDA #>PRZESY |
|
STA $2B |
|
LDA #$00 |
|
STA $2E |
|
LDA #$01 |
|
STA $2F |
|
|
|
PISZ3 LDA #$00 |
|
STA $22 |
|
|
|
PISZ2 LDY #$00 |
|
LDA $24 |
|
STA PROC1+1 |
|
LDA $25 |
|
STA PROC1+2 |
|
LDA #$80 |
|
SEC |
|
SBC $22 |
|
SEC |
|
SBC ($26),Y |
|
STA PROC2+1 |
|
LDA $26 |
|
CLC |
|
ADC #$20 |
|
STA $28 |
|
LDA $27 |
|
ADC #$00 |
|
STA $29 |
|
LDA #$80 |
|
SEC |
|
SBC $22 |
|
SEC |
|
SBC ($28),Y |
|
STA PROC3+1 |
|
LDA #$80 |
|
SEC |
|
SBC $2E |
|
SEC |
|
SBC ($2A),Y |
|
STA PROC4+1 |
|
LDA $2A |
|
CLC |
|
ADC #$20 |
|
STA $2C |
|
LDA $2B |
|
ADC #$00 |
|
STA $2D |
|
LDA #$80 |
|
SEC |
|
SBC $2F |
|
SEC |
|
SBC ($2C),Y |
|
STA PROC5+1 |
|
LDY #$1A |
|
PISZ1 LDA PROC,Y |
|
STA ($20),Y |
|
DEY |
|
BPL PISZ1 |
|
LDA $20 |
|
CLC |
|
ADC #$1B |
|
STA $20 |
|
LDA $21 |
|
ADC #$00 |
|
STA $21 |
|
INC $26 |
|
INC $2A |
|
INC $24 |
|
BNE PISZ4 |
|
INC $25 |
|
PISZ4 INC $22 |
|
LDA $22 |
|
CMP #$20 |
|
BEQ PISZ22 |
|
JMP PISZ2 |
|
PISZ22 LDA $24 |
|
CLC |
|
ADC #$08 |
|
STA $24 |
|
LDA $25 |
|
ADC #$00 |
|
STA $25 |
|
LDA $26 |
|
CLC |
|
ADC #$20 |
|
STA $26 |
|
LDA $27 |
|
ADC #$00 |
|
STA $27 |
|
LDA $2A |
|
CLC |
|
ADC #$20 |
|
STA $2A |
|
LDA $2B |
|
ADC #$00 |
|
STA $2B |
|
INC $2E |
|
INC $2E |
|
INC $2F |
|
INC $2F |
|
INC $23 |
|
LDA $23 |
|
CMP #$14 |
|
BEQ PISZ33 |
|
JMP PISZ3 |
|
PISZ33 LDY #$00 |
|
LDA #$60 |
|
STA ($20),Y |
|
RTS |
|
|
|
TABPISZ LDX #$00 |
|
LDA #$0A |
|
TAB11 STA TABDLAX,X |
|
INX |
|
BNE TAB11 |
|
LDX #$00 |
|
TAB12 LDA TABPOM2+1,X |
|
STA TABDLAX+$77,X |
|
INX |
|
CPX #$14 |
|
BNE TAB12 |
|
|
|
LDX #$00 |
|
LDA #$00 |
|
TAB78 STA $0340,X |
|
CLC |
|
ADC #$0B |
|
INX |
|
CPX #$20 |
|
BNE TAB78 |
|
|
|
LDX #$00 |
|
LDA #$15 |
|
TAB13 STA TABDLAY,X |
|
INX |
|
BNE TAB13 |
|
LDX #$00 |
|
TAB14 LDA TABPOM,X |
|
STA TABDLAY+$6B,X |
|
INX |
|
CPX #$2B |
|
BNE TAB14 |
|
|
|
LDX #$00 |
|
TAB3 LDY TABDLAY,X |
|
LDA $0340,Y |
|
STA TABDLAY,X |
|
INX |
|
BNE TAB3 |
|
|
|
LDX #$00 |
|
TAB4 LDA LAMPKA1,X |
|
ASL A |
|
ASL A |
|
ASL A |
|
ASL A |
|
STA LAMPKA2,X |
|
INX |
|
BNE TAB4 |
|
RTS |
|
|
|
TABPOM .BYTE 21,20,19,18,17,16,15 |
|
.BYTE 14,13,12,11 |
|
TABPOM2 .BYTE 10,9,8,7,6,5,4,3,2,1,0 |
|
.BYTE 1,2,3,4,5,6,7,8,9,10 |
|
.BYTE 11,12,13,14,15,16,17 |
|
.BYTE 18,19,20,21 |
|
|
|
LIPRZES LDA #<BUMP |
|
STA $20 |
|
LDA #>BUMP |
|
STA $21 |
|
LDA #<BUMP+1 |
|
STA $22 |
|
LDA #>BUMP+1 |
|
STA $23 |
|
LDA #<PRZESX |
|
STA $24 |
|
LDA #>PRZESX |
|
STA $25 |
|
|
|
LDX #$00 |
|
LICZ2 LDY #$00 |
|
LICZ1 LDA ($20),Y |
|
SEC |
|
SBC ($22),Y |
|
STA ($24),Y |
|
INY |
|
CPY #$1F |
|
BNE LICZ1 |
|
LDA $20 |
|
CLC |
|
ADC #$20 |
|
STA $20 |
|
LDA $21 |
|
ADC #$00 |
|
STA $21 |
|
LDA $22 |
|
CLC |
|
ADC #$20 |
|
STA $22 |
|
LDA $23 |
|
ADC #$00 |
|
STA $23 |
|
LDA $24 |
|
CLC |
|
ADC #$20 |
|
STA $24 |
|
LDA $25 |
|
ADC #$00 |
|
STA $25 |
|
INX |
|
CPX #$28 |
|
BNE LICZ2 |
|
|
|
LDA #<BUMP |
|
STA $20 |
|
LDA #>BUMP |
|
STA $21 |
|
LDA #<BUMP+32 |
|
STA $22 |
|
LDA #>BUMP+32 |
|
STA $23 |
|
LDA #<PRZESY |
|
STA $24 |
|
LDA #>PRZESY |
|
STA $25 |
|
|
|
LDX #$00 |
|
LICZ22 LDY #$00 |
|
LICZ12 LDA ($20),Y |
|
SEC |
|
SBC ($22),Y |
|
STA ($24),Y |
|
INY |
|
CPY #$1E |
|
BNE LICZ12 |
|
LDA $20 |
|
CLC |
|
ADC #$20 |
|
STA $20 |
|
LDA $21 |
|
ADC #$00 |
|
STA $21 |
|
LDA $22 |
|
CLC |
|
ADC #$20 |
|
STA $22 |
|
LDA $23 |
|
ADC #$00 |
|
STA $23 |
|
LDA $24 |
|
CLC |
|
ADC #$20 |
|
STA $24 |
|
LDA $25 |
|
ADC #$00 |
|
STA $25 |
|
INX |
|
CPX #$26 |
|
BNE LICZ22 |
|
RTS |
|
|
|
TABSPR1 .BYTE $FF,$55,$FF |
|
TABSPR2 .BYTE $55,$FF,$55 |
|
TABCOL1 .BYTE $0B,$0B,$0C,$0C |
|
TABCOL2 .BYTE $0C,$0C,$0B,$0B |
|
|
|
MALUJ LDX #$00 |
|
SPRINI2 TYA |
|
AND #$08 |
|
BNE SPR3 |
|
LDA TABSPR1 |
|
STA SPRITY,X |
|
INX |
|
LDA TABSPR1+1 |
|
STA SPRITY,X |
|
INX |
|
LDA TABSPR1+2 |
|
STA SPRITY,X |
|
JMP SPR4 |
|
SPR3 LDA TABSPR2 |
|
STA SPRITY,X |
|
INX |
|
LDA TABSPR2+1 |
|
STA SPRITY,X |
|
INX |
|
LDA TABSPR2+2 |
|
STA SPRITY,X |
|
SPR4 INY |
|
INX |
|
CPX #$3F |
|
BNE SP1 |
|
LDX #$40 |
|
SP1 CPX #$7F |
|
BNE SP2 |
|
LDX #$80 |
|
SP2 CPX #$BF |
|
BNE SP3 |
|
LDX #$C0 |
|
SP3 CPX #$FF |
|
BNE SPRINI2 |
|
|
|
LDX #$F3 |
|
LDA #$00 |
|
DFGH STA SPRITY,X |
|
INX |
|
CPX #$FF |
|
BNE DFGH |
|
RTS |
|
|
|
SPRINI LDY #$04 |
|
JSR MALUJ |
|
LDX #$00 |
|
SPRINIF LDA SPRITY,X |
|
STA SPRITY2,X |
|
INX |
|
BNE SPRINIF |
|
LDY #$0C |
|
JSR MALUJ |
|
|
|
LDA #$08 |
|
STA $D000 |
|
STA $D002 |
|
STA $D004 |
|
STA $D006 |
|
LDA #$38 |
|
STA $D008 |
|
STA $D00A |
|
STA $D00C |
|
STA $D00E |
|
LDA #$F0 |
|
STA $D010 |
|
LDA #$42 |
|
STA $D001 |
|
STA $D009 |
|
CLC |
|
ADC #42 |
|
STA $D003 |
|
STA $D00B |
|
CLC |
|
ADC #42 |
|
STA $D005 |
|
STA $D00D |
|
CLC |
|
ADC #42 |
|
STA $D007 |
|
STA $D00F |
|
LDA #$FF |
|
STA $D017 |
|
STA $D01D |
|
STA $D01C |
|
LDA #$00 |
|
STA $D01B |
|
LDX #$07 |
|
LDA #$00 |
|
GH STA $D027,X |
|
DEX |
|
BPL GH |
|
LDY #$20 |
|
STY $07FC |
|
INY |
|
STY $07FD |
|
INY |
|
STY $07FE |
|
INY |
|
STY $07FF |
|
LDY #$24 |
|
STY $07F8 |
|
INY |
|
STY $07F9 |
|
INY |
|
STY $07FA |
|
INY |
|
STY $07FB |
|
LDA #$0B |
|
STA $D025 |
|
LDA #$0C |
|
STA $D026 |
|
JSR LINEWAIT |
|
LDA #$FF |
|
STA $D015 |
|
RTS |
|
|
|
LINEWAIT LDA #$FF |
|
LW1 CMP $D012 |
|
BNE LW1 |
|
RTS |
|
|
|