!macro MSideBorder8sprites{ dec sideborder_color_counter sta $d021 nop nop nop ldx sideborder_color_counter lda colors, x nop nop nop nop nop dec $d016 inc $d016 } !macro MSideBorder0sprites{ sta $d021 ldx sideborder_color_counter lda colors, x inc sideborder_color_counter nop nop nop nop nop nop nop nop nop nop nop nop bit $88 nop nop nop dec $d016 inc $d016 }
_stable: lda #$c8 sta $d016 nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop bit $ea nop ;inc $d021 nop nop nop dec $d016 inc $d016 +MSideBorder0sprites +MSideBorder0sprites +MSideBorder0sprites +MSideBorder0sprites +MSideBorder0sprites +MSideBorder0sprites +MSideBorder0sprites +MSideBorder0sprites +MSideBorder0sprites +MSideBorder0sprites +MSideBorder0sprites +MSideBorder0sprites +MSideBorder0sprites +MSideBorder8sprites +MSideBorder8sprites +MSideBorder8sprites +MSideBorder8sprites +MSideBorder8sprites +MSideBorder8sprites +MSideBorder8sprites +MSideBorder8sprites +MSideBorder8sprites +MSideBorder8sprites +MSideBorder8sprites +MSideBorder8sprites +MSideBorder8sprites +MSideBorder8sprites +MSideBorder8sprites +MSideBorder8sprites +MSideBorder8sprites +MSideBorder8sprites +MSideBorder8sprites +MSideBorder8sprites +MSideBorder8sprites +MSideBorder8sprites +MSideBorder8sprites +MSideBorder8sprites lda #$00 sta $d021 dec sideborder_color_counter dec sideborder_color_counter dec sideborder_color_counter dec sideborder_color_counter
.var sinus = 0 SinusXLo: .for (var i = 0 ; i < 256 ; i++) { .eval sinus = RadiusX - 7 + RadiusX*sin(toRadians(i*360/256)) .if (sinus < 0) .eval sinus = sinus - 9 .byte sinus } SinusXHi: .for (var i = 0 ; i < 256 ; i++) { .eval sinus = RadiusX - 7 + RadiusX*sin(toRadians(i*360/256)) .if (sinus < 0) .eval sinus = 256 .byte >sinus }
ldx .xPosCounter lda sprite_stretch, x adc #10 tay lda #$ff l1: inc $d021 sta $d017 eor #$ff sta $d017 dec $d021 dey bne l1
lda #$00 sta $d020 sta $d021 sta $d010 ; 9th X bit ldx .xPosCounter lda sprite_border_sin_1, x cmp #230 bcc skip5 tay lda #%01111100 sta $d010 tya skip5: cmp #230-24 bcc skip4 tay lda #%00111100 sta $d010 tya jmp skip1 skip4: cmp #230-24-24 bcc skip3 tay lda #%00011100 sta $d010 tya jmp skip1 skip3: cmp #230-24-24-24 bcc skip2 tay lda #%00001100 sta $d010 tya jmp skip1 skip2: cmp #230-24-24-24 bcc skip1 tay lda #%00000100 sta $d010 tya skip1: clc sta $d00e adc #24 sta $d00c adc #24 sta $d00a adc #24 sta $d008 adc #24 sta $d006 adc #24 sta $d004
irq_line_209: pha txa pha tya pha !for inner, 0, 10{ nop } lda #$65 sta $d018 lda #$1b sta $d011 ldy fld_counter ldx fld_sin, y -: lda $d012 cmp $d012 beq *-3 clc lda $d012 adc #1 and #7 ora #$18 sta $d011 dex bne - inc flc_counter lda scroller_d016_counter sta $d016 dec scroller_d016_counter bne + lda #7 sta scroller_d016_counter +:
intro_logo_1_x !byte 0 intro_logo_2_x !byte 0 intro_logo_3_x !byte 0 intro_logo_4_x !byte 0 intro_fld_counter !byte $ff logo1_d010: !byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 !byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 !byte 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 !byte 0,0,0,0,0,0,0,0,0,128,128,128,128,128,128,128 logo1_d015: !byte 128,128,128,128,128,128,128,128,128,128,128,192,192,192,192,192 !byte 192,192,192,192,192,192,224,224,224,224,224,224,224,224,224,224 !byte 240,240,240,240,240,240,240,240,240,240,240,248,248,248,248,248 !byte 248,248,248,248,248,248,252,252,252,252,252,252,252,252,252,252 logo1_d000: !byte 0,5,9,14,18,23,27,32,36,41,45,50,54,59,63,68 !byte 72,77,81,86,90,95,99,104,108,113,117,122,126,131,135,140 !byte 144,149,153,158,162,167,171,176,180,185,189,194,198,203,207,212 !byte 216,221,225,230,234,239,243,248,252,1,5,10,14,19,23,28 intro_1_irq: inc $d020 pha txa pha lda #01 !for inner, 0, 5{ sta $d029+inner } lda #$fc sta $d01d sta $d017 ldx #6 !for inner, 0, 5{ stx $4ffa + inner inx } lda #52 sta $d005 sta $d007 sta $d009 sta $d00b sta $d00d sta $d00f ldx intro_logo_1_x lda logo1_d010, x sta $d010 lda logo1_d015, x sta $d015 lda logo1_d000, x !for inner, 0, 4{ sta $d00e - (inner*2) clc sbc #47 } sta $d00e - 10 cpx #63 beq + ;dec intro_fld_counter inx +: stx intro_logo_1_x lda #<intro_2_irq sta KERNALIRQServiceRoutineLo lda #>intro_2_irq sta KERNALIRQServiceRoutineHi lda #100 sta VIC2Raster +MACROAckRasterIRQ_A pla tax pla dec $d020 rti intro_2_irq: inc $d020 pha txa pha lda #02 !for inner, 0, 5{ sta $d029+inner } lda intro_logo_1_x cmp #63 bne + lda #$fc sta $d01d sta $d017 ldx #0 !for inner, 0, 5{ stx $4ffa + inner inx } lda #102 sta $d005 sta $d007 sta $d009 sta $d00b sta $d00d sta $d00f ldx intro_logo_2_x lda logo1_d010, x sta $d010 lda logo1_d015, x sta $d015 lda logo1_d000, x !for inner, 0, 4{ sta $d00e - (inner*2) clc sbc #47 } sta $d00e - 10 cpx #63 beq + dec intro_fld_counter inx +: stx intro_logo_2_x lda #<intro_3_irq sta KERNALIRQServiceRoutineLo lda #>intro_3_irq sta KERNALIRQServiceRoutineHi lda #150 sta VIC2Raster +MACROAckRasterIRQ_A pla tax pla dec $d020 rti intro_3_irq: inc $d020 pha txa pha lda #03 !for inner, 0, 5{ sta $d029+inner } lda intro_logo_2_x cmp #63 bne + lda #$fc sta $d01d sta $d017 ldx #12 !for inner, 0, 5{ stx $4ffa + inner inx } lda #152 sta $d005 sta $d007 sta $d009 sta $d00b sta $d00d sta $d00f ldx intro_logo_3_x lda logo1_d010, x sta $d010 lda logo1_d015, x sta $d015 lda logo1_d000, x !for inner, 0, 4{ sta $d00e - (inner*2) clc sbc #47 } sta $d00e - 10 cpx #63 beq + dec intro_fld_counter inx +: stx intro_logo_3_x lda #<intro_4_irq sta KERNALIRQServiceRoutineLo lda #>intro_4_irq sta KERNALIRQServiceRoutineHi lda #200 sta VIC2Raster +MACROAckRasterIRQ_A pla tax pla dec $d020 rti intro_4_irq: inc $d020 pha txa pha lda #05 !for inner, 0, 5{ sta $d029+inner } lda intro_logo_3_x cmp #63 bne + lda #$fc sta $d01d sta $d017 ldx #18 !for inner, 0, 5{ stx $4ffa + inner inx } lda #202 sta $d005 sta $d007 sta $d009 sta $d00b sta $d00d sta $d00f ldx intro_logo_4_x lda logo1_d010, x sta $d010 lda logo1_d015, x sta $d015 lda logo1_d000, x !for inner, 0, 4{ sta $d00e - (inner*2) clc sbc #47 } sta $d00e - 10 cpx #63 beq + dec intro_fld_counter inx +: stx intro_logo_4_x lda #<intro_1_irq sta KERNALIRQServiceRoutineLo lda #>intro_1_irq sta KERNALIRQServiceRoutineHi lda #50 sta VIC2Raster +MACROAckRasterIRQ_A pla tax pla dec $d020 rti