Advertisement
Guest User

Untitled

a guest
Dec 31st, 2022
25
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.45 KB | None | 0 0
  1.  
  2. * = $8000
  3.  
  4. .WORD ColdStart ; ColdStart vector.
  5. .WORD WarmStart ; WarmStart vector.
  6. .BYTE $C3,$C2,$CD,$38,$30 ; "CBM8O" Autostart string.
  7.  
  8. ;################
  9.  
  10. Screen = $0400
  11.  
  12. ;################
  13.  
  14. ColdStart:
  15.  
  16. SEI
  17.  
  18. STX $D016
  19. JSR $FDA3 ; Prepare IRQ.
  20. JSR $FD50 ; Init Memory. Rewrite this routine to speed up boot process.
  21. JSR $FD15 ; Init I/O.
  22. JSR $FF5B ; Init Video.
  23.  
  24. CLI ; Disable Interrupts.
  25.  
  26. ;################
  27.  
  28. WarmStart:
  29.  
  30. JSR Load_TileMap
  31.  
  32. LDA #$02
  33. STA $D800 ; Color RAM $D800-$DBE7.
  34. LDA #$01
  35. STA $D801 ; Color RAM $D800-$DBE7.
  36. LDA #$00
  37. STA $D802 ; Color RAM $D800-$DBE7.
  38.  
  39. LDA #$08 ; #bordercolor
  40. STA $D020
  41. LDA #$06 ; #backgroundcolor
  42. STA $D021
  43.  
  44. ;-------
  45.  
  46. LDA #%11111111
  47. STA $D015 ; Sprite Enable Registers.
  48.  
  49. LDA #%00000111
  50. STA $D017 ; Sprite Vertical Expansion
  51. STA $D01D ; Sprite Horizontal Expansion
  52.  
  53. LDA #%11111010
  54. STA $D01C ; Sprite Multicolor Registers.
  55.  
  56. ;-------
  57.  
  58. LDA #%10000000 ; 128x64= $2000
  59. STA $7F8
  60.  
  61. LDA #%10000001 ; Sprite1 - 129x64=$2040.
  62. STA $7F9
  63.  
  64. LDA #%10000010 ; Sprite2 - 130x64=$2080.
  65. STA $7FA
  66.  
  67. ;-------
  68.  
  69. LDA #$04 ; // sprite multicolor 1
  70. STA $D025
  71. LDA #$07 ; // sprite multicolor 2
  72. STA $D026
  73.  
  74. LDA #$00 ; SPRITE0 KOLOR.
  75. STA $D027
  76. LDA #$01 ; SPRITE1 KOLOR.
  77. STA $D028
  78. LDA #$03 ; SPRITE2 KOLOR.
  79. STA $D029
  80. LDA #$01 ; SPRITE3 KOLOR.
  81. STA $D02A
  82. LDA #$01 ; SPRITE4 KOLOR.
  83. STA $D02B
  84. LDA #$01 ; SPRITE5 KOLOR.
  85. STA $D02C
  86. LDA #$01 ; SPRITE6 KOLOR.
  87. STA $D02D
  88. LDA #$01 ; SPRITE7 KOLOR.
  89. STA $D02E
  90.  
  91. lda #$80
  92. sta $D000
  93. sta $D001
  94.  
  95. lda #$40
  96. sta $D002
  97. sta $D003
  98.  
  99. lda #$C0
  100. sta $D004
  101. sta $D005
  102.  
  103. JSR LoadSprite0
  104. JSR LoadSprite1
  105. JSR LoadSprite2
  106.  
  107. ;################
  108.  
  109. Forever:
  110.  
  111. LDA #$FB ; Your Clear raster line to make stuff.
  112. Wait:
  113. CMP $D012
  114. BNE Wait
  115.  
  116. ;-------
  117.  
  118. JMP Forever
  119.  
  120. ;################
  121.  
  122. LoadSprite0:
  123.  
  124. LDY #$00
  125.  
  126. LoadSprite0_Loop:
  127.  
  128. LDA Sprite0,y
  129. STA $2000,y
  130.  
  131. INY
  132. CPY #64
  133. BNE LoadSprite0_Loop
  134.  
  135. RTS
  136.  
  137. ;################
  138.  
  139. LoadSprite1:
  140.  
  141. LDY #$00
  142.  
  143. LoadSprite1_Loop:
  144.  
  145. LDA Sprite1,y
  146. STA $2040,y
  147.  
  148. INY
  149. CPY #64
  150. BNE LoadSprite1_Loop
  151.  
  152. RTS
  153.  
  154. ;################
  155.  
  156. LoadSprite2:
  157.  
  158. LDY #$00
  159.  
  160. LoadSprite2_Loop:
  161.  
  162. LDA Sprite1,y ; laduje sprite1 aby miec to samo do testow co sprite1
  163. STA $2080,y
  164.  
  165. INY
  166. CPY #64
  167. BNE LoadSprite2_Loop
  168.  
  169. RTS
  170.  
  171. ;################
  172.  
  173. Sprite0: ; Narysowany na stronie "https://www.spritemate.com/".
  174.  
  175. .byte %11111110,%00000111,%11110000
  176. .byte %11111111,%10001111,%11110000
  177. .byte %11110000,%11001000,%11110000
  178. .byte %01100000,%01111000,%01110000
  179. .byte %00100010,%00011000,%00010000
  180. .byte %00110000,%00001100,%00100000
  181. .byte %00011110,%00000100,%00100000
  182. .byte %00111111,%00000001,%01111000
  183. .byte %01000000,%00000000,%01101110
  184. .byte %11000000,%00111100,%11000011
  185. .byte %10000100,%01111100,%10000011
  186. .byte %11000000,%01111100,%00000011
  187. .byte %11000000,%01111000,%01000111
  188. .byte %11100000,%00110000,%00000111
  189. .byte %11110000,%00000110,%00011110
  190. .byte %01111100,%00000011,%11111100
  191. .byte %00111111,%10000011,%10000000
  192. .byte %00000011,%00010011,%10000000
  193. .byte %00000011,%00000111,%00000000
  194. .byte %00000001,%00011111,%00000000
  195. .byte %00000001,%11111110,%00000000
  196.  
  197. ;################
  198.  
  199. Sprite1: ; / multicolor / color: $00.
  200.  
  201. .BYTE %00000010,%10101010,%10000000
  202. .BYTE %00001110,%10101010,%10110000
  203. .BYTE %00001110,%01101001,%10110000
  204. .BYTE %00001110,%10101010,%10110000
  205. .BYTE %00000010,%10101010,%10000000
  206. .BYTE %00000000,%11101011,%00000000
  207. .BYTE %11101010,%10101010,%10101011
  208. .BYTE %10100000,%11101011,%00001010
  209. .BYTE %10000010,%10101010,%10000010
  210. .BYTE %10001110,%10010110,%10110010
  211. .BYTE %10001010,%10101010,%10100010
  212. .BYTE %10001010,%11010111,%10100010
  213. .BYTE %11001010,%10101010,%10100011
  214. .BYTE %00001010,%10010110,%10100000
  215. .BYTE %00001110,%10101010,%10110000
  216. .BYTE %00000011,%10101010,%11000000
  217. .BYTE %00000000,%10111110,%00000000
  218. .BYTE %00000011,%10000010,%11000000
  219. .BYTE %00110010,%10000010,%10001100
  220. .BYTE %00101110,%11000011,%10111000
  221. .BYTE %00101010,%00000000,%10101000
  222.  
  223. ;################
  224.  
  225. sprite2:
  226.  
  227. .BYTE %00000000,%00000000,%00000000
  228. .BYTE %00000010,%00000000,%00000000
  229. .BYTE %00011001,%00000000,%10011000
  230. .BYTE %00100100,%10000001,%00100100
  231. .BYTE %01001010,%01000001,%01010010
  232. .BYTE %01001010,%01000001,%01010010
  233. .BYTE %00100100,%01000001,%00100100
  234. .BYTE %00011000,%01000001,%00011000
  235. .BYTE %00000000,%00100001,%00000000
  236. .BYTE %00000000,%00100010,%00000000
  237. .BYTE %00000000,%00100010,%00000000
  238. .BYTE %00010000,%01000010,%00000000
  239. .BYTE %00010000,%01000010,%00000000
  240. .BYTE %00100000,%00111100,%00001000
  241. .BYTE %00100000,%00000000,%00000100
  242. .BYTE %01000000,%00000000,%00000100
  243. .BYTE %01000000,%00000000,%10000100
  244. .BYTE %00100001,%00010000,%10011000
  245. .BYTE %00011001,%00010011,%11100000
  246. .BYTE %00000111,%11111100,%00000000
  247. .BYTE %00000000,%00000000,%00000000
  248.  
  249. ;################
  250.  
  251. Load_TileMap:
  252.  
  253. LDY #$00
  254.  
  255. Load_TileMap_Loop:
  256.  
  257. LDA TileMap,y
  258. STA Screen,y
  259.  
  260. LDA TileMap+250,y
  261. STA Screen+250,y
  262.  
  263. LDA TileMap+500,y
  264. STA Screen+500,y
  265.  
  266. LDA TileMap+750,y
  267. STA Screen+750,y
  268.  
  269. INY
  270. CPY #250
  271. BNE Load_TileMap_Loop
  272.  
  273. RTS
  274.  
  275. ;################
  276.  
  277. TileMap:
  278.  
  279. .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
  280. .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
  281. .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
  282. .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
  283. .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
  284. .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
  285. .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
  286. .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
  287. .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
  288. .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
  289. .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
  290. .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
  291. .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
  292. .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
  293. .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
  294. .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
  295. .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
  296. .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
  297. .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
  298. .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
  299. .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
  300. .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
  301. .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
  302. .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
  303. .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
  304.  
  305. ;################
  306.  
  307. * = $BFFF
  308. .BYTE 0
  309.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement