;-------------------------------- |
|
;RADIAL SPLITS BY SIR ART/CHARGED |
|
;-------------------------------- |
|
|
|
*= $1000 |
|
|
|
FONTS1 = $1F80 |
|
SIN = $1E00 |
|
|
|
PRZES = $28 |
|
PASEK = $1B00 |
|
PASEK1 = $1C00 |
|
PASEK2 = $1D00 |
|
|
|
MAIN = $4000 |
|
DOUBLE = $6100 |
|
|
|
SPRITY = $0800 |
|
SPRITY2 = $0900 |
|
FONTS2 = $2000 |
|
|
|
KAT = $3000 |
|
PROM = $3500 |
|
|
|
SEI |
|
LDX #$FF |
|
STX CZAS+1 |
|
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 |
|
|
|
LDA #<PROM |
|
STA $25 |
|
LDA #>PROM |
|
STA $26 |
|
LDA #<PROM+$20 |
|
STA $27 |
|
LDA #>PROM+$20 |
|
STA $28 |
|
LDA #<KAT |
|
STA $29 |
|
LDA #>KAT |
|
STA $2A |
|
LDA #<KAT+$20 |
|
STA $2B |
|
LDA #>KAT+$20 |
|
STA $2C |
|
JSR PISZ |
|
LDX #$0C |
|
LDY #$FC |
|
JSR PISIN |
|
JSR PASKI |
|
|
|
CLI |
|
JMP NAD |
|
|
|
PROCEDER LDX #$3F |
|
LDA #$00 |
|
KIO STA PRZES,X |
|
DEX |
|
BPL KIO |
|
LDA #$00 |
|
STA $02 |
|
STA $03 |
|
LDA #$00 |
|
STA $04 |
|
STA $06 |
|
LDA #$20 |
|
STA $05 |
|
|
|
J11 LDA #$C8 |
|
KIO2 CMP $D012 |
|
BNE J11 |
|
JSR MAIN |
|
LDX $02 |
|
LDY $03 |
|
JSR DOUBLE |
|
LDA $02 |
|
CLC |
|
SPED1 ADC #$02 |
|
STA $02 |
|
LDA $03 |
|
CLC |
|
SPED2 ADC #$04 |
|
STA $03 |
|
LDX $04 |
|
CPX #$20 |
|
BEQ HOP1 |
|
TXA |
|
EOR #$1F |
|
TAY |
|
LDA PASEK,Y |
|
STA PASEK1,Y |
|
STA PASEK1+$40,Y |
|
STA PASEK1+$80,Y |
|
STA PASEK1+$C0,Y |
|
ASL A |
|
ASL A |
|
ASL A |
|
ASL A |
|
STA PASEK2,Y |
|
STA PASEK2+$40,Y |
|
STA PASEK2+$80,Y |
|
STA PASEK2+$C0,Y |
|
LDA PASEK+$20,X |
|
STA PASEK1+$20,X |
|
STA PASEK1+$60,X |
|
STA PASEK1+$A0,X |
|
STA PASEK1+$E0,X |
|
ASL A |
|
ASL A |
|
ASL A |
|
ASL A |
|
STA PASEK2+$20,X |
|
STA PASEK2+$60,X |
|
STA PASEK2+$A0,X |
|
STA PASEK2+$E0,X |
|
INX |
|
STX $04 |
|
HOP1 |
|
LDX $05 |
|
CPX #$20 |
|
BEQ HOP2 |
|
TXA |
|
EOR #$1F |
|
TAY |
|
LDA #$00 |
|
STA PASEK1,Y |
|
STA PASEK1+$40,Y |
|
STA PASEK1+$80,Y |
|
STA PASEK1+$C0,Y |
|
STA PASEK2,Y |
|
STA PASEK2+$40,Y |
|
STA PASEK2+$80,Y |
|
STA PASEK2+$C0,Y |
|
STA PASEK1+$20,X |
|
STA PASEK1+$60,X |
|
STA PASEK1+$A0,X |
|
STA PASEK1+$E0,X |
|
STA PASEK2+$20,X |
|
STA PASEK2+$60,X |
|
STA PASEK2+$A0,X |
|
STA PASEK2+$E0,X |
|
INX |
|
STX $05 |
|
CPX #$20 |
|
BEQ NEXT |
|
HOP2 |
|
INC $06 |
|
LDA $06 |
|
CZAS CMP #$FF |
|
BNE HOP3 |
|
LDA #$00 |
|
STA $05 |
|
HOP3 JMP J11 |
|
|
|
NEXT RTS |
|
|
|
NAD JSR PROCEDER |
|
LDA #<KAT |
|
STA $25 |
|
LDA #>KAT |
|
STA $26 |
|
LDA #<KAT+$20 |
|
STA $27 |
|
LDA #>KAT+$20 |
|
STA $28 |
|
LDA #<PROM |
|
STA $29 |
|
LDA #>PROM |
|
STA $2A |
|
LDA #<PROM+$20 |
|
STA $2B |
|
LDA #>PROM+$20 |
|
STA $2C |
|
JSR PISZ |
|
LDX #$0C |
|
LDY #$04 |
|
JSR PISIN |
|
LDA #$03 |
|
STA SPED1+1 |
|
LDA #$FE |
|
STA SPED2+1 |
|
LDX #$00 |
|
LDA #$0A |
|
JTYH STA $D850,X |
|
STA $D900,X |
|
STA $DA00,X |
|
STA $DA70,X |
|
INX |
|
BNE JTYH |
|
LDA #$07 |
|
STA $D022 |
|
LDA #$0A |
|
STA $D023 |
|
|
|
JSR PROCEDER |
|
NEX2 |
|
LDX #$00 |
|
LDA #$00 |
|
TYH2 STA $D850,X |
|
STA $D900,X |
|
STA $DA00,X |
|
STA $DA70,X |
|
INX |
|
BNE TYH2 |
|
JSR LINEWAIT |
|
LDX #$00 |
|
LDA #$A0 |
|
TYH STA $0450,X |
|
STA $0500,X |
|
STA $0600,X |
|
STA $0670,X |
|
INX |
|
BNE TYH |
|
|
|
JSR LINEWAIT |
|
LDA #$08 |
|
STA $D012 |
|
LDA #<IRQ5 |
|
STA $FFFE |
|
LDA #>IRQ5 |
|
STA $FFFF |
|
LDA #$15 |
|
STA $D018 |
|
|
|
POCZ2 = $D84C |
|
|
|
LDA #<POCZ2 |
|
STA $20 |
|
LDA #>POCZ2 |
|
STA $21 |
|
|
|
LDX #$00 |
|
JK2 TXA |
|
AND #$03 |
|
LSR A |
|
BEQ JK4 |
|
LDY #$00 |
|
JK3 LDA TABGOL1,Y |
|
STA ($20),Y |
|
INY |
|
CPY #$04 |
|
BNE JK3 |
|
JMP JK5 |
|
JK4 LDY #$00 |
|
JK35 LDA TABGOL2,Y |
|
STA ($20),Y |
|
INY |
|
CPY #$04 |
|
BNE JK35 |
|
JK5 LDA $20 |
|
CLC |
|
ADC #$28 |
|
STA $20 |
|
LDA $21 |
|
ADC #$00 |
|
STA $21 |
|
INX |
|
CPX #$15 |
|
BNE JK2 |
|
|
|
POCZ3 = $D850 |
|
|
|
LDA #<POCZ3 |
|
STA $20 |
|
LDA #>POCZ3 |
|
STA $21 |
|
|
|
LDX #$01 |
|
JK21 TXA |
|
AND #$03 |
|
LSR A |
|
BEQ JK41 |
|
LDY #$00 |
|
JK31 LDA TABGOL1,Y |
|
STA ($20),Y |
|
INY |
|
CPY #$04 |
|
BNE JK31 |
|
JMP JK51 |
|
JK41 LDY #$00 |
|
JK351 LDA TABGOL2,Y |
|
STA ($20),Y |
|
INY |
|
CPY #$04 |
|
BNE JK351 |
|
JK51 LDA $20 |
|
CLC |
|
ADC #$28 |
|
STA $20 |
|
LDA $21 |
|
ADC #$00 |
|
STA $21 |
|
INX |
|
CPX #$15 |
|
BNE JK21 |
|
|
|
LDA #$00 |
|
STA $D015 |
|
|
|
NEX3 JMP NEX3 |
|
|
|
TABGOL1 .BYTE $0C,$0C,$0B,$0B |
|
TABGOL2 .BYTE $0B,$0B,$0C,$0C |
|
|
|
IRQ5 STA REG5+1 |
|
STX REG5+3 |
|
STY REG5+5 |
|
LDA #$00 |
|
STA $D020 |
|
STA $D021 |
|
|
|
INC $D019 |
|
REG5 LDA #$00 |
|
LDX #$00 |
|
LDY #$00 |
|
RTI |
|
|
|
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 |
|
|
|
PROC1 LDY PRZES |
|
PROC2 LDA PASEK1,Y |
|
PROC3 LDY PRZES |
|
PROC4 ORA PASEK2,Y |
|
PROC5 STA $0400 |
|
|
|
POCZ1 = $0454 |
|
|
|
PISZ LDA #<MAIN |
|
STA $20 |
|
LDA #>MAIN |
|
STA $21 |
|
LDA #$13 |
|
STA $22 |
|
LDA #<POCZ1 |
|
STA $23 |
|
LDA #>POCZ1 |
|
STA $24 |
|
|
|
PI31 LDX #$00 |
|
PI2 TXA |
|
CLC |
|
ADC $23 |
|
STA PROC5+1 |
|
LDA $24 |
|
ADC #$00 |
|
STA PROC5+2 |
|
TXA |
|
TAY |
|
LDA ($25),Y |
|
STA PROC2+1 |
|
LDA ($27),Y |
|
STA PROC4+1 |
|
LDA ($29),Y |
|
CLC |
|
ADC #<PRZES |
|
STA PROC1+1 |
|
LDA ($2B),Y |
|
CLC |
|
ADC #<PRZES |
|
STA PROC3+1 |
|
|
|
LDY #$00 |
|
PI1 LDA PROC1,Y |
|
STA ($20),Y |
|
INY |
|
CPY #$0D |
|
BNE PI1 |
|
LDA $20 |
|
CLC |
|
ADC #$0D |
|
STA $20 |
|
LDA $21 |
|
ADC #$00 |
|
STA $21 |
|
INX |
|
CPX #$20 |
|
BNE PI2 |
|
LDA $23 |
|
CLC |
|
ADC #$28 |
|
STA $23 |
|
LDA $24 |
|
ADC #$00 |
|
STA $24 |
|
LDA $25 |
|
CLC |
|
ADC #$40 |
|
STA $25 |
|
LDA $26 |
|
ADC #$00 |
|
STA $26 |
|
LDA $27 |
|
CLC |
|
ADC #$40 |
|
STA $27 |
|
LDA $28 |
|
ADC #$00 |
|
STA $28 |
|
LDA $29 |
|
CLC |
|
ADC #$40 |
|
STA $29 |
|
LDA $2A |
|
ADC #$00 |
|
STA $2A |
|
LDA $2B |
|
CLC |
|
ADC #$40 |
|
STA $2B |
|
LDA $2C |
|
ADC #$00 |
|
STA $2C |
|
DEC $22 |
|
BPL PI3 |
|
JMP PI41 |
|
PI3 JMP PI31 |
|
|
|
PI41 LDA #$60 |
|
LDY #$00 |
|
STA ($20),Y |
|
RTS |
|
|
|
DS TXA |
|
CLC |
|
DS1 ADC #$00 |
|
TAX |
|
TYA |
|
CLC |
|
DS2 ADC #$00 |
|
TAY |
|
LDA SIN,X |
|
CLC |
|
ADC SIN,Y |
|
DS3 STA PRZES |
|
|
|
PISIN LDA #<DOUBLE |
|
STA $20 |
|
LDA #>DOUBLE |
|
STA $21 |
|
STX DS1+1 |
|
STY DS2+1 |
|
LDA #<PRZES |
|
STA DS3+1 |
|
|
|
LDX #$3F |
|
SI3 LDY #$00 |
|
SI2 LDA DS,Y |
|
STA ($20),Y |
|
INY |
|
CPY #$13 |
|
BNE SI2 |
|
LDA $20 |
|
CLC |
|
ADC #$13 |
|
STA $20 |
|
LDA $21 |
|
ADC #$00 |
|
STA $21 |
|
INC DS3+1 |
|
DEX |
|
BPL SI3 |
|
LDA #$60 |
|
LDY #$00 |
|
STA ($20),Y |
|
RTS |
|
|
|
PASKI LDX #$00 |
|
PA3 TXA |
|
AND #$1F |
|
LSR A |
|
STA PASEK,X |
|
INX |
|
CPX #$20 |
|
BNE PA3 |
|
LDX #$20 |
|
LDY #$1F |
|
PA4 TYA |
|
AND #$1F |
|
LSR A |
|
STA PASEK,X |
|
DEY |
|
INX |
|
CPX #$40 |
|
BNE PA4 |
|
|
|
LDX #$3F |
|
PA2 LDA PASEK,X |
|
STA PASEK+$40,X |
|
STA PASEK+$80,X |
|
STA PASEK+$C0,X |
|
DEX |
|
BPL PA2 |
|
|
|
LDX #$00 |
|
LDA #$00 |
|
KOP STA PASEK1,X |
|
STA PASEK2,X |
|
INX |
|
BNE KOP |
|
RTS |
|
|
|
ATR LDX #$00 |
|
LDA #$00 |
|
JTY STA $0450,X |
|
STA $0500,X |
|
STA $0600,X |
|
STA $0670,X |
|
INX |
|
BNE JTY |
|
JSR LINEWAIT |
|
LDX #$00 |
|
LDA #$0D |
|
JTY2 STA $D850,X |
|
STA $D900,X |
|
STA $DA00,X |
|
STA $DA70,X |
|
INX |
|
BNE JTY2 |
|
LDA #$01 |
|
STA $D022 |
|
LDA #$0D |
|
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 |
|
|
|
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 |
|
|
|