Kod źródłowy efektu "radial plots" pochodzącego z dema Amber Cow. Komentarze dotyczące działania poszczególnych procedur zostaną dodane wkrótce.
 
 
;------------------------------- 
;RADIAL PLOTS BY SIR ART/CHARGED 
;------------------------------- 
 
         *= $1000 
 
ACTR1    = $20 
ACTR2    = $21 
SPE1     = $22 
SPE2     = $23 
OLDR1    = $26 
OLDR2    = $27 
SPE3     = $28 
SPE4     = $29 
EKRANLO  = $24 
EKRANHI  = $25 
OPOZN    = $2A 
KOLOR    = $2B 
FAZA     = $2C 
LICZNIK  = $2D 
GOTOW    = $2E 
NUMERFX  = $2F 
CIEN1X   = $30 
 
TABSIN   = $1F00 
 
TABLO    = $1E00 
TABHI    = $1E80 
TABORA   = $1D80 
 
TABELA   = $1D00 
TABELA2  = $1C80 
 
PLOTS    = $3000 
PLOTSCZY = $4C01 
TABELKI  = $4F00 
TABELKI2 = $5700 
 
         SEI 
         LDA #$00 
         LDX #$00 
L1       STA $D800,X 
         STA $D900,X 
         STA $DA00,X 
         STA $DB00,X 
         INX 
         BNE L1 
 
         LDA #$00 
         STA $D020 
         LDA #$06 
         STA $D021 
         LDA #$7F 
         STA $DC0D 
         LDX #$00 
         STX $DC0E 
         INX 
         STA $D01A 
         LDA #$08 
         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 PISZ 
         JSR MAKETABS 
         JSR INIPETLA 
 
         CLI 
 
J3       LDA #$E0 
J2       CMP $D012 
         BNE J2 
 
         LDA GOTOW 
         BEQ JMAIN 
         CMP #$01 
         BNE J10 
         LDA #$06 
         STA KOLOR 
         JSR ZNIK1 
         JMP JMAIN 
J10      CMP #$02 
         BNE J11 
         LDX NUMERFX 
         LDA #$00 
         STA OLDR1 
         STA OLDR2 
         LDA SPED1TAB,X 
         STA SPE1 
         LDA SPED2TAB,X 
         STA SPE2 
         LDA SPED3TAB,X 
         STA SPE3 
         LDA SPED4TAB,X 
         STA SPE4 
         INX 
         CPX #$06 
         BNE J12 
         LDX #$00 
J12      STX NUMERFX 
         LDA #$03 
         STA GOTOW 
J11      CMP #$03 
         BNE JMAIN 
         LDA #$0E 
         STA KOLOR 
         JSR ZNIK2 
 
JMAIN    LDA #$00 
         JSR PLOTSCZY 
         LDA OLDR1 
         STA ACTR1 
         LDA OLDR2 
         STA ACTR2 
         JSR PLOTS 
         LDA OLDR1 
         CLC 
         ADC SPE3 
         STA OLDR1 
         LDA OLDR2 
         CLC 
         ADC SPE4 
         STA OLDR2 
         INC LICZNIK 
         LDA LICZNIK 
         CMP #$C0 
         BNE J1 
         LDA #$00 
         STA LICZNIK 
         LDA #$01 
         STA GOTOW 
J1       JMP J3 
 
SPED1TAB .BYTE $8C,$08,$10,$06 
         .BYTE $02,$8C 
SPED2TAB .BYTE $80,$02,$FC,$02 
         .BYTE $04,$06 
SPED3TAB .BYTE $FE,$04,$03,$02 
         .BYTE $FC,$03 
SPED4TAB .BYTE $FC,$FB,$02,$FE 
         .BYTE $08,$FE 
 
IRQ1 
         INC $D019 
         JMP $EA7E 
 
INIPETLA LDA #$02 
         STA GOTOW 
         LDA #$00 
         STA NUMERFX 
         LDA #$00 
         STA LICZNIK 
         LDA #$00 
         STA FAZA 
         LDA #$00 
         STA OPOZN 
         RTS 
 
