;;; BANK 15 FOR REGISTERS ;;; BANK 14 FOR CHARACTER ROM ;;; CHARACTER ROM IS AT $D000-$DFFF ;;; DISABLE BASIC SCREEN SETUP IRQ ;;; TRANSFER ROM TO RAM INIT: $1300 LDA #$FF ; DISABLE BASIC IRQS STA $D8 STA $12FD LDA #$10 ; ENABLE VIC MULTICOLOR CHARS EOR $D016 STA $D016 LDA $D018 ; SETUP THE CHARMAP AT $2000 EOR #%00001000 AND #%11111001 STA $D018 LDA #$03 STA $D015 ; ENABLE SPRITE 0 AND 1 RTS DRAWJAIL: $13A0 LDA #$00 ; OUR CUSTOM CHARACTER LDX #$00 ; CLEAR OUR COUNTER _LP: $13A4 STA $0400,X ; FILL THE SCREEN STA $0500,X STA $0600,X STA $06E9,X INX BNE _LP LDA #$20 ; SPACE CHARACTER LDX #$03 ; CUT A HOLE FOR THE BARS _HOLE: $13B7 STA $05CB,X STA $05F3,X DEX BNE _HOLE1 RTS SETCLRS: $13D0 ;; SET SPRITE COLORS LDA #$00 STA $D025 ; SET SPRITE MC0 TO BLACK LDA #$01 STA $D026 ; SET SPRITE MC1 TO WHITE LDA #$0A STA $D028 ; SET SPRITE1 COLOR TO LT.RED LDA #$02 STA $D01C ; SET SPRITE1 TO MULTICOLOR ;; SET CHARACTER COLORS LDA #$08 STA $D022 ; SET CHR MC0 TO BLACK / %01 LDA #$09 STA $D023 ; SET CHR MC1 TO WHITE / %10 ;; SET COLOR RAM TO CHOSEN COLOR LDA #$0A ; SET CHAR COLOR TO RED LDX #$00 _LP: $13F2 STA $D800,X STA $D900,X STA $DA00,X STA $DB00,X INX BNE _LP RTS ;;; IDEAL JAIL POSITION: B8, 87, MSB 0 ;;; IDEAL SPR POSITION: B8, 87, MSB 0 SETPOS: $1410 LDA #$B8 ; SET X POS STA $D000 STA $D002 LDA #$87 ; SET Y POS STA $D001 STA $D003 LDA #00 ; CLEAR THE MSB STA $D010 RTS MAIN: $1430 JSR $1300 ; INIT JSR $13A0 ; DRAWJAIL JSR $13D0 ; SETCOLORS JSR $1410 ; SETPOS JMP $143C