;=$6000:.MEM *=$6000:.OBJ "@:ABOVETHEFOLD" ; ABOVE THE FOLD VISUAL PROGRAM ; WRITTEN BY STEPHEN KOZIK ; AKA THE DAISYFARMER/DREAM ; AKA CLOISTER MAXIMUS III, ESQ ; ; LAST UPDATED 06/16/2008 ; GREETZ: ELWIX/STYLE, WANDERER ; ; REQUIREMENTS: ATFSCREENS.COL ; BNJ.SPR (SPRITES) ;****** VARIABLES ******** COLOR = $D800 SCREEN = $0400 BORDER = $D020 BACKGROUND = $D021 CHROUT = $FFD2 VIC = 53248 INIT LDA #$00 STA BORDER STA BACKGROUND LDA #28 JSR CHROUT LDA #147 JSR CHROUT LDA #160 LDX #$00 JSR FILLSCREEN JSR INITSPRITES JMP FINISH INITSPRITES NOP LDA #32 STA 2040 LDA #33 STA 2041 LDA #34 STA 2042 LDA #35 STA 2043 LDA #36 STA 2044 LDA #37 STA 2045 LDA #255 STA $D015 LDA #01 STA VIC+39 STA VIC+40 STA VIC+41 LDA #00 STA VIC+42 STA VIC+43 STA VIC+44 LDA #242 STA VIC+1 STA VIC+3 STA VIC+5 STA VIC+7 STA VIC+9 STA VIC+11 LDA #25 STA VIC LDA #49 STA VIC+2 LDA #73 STA VIC+4 LDA #24 STA VIC+6 LDA #48 STA VIC+8 LDA #72 STA VIC+10 RTS REPLOT1 LDA #77 LDX #$04 STX FILLSCREEN+2 LDX #$00 JMP FILLSCREEN REPLOT2 LDA #250 LDX #$04 STX FILLSCREEN+2 LDX #$00 JMP FILLSCREEN REPLOT3 LDA #160 LDX #$04 STX FILLSCREEN+2 LDX #$00 JMP FILLSCREEN REPLOT LDA #102 LDX #$04 STX FILLSCREEN+2 LDX #$00 JMP FILLSCREEN FILLSCREEN STA SCREEN,X INX CPX #$E8 BEQ + CPX #$00 BNE FILLSCREEN INC FILLSCREEN+2 JMP FILLSCREEN + LDY #$07 CPY FILLSCREEN+2 BNE FILLSCREEN RTS FINISH LDA #$00 STA BACKGROUND LDA #$08 STA $D412 LDA #$00 STA $D40E LDA #$80 STA $D40F STA $D412 DOMIZE NOP LDA #$00 STA $D020 LDA $00C5 CMP #03 BNE + JSR REPLOT + LDA $00C5 CMP #04 BNE + JSR REPLOT1 + LDA $00C5 CMP #05 BNE + JSR REPLOT2 + LDA $00C5 CMP #06 BNE + JSR REPLOT3 + LDA $00C5 CMP #62 BNE + LDA #$20 STA PICTURE JSR SETPICTURE JMP PL + LDA $00C5 CMP #09 BNE + LDA #$24 STA PICTURE JSR SETPICTURE JMP PL + LDA $00C5 CMP #14 BNE + LDA #$28 STA PICTURE JSR SETPICTURE JMP PL + LDA $00C5 CMP #17 BNE + LDA #$2C STA PICTURE JSR SETPICTURE JMP PL + LDA $00C5 CMP #22 BNE + LDA #$30 STA PICTURE JSR SETPICTURE JMP PL + LDA $00C5 CMP #25 BNE + LDA #$34 STA PICTURE JSR SETPICTURE JMP PL + LDA $00C5 CMP #30 BNE + LDA #$38 STA PICTURE JSR SETPICTURE JMP PL + LDA $00C5 CMP #33 BNE + LDA #$3C STA PICTURE JSR SETPICTURE JMP PL + LDA $00C5 CMP #38 BNE + LDA #$40 STA PICTURE JSR SETPICTURE JMP PL + LDA $00C5 CMP #41 BNE + LDA #$44 STA PICTURE JSR SETPICTURE JMP PL + LDA $00C5 CMP #46 BNE + LDA #$48 STA PICTURE JSR SETPICTURE JMP PL + LDA $00C5 CMP #35 BNE + JMP COLORCYCLE + JSR SETPICTURE JMP CONT SETPICTURE LDX PICTURE STX PL1+2 INX STX PL2+2 INX STX PL3+2 INX STX PL4+2 RTS CONT NOP - LDA $00C5 CMP #56 BEQ PL LDA PICTURESTATUS CMP #01 BNE + PL JSR RANDOM PL1 LDA $4000,X STA $D800,X ; STA $D020 JSR RANDOM PL2 LDA $4100,X STA $D900,X JSR RANDOM PL3 LDA $4200,X STA $DA00,X JSR RANDOM PL4 LDA $4300,X STA $DB00,X JMP DOMIZE + JSR RANDOM STA $D800,X JSR RANDOM STA $D900,X JSR RANDOM STA $DA00,X JSR RANDOM STA $DB00,X LDA $00C5 CMP #60 BEQ SHIFTER JMP DOMIZE SHIFTER LDX $D012 CPX #$40 BNE SHIFTER LDA $D900 ; STA $D020 LDX #$00 LDA $D800 STA FIRSTCOLOR - LDA $D801,X STA $D800,X LDA $D901,X STA $D900,X LDA $DA01,X STA $DA00,X LDA $DB01,X STA $DB00,X INX CPX #00 BNE - LDA 56255 STA 56295 LDA 56215 STA 56255 LDA 56175 STA 56215 LDA 56135 STA 56175 LDA 56095 STA 56135 LDA 56055 STA 56095 LDA 56015 STA 56055 LDA 55975 STA 55015 LDA 55935 STA 55975 LDA 55895 STA 55935 LDA 55855 STA 55895 LDA 55815 STA 55855 LDA 55775 STA 55815 LDA 55735 STA 55775 LDA 55695 STA 55735 LDA 55655 STA 55695 LDA 55615 STA 55655 LDA 55575 STA 55615 LDA 55535 STA 55575 LDA 55495 STA 55535 LDA 55455 STA 55495 LDA 55415 STA 55455 LDA 55375 STA 55415 LDA 55335 STA 55375 LDA FIRSTCOLOR STA 55335 LDA $00C5 CMP #01 BNE + JMP DOMIZE + JMP SHIFTER RANDOM LDA $D41B LDY $00C5 CPY #64 BEQ BACK CPY #43 BNE + INC COLORCOUNTER LDX COLORCOUNTER LDA COLORTABLE1,X CMP #$00 BNE BACK LDX #$00 STX COLORCOUNTER LDA COLORTABLE1,X JMP BACK + TYA BACK LDX $D41B RTS COLORCYCLE LDA $00C5 CMP #32 BNE + JMP DOMIZE + LDX #$00 INC VIC+1 INC VIC+3 INC VIC+5 INC VIC+7 INC VIC+9 INC VIC+11 LDX #$00 LDA #$D8 STA COLORLOAD+2 STA COLORSTORE+2 COLORLOAD LDA $D800,X CLC ROL CLC ROL CLC ROL CLC ROL CLC ROR CLC ROR CLC ROR CLC ROR CLC TAY LDA CYCLETABLE,Y JMP COLORSTORE STA CURRENTCOLOR + CMP #9 BNE + LDA #2 JMP COLORSTORE + CMP #2 BNE + LDA #10 JMP COLORSTORE + CMP #10 BNE + LDA #7 JMP COLORSTORE + CMP #7 BNE + LDA #8 JMP COLORSTORE + CMP #8 BNE COLORSTORE LDA #9 JMP COLORSTORE STX CURRENTPOSITION LDX #$00 - LDA COLORTABLE,X CMP #$FF BEQ + INX LDY CURRENTCOLOR STY COLORCHECK+1 COLORCHECK CMP #$00 BNE - + LDA COLORTABLE,X LDX CURRENTPOSITION CMP #$FF BEQ + COLORSTORE STA $D800,X NOP:NOP:NOP:NOP:NOP:NOP:NOP:NOP:NOP:NOP:NOP:NOP:NOP + INX CPX #$00 BNE + INC COLORLOAD+2 INC COLORSTORE+2 LDA COLORLOAD+2 CMP #$DC BNE + JMP COLORCYCLE + JMP COLORLOAD COLORCOUNTER .BYT 0 FIRSTCOLOR .BYT 0 PICTURESTATUS .BYT 0 PICTURE .BYT $40 CURRENTCOLOR .BYT 0 CURRENTPOSITION .BYT 0 COLORTABLE1 .BYT 9,9,2,8,10,7,255,0 CYCLETABLE .BYT 0,1,10,15,6,13,14,8,9,2,7,12,11,5,3,6 COLORTABLE .BYT 0,6,14,4,14,3,7,15,1,15,7,3,14,4,14,6,0,0,9,2,10,1,10,2,9,0,0,6,14,15,14,6,0,011,5,14,13,1,13,14,5,11,0,0,6,4,10,7,1,7,10,4,6,0,0,8,13,7,13,8,0,255,255,255,25