618 lines
29 KiB
Text
618 lines
29 KiB
Text
|
|
; ******** Source: source/main.asm
|
|
1 screen = $0400
|
|
2 screenScroller = $0400+40*24
|
|
3 code = $0801
|
|
4 bitmap = $2000
|
|
5 charset = $3800
|
|
6 sprites = $3e00
|
|
7 bitmapColors = $4000
|
|
8 tables = $5000
|
|
9 music = $7000
|
|
10 musicPlay = $7003
|
|
11 bitmapScreen = $8000
|
|
12 colors = $d800
|
|
13
|
|
14 line1 = 0
|
|
15 line2 = 114
|
|
16
|
|
17 *= bitmap
|
|
18 2000 0000000000000000... !binary "graphics/logo-bitmap.dat",2544
|
|
19
|
|
20 *= charset
|
|
21 3800 3c666e6e60623c00... !binary "charset/charset.dat",800
|
|
22
|
|
23 *= sprites
|
|
24 3e00 5555555555555555... !binary "sprites/sprites.dat"
|
|
25
|
|
26 *= bitmapColors
|
|
27 4000 0b0b0d0d0b0d0d0d... !binary "graphics/logo-colors.dat"
|
|
28
|
|
29 *= bitmapScreen
|
|
30 8000 d5d50b0bd5000000... !binary "graphics/logo-screen.dat"
|
|
31
|
|
32 *= tables
|
|
33 sinTable1:
|
|
|
|
; ******** Source: tables/sin1.dat
|
|
1 5000 4848494a4b4c4c4d !byte $48,$48,$49,$4a,$4b,$4c,$4c,$4d
|
|
2 5008 4e4e4e4f4f4f4f4e !byte $4e,$4e,$4e,$4f,$4f,$4f,$4f,$4e
|
|
3 5010 4e4e4d4d4c4b4b4a !byte $4e,$4e,$4d,$4d,$4c,$4b,$4b,$4a
|
|
4 5018 4948474645444443 !byte $49,$48,$47,$46,$45,$44,$44,$43
|
|
5 5020 4242414141404040 !byte $42,$42,$41,$41,$41,$40,$40,$40
|
|
6 5028 4041414142434344 !byte $40,$41,$41,$41,$42,$43,$43,$44
|
|
7 5030 4546474848494a4b !byte $45,$46,$47,$48,$48,$49,$4a,$4b
|
|
8 5038 4c4c4d4e4e4e4f4f !byte $4c,$4c,$4d,$4e,$4e,$4e,$4f,$4f
|
|
9 5040 4f4f4e4e4e4d4d4c !byte $4f,$4f,$4e,$4e,$4e,$4d,$4d,$4c
|
|
10 5048 4b4b4a4948474645 !byte $4b,$4b,$4a,$49,$48,$47,$46,$45
|
|
11 5050 4444434242414141 !byte $44,$44,$43,$42,$42,$41,$41,$41
|
|
12 5058 4040404041414142 !byte $40,$40,$40,$40,$41,$41,$41,$42
|
|
13 5060 4343444546474848 !byte $43,$43,$44,$45,$46,$47,$48,$48
|
|
14 5068 494a4b4c4c4d4e4e !byte $49,$4a,$4b,$4c,$4c,$4d,$4e,$4e
|
|
15 5070 4e4f4f4f4f4e4e4e !byte $4e,$4f,$4f,$4f,$4f,$4e,$4e,$4e
|
|
16 5078 4d4d4c4b4b4a4948 !byte $4d,$4d,$4c,$4b,$4b,$4a,$49,$48
|
|
17 5080 4746454444434242 !byte $47,$46,$45,$44,$44,$43,$42,$42
|
|
18 5088 4141414040404041 !byte $41,$41,$41,$40,$40,$40,$40,$41
|
|
19 5090 4141424343444546 !byte $41,$41,$42,$43,$43,$44,$45,$46
|
|
20 5098 474848494a4b4c4c !byte $47,$48,$48,$49,$4a,$4b,$4c,$4c
|
|
21 50a0 4d4e4e4e4f4f4f4f !byte $4d,$4e,$4e,$4e,$4f,$4f,$4f,$4f
|
|
22 50a8 4e4e4e4d4d4c4b4b !byte $4e,$4e,$4e,$4d,$4d,$4c,$4b,$4b
|
|
23 50b0 4a49484746454444 !byte $4a,$49,$48,$47,$46,$45,$44,$44
|
|
24 50b8 4342424141414040 !byte $43,$42,$42,$41,$41,$41,$40,$40
|
|
25 50c0 4040414141424343 !byte $40,$40,$41,$41,$41,$42,$43,$43
|
|
26 50c8 444546474848494a !byte $44,$45,$46,$47,$48,$48,$49,$4a
|
|
27 50d0 4b4c4c4d4e4e4e4f !byte $4b,$4c,$4c,$4d,$4e,$4e,$4e,$4f
|
|
28 50d8 4f4f4f4e4e4e4d4d !byte $4f,$4f,$4f,$4e,$4e,$4e,$4d,$4d
|
|
29 50e0 4c4b4b4a49484746 !byte $4c,$4b,$4b,$4a,$49,$48,$47,$46
|
|
30 50e8 4544444342424141 !byte $45,$44,$44,$43,$42,$42,$41,$41
|
|
31 50f0 4140404040414141 !byte $41,$40,$40,$40,$40,$41,$41,$41
|
|
32 50f8 4243434445464747 !byte $42,$43,$43,$44,$45,$46,$47,$47
|
|
|
|
; ******** Source: source/main.asm
|
|
35
|
|
36 sinTable2:
|
|
|
|
; ******** Source: tables/sin2.dat
|
|
1 5100 9998989897969594 !byte $99,$98,$98,$98,$97,$96,$95,$94
|
|
2 5108 9391908e8c8a8886 !byte $93,$91,$90,$8e,$8c,$8a,$88,$86
|
|
3 5110 84827f7d7b797775 !byte $84,$82,$7f,$7d,$7b,$79,$77,$75
|
|
4 5118 73716f6d6c6b6968 !byte $73,$71,$6f,$6d,$6c,$6b,$69,$68
|
|
5 5120 6767666666666666 !byte $67,$67,$66,$66,$66,$66,$66,$66
|
|
6 5128 676768696b6c6e6f !byte $67,$67,$68,$69,$6b,$6c,$6e,$6f
|
|
7 5130 71737577797b7e80 !byte $71,$73,$75,$77,$79,$7b,$7e,$80
|
|
8 5138 828486888a8c8e90 !byte $82,$84,$86,$88,$8a,$8c,$8e,$90
|
|
9 5140 9193949596979898 !byte $91,$93,$94,$95,$96,$97,$98,$98
|
|
10 5148 9898989898979695 !byte $98,$98,$98,$98,$98,$97,$96,$95
|
|
11 5150 9492918f8e8c8a88 !byte $94,$92,$91,$8f,$8e,$8c,$8a,$88
|
|
12 5158 8684817f7d7b7977 !byte $86,$84,$81,$7f,$7d,$7b,$79,$77
|
|
13 5160 7473716f6d6c6a69 !byte $74,$73,$71,$6f,$6d,$6c,$6a,$69
|
|
14 5168 6867676666666666 !byte $68,$67,$67,$66,$66,$66,$66,$66
|
|
15 5170 666768696a6b6c6e !byte $66,$67,$68,$69,$6a,$6b,$6c,$6e
|
|
16 5178 70717375777a7c7e !byte $70,$71,$73,$75,$77,$7a,$7c,$7e
|
|
17 5180 80828487898b8d8e !byte $80,$82,$84,$87,$89,$8b,$8d,$8e
|
|
18 5188 9092939495969798 !byte $90,$92,$93,$94,$95,$96,$97,$98
|
|
19 5190 9898989898979796 !byte $98,$98,$98,$98,$98,$97,$97,$96
|
|
20 5198 959492918f8d8b8a !byte $95,$94,$92,$91,$8f,$8d,$8b,$8a
|
|
21 51a0 878583817f7d7a78 !byte $87,$85,$83,$81,$7f,$7d,$7a,$78
|
|
22 51a8 767472706f6d6c6a !byte $76,$74,$72,$70,$6f,$6d,$6c,$6a
|
|
23 51b0 6968676666666666 !byte $69,$68,$67,$66,$66,$66,$66,$66
|
|
24 51b8 66666768696a6b6d !byte $66,$66,$67,$68,$69,$6a,$6b,$6d
|
|
25 51c0 6e70727476787a7c !byte $6e,$70,$72,$74,$76,$78,$7a,$7c
|
|
26 51c8 7e80838587898b8d !byte $7e,$80,$83,$85,$87,$89,$8b,$8d
|
|
27 51d0 8f90929395969797 !byte $8f,$90,$92,$93,$95,$96,$97,$97
|
|
28 51d8 9898989898989797 !byte $98,$98,$98,$98,$98,$98,$97,$97
|
|
29 51e0 96959392918f8d8b !byte $96,$95,$93,$92,$91,$8f,$8d,$8b
|
|
30 51e8 89878583817f7c7a !byte $89,$87,$85,$83,$81,$7f,$7c,$7a
|
|
31 51f0 78767472706e6d6b !byte $78,$76,$74,$72,$70,$6e,$6d,$6b
|
|
32 51f8 6a69686766666666 !byte $6a,$69,$68,$67,$66,$66,$66,$66
|
|
|
|
; ******** Source: source/main.asm
|
|
|
|
; ******** Source: tables/sin2.dat
|
|
1 5200 9998989897969594 !byte $99,$98,$98,$98,$97,$96,$95,$94
|
|
2 5208 9391908e8c8a8886 !byte $93,$91,$90,$8e,$8c,$8a,$88,$86
|
|
3 5210 84827f7d7b797775 !byte $84,$82,$7f,$7d,$7b,$79,$77,$75
|
|
4 5218 73716f6d6c6b6968 !byte $73,$71,$6f,$6d,$6c,$6b,$69,$68
|
|
5 5220 6767666666666666 !byte $67,$67,$66,$66,$66,$66,$66,$66
|
|
6 5228 676768696b6c6e6f !byte $67,$67,$68,$69,$6b,$6c,$6e,$6f
|
|
7 5230 71737577797b7e80 !byte $71,$73,$75,$77,$79,$7b,$7e,$80
|
|
8 5238 828486888a8c8e90 !byte $82,$84,$86,$88,$8a,$8c,$8e,$90
|
|
9 5240 9193949596979898 !byte $91,$93,$94,$95,$96,$97,$98,$98
|
|
10 5248 9898989898979695 !byte $98,$98,$98,$98,$98,$97,$96,$95
|
|
11 5250 9492918f8e8c8a88 !byte $94,$92,$91,$8f,$8e,$8c,$8a,$88
|
|
12 5258 8684817f7d7b7977 !byte $86,$84,$81,$7f,$7d,$7b,$79,$77
|
|
13 5260 7473716f6d6c6a69 !byte $74,$73,$71,$6f,$6d,$6c,$6a,$69
|
|
14 5268 6867676666666666 !byte $68,$67,$67,$66,$66,$66,$66,$66
|
|
15 5270 666768696a6b6c6e !byte $66,$67,$68,$69,$6a,$6b,$6c,$6e
|
|
16 5278 70717375777a7c7e !byte $70,$71,$73,$75,$77,$7a,$7c,$7e
|
|
17 5280 80828487898b8d8e !byte $80,$82,$84,$87,$89,$8b,$8d,$8e
|
|
18 5288 9092939495969798 !byte $90,$92,$93,$94,$95,$96,$97,$98
|
|
19 5290 9898989898979796 !byte $98,$98,$98,$98,$98,$97,$97,$96
|
|
20 5298 959492918f8d8b8a !byte $95,$94,$92,$91,$8f,$8d,$8b,$8a
|
|
21 52a0 878583817f7d7a78 !byte $87,$85,$83,$81,$7f,$7d,$7a,$78
|
|
22 52a8 767472706f6d6c6a !byte $76,$74,$72,$70,$6f,$6d,$6c,$6a
|
|
23 52b0 6968676666666666 !byte $69,$68,$67,$66,$66,$66,$66,$66
|
|
24 52b8 66666768696a6b6d !byte $66,$66,$67,$68,$69,$6a,$6b,$6d
|
|
25 52c0 6e70727476787a7c !byte $6e,$70,$72,$74,$76,$78,$7a,$7c
|
|
26 52c8 7e80838587898b8d !byte $7e,$80,$83,$85,$87,$89,$8b,$8d
|
|
27 52d0 8f90929395969797 !byte $8f,$90,$92,$93,$95,$96,$97,$97
|
|
28 52d8 9898989898989797 !byte $98,$98,$98,$98,$98,$98,$97,$97
|
|
29 52e0 96959392918f8d8b !byte $96,$95,$93,$92,$91,$8f,$8d,$8b
|
|
30 52e8 89878583817f7c7a !byte $89,$87,$85,$83,$81,$7f,$7c,$7a
|
|
31 52f0 78767472706e6d6b !byte $78,$76,$74,$72,$70,$6e,$6d,$6b
|
|
32 52f8 6a69686766666666 !byte $6a,$69,$68,$67,$66,$66,$66,$66
|
|
|
|
; ******** Source: source/main.asm
|
|
39
|
|
40 sinTable3:
|
|
|
|
; ******** Source: tables/sin3.dat
|
|
1 5300 dcdbdbdad9d8d6d5 !byte $dc,$db,$db,$da,$d9,$d8,$d6,$d5
|
|
2 5308 d3d0cecbc8c5c2be !byte $d3,$d0,$ce,$cb,$c8,$c5,$c2,$be
|
|
3 5310 bbb7b3b0aca8a4a0 !byte $bb,$b7,$b3,$b0,$ac,$a8,$a4,$a0
|
|
4 5318 9c9995918e8b8784 !byte $9c,$99,$95,$91,$8e,$8b,$87,$84
|
|
5 5320 827f7d7a78777574 !byte $82,$7f,$7d,$7a,$78,$77,$75,$74
|
|
6 5328 7373737373737475 !byte $73,$73,$73,$73,$73,$73,$74,$75
|
|
7 5330 77787a7d7f828487 !byte $77,$78,$7a,$7d,$7f,$82,$84,$87
|
|
8 5338 8b8e9195999ca0a4 !byte $8b,$8e,$91,$95,$99,$9c,$a0,$a4
|
|
9 5340 a8acb0b3b7bbbec2 !byte $a8,$ac,$b0,$b3,$b7,$bb,$be,$c2
|
|
10 5348 c5c8cbced0d3d5d6 !byte $c5,$c8,$cb,$ce,$d0,$d3,$d5,$d6
|
|
11 5350 d8d9dadbdbdcdbdb !byte $d8,$d9,$da,$db,$db,$dc,$db,$db
|
|
12 5358 dad9d8d6d5d3d0ce !byte $da,$d9,$d8,$d6,$d5,$d3,$d0,$ce
|
|
13 5360 cbc8c5c2bebbb7b3 !byte $cb,$c8,$c5,$c2,$be,$bb,$b7,$b3
|
|
14 5368 b0aca8a4a09c9995 !byte $b0,$ac,$a8,$a4,$a0,$9c,$99,$95
|
|
15 5370 918e8b8784827f7d !byte $91,$8e,$8b,$87,$84,$82,$7f,$7d
|
|
16 5378 7a78777574737373 !byte $7a,$78,$77,$75,$74,$73,$73,$73
|
|
17 5380 737373747577787a !byte $73,$73,$73,$74,$75,$77,$78,$7a
|
|
18 5388 7d7f8284878b8e91 !byte $7d,$7f,$82,$84,$87,$8b,$8e,$91
|
|
19 5390 95999ca0a4a8acb0 !byte $95,$99,$9c,$a0,$a4,$a8,$ac,$b0
|
|
20 5398 b3b7bbbec2c5c8cb !byte $b3,$b7,$bb,$be,$c2,$c5,$c8,$cb
|
|
21 53a0 ced0d3d5d6d8d9da !byte $ce,$d0,$d3,$d5,$d6,$d8,$d9,$da
|
|
22 53a8 dbdbdcdbdbdad9d8 !byte $db,$db,$dc,$db,$db,$da,$d9,$d8
|
|
23 53b0 d6d5d3d0cecbc8c5 !byte $d6,$d5,$d3,$d0,$ce,$cb,$c8,$c5
|
|
24 53b8 c2bebbb7b3b0aca8 !byte $c2,$be,$bb,$b7,$b3,$b0,$ac,$a8
|
|
25 53c0 a4a09c9995918e8b !byte $a4,$a0,$9c,$99,$95,$91,$8e,$8b
|
|
26 53c8 8784827f7d7a7877 !byte $87,$84,$82,$7f,$7d,$7a,$78,$77
|
|
27 53d0 7574737373737373 !byte $75,$74,$73,$73,$73,$73,$73,$73
|
|
28 53d8 747577787a7d7f82 !byte $74,$75,$77,$78,$7a,$7d,$7f,$82
|
|
29 53e0 84878b8e9195999c !byte $84,$87,$8b,$8e,$91,$95,$99,$9c
|
|
30 53e8 a0a4a8acb0b3b7bb !byte $a0,$a4,$a8,$ac,$b0,$b3,$b7,$bb
|
|
31 53f0 bec2c5c8cbced0d3 !byte $be,$c2,$c5,$c8,$cb,$ce,$d0,$d3
|
|
32 53f8 d5d6d8d9dadbdbdc !byte $d5,$d6,$d8,$d9,$da,$db,$db,$dc
|
|
|
|
; ******** Source: source/main.asm
|
|
42
|
|
43 sinTable4:
|
|
|
|
; ******** Source: tables/sin4.dat
|
|
1 5400 acb1b6bbbfc4c8cd !byte $ac,$b1,$b6,$bb,$bf,$c4,$c8,$cd
|
|
2 5408 d1d5d8dcdfe2e5e7 !byte $d1,$d5,$d8,$dc,$df,$e2,$e5,$e7
|
|
3 5410 e9ebecedeeeeeeed !byte $e9,$eb,$ec,$ed,$ee,$ee,$ee,$ed
|
|
4 5418 edebeae8e6e3e1de !byte $ed,$eb,$ea,$e8,$e6,$e3,$e1,$de
|
|
5 5420 dad7d3cfcbc6c2bd !byte $da,$d7,$d3,$cf,$cb,$c6,$c2,$bd
|
|
6 5428 b8b3aeaaa5a09b96 !byte $b8,$b3,$ae,$aa,$a5,$a0,$9b,$96
|
|
7 5430 928d8985817e7a77 !byte $92,$8d,$89,$85,$81,$7e,$7a,$77
|
|
8 5438 7572706e6d6b6b6a !byte $75,$72,$70,$6e,$6d,$6b,$6b,$6a
|
|
9 5440 6a6a6b6c6d6f7173 !byte $6a,$6a,$6b,$6c,$6d,$6f,$71,$73
|
|
10 5448 76797c8083878b90 !byte $76,$79,$7c,$80,$83,$87,$8b,$90
|
|
11 5450 94999da2a7acb1b6 !byte $94,$99,$9d,$a2,$a7,$ac,$b1,$b6
|
|
12 5458 bbbfc4c8cdd1d5d8 !byte $bb,$bf,$c4,$c8,$cd,$d1,$d5,$d8
|
|
13 5460 dcdfe2e5e7e9ebec !byte $dc,$df,$e2,$e5,$e7,$e9,$eb,$ec
|
|
14 5468 edeeeeeeededebea !byte $ed,$ee,$ee,$ee,$ed,$ed,$eb,$ea
|
|
15 5470 e8e6e3e1dedad7d3 !byte $e8,$e6,$e3,$e1,$de,$da,$d7,$d3
|
|
16 5478 cfcbc6c2bdb8b3ae !byte $cf,$cb,$c6,$c2,$bd,$b8,$b3,$ae
|
|
17 5480 aaa5a09b96928d89 !byte $aa,$a5,$a0,$9b,$96,$92,$8d,$89
|
|
18 5488 85817e7a77757270 !byte $85,$81,$7e,$7a,$77,$75,$72,$70
|
|
19 5490 6e6d6b6b6a6a6a6b !byte $6e,$6d,$6b,$6b,$6a,$6a,$6a,$6b
|
|
20 5498 6c6d6f717376797c !byte $6c,$6d,$6f,$71,$73,$76,$79,$7c
|
|
21 54a0 8083878b9094999d !byte $80,$83,$87,$8b,$90,$94,$99,$9d
|
|
22 54a8 a2a7acb1b6bbbfc4 !byte $a2,$a7,$ac,$b1,$b6,$bb,$bf,$c4
|
|
23 54b0 c8cdd1d5d8dcdfe2 !byte $c8,$cd,$d1,$d5,$d8,$dc,$df,$e2
|
|
24 54b8 e5e7e9ebecedeeee !byte $e5,$e7,$e9,$eb,$ec,$ed,$ee,$ee
|
|
25 54c0 eeededebeae8e6e3 !byte $ee,$ed,$ed,$eb,$ea,$e8,$e6,$e3
|
|
26 54c8 e1dedad7d3cfcbc6 !byte $e1,$de,$da,$d7,$d3,$cf,$cb,$c6
|
|
27 54d0 c2bdb8b3aeaaa5a0 !byte $c2,$bd,$b8,$b3,$ae,$aa,$a5,$a0
|
|
28 54d8 9b96928d8985817e !byte $9b,$96,$92,$8d,$89,$85,$81,$7e
|
|
29 54e0 7a777572706e6d6b !byte $7a,$77,$75,$72,$70,$6e,$6d,$6b
|
|
30 54e8 6b6a6a6a6b6c6d6f !byte $6b,$6a,$6a,$6a,$6b,$6c,$6d,$6f
|
|
31 54f0 717376797c808387 !byte $71,$73,$76,$79,$7c,$80,$83,$87
|
|
32 54f8 8b9094999da2a7ac !byte $8b,$90,$94,$99,$9d,$a2,$a7,$ac
|
|
|
|
; ******** Source: source/main.asm
|
|
45
|
|
46 colorTable:
|
|
47 5500 06060e030d070f01 !byte $06,$06,$0e,$03,$0d,$07,$0f,$01
|
|
48 5508 010f070d030e0606 !byte $01,$0f,$07,$0d,$03,$0e,$06,$06
|
|
49
|
|
50 colorTable2:
|
|
51 5510 0b0b0b0b0b0b0b0b !byte $0b,$0b,$0b,$0b,$0b,$0b,$0b,$0b
|
|
52 5518 0b0b0c0c0c0c0c0f !byte $0b,$0b,$0c,$0c,$0c,$0c,$0c,$0f
|
|
53 5520 0f03030701010101 !byte $0f,$03,$03,$07,$01,$01,$01,$01
|
|
54 5528 010703030c0c0b0b !byte $01,$07,$03,$03,$0c,$0c,$0b,$0b
|
|
55 5530 0b0b0b0b !byte $0b,$0b,$0b,$0b
|
|
56
|
|
57 infoText:
|
|
58 5534 5320070914081502... !scr "S github.com/cliffordcarnmo/c64-devkit S"
|
|
59
|
|
60 *= music
|
|
61 7000 4c04714c37714c08... !binary "music/86400_7k.sid",,$7e
|
|
62
|
|
63 *= code
|
|
64 0801 2044e5 jsr $e544
|
|
65 0804 20a10a jsr initSprites
|
|
66
|
|
67 0807 a91e lda #%00011110
|
|
68 0809 8d18d0 sta $d018
|
|
69
|
|
70 080c 78 sei
|
|
71
|
|
72 080d a97f lda #$7f
|
|
73 080f 8d0ddc sta $dc0d
|
|
74 0812 8d0ddd sta $dd0d
|
|
75
|
|
76 0815 ad0ddc lda $dc0d
|
|
77 0818 ad0ddd lda $dd0d
|
|
78
|
|
79 081b a901 lda #$01
|
|
80 081d 8d1ad0 sta $d01a
|
|
81
|
|
82 0820 a91b lda #$1b
|
|
83 0822 8d11d0 sta $d011
|
|
84
|
|
85 0825 a935 lda #$35
|
|
86 0827 8501 sta $01
|
|
87
|
|
88 0829 a900 lda #line1
|
|
89 082b 8d12d0 sta $d012
|
|
90
|
|
91 082e a98d lda #<irq1
|
|
92 0830 8dfeff sta $fffe
|
|
93 0833 a908 lda #>irq1
|
|
94 0835 8dffff sta $ffff
|
|
95
|
|
96 0838 200070 jsr music
|
|
97 083b 20a80b jsr timerSetup
|
|
98
|
|
99 083e a900 lda #$00
|
|
100 0840 8d20d0 sta $d020
|
|
101 0843 8d21d0 sta $d021
|
|
102
|
|
103 0846 a200 ldx #$00
|
|
104 writeText:
|
|
105 0848 bd3455 lda infoText,x
|
|
106 084b 9dc007 sta screen+40*24,x
|
|
107 084e a901 lda #$01
|
|
108 0850 9dc0db sta colors+40*24,x
|
|
109 0853 e8 inx
|
|
110 0854 e028 cpx #40
|
|
111 0856 d0f0 bne writeText
|
|
112
|
|
113 0858 a200 ldx #$00
|
|
114 l:
|
|
115 085a bd0040 lda bitmapColors,x
|
|
116 085d 9d00d8 sta colors,x
|
|
117
|
|
118 0860 bd0080 lda bitmapScreen,x
|
|
119 0863 9d0004 sta $0400,x
|
|
120
|
|
121 0866 e8 inx
|
|
122 0867 e0ff cpx #$ff
|
|
123 0869 d0ef bne l
|
|
124
|
|
125 086b a200 ldx #$00
|
|
126 l2:
|
|
127 086d bdff40 lda bitmapColors+$ff,x
|
|
128 0870 9dffd8 sta colors+$ff,x
|
|
129
|
|
130 0873 bdff80 lda bitmapScreen+$ff,x
|
|
131 0876 9dff04 sta screen+$ff,x
|
|
132
|
|
133 0879 e8 inx
|
|
134 087a e040 cpx #$40
|
|
135 087c d0ef bne l2
|
|
136
|
|
137 087e a902 lda #$02
|
|
138 0880 8dc0db sta $d800+40*24
|
|
139 0883 8de7db sta $d827+40*24
|
|
140
|
|
141 0886 58 cli
|
|
142
|
|
143 mainloop:
|
|
144 0887 20f108 jsr plasma
|
|
145 088a 4c8708 jmp mainloop
|
|
146
|
|
147 irq1:
|
|
148 088d 48 pha
|
|
149 088e 8a txa
|
|
150 088f 48 pha
|
|
151 0890 98 tya
|
|
152 0891 48 pha
|
|
153
|
|
154 0892 a9ff lda #$ff
|
|
155 0894 8d19d0 sta $d019
|
|
156
|
|
157 0897 20c80b jsr graphicsMode
|
|
158 089a 200370 jsr musicPlay
|
|
159 089d 200a0b jsr moveSprites
|
|
160 08a0 20910b jsr colorCycle
|
|
161
|
|
162 08a3 e690 inc $90
|
|
163 08a5 e692 inc $92
|
|
164
|
|
165 08a7 a972 lda #line2
|
|
166 08a9 8d12d0 sta $d012
|
|
167
|
|
168 08ac a9bc lda #<irq2
|
|
169 08ae 8dfeff sta $fffe
|
|
170 08b1 a908 lda #>irq2
|
|
171 08b3 8dffff sta $ffff
|
|
172
|
|
173 08b6 68 pla
|
|
174 08b7 a8 tay
|
|
175 08b8 68 pla
|
|
176 08b9 aa tax
|
|
177 08ba 68 pla
|
|
178
|
|
179 08bb 40 rti
|
|
180
|
|
181 irq2:
|
|
182 08bc 48 pha
|
|
183 08bd 8a txa
|
|
184 08be 48 pha
|
|
185 08bf 98 tya
|
|
186 08c0 48 pha
|
|
187
|
|
188 08c1 a9ff lda #$ff
|
|
189 08c3 8d19d0 sta $d019
|
|
190
|
|
191 08c6 ea nop
|
|
192 08c7 ea nop
|
|
193 08c8 ea nop
|
|
194 08c9 ea nop
|
|
195 08ca ea nop
|
|
196 08cb ea nop
|
|
197 08cc ea nop
|
|
198 08cd ea nop
|
|
199 08ce ea nop
|
|
200 08cf ea nop
|
|
201 08d0 ea nop
|
|
202 08d1 ea nop
|
|
203 08d2 ea nop
|
|
204 08d3 ea nop
|
|
205 08d4 ea nop
|
|
206 08d5 ea nop
|
|
207 08d6 ea nop
|
|
208 08d7 ea nop
|
|
209 08d8 ea nop
|
|
210
|
|
211 08d9 20bd0b jsr textMode
|
|
212
|
|
213 08dc a900 lda #line1
|
|
214 08de 8d12d0 sta $d012
|
|
215
|
|
216 08e1 a98d lda #<irq1
|
|
217 08e3 8dfeff sta $fffe
|
|
218 08e6 a908 lda #>irq1
|
|
219 08e8 8dffff sta $ffff
|
|
220
|
|
221 08eb 68 pla
|
|
222 08ec a8 tay
|
|
223 08ed 68 pla
|
|
224 08ee aa tax
|
|
225 08ef 68 pla
|
|
226
|
|
227 08f0 40 rti
|
|
228
|
|
229 plasma:
|
|
230 08f1 a464 ldy $64
|
|
231
|
|
232 !for i, 8, 23 {
|
|
233 ldx $90
|
|
234 lda sinTable2+i,x
|
|
235 adc $64
|
|
236 tax
|
|
237
|
|
238 lda sinTable1+i,x
|
|
239 sta screen+40*i,y
|
|
240 tax
|
|
241
|
|
242 lda colorTable-64,x
|
|
243 ora $dc09
|
|
244 and #$07
|
|
245 sta colors+40*i,y
|
|
246 08f3 a690bd08516564aa... }
|
|
247
|
|
248 0a93 e664 inc $64
|
|
249
|
|
250 0a95 a564 lda $64
|
|
251 0a97 c928 cmp #40
|
|
252 0a99 f001 beq zero64
|
|
253 0a9b 60 rts
|
|
254
|
|
255 zero64:
|
|
256 0a9c a900 lda #$00
|
|
257 0a9e 8564 sta $64
|
|
258 0aa0 60 rts
|
|
259
|
|
260 initSprites:
|
|
261 0aa1 a9f8 lda #$f8
|
|
262 0aa3 8df807 sta $07f8
|
|
263 0aa6 a9f9 lda #$f9
|
|
264 0aa8 8df907 sta $07f9
|
|
265 0aab a9fa lda #$fa
|
|
266 0aad 8dfa07 sta $07fa
|
|
267 0ab0 a9fb lda #$fb
|
|
268 0ab2 8dfb07 sta $07fb
|
|
269 0ab5 a9fc lda #$fc
|
|
270 0ab7 8dfc07 sta $07fc
|
|
271 0aba a9fd lda #$fd
|
|
272 0abc 8dfd07 sta $07fd
|
|
273 0abf a9fe lda #$fe
|
|
274 0ac1 8dfe07 sta $07fe
|
|
275 0ac4 a9ff lda #$ff
|
|
276 0ac6 8dff07 sta $07ff
|
|
277
|
|
278 0ac9 a901 lda #$01
|
|
279 0acb 8d25d0 sta $d025
|
|
280 0ace a906 lda #$06
|
|
281 0ad0 8d26d0 sta $d026
|
|
282 0ad3 a902 lda #$02
|
|
283 0ad5 8d27d0 sta $d027
|
|
284 0ad8 8d28d0 sta $d028
|
|
285 0adb 8d29d0 sta $d029
|
|
286 0ade 8d2ad0 sta $d02a
|
|
287 0ae1 8d2bd0 sta $d02b
|
|
288 0ae4 8d2cd0 sta $d02c
|
|
289 0ae7 8d2dd0 sta $d02d
|
|
290 0aea 8d2ed0 sta $d02e
|
|
291
|
|
292 0aed a9ff lda #%11111111
|
|
293 0aef 8d15d0 sta $d015
|
|
294
|
|
295 0af2 a900 lda #%00000000
|
|
296 0af4 8d1bd0 sta $d01b
|
|
297
|
|
298 0af7 a9ff lda #%11111111
|
|
299 0af9 8d1cd0 sta $d01c
|
|
300
|
|
301 0afc a9c0 lda #%11000000
|
|
302 0afe 8d1dd0 sta $d01d
|
|
303 0b01 8d17d0 sta $d017
|
|
304
|
|
305 0b04 a900 lda #%00000000
|
|
306 0b06 8d10d0 sta $d010
|
|
307
|
|
308 0b09 60 rts
|
|
309
|
|
310 moveSprites:
|
|
311 0b0a a692 ldx $92
|
|
312
|
|
313 0b0c bd0054 lda sinTable4,x
|
|
314 0b0f 8d00d0 sta $d000
|
|
315 0b12 bd0053 lda sinTable3,x
|
|
316 0b15 8d01d0 sta $d001
|
|
317
|
|
318 0b18 e8 inx
|
|
319 0b19 e8 inx
|
|
320 0b1a e8 inx
|
|
321 0b1b e8 inx
|
|
322 0b1c e8 inx
|
|
323 0b1d e8 inx
|
|
324 0b1e e8 inx
|
|
325 0b1f e8 inx
|
|
326
|
|
327 0b20 bd0054 lda sinTable4,x
|
|
328 0b23 8d02d0 sta $d002
|
|
329 0b26 bd0053 lda sinTable3,x
|
|
330 0b29 8d03d0 sta $d003
|
|
331
|
|
332 0b2c e8 inx
|
|
333 0b2d e8 inx
|
|
334 0b2e e8 inx
|
|
335 0b2f e8 inx
|
|
336 0b30 e8 inx
|
|
337 0b31 e8 inx
|
|
338 0b32 e8 inx
|
|
339 0b33 e8 inx
|
|
340
|
|
341 0b34 bd0054 lda sinTable4,x
|
|
342 0b37 8d04d0 sta $d004
|
|
343 0b3a bd0053 lda sinTable3,x
|
|
344 0b3d 8d05d0 sta $d005
|
|
345
|
|
346 0b40 e8 inx
|
|
347 0b41 e8 inx
|
|
348 0b42 e8 inx
|
|
349 0b43 e8 inx
|
|
350 0b44 e8 inx
|
|
351 0b45 e8 inx
|
|
352 0b46 e8 inx
|
|
353 0b47 e8 inx
|
|
354
|
|
355 0b48 bd0054 lda sinTable4,x
|
|
356 0b4b 8d06d0 sta $d006
|
|
357 0b4e bd0053 lda sinTable3,x
|
|
358 0b51 8d07d0 sta $d007
|
|
359
|
|
360 0b54 e8 inx
|
|
361 0b55 e8 inx
|
|
362 0b56 e8 inx
|
|
363 0b57 e8 inx
|
|
364 0b58 e8 inx
|
|
365 0b59 e8 inx
|
|
366 0b5a e8 inx
|
|
367 0b5b e8 inx
|
|
368
|
|
369 0b5c bd0054 lda sinTable4,x
|
|
370 0b5f 8d08d0 sta $d008
|
|
371 0b62 bd0053 lda sinTable3,x
|
|
372 0b65 8d09d0 sta $d009
|
|
373
|
|
374 0b68 e8 inx
|
|
375 0b69 e8 inx
|
|
376 0b6a e8 inx
|
|
377 0b6b e8 inx
|
|
378 0b6c e8 inx
|
|
379 0b6d e8 inx
|
|
380 0b6e e8 inx
|
|
381 0b6f e8 inx
|
|
382
|
|
383 0b70 bd0054 lda sinTable4,x
|
|
384 0b73 8d0ad0 sta $d00a
|
|
385 0b76 bd0053 lda sinTable3,x
|
|
386 0b79 8d0bd0 sta $d00b
|
|
387
|
|
388 0b7c a99b lda #155
|
|
389 0b7e 8d0cd0 sta $d00c
|
|
390 0b81 a99b lda #155
|
|
391 0b83 8d0dd0 sta $d00d
|
|
392
|
|
393 0b86 a9be lda #190
|
|
394 0b88 8d0ed0 sta $d00e
|
|
395 0b8b a99b lda #155
|
|
396 0b8d 8d0fd0 sta $d00f
|
|
397
|
|
398 0b90 60 rts
|
|
399
|
|
400 colorCycle:
|
|
401 0b91 ad1055 lda colorTable2
|
|
402 0b94 8d3455 sta colorTable2+36
|
|
403
|
|
404 0b97 a200 ldx #$00
|
|
405
|
|
406 cl:
|
|
407 0b99 bd1155 lda colorTable2+1,x
|
|
408 0b9c 9d1055 sta colorTable2,x
|
|
409 0b9f 9dc2db sta $dbc2,x
|
|
410
|
|
411 0ba2 e8 inx
|
|
412 0ba3 e024 cpx #36
|
|
413 0ba5 d0f2 bne cl
|
|
414 0ba7 60 rts
|
|
415
|
|
416 timerSetup:
|
|
417 0ba8 a900 lda #$00
|
|
418 0baa 8d0edc sta $dc0e
|
|
419 0bad 8d0fdc sta $dc0f
|
|
420 0bb0 8d0bdc sta $dc0b
|
|
421 0bb3 8d0adc sta $dc0a
|
|
422 0bb6 8d09dc sta $dc09
|
|
423 0bb9 8d08dc sta $dc08
|
|
424 0bbc 60 rts
|
|
425
|
|
426 textMode:
|
|
427 0bbd a9c8 lda #%11001000
|
|
428 0bbf 8d16d0 sta $d016
|
|
429
|
|
430 0bc2 a91b lda #%00011011
|
|
431 0bc4 8d11d0 sta $d011
|
|
432 0bc7 60 rts
|
|
433
|
|
434 graphicsMode:
|
|
435 0bc8 a9d8 lda #%11011000
|
|
436 0bca 8d16d0 sta $d016
|
|
437
|
|
438 0bcd a93b lda #%00111011
|
|
439 0bcf 8d11d0 sta $d011
|
|
440 0bd2 60 rts
|
|
441
|