ZNIK1    LDX OPOZN 
         BEQ ZNIK11 
         DEC OPOZN 
         RTS 
ZNIK11   LDA #$02 
         STA OPOZN 
         LDX FAZA 
         LDA KOLOR 
         STA POCZ2,X 
         STA POCZ2+$28,X 
         STA POCZ2+$50,X 
         STA POCZ2+$78,X 
         STA POCZ2+$A0,X 
         STA POCZ2+$C8,X 
         STA POCZ2+$F0,X 
         STA POCZ2+$0118,X 
         STA POCZ2+$0140,X 
         STA POCZ2+$0168,X 
         STA POCZ2+$0190,X 
         STA POCZ2+$01B8,X 
         STA POCZ2+$01E0,X 
         STA POCZ2+$0208,X 
         STA POCZ2+$0230,X 
         STA POCZ2+$0258,X 
         LDA #$06 
         STA $DB5A 
         INX 
         CPX #$10 
         BNE ZNIK12 
         LDX #$00 
         LDA #$02 
         STA GOTOW 
ZNIK12   STX FAZA 
         RTS 
 
ZNIK2    LDX OPOZN 
         BEQ ZNIK21 
         DEC OPOZN 
         RTS 
ZNIK21   LDA #$02 
         STA OPOZN 
         LDA #$0F 
         SEC 
         SBC FAZA 
         TAX 
         LDA KOLOR 
         STA POCZ2,X 
         STA POCZ2+$28,X 
         STA POCZ2+$50,X 
         STA POCZ2+$78,X 
         STA POCZ2+$A0,X 
         STA POCZ2+$C8,X 
         STA POCZ2+$F0,X 
         STA POCZ2+$0118,X 
         STA POCZ2+$0140,X 
         STA POCZ2+$0168,X 
         STA POCZ2+$0190,X 
         STA POCZ2+$01B8,X 
         STA POCZ2+$01E0,X 
         STA POCZ2+$0208,X 
         STA POCZ2+$0230,X 
         STA POCZ2+$0258,X 
         LDA #$06 
         STA $DB5A 
         LDX FAZA 
         INX 
         CPX #$10 
         BNE ZNIK22 
         LDA #$00 
         STA GOTOW 
         LDX #$00 
ZNIK22   STX FAZA 
         RTS 
 
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 
 
         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 #<POCZ2 
         STA $20 
         LDA #>POCZ2 
         STA $21 
 
         LDX #$00 
ZNAKI4   LDA #$06 
         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 
         LDA #$06 
         STA $DB5A 
         RTS 
 
CZYSZCZ  LDX #$00 
         LDA #$00 
CZY1     STA $2000,X 
         STA $2100,X 
         STA $2200,X 
         STA $2300,X 
         STA $2400,X 
         STA $2500,X 
         STA $2600,X 
         STA $2700,X 
         INX 
         BNE CZY1 
         LDX #$07 
         LDA #$FF 
CZY2     STA $27F8,X 
         DEX 
         BPL CZY2 
         RTS 
 
PLOTPROC LDA ACTR1 
         CLC 
         ADC SPE1 
         STA ACTR1 
         TAY 
         LDA ACTR2 
         CLC 
         ADC SPE2 
         STA ACTR2 
         TAX 
         LDA TABSIN,X 
         ADC TABSIN,Y 
         TAX 
PP2      LDY $0800,X 
PP3      STY $0800 
PP1      LDA $0800,X 
         TAX 
         LDA TABLO,X 
         STA EKRANLO 
PP4      STA $0800 
         LDA TABHI,X 
         STA EKRANHI 
PP5      STA $0800 
         LDA (EKRANLO),Y 
         ORA TABORA,X 
         STA (EKRANLO),Y 
 
PLOTCZY  LDY #$00 
         STA $0800,Y 
 
PISZ     LDA #<PLOTS 
         STA $20 
         LDA #>PLOTS 
         STA $21 
         LDA #<TABELKI 
         STA $22 
         LDA #>TABELKI 
         STA $23 
         LDA #<TABELKI2 
         STA $26 
         LDA #>TABELKI2 
         STA $27 
         LDA #<PLOTSCZY 
         STA $24 
         LDA #>PLOTSCZY 
         STA $25 
 
         LDX #$00 
