Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- * = $8000
- .WORD ColdStart ; ColdStart vector.
- .WORD WarmStart ; WarmStart vector.
- .BYTE $C3,$C2,$CD,$38,$30 ; "CBM8O" Autostart string.
- ;################
- Screen = $0400
- ;################
- ColdStart:
- SEI
- STX $D016
- JSR $FDA3 ; Prepare IRQ.
- JSR $FD50 ; Init Memory. Rewrite this routine to speed up boot process.
- JSR $FD15 ; Init I/O.
- JSR $FF5B ; Init Video.
- CLI ; Disable Interrupts.
- ;################
- WarmStart:
- JSR Load_TileMap
- LDA #$02
- STA $D800 ; Color RAM $D800-$DBE7.
- LDA #$01
- STA $D801 ; Color RAM $D800-$DBE7.
- LDA #$00
- STA $D802 ; Color RAM $D800-$DBE7.
- LDA #$08 ; #bordercolor
- STA $D020
- LDA #$06 ; #backgroundcolor
- STA $D021
- ;-------
- LDA #%11111111
- STA $D015 ; Sprite Enable Registers.
- LDA #%00000111
- STA $D017 ; Sprite Vertical Expansion
- STA $D01D ; Sprite Horizontal Expansion
- LDA #%11111010
- STA $D01C ; Sprite Multicolor Registers.
- ;-------
- LDA #%10000000 ; 128x64= $2000
- STA $7F8
- LDA #%10000001 ; Sprite1 - 129x64=$2040.
- STA $7F9
- LDA #%10000010 ; Sprite2 - 130x64=$2080.
- STA $7FA
- ;-------
- LDA #$04 ; // sprite multicolor 1
- STA $D025
- LDA #$07 ; // sprite multicolor 2
- STA $D026
- LDA #$00 ; SPRITE0 KOLOR.
- STA $D027
- LDA #$01 ; SPRITE1 KOLOR.
- STA $D028
- LDA #$03 ; SPRITE2 KOLOR.
- STA $D029
- LDA #$01 ; SPRITE3 KOLOR.
- STA $D02A
- LDA #$01 ; SPRITE4 KOLOR.
- STA $D02B
- LDA #$01 ; SPRITE5 KOLOR.
- STA $D02C
- LDA #$01 ; SPRITE6 KOLOR.
- STA $D02D
- LDA #$01 ; SPRITE7 KOLOR.
- STA $D02E
- lda #$80
- sta $D000
- sta $D001
- lda #$40
- sta $D002
- sta $D003
- lda #$C0
- sta $D004
- sta $D005
- JSR LoadSprite0
- JSR LoadSprite1
- JSR LoadSprite2
- ;################
- Forever:
- LDA #$FB ; Your Clear raster line to make stuff.
- Wait:
- CMP $D012
- BNE Wait
- ;-------
- JMP Forever
- ;################
- LoadSprite0:
- LDY #$00
- LoadSprite0_Loop:
- LDA Sprite0,y
- STA $2000,y
- INY
- CPY #64
- BNE LoadSprite0_Loop
- RTS
- ;################
- LoadSprite1:
- LDY #$00
- LoadSprite1_Loop:
- LDA Sprite1,y
- STA $2040,y
- INY
- CPY #64
- BNE LoadSprite1_Loop
- RTS
- ;################
- LoadSprite2:
- LDY #$00
- LoadSprite2_Loop:
- LDA Sprite1,y ; laduje sprite1 aby miec to samo do testow co sprite1
- STA $2080,y
- INY
- CPY #64
- BNE LoadSprite2_Loop
- RTS
- ;################
- Sprite0: ; Narysowany na stronie "https://www.spritemate.com/".
- .byte %11111110,%00000111,%11110000
- .byte %11111111,%10001111,%11110000
- .byte %11110000,%11001000,%11110000
- .byte %01100000,%01111000,%01110000
- .byte %00100010,%00011000,%00010000
- .byte %00110000,%00001100,%00100000
- .byte %00011110,%00000100,%00100000
- .byte %00111111,%00000001,%01111000
- .byte %01000000,%00000000,%01101110
- .byte %11000000,%00111100,%11000011
- .byte %10000100,%01111100,%10000011
- .byte %11000000,%01111100,%00000011
- .byte %11000000,%01111000,%01000111
- .byte %11100000,%00110000,%00000111
- .byte %11110000,%00000110,%00011110
- .byte %01111100,%00000011,%11111100
- .byte %00111111,%10000011,%10000000
- .byte %00000011,%00010011,%10000000
- .byte %00000011,%00000111,%00000000
- .byte %00000001,%00011111,%00000000
- .byte %00000001,%11111110,%00000000
- ;################
- Sprite1: ; / multicolor / color: $00.
- .BYTE %00000010,%10101010,%10000000
- .BYTE %00001110,%10101010,%10110000
- .BYTE %00001110,%01101001,%10110000
- .BYTE %00001110,%10101010,%10110000
- .BYTE %00000010,%10101010,%10000000
- .BYTE %00000000,%11101011,%00000000
- .BYTE %11101010,%10101010,%10101011
- .BYTE %10100000,%11101011,%00001010
- .BYTE %10000010,%10101010,%10000010
- .BYTE %10001110,%10010110,%10110010
- .BYTE %10001010,%10101010,%10100010
- .BYTE %10001010,%11010111,%10100010
- .BYTE %11001010,%10101010,%10100011
- .BYTE %00001010,%10010110,%10100000
- .BYTE %00001110,%10101010,%10110000
- .BYTE %00000011,%10101010,%11000000
- .BYTE %00000000,%10111110,%00000000
- .BYTE %00000011,%10000010,%11000000
- .BYTE %00110010,%10000010,%10001100
- .BYTE %00101110,%11000011,%10111000
- .BYTE %00101010,%00000000,%10101000
- ;################
- sprite2:
- .BYTE %00000000,%00000000,%00000000
- .BYTE %00000010,%00000000,%00000000
- .BYTE %00011001,%00000000,%10011000
- .BYTE %00100100,%10000001,%00100100
- .BYTE %01001010,%01000001,%01010010
- .BYTE %01001010,%01000001,%01010010
- .BYTE %00100100,%01000001,%00100100
- .BYTE %00011000,%01000001,%00011000
- .BYTE %00000000,%00100001,%00000000
- .BYTE %00000000,%00100010,%00000000
- .BYTE %00000000,%00100010,%00000000
- .BYTE %00010000,%01000010,%00000000
- .BYTE %00010000,%01000010,%00000000
- .BYTE %00100000,%00111100,%00001000
- .BYTE %00100000,%00000000,%00000100
- .BYTE %01000000,%00000000,%00000100
- .BYTE %01000000,%00000000,%10000100
- .BYTE %00100001,%00010000,%10011000
- .BYTE %00011001,%00010011,%11100000
- .BYTE %00000111,%11111100,%00000000
- .BYTE %00000000,%00000000,%00000000
- ;################
- Load_TileMap:
- LDY #$00
- Load_TileMap_Loop:
- LDA TileMap,y
- STA Screen,y
- LDA TileMap+250,y
- STA Screen+250,y
- LDA TileMap+500,y
- STA Screen+500,y
- LDA TileMap+750,y
- STA Screen+750,y
- INY
- CPY #250
- BNE Load_TileMap_Loop
- RTS
- ;################
- TileMap:
- .BYTE 35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35
- .BYTE 35,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,35,32,32,32,32,32,32,32,35
- .BYTE 35,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,35,32,32,32,32,32,32,32,35
- .BYTE 35,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,35,32,35,32,32,32,35,32,35
- .BYTE 35,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,35,32,35,32,32,32,35,32,35
- .BYTE 35,32,32,32,32,32,32,32,32,35,35,35,35,35,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,35,32,32,32,32,32,32,32,35
- .BYTE 35,32,32,32,32,32,32,32,32,35,32,32,32,35,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,35,32,32,32,32,32,32,32,35
- .BYTE 35,32,32,32,32,32,32,32,32,35,32,32,32,35,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,35,32,32,32,32,32,32,32,35
- .BYTE 35,32,32,32,32,32,32,32,32,35,32,32,32,35,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,35,32,32,32,32,32,32,32,35
- .BYTE 35,32,32,32,32,32,32,32,32,35,32,32,32,35,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,35,32,32,32,32,32,32,32,35
- .BYTE 35,32,32,32,32,32,32,32,32,35,35,35,35,35,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,35,32,32,32,32,32,32,32,35
- .BYTE 35,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,35,32,32,32,32,32,32,32,35
- .BYTE 35,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,35,32,32,32,32,32,32,32,35
- .BYTE 35,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,35,32,32,32,32,32,32,32,35
- .BYTE 35,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,35,32,32,32,32,32,32,32,35
- .BYTE 35,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,35,32,32,32,32,32,32,32,35
- .BYTE 35,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,35,32,32,32,32,32,32,32,35
- .BYTE 35,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,35,32,32,32,32,32,32,32,35
- .BYTE 35,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,35,32,32,32,32,32,32,32,35
- .BYTE 35,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,35,32,32,32,32,32,32,32,35
- .BYTE 35,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,35,32,32,32,32,32,32,32,35
- .BYTE 35,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,35,32,32,32,32,32,32,32,35
- .BYTE 35,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,35,32,32,32,32,32,32,32,35
- .BYTE 35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35
- .BYTE 35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35
- ;################
- * = $BFFF
- .BYTE 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement