
| ;-------------------------------- | |
| ;SIERPINSKI 3D BY SIR ART/CHARGED | |
| ;-------------------------------- | |
| *= $1000 | |
| TABBOK1 = $3000 | |
| TABBOK2 = $3080 | |
| TABBOK3 = $3100 | |
| PLOTS = $4000 | |
| SINTAB = $19C0 | |
| LOSTAB = $1A00 | |
| TABX1 = $1C00 | |
| TABY1 = $1C80 | |
| TABX2 = $1D00 | |
| TABY2 = $1D80 | |
| TABX3 = $1E00 | |
| TABY3 = $1E80 | |
| TABX4 = $1F00 | |
| TABY4 = $1F80 | |
| EKRANL = $20 | |
| EKRANH = $21 | |
| EKRANNUM = $22 | |
| LICZNIK = $24 | |
| SEI | |
| LDA #$00 | |
| STA $D020 | |
| STA $D021 | |
| TAX | |
| L1 STA $D800,X | |
| STA $D900,X | |
| STA $DA00,X | |
| STA $DB00,X | |
| STA $2000,X | |
| STA $2700,X | |
| STA $2800,X | |
| STA $2F00,X | |
| INX | |
| BNE L1 | |
| LDA #$7F | |
| STA $DC0D | |
| LDX #$00 | |
| STX $DC0E | |
| INX | |
| STA $D01A | |
| LDA #$00 | |
| STA $D012 | |
| LDA #$97 | |
| STA $DD00 | |
| LDA #$18 | |
| STA $D018 | |
| LDA #$1B | |
| STA $D011 | |
| LDA #$37 | |
| STA $01 | |
| LDA #<IRQ1 | |
| STA $0314 | |
| LDA #>IRQ1 | |
| STA $0315 | |
| JSR CHESS | |
| JSR ZNAKI | |
| JSR CZYSZCZ | |
| JSR WRITETAB | |
| JSR PISZ | |
| CLI | |
| LDA #$00 | |
| STA EKRANNUM | |
| STA LICZNIK | |
| J3 LDY #$00 | |
| JSR LINEWAIT | |
| LDA EKRANNUM | |
| EOR #$08 | |
| STA EKRANNUM | |
| LDA EKRAN+1 | |
| EOR #$02 | |
| STA EKRAN+1 | |
| LDA EKRANNUM | |
| BNE J5 | |
| JSR CLEAN1 | |
| JMP J6 | |
| J5 JSR CLEAN2 | |
| J6 LDX LICZNIK | |
| LDA TABX1,X | |
| STA $28 | |
| LDA TABY1,X | |
| STA $2C | |
| LDA TABX2,X | |
| STA $29 | |
| LDA TABY2,X | |
| STA $2D | |
| LDA TABX3,X | |
| STA $2A | |
| LDA TABY3,X | |
| STA $2E | |
| LDA TABX4,X | |
| STA $2B | |
| LDA TABY4,X | |
| STA $2F | |
| LDX $28 | |
| LDY $2C | |
| CLC | |
| JSR PLOTS | |
| LDA LICZNIK | |
| CLC | |
| ADC #$01 | |
| AND #$7F | |
| STA LICZNIK | |
| JMP J3 | |
| IRQ1 | |
| EKRAN LDA #$1A | |
| STA $D018 | |
| INC $D019 | |
| JMP $EA7E | |
| CHESS LDA #$00 | |
| STA $20 | |
| LDA #$D8 | |
| STA $21 | |
| LDA #$BC | |
| STA $22 | |
| LDA #$CB | |
| STA $23 | |
| LDA #$0A | |
| STA CH3+1 | |
| LDX #$00 | |
| CH2 LDA $22 | |
| LDY #$00 | |
| STA ($20),Y | |
| INY | |
| STA ($20),Y | |
| LDA $23 | |
| INY | |
| STA ($20),Y | |
| INY | |
| STA ($20),Y | |
| INX | |
| CH3 CPX #$14 | |
| BNE CH1 | |
| LDA #$14 | |
| STA CH3+1 | |
| LDA $22 | |
| TAX | |
| LDA $23 | |
| STA $22 | |
| STX $23 | |
| LDX #$00 | |
| CH1 LDA $20 | |
| CLC | |
| ADC #$04 | |
| STA $20 | |
| LDA $21 | |
| ADC #$00 | |
| STA $21 | |
| LDA $20 | |
| CMP #$C0 | |
| BNE CH2 | |
| LDA $21 | |
| CMP #$DB | |
| BNE CH2 | |
| RTS | |
| ZNAKI LDX #$00 | |
| LDA #$FF | |
| ZNAKI1 STA $0400,X | |
| STA $0500,X | |
| STA $0600,X | |
| STA $06F8,X | |
| INX | |
| BNE ZNAKI1 | |
| POCZ = $28*6+$0403 | |
| POCZ2 = $28*6+$D803 | |
| POCZ3 = $28*6+$3803 | |
| LDA #<POCZ | |
| STA $20 | |
| LDA #>POCZ | |
| STA $21 | |
| LDX #$00 | |
| ZNAKI3 TXA | |
| LDY #$00 | |
| ZNAKI2 STA ($20),Y | |
| CLC | |
| ADC #$10 | |
| INY | |
| CPY #$10 | |
| BNE ZNAKI2 | |
| LDA $20 | |
| CLC | |
| ADC #$28 | |
| STA $20 | |
| LDA $21 | |
| ADC #$00 | |
| STA $21 | |
| INX | |
| CPX #$10 | |
| BNE ZNAKI3 | |
| LDA #$00 | |
| STA $075A | |
| ZN2 LDA #<POCZ2 | |
| STA $20 | |
| LDA #>POCZ2 | |
| STA $21 | |
| LDX #$00 | |
| ZNAKI4 LDA #$01 | |
| LDY #$00 | |
| ZNAKI5 STA ($20),Y | |
| INY | |
| CPY #$10 | |
| BNE ZNAKI5 | |
| LDA $20 | |
| CLC | |
| ADC #$28 | |
| STA $20 | |
| LDA $21 | |
| ADC #$00 | |
| STA $21 | |
| INX | |
| CPX #$10 | |
| BNE ZNAKI4 | |
| RTS | |
| CZYSZCZ JSR CLEAN1 | |
| JSR CLEAN2 | |
| LDX #$07 | |
| LDA #$FF | |
| CZY2 STA $27F8,X | |
| STA $2FF8,X | |
| DEX | |
| BPL CZY2 | |
| RTS | |
| WRITETAB LDY #$80 | |
| LDX #$00 | |
| WRITTAB2 TXA | |
| LSR A | |
| LSR A | |
| LSR A | |
| LSR A | |
| CLC | |
| ADC #$20 | |
| STA TABBOK1,X | |
| TXA | |
| AND #$08 | |
| ASL A | |
| ASL A | |
| ASL A | |
| ASL A | |
| STA TABBOK2,X | |
| TXA | |
| AND #$07 | |
| TAY | |
| LDA TABECZKA,Y | |
| STA TABBOK3,X | |
| INX | |
| CPX #$80 | |
| BNE WRITTAB2 | |
| RTS | |
| TABECZKA .BYTE $80,$40,$20,$10 | |
| .BYTE $08,$04,$02,$01 | |
| CLEAN1 LDX #$3F | |
| LDA #$00 | |
| CLEAN21 | |
| STA $2100,X | |
| STA $2200,X | |
| STA $2300,X | |
| STA $2400,X | |
| STA $2500,X | |
| STA $2600,X | |
| STA $2700,X | |
| STA $2140,X | |
| STA $2240,X | |
| STA $2340,X | |
| STA $2440,X | |
| STA $2540,X | |
| STA $2640,X | |
| STA $2740,X | |
| STA $2080,X | |
| STA $2180,X | |
| STA $2280,X | |
| STA $2380,X | |
| STA $2480,X | |
| STA $2580,X | |
| STA $2680,X | |
| STA $20C0,X | |
| STA $21C0,X | |
| STA $22C0,X | |
| STA $23C0,X | |
| STA $24C0,X | |
| STA $25C0,X | |
| STA $26C0,X | |
| DEX | |
| BPL CLEAN21 | |
| RTS | |
| CLEAN2 LDX #$3F | |
| LDA #$00 | |
| CLEAN22 | |
| STA $2900,X | |
| STA $2A00,X | |
| STA $2B00,X | |
| STA $2C00,X | |
| STA $2D00,X | |
| STA $2E00,X | |
| STA $2F00,X | |
| STA $2940,X | |
| STA $2A40,X | |
| STA $2B40,X | |
| STA $2C40,X | |
| STA $2D40,X | |
| STA $2E40,X | |
| STA $2F40,X | |
| STA $2880,X | |
| STA $2980,X | |
| STA $2A80,X | |
| STA $2B80,X | |
| STA $2C80,X | |
| STA $2D80,X | |
| STA $2E80,X | |
| STA $28C0,X | |
| STA $29C0,X | |
| STA $2AC0,X | |
| STA $2BC0,X | |
| STA $2CC0,X | |
| STA $2DC0,X | |
| STA $2EC0,X | |
| DEX | |
| BPL CLEAN22 | |
| RTS | |
| PROCMAIN TXA | |
| PROC1 ADC $02 | |
| LSR A | |
| TAX | |
| TYA | |
| PROC2 ADC $02 | |
| LSR A | |
| TAY | |
| LDA TABBOK2,X | |
| STA EKRANL | |
| LDA TABBOK1,X | |
| ORA EKRANNUM | |
| STA EKRANH | |
| LDA (EKRANL),Y | |
| ORA TABBOK3,X | |
| STA (EKRANL),Y | |
| PISZ LDA #<PLOTS | |
| STA $20 | |
| LDA #>PLOTS | |
| STA $21 | |
| LDA #<LOSTAB | |
| STA PISZ2+1 | |
| LDA #>LOSTAB | |
| STA PISZ2+2 | |
| LDA #$00 | |
| STA $22 | |
| STA $23 | |
| PISZ2 LDA LOSTAB | |
| CLC | |
| ADC #$28 | |
| STA PROC1+1 | |
| CLC | |
| ADC #$04 | |
| STA PROC2+1 | |
| LDY #$00 | |
| PISZ1 LDA PROCMAIN,Y | |
| STA ($20),Y | |
| INY | |
| CPY #$1D | |
| BNE PISZ1 | |
| LDA $20 | |
| CLC | |
| ADC #$1D | |
| STA $20 | |
| LDA $21 | |
| ADC #$00 | |
| STA $21 | |
| LDA PISZ2+1 | |
| CLC | |
| ADC #$01 | |
| STA PISZ2+1 | |
| LDA PISZ2+2 | |
| ADC #$00 | |
| STA PISZ2+2 | |
| LDA $22 | |
| CLC | |
| ADC #$01 | |
| STA $22 | |
| LDA $23 | |
| ADC #$00 | |
| STA $23 | |
| CMP #$02 | |
| BNE PISZ2 | |
| LDY #$00 | |
| LDA #$60 | |
| STA ($20),Y | |
| RTS | |
| LINEWAIT LDA #$40 | |
| LINEWA1 CMP $D012 | |
| BCS LINEWA2 | |
| LDA #$C0 | |
| CMP $D012 | |
| BCC LINEWA2 | |
| LDA $D011 | |
| BMI LINEWA2 | |
| JMP LINEWAIT | |
| LINEWA2 RTS | |