PISZ3    LDA $22 
         STA PP1+1 
         LDA $26 
         STA PP2+1 
         LDA $23 
         STA PP1+2 
         LDA $27 
         STA PP2+2 
         LDA $24 
         CLC 
         ADC #$01 
         STA $24 
         STA PP3+1 
         LDA $25 
         ADC #$00 
         STA $25 
         STA PP3+2 
         LDA $24 
         CLC 
         ADC #$02 
         STA $24 
         STA PP4+1 
         LDA $25 
         ADC #$00 
         STA $25 
         STA PP4+2 
         LDA $24 
         CLC 
         ADC #$01 
         STA $24 
         STA PP5+1 
         LDA $25 
         ADC #$00 
         STA $25 
         STA PP5+2 
         LDA $24 
         CLC 
         ADC #$01 
         STA $24 
         LDA $25 
         ADC #$00 
         STA $25 
         LDY #$00 
PISZ2    LDA PLOTPROC,Y 
         STA ($20),Y 
         INY 
         CPY #$38 
         BNE PISZ2 
 
         LDA $20 
         CLC 
         ADC #$38 
         STA $20 
         LDA $21 
         ADC #$00 
         STA $21 
         LDA $22 
         CLC 
         ADC #$40 
         STA $22 
         LDA $23 
         ADC #$00 
         STA $23 
         LDA $26 
         CLC 
         ADC #$40 
         STA $26 
         LDA $27 
         ADC #$00 
         STA $27 
         LDA $27 
         CMP #$6F 
         BNE PISZ7 
         LDA #>TABELKI 
         STA $27 
PISZ7    INX 
         CPX #$80 
         BEQ PISZ6 
         JMP PISZ3 
PISZ6    LDA #$60 
         LDY #$00 
         STA ($20),Y 
 
         LDA #<PLOTSCZY 
         STA $20 
         LDA #>PLOTSCZY 
         STA $21 
 
         LDX #$00 
PISZ4    LDY #$00 
PISZ5    LDA PLOTCZY,Y 
         STA ($20),Y 
         INY 
         CPY #$05 
         BNE PISZ5 
 
         LDA $20 
         CLC 
         ADC #$05 
         STA $20 
         LDA $21 
         ADC #$00 
         STA $21 
         INX 
         CPX #$80 
         BNE PISZ4 
         LDA #$60 
         LDY #$00 
         STA ($20),Y 
         RTS 
 
MAKETABS LDA #<TABELKI 
         STA $20 
         LDA #>TABELKI 
         STA $21 
         LDA #$00 
         STA $22 
 
MAKE6    LDX $22 
         LDA #$00 
         STA $24 
MAK      LDA TABELA,X 
         SEC 
         SBC #$3F 
         STA $23 
         BPL MAKE1 
         LDA $24 
         EOR #$01 
         STA $24 
         LDA $23 
         EOR #$FF 
         CLC 
         ADC #$01 
         STA $23 
 
MAKE1    ASL $23 
         ASL $23 
 
         LDA #$00 
         STA $25 
         LDA #$3F 
         STA $26 
 
         LDA $24 
         BEQ MAKE2 
         LDY #$00 
MAKE3    LDA $25 
         SEC 
         SBC $23 
         STA $25 
         LDA $26 
         SBC #$00 
         STA $26 
         STA ($20),Y 
         INY 
         CPY #$40 
         BNE MAKE3 
         JMP MAKE4 
MAKE2    LDY #$00 
MAKE5    LDA $25 
         CLC 
         ADC $23 
         STA $25 
         LDA $26 
         ADC #$00 
         STA $26 
         STA ($20),Y 
         INY 
         CPY #$40 
         BNE MAKE5 
MAKE4    LDA $20 
         CLC 
         ADC #$40 
         STA $20 
         LDA $21 
         ADC #$00 
         STA $21 
 
         INC $22 
         LDA $22 
         CMP #$80 
         BNE MAKE6 
         RTS 
 
powrót