Advertisement
Er0l

Untitled

Nov 17th, 2016
454
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.64 KB | None | 0 0
  1. *= $2d00
  2. ;```````````````````````````````````````
  3. jmp start
  4. .text "+erol+"
  5. reset jsr $fd15
  6. jsr $fda3
  7. jsr $ff5b
  8. jsr $e453
  9. jmp $e3bf
  10. iset stx $0314
  11. sty $0315
  12. sta $d012
  13. inc $d019
  14. rts
  15. irex jsr iset
  16. jmp $ea81
  17. ;```````````````````````````````````````
  18. start jsr reset
  19. lda #$0f
  20. jsr $e536
  21. dex
  22. stx $d011
  23. stx $d020
  24. stx $2bdf
  25. stx cnt2+1
  26. stx f0+1
  27. stx f2+1
  28. stx pf+1
  29. s0 lda $2140,x
  30. sta $32c0,x
  31. lda $2240,x
  32. sta $33c0,x
  33. lda $2340,x
  34. sta $34c0,x
  35. lda $2440,x
  36. sta $35c0,x
  37. lda $2540,x
  38. sta $36c0,x
  39. lda $2640,x
  40. sta $37c0,x
  41. lda $2740,x
  42. sta $38c0,x
  43. lda $2838,x
  44. sta $39b8,x
  45. lda #$00
  46. sta $0b00,x
  47. sta $0c00,x
  48. sta $0c80,x
  49. lda $2a00,x
  50. sta $0428,x
  51. sta $0658,x
  52. lda $2af0,x
  53. sta $d828,x
  54. sta $da58,x
  55. inx
  56. bne s0
  57. s4 txa
  58. clc
  59. adc #$60
  60. sta $05e0,x
  61. clc
  62. adc #40
  63. sta $0590,x
  64. lda #$00
  65. sta $0518,x
  66. sta $0748,x
  67. sta $02a7,x
  68. inx
  69. cpx #$28
  70. bne s4
  71. ldx #$3f
  72. s3 lda #$ff
  73. sta $02c0,x
  74. lda #$55
  75. sta $32c0,x
  76. sta $3300,x
  77. dex
  78. bpl s3
  79. jsr plfrs
  80. jsr screset
  81. lda #$00
  82. ldx #$00
  83. ldy #$00
  84. jsr $1000
  85. sei
  86. lda #$00
  87. ldx #<irq
  88. ldy #>irq
  89. jsr iset
  90. dec $dc0e
  91. inc $d01a
  92. ldx #<linker
  93. ldy #>linker
  94. stx $0318
  95. sty $0319
  96. cli
  97. w lda $02
  98. beq w
  99. lda #$00
  100. sta $02
  101. lda $dc01
  102. cmp #$ef
  103. bne qq
  104. jmp linker
  105. qq
  106. on jsr pfls
  107. lda on
  108. cmp #$20
  109. beq w
  110. inc f0+1
  111. f0 lda #$00
  112. cmp #$06
  113. bne w
  114. f2 ldx #$00
  115. lda col,x
  116. ldy #$27
  117. f1 sta $d990,y
  118. dey
  119. bpl f1
  120. iny
  121. sty f0+1
  122. inc f2+1
  123. lda f2+1
  124. cmp #$20
  125. bne w
  126. ldx #$00
  127. stx f2+1
  128. txa
  129. q15 sta $0c40,x
  130. sta $0ce0,x
  131. inx
  132. cpx #$a0
  133. bne q15
  134. lda #$20
  135. sta on
  136. q14 jmp w
  137. irq jsr $1003
  138. jsr mlx
  139. jsr mly
  140. jsr scroll
  141. inc $02
  142. inc $d019
  143. jmp $ea81
  144. ;```````````````````````````````````````
  145. ;prop.font centre line show routine
  146. ptext = $2be0; text (@-end)
  147. ;0pg $26-$29 mem $07e8-$07f7 font $0800
  148. ;```````````````````````````````````````
  149. pfls
  150. pf lda #$00
  151. bne pfl0
  152. ldy #$00
  153. sty $26
  154. sty $27
  155. sty $29
  156. pfl9 jsr pflr2
  157. beq pfl11
  158. tax
  159. lda pfdat,x
  160. clc
  161. adc $26
  162. bcc pfl10
  163. inc $27
  164. pfl10 sta $26
  165. iny
  166. bne pfl9
  167. pfl11 lda #$40
  168. sec
  169. sbc $26
  170. sta $26
  171. lda #$01
  172. sbc $27
  173. sta $27
  174. lsr $27
  175. ror $26
  176. lda $26
  177. and #$07
  178. sta $29
  179. lda $26
  180. sec
  181. sbc $29
  182. clc
  183. adc #$40
  184. sta $26
  185. lda $27
  186. adc #$0c
  187. sta $27
  188. lda #$01
  189. sta pf+1
  190. pfl0 jsr pflr
  191. cmp #$ff
  192. beq pflrs
  193. cmp #$00
  194. bne pfl1
  195. pf5 lda #$00
  196. sta pf+1
  197. lda #$2c
  198. sta on
  199. pf4 jmp pf3
  200. pflrs jsr plfrs
  201. bne pf5
  202. plfrs ldx #$df
  203. ldy #$2b
  204. stx $14
  205. sty $15
  206. rts
  207. pfl1 tax
  208. ldy pfdat,x
  209. sty $28
  210. tay
  211. asl a
  212. asl a
  213. asl a
  214. sta pfl2+1
  215. tya
  216. lsr a
  217. lsr a
  218. lsr a
  219. lsr a
  220. lsr a
  221. clc
  222. adc #$08
  223. sta pfl2+2
  224. ldx #$07
  225. pfl2 lda $0800,x
  226. sta $02b0,x
  227. dex
  228. bpl pfl2
  229. lda $29
  230. beq pfl4
  231. tax
  232. pfl3 clc
  233. ror $02b0
  234. ror $02b8
  235. ror $02b1
  236. ror $02b9
  237. ror $02b2
  238. ror $02ba
  239. ror $02b3
  240. ror $02bb
  241. ror $02b4
  242. ror $02bc
  243. ror $02b5
  244. ror $02bd
  245. ror $02b6
  246. ror $02be
  247. ror $02b7
  248. ror $02bf
  249. dex
  250. bne pfl3
  251. pfl4 ldy #$0f
  252. pfl5 lda $02b0,y
  253. ora ($26),y
  254. sta ($26),y
  255. dey
  256. bpl pfl5
  257. lda $29
  258. clc
  259. adc $28
  260. sta $29
  261. cmp #$08
  262. bcc pfl6
  263. and #$07
  264. sta $29
  265. lda $26
  266. clc
  267. adc #$08
  268. bcc pfl7
  269. inc $27
  270. pfl7 sta $26
  271. pfl6 ldx #$0f
  272. lda #$00
  273. pfl8 sta $02b0,x
  274. dex
  275. bpl pfl8
  276. pf3 inc $14
  277. bne pfl12
  278. inc $15
  279. pfl12 rts
  280. pflr ldy #$00
  281. pflr2 lda ($14),y
  282. rts
  283. scroll ldx #$00
  284. sc00 clc
  285. rol $0c38,x
  286. rol $0c30,x
  287. rol $0c28,x
  288. rol $0c20,x
  289. rol $0c18,x
  290. rol $0c10,x
  291. rol $0c08,x
  292. rol $0c00,x
  293. rol $0bf8,x
  294. rol $0bf0,x
  295. rol $0be8,x
  296. rol $0be0,x
  297. rol $0bd8,x
  298. rol $0bd0,x
  299. rol $0bc8,x
  300. rol $0bc0,x
  301. rol $0bb8,x
  302. rol $0bb0,x
  303. rol $0ba8,x
  304. rol $0ba0,x
  305. rol $0b98,x
  306. rol $0b90,x
  307. rol $0b88,x
  308. rol $0b80,x
  309. rol $0b78,x
  310. rol $0b70,x
  311. rol $0b68,x
  312. rol $0b60,x
  313. rol $0b58,x
  314. rol $0b50,x
  315. rol $0b48,x
  316. rol $0b40,x
  317. rol $0b38,x
  318. rol $0b30,x
  319. rol $0b28,x
  320. rol $0b20,x
  321. rol $0b18,x
  322. rol $0b10,x
  323. rol $0b08,x
  324. rol $0b00,x
  325. inx
  326. cpx #$06
  327. beq sc0
  328. jmp sc00
  329. sc0 inc cnt2+1
  330. cnt2 lda #$00
  331. sc4 cmp #$08
  332. beq sc5
  333. rts
  334. sc5 lda #$00
  335. sta cnt2+1
  336. sc3 lda $0b00
  337. bne sc2
  338. screset ldx #$80
  339. ldy #$0d
  340. stx sc3+1
  341. sty sc3+2
  342. rts
  343. sc2 tax
  344. lda pfdat,x
  345. sta sc4+1
  346. txa
  347. asl a
  348. asl a
  349. asl a
  350. sta sc1+1
  351. txa
  352. lsr a
  353. lsr a
  354. lsr a
  355. lsr a
  356. lsr a
  357. clc
  358. adc #$08
  359. sta sc1+2
  360. ldy #$05
  361. sc1 lda $0800,y
  362. sta $0c38,y
  363. dey
  364. bpl sc1
  365. inc sc3+1
  366. bne scx
  367. inc sc3+2
  368. scx rts
  369. ;```````````````````````````````````````
  370. ;$7f bytes linker by erol/tempest 1996 ;
  371. ;```````````````````````````````````````
  372. linker sei
  373. jsr reset
  374. inc $d018
  375. lda #$0f
  376. jsr $e536
  377. dex
  378. stx $d020
  379. stx $d021
  380. lda #<ltext
  381. ldy #>ltext
  382. jsr $ab1e
  383. ldx #$27
  384. lnk2 lda lnk,x
  385. sta $02d8,x
  386. dex
  387. bpl lnk2
  388. jmp $02d8
  389. lnk sei
  390. inc $01
  391. lnk0 ldy #$00
  392. lnk1 lda $3b00,y
  393. sta $0801,y
  394. iny
  395. bne lnk1
  396. inc $02e2
  397. inc $02df
  398. bne lnk0
  399. dec $01
  400. sty $0800
  401. cli
  402. jsr $a659
  403. stjmp jmp $a7ae
  404. ltext .text "Logo & idea:Cupid"
  405. .byte 13
  406. .text "Code & font:Erol"
  407. .byte 13
  408. .text "Music :Kristian "
  409. .text "Rostoen"
  410. .byte 0
  411. ;```````````````````````````````````````
  412. *= $1dad
  413. mlx lda #$40-$08
  414. mlx1 cmp $d012
  415. bne mlx1
  416. lda $d012
  417. and #$07
  418. ora #$78
  419. sta $d011
  420. ldy #$19
  421. mlx2 dey
  422. bne mlx2
  423. bit $24
  424. nop
  425. jsr mlxr1
  426. lda #$18
  427. sta $d018
  428. sta $d016
  429. lda #$44-$08
  430. mlx3 cmp $d012
  431. bne mlx3
  432. mlx4 lda #$17
  433. sta $d016
  434. lda #$1f
  435. sta $d015
  436. ldy #$44-$08
  437. jsr yco
  438. mlx5 lda #$11
  439. sta $d000
  440. clc
  441. adc #$18
  442. sta $d002
  443. clc
  444. adc #$18
  445. sta $d004
  446. clc
  447. adc #$18
  448. sta $d006
  449. clc
  450. adc #$18
  451. sta $d008
  452. mlx6 lda #$00
  453. sta $d010
  454. lda #$0b
  455. sta $07f8
  456. sta $07f9
  457. sta $07fa
  458. sta $07fb
  459. sta $07fc
  460. lda #$00
  461. sta $d027
  462. sta $d028
  463. sta $d029
  464. sta $d02a
  465. sta $d02b
  466. lda #$4a-$08
  467. mlx0 cmp $d012
  468. bne mlx0
  469. lda #$06
  470. ldx #$3b
  471. ldy #$06
  472. mlx00 dey
  473. bpl mlx00
  474. sta $d021
  475. stx $d011
  476. lda #$58-$08
  477. mlxx cmp $d012
  478. bne mlxx
  479. ldy #$59-$08
  480. jsr yco
  481. lda #$6d-$08
  482. mlx7 cmp $d012
  483. bne mlx7
  484. ldy #$6e-$08
  485. jsr yco
  486. lda #$7a-$08
  487. mlxz cmp $d012
  488. bne mlxz
  489. ldy #$09
  490. mlz dey
  491. bne mlz
  492. lda #$7b
  493. sta $d011
  494. sty $d021
  495. lda #$88-$08
  496. mlx9 cmp $d012
  497. bne mlx9
  498. lda $d012
  499. and #$07
  500. ora #$78
  501. sta $d011
  502. ldy #$16
  503. mlx10 dey
  504. bne mlx10
  505. jsr mlxr2
  506. sty $d016
  507. lda #$12
  508. sta $d018
  509. ldy #$54
  510. mlx11 dey
  511. bne mlx11
  512. lda #$1b
  513. sta $d011
  514. mlxr lda $2980
  515. tax
  516. lsr a
  517. lsr a
  518. lsr a
  519. sta mlr1+1
  520. tay
  521. txa
  522. and #$07
  523. eor #$17
  524. sta mlx4+1
  525. lda mlyd1,y
  526. sta mlx5+1
  527. lda mlyd2,y
  528. sta mlx6+1
  529. inc mlxr+1
  530. bne c1
  531. lda #$80
  532. sta mlxr+1
  533. c1 rts
  534. yco sty $d001
  535. sty $d003
  536. sty $d005
  537. sty $d007
  538. sty $d009
  539. rts
  540. mly lda #$40+$70
  541. mly1 cmp $d012
  542. bne mly1
  543. lda $d012
  544. and #$07
  545. ora #$18
  546. sta $d011
  547. ldy #$18
  548. mly2 dey
  549. bne mly2
  550. bit $2c2c
  551. bit $2c2c
  552. nop
  553. jsr mlyr1
  554. lda #$18
  555. sta $d018
  556. sta $d016
  557. lda #$44+$70
  558. mly3 cmp $d012
  559. bne mly3
  560. mly4 lda #$17
  561. sta $d016
  562. ldy #$44+$70
  563. jsr yco
  564. mly5 lda #$11
  565. sta $d000
  566. clc
  567. adc #$18
  568. sta $d002
  569. clc
  570. adc #$18
  571. sta $d004
  572. clc
  573. adc #$18
  574. sta $d006
  575. clc
  576. adc #$18
  577. sta $d008
  578. mly6 lda #$00
  579. sta $d010
  580. lda #$4a+$70
  581. mly0 cmp $d012
  582. bne mly0
  583. lda #$06
  584. on2 ldx #$3b
  585. ldy #$08
  586. mly00 dey
  587. bpl mly00
  588. stx $d011
  589. sta $d021
  590. lda #$58+$70
  591. mlyt cmp $d012
  592. bne mlyt
  593. ldy #$59+$70
  594. jsr yco
  595. lda #$6d+$70
  596. mly7 cmp $d012
  597. bne mly7
  598. ldy #$6e+$70
  599. jsr yco
  600. lda #$7a+$70
  601. mlys cmp $d012
  602. bne mlys
  603. ldy #$08
  604. mlyp dey
  605. bne mlyp
  606. lda #$7b
  607. sta $d011
  608. bit $2c2c
  609. lda #$88+$70
  610. mly9 cmp $d012
  611. bne mly9
  612. lda $d012
  613. and #$07
  614. ora #$78
  615. ldy #$07
  616. mlyy dey
  617. bne mlyy
  618. sta $d011
  619. ldy #$16
  620. mly10 dey
  621. bne mly10
  622. jsr mlyr2
  623. sty $d016
  624. lda #$15
  625. sta $d018
  626. ldy #$54
  627. mly11 dey
  628. bne mly11
  629. lda #$1b
  630. sta $d011
  631. sty $d021
  632. mlyr lda $29c0
  633. tax
  634. lsr a
  635. lsr a
  636. lsr a
  637. sta mlp1+1
  638. tay
  639. txa
  640. and #$07
  641. eor #$17
  642. sta mly4+1
  643. lda mlyd1,y
  644. sta mly5+1
  645. lda mlyd2,y
  646. sta mly6+1
  647. inc mlyr+1
  648. bne c2
  649. lda #$80
  650. sta mlyr+1
  651. c2 rts
  652. mlyr1 ldx #$7b ; round address no
  653. clc
  654. mlp1 bcc mlp2
  655. mlp2 lda #$a9
  656. lda #$a9
  657. lda #$a9
  658. lda #$a9
  659. lda #$a9
  660. lda #$a9
  661. lda #$a9
  662. lda #$a9
  663. lda #$a9
  664. lda #$a9
  665. lda #$a9
  666. lda #$a9
  667. lda #$a9
  668. lda #$a9
  669. lda #$a9
  670. lda #$a9
  671. lda #$a9
  672. lda #$a9
  673. lda #$a9
  674. bit $ea
  675. stx $d011
  676. rts
  677. mlyr2 lda #$20
  678. sec
  679. sbc mlp1+1
  680. sta mlp3+1
  681. ldx #$7b
  682. clc
  683. mlp3 bcc mlp4
  684. mlp4 lda #$a9
  685. lda #$a9
  686. lda #$a9
  687. lda #$a9
  688. lda #$a9
  689. lda #$a9
  690. lda #$a9
  691. lda #$a9
  692. lda #$a9
  693. lda #$a9
  694. lda #$a9
  695. lda #$a9
  696. lda #$a9
  697. lda #$a9
  698. lda #$a9
  699. lda #$a9
  700. lda #$a9
  701. lda #$a9
  702. lda #$a9
  703. bit $ea
  704. stx $d011
  705. rts
  706. mlxr1 ldx #$7b ; round address no
  707. clc
  708. mlr1 bcc mlr2
  709. mlr2 lda #$a9
  710. lda #$a9
  711. lda #$a9
  712. lda #$a9
  713. lda #$a9
  714. lda #$a9
  715. lda #$a9
  716. lda #$a9
  717. lda #$a9
  718. lda #$a9
  719. lda #$a9
  720. lda #$a9
  721. lda #$a9
  722. lda #$a9
  723. lda #$a9
  724. lda #$a9
  725. lda #$a9
  726. lda #$a9
  727. lda #$a9
  728. bit $ea
  729. stx $d011
  730. rts
  731. mlxr2 lda #$20
  732. sec
  733. sbc mlr1+1
  734. sta mlr3+1
  735. ldx #$7b
  736. clc
  737. mlr3 bcc mlr4
  738. mlr4 lda #$a9
  739. lda #$a9
  740. lda #$a9
  741. lda #$a9
  742. lda #$a9
  743. lda #$a9
  744. lda #$a9
  745. lda #$a9
  746. lda #$a9
  747. lda #$a9
  748. lda #$a9
  749. lda #$a9
  750. lda #$a9
  751. lda #$a9
  752. lda #$a9
  753. lda #$a9
  754. lda #$a9
  755. lda #$a9
  756. lda #$a9
  757. bit $ea
  758. stx $d011
  759. rts
  760. mlyd1 .byte $11,$09,$01,$f9,$f1,$e9
  761. .byte $e1,$d9,$d1,$c9,$c1,$b9
  762. .byte $b1,$a9,$a1,$58,$50,$48
  763. .byte $40,$38,$30,$28,$20,$18
  764. .byte $10,$08,$00,$f8,$f0,$e8
  765. .byte $e0,$d8
  766. mlyd2 .byte $00,$00,$00,$01,$01,$01
  767. .byte $03,$03,$03,$07,$07,$07
  768. .byte $0f,$0f,$0f,$1f,$1f,$1f
  769. .byte $1f,$1f,$1f,$1f,$1f,$1f
  770. .byte $1f,$1f,$1f,$1e,$1e,$1e
  771. .byte $1c,$1c
  772. pfdat .byte $00,$08,$07,$08,$08,$08
  773. .byte $06,$07,$07,$05,$07,$07
  774. .byte $06,$08,$07,$07,$07,$07
  775. .byte $05,$08,$07,$08,$07,$08
  776. .byte $07,$07,$08,$05,$07,$05
  777. .byte $07,$08,$04,$04,$06,$08
  778. .byte $07,$08,$08,$04,$05,$05
  779. .byte $08,$07,$04,$07,$03,$08
  780. .byte $07,$05,$08,$08,$08,$08
  781. .byte $07,$07,$07,$08,$03,$04
  782. .byte $05,$07,$05,$07,$07,$07
  783. .byte $07,$08,$07,$08,$06,$08
  784. .byte $07,$05,$07,$07,$08,$08
  785. .byte $07,$07,$07,$08,$07,$08
  786. .byte $07,$07,$07,$08,$07,$07
  787. .byte $08,$09,$08,$09,$07,$08
  788. col .byte 0,0,9,2,8,10
  789. .byte 15,15,15,15,15,15,15,15
  790. .byte 15,15,15,15,15,15,15,15
  791. .byte 15,15,15,15
  792. .byte 10,8,2,9,0,0
  793. ;```````````````````````````````````````
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement