Initial commit

This commit is contained in:
Clifford Carnmo 2017-03-18 10:13:16 +01:00
parent 9e8497ed44
commit 2e9e2026bf
162 changed files with 9280 additions and 0 deletions

48
build.bat Normal file
View file

@ -0,0 +1,48 @@
@echo off
setlocal EnableDelayedExpansion
SET makedir=mkdir
SET makedirArgs=
SET removedir=rmdir
SET removedirArgs=/S /Q
SET clean=del
SET cleanArgs=/F /Q
SET buildPath=build
SET build=c64-devkit.prg
SET sourcePath=source
for %%F in (%sourcePath%\*.asm) do call SET sources=%%sources%% "%%F"
SET compilerPath=compiler
SET compiler=acme.exe
SET compilerReport=buildreport
SET compilerSymbols=symbols
SET compilerArgs=-r %buildPath%\%compilerReport% --vicelabels %buildPath%\%compilerSymbols% --msvc --color --format cbm -v3 --outfile
SET cruncherPath=cruncher
SET cruncher=pucrunch.exe
SET cruncherArgs=-x$0801 -c64 -g55 -fshort
SET emulatorPath=emulator
SET emulator=x64.exe
SET emulatorArgs=
SET genosinePath=genosine
SET genosine=genosine.exe
SET tablesPath=tables
SET table1=sin1.dat
SET table1Args=256 63 81 0 720 80 3 0
SET table2=sin2.dat
SET table2Args=256 0 255 0 180 20 3 1
SET table3=sin3.dat
SET table3Args=256 80 255 0 360 60 2 1
SET table4=sin4.dat
SET table4Args=256 90 255 0 720 80 1 0
IF NOT EXIST %buildPath% %makedir% %makedirArgs% %buildPath%
IF NOT EXIST %tablesPath% %makedir% %makedirArgs% %tablesPath%
%clean% %cleanArgs% %buildPath%\*.*
%clean% %cleanArgs% %tablesPath%\*.*
%genosinePath%\%genosine% %table1Args% > %tablesPath%\%table1%
%genosinePath%\%genosine% %table2Args% > %tablesPath%\%table2%
%genosinePath%\%genosine% %table3Args% > %tablesPath%\%table3%
%genosinePath%\%genosine% %table4Args% > %tablesPath%\%table4%
%compilerPath%\%compiler% %compilerArgs% %buildPath%\%build% %sources%
%cruncherPath%\%cruncher% %cruncherArgs% %buildPath%\%build% %buildPath%\%build%
%emulatorPath%\%emulator% %emulatorArgs% %buildPath%\%build%

612
build/buildreport Normal file
View file

@ -0,0 +1,612 @@
; ******** 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 20be0b 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 20b30b 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 20a80b 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
1 0ba7 60 rtsÿtextMode:
2 0ba8 a9c8 lda #%11001000
3 0baa 8d16d0 sta $d016
4
5 0bad a91b lda #%00011011
6 0baf 8d11d0 sta $d011
7 0bb2 60 rts
8
9 graphicsMode:
10 0bb3 a9d8 lda #%11011000
11 0bb5 8d16d0 sta $d016
12
13 0bb8 a93b lda #%00111011
14 0bba 8d11d0 sta $d011
1 0bbd 60 rtsÿtimerSetup:
2 0bbe a900 lda #$00
3 0bc0 8d0edc sta $dc0e
4 0bc3 8d0fdc sta $dc0f
5 0bc6 8d0bdc sta $dc0b
6 0bc9 8d0adc sta $dc0a
7 0bcc 8d09dc sta $dc09
8 0bcf 8d08dc sta $dc08

BIN
build/c64-devkit.prg Normal file

Binary file not shown.

39
build/symbols Normal file
View file

@ -0,0 +1,39 @@
al C:07c0 .screenScroller
al C:5000 .tables
al C:8000 .bitmapScreen
al C:0400 .screen
al C:0018 .i
al C:7000 .music
al C:3800 .charset
al C:2000 .bitmap
al C:3e00 .sprites
al C:4000 .bitmapColors
al C:0801 .code
al C:7003 .musicPlay
al C:0072 .line2
al C:d800 .colors
al C:0000 .line1
al C:086d .l2
al C:5534 .infoText
al C:088d .irq1
al C:08bc .irq2
al C:0a9c .zero64
al C:0b0a .moveSprites
al C:0848 .writeText
al C:08f1 .plasma
al C:0887 .mainloop
al C:085a .l
al C:5510 .colorTable2
al C:5000 .sinTable1
al C:5300 .sinTable3
al C:5100 .sinTable2
al C:5400 .sinTable4
al C:5500 .colorTable
al C:0b91 .colorCycle
al C:0bbe .timerSetup
al C:0bb3 .graphicsMode
al C:0ba8 .textMode
al C:0b99 .cl
al C:0aa1 .initSprites

BIN
charset/charset.dat Normal file

Binary file not shown.

BIN
compiler/acme.exe Normal file

Binary file not shown.

1
compiler/source.txt Normal file
View file

@ -0,0 +1 @@
Compiled from source available at https://sourceforge.net/projects/acme-crossass/

BIN
cruncher/pucrunch.exe Normal file

Binary file not shown.

1
cruncher/source.txt Normal file
View file

@ -0,0 +1 @@
Compiled from source available at https://github.com/mist64/pucrunch

BIN
documentation/memorymap.pdf Normal file

Binary file not shown.

BIN
emulator/C64/basic Normal file

Binary file not shown.

54
emulator/C64/c64hq.vpl Normal file
View file

@ -0,0 +1,54 @@
#
# VICE Palette file
#
# Syntax:
# Red Green Blue Dither
#
# Black
0A 0A 0A 0
# White
FF F8 FF E
# Red
85 1F 02 4
# Cyan
65 CD A8 C
# Purple
A7 3B 9F 8
# Green
4D AB 19 4
# Blue
1A 0C 92 4
# Yellow
EB E3 53 C
# Orange
A9 4B 02 4
# Brown
44 1E 00 4
# Light Red
D2 80 74 4
# Dark Gray
46 46 46 4
# Medium Gray
8B 8B 8B 8
# Light Green
8E F6 8E 8
# Light Blue
4D 91 D1 8
# Light Gray
BA BA BA C

528
emulator/C64/c64mem.sym Normal file
View file

@ -0,0 +1,528 @@
al ffa5 .kACPTR
al ffc6 .kCHKIN
al ffc9 .kCHKOUT
al ffcf .kCHRIN
al ffd2 .kCHROUT
al ffa8 .kCIOUT
al ff81 .kCINT
al ffe7 .kCLALL
al ffc3 .kCLOSE
al ffcc .kCLRCHN
al ffe4 .kGETIN
al fff3 .kIOBASE
al ff84 .kIOINIT
al ffb1 .kLISTEN
al ffd5 .kLOAD
al ff9c .kMEMBOT
al ff99 .kMEMTOP
al ffc0 .kOPEN
al fff0 .kPLOT
al ff87 .kRAMTAS
al ffde .kRDTIM
al ffb7 .kREADST
al ff8a .kRESTOR
al ffd8 .kSAVE
al ff9f .kSCNKEY
al ffed .kSCREEN
al ff93 .kSECOND
al ffba .kSETLFS
al ff90 .kSETMSF
al ffbd .kSETNAM
al ffdb .kSETTIM
al ffa2 .kSETTMO
al ffe1 .kSTOP
al ffb4 .kTALK
al ff96 .kTKSA
al ffea .kUDTIM
al ffae .kUNLSN
al ffab .kUNTLK
al ff8d .kVECTOR
al d000 .vSprite0X
al d001 .vSprite0Y
al d002 .vSprite1X
al d003 .vSprite1Y
al d004 .vSprite2X
al d005 .vSprite2Y
al d006 .vSprite3X
al d007 .vSprite3Y
al d008 .vSprite4X
al d009 .vSprite4Y
al d00a .vSprite5X
al d00b .vSprite5Y
al d00c .vSprite6X
al d00d .vSprite6Y
al d00e .vSprite7X
al d00f .vSprite7Y
al d010 .vSpriteXMSB
al d012 .vRaster
al d013 .vLightPenX
al d014 .vLightPenY
al d015 .vSprEnable
al d017 .vSprExpandY
al d018 .vMemControl
al d019 .vIRQFlags
al d01a .vIRQMasks
al d01b .vSprPriority
al d01c .vSprMCM
al d01d .vSprExpandX
al d01e .vSprSprColl
al d01f .vSprBackColl
al d020 .vBorderCol
al d021 .vBackgCol0
al d022 .vBackgCol1
al d023 .vBackgCol2
al d024 .vBackgCol3
al d025 .vSprMCMCol0
al d026 .vSprMCMCol1
al d027 .vSpr0Col
al d028 .vSpr1Col
al d029 .vSpr2Col
al d02a .vSpr3Col
al d02b .vSpr4Col
al d02c .vSpr5Col
al d02d .vSpr6Col
al d02e .vSpr7Col
al d400 .sVoc1FreqLo
al d401 .sVoc1FreqHi
al d402 .sVoc1PWidthLo
al d403 .sVoc1PWidthHi
al d404 .sVoc1Control
al d405 .sVoc1AttDec
al d406 .sVoc1SusRel
al d407 .sVoc2FreqLo
al d408 .sVoc2FreqHi
al d409 .sVoc2PWidthLo
al d40a .sVoc2PWidthHi
al d40b .sVoc2Control
al d40c .sVoc2AttDec
al d40d .sVoc2SusRel
al d40e .sVoc3FreqLo
al d40f .sVoc3FreqHi
al d410 .sVoc3PWidthLo
al d411 .sVoc3PWidthHi
al d412 .sVoc3Control
al d413 .sVoc3AttDec
al d414 .sVoc3SusRel
al d415 .sFiltFreqLo
al d416 .sFiltFreqHi
al d417 .sFiltControl
al d418 .sFiltMode
al d419 .sADC1
al d41a .sADC2
al d41b .sRandom
al d41c .sVoc3Output
al a000 .bRESTART
al a00c .bSTMDSP
al a052 .bFUNDSP
al a080 .bOPTAB
al a09e .bRESLST
al a129 .bMSCLST
al a140 .bOPLIST
al a14d .bFUNLST
al a19e .bERRTAB
al a328 .bERRPTR
al a364 .bOKK
al a38a .bFNDFOR
al a3b8 .bBLTU
al a3fb .bGETSTK
al a408 .bREASON
al a435 .bOMERR
al a437 .bERROR
al a469 .bERRFIN
al a474 .bREADY
al a480 .bMAIN
al a49c .bMAIN1
al a4a2 .bINSLIN
al a533 .bLINKPRG
al a560 .bINLIN
al a579 .bCRUNCH
al a613 .bFNDLIN
al a642 .bSCRTCH
al a65e .bCLEAR
al a68e .bSTXPT
al a69c .bLIST
al a717 .bQPLOP
al a742 .bFOR
al a7ae .bNEWSTT
al a7c4 .bCKEOL
al a7e1 .bGONE
al a7ed .bGONE3
al a81d .bRESTOR
al a82c .bSTOP
al a857 .bCONT
al a871 .bRUN
al a883 .bGOSUB
al a8a0 .bGOTO
al a8d2 .bRETURN
al a8f8 .bDATA
al a906 .bDATAN
al a928 .bIF
al a93b .bREM
al a8a0 .bONGOTO
al a96b .bLINGET
al a9a5 .bLET
al a9c4 .bPUTINT
al a9d6 .bPTFLPT
al a9d9 .bPUTSTR
al a9e3 .bPUTTIM
al aa2c .bGETSPT
al aa80 .bPRINTN
al aa86 .bCMD
al aa9a .bSTRDON
al aaa0 .bPRINT
al aab8 .bVAROP
al aaca .bSTREND
al aad7 .bCRDO
al aae8 .bCOMPRT
al ab1e .bSTROUT
al ab3b .bOUTSPC
al ab4d .bDOAGIN
al ab7b .bGET
al aba5 .bINPUTN
al abbf .bINPUT
al abea .bBUFFUL
al abf9 .bQINLIN
al ac06 .bREAD
al ac35 .bRGDET
al acfc .bEXINT
al ad1e .bNEXT
al ad61 .bDONEXT
al ad8a .bFRMNUM
al ad9e .bFRMEVL
al ae83 .bEVAL
al aea8 .bPIVAL
al aead .bQDOT
al aef1 .bOARCHK
al aef7 .bCHKclose
al aefa .bCHKopen
al aefd .bCHKCMA
al af08 .bSYNERR
al af0d .bDOMIN
al af14 .bRSVVAR
al af28 .bISVAR
al af48 .bTISASC
al afa7 .bISFUN
al afb1 .bSTRFUN
al afd1 .bNUMFUN
al afe6 .bOROP
al b016 .bDOREL
al b01b .bNUMREL
al b02e .bSTRREL
al b07e .bDIM
al b08b .bPTRGET
al b0e7 .bORDVAR
al b113 .bISLETC
al b11d .bNOTFNS
al b128 .bNOTEVL
al b194 .bARYGET
al b1a5 .bN32768
al b1aa .bFACINX
al b1b2 .bINTIDX
al b1bf .bAYINT
al b1d1 .bISARY
al b218 .bFNDARY
al b245 .bBSERR
al b248 .bIQERR
al b24d .bRAERR
al b261 .bNOTFDD
al b30e .bINLPN2
al b34c .bUMULT
al b37d .bFRE
al b391 .bGIVAYF
al b39e .bPOS
al b3a6 .bERRDIR
al b3ac .bUFERR
al b3e1 .bGETFNM
al b3f4 .bFNDOER
al b465 .bSTRD
al b487 .bSTRLIT
al b4d5 .bPUTNW1
al b4f4 .bGETSPA
al b526 .bGARBAG
al b5bd .bDVARS
al b606 .bGRBPAS
al b63d .bCAT
al b67a .bMOVINS
al b6a3 .bFRESTR
al b6db .bFREFAC
al b6ec .bCHRD
al b700 .bLEFTD
al b72c .bRIGHTD
al b737 .bMIDD
al b761 .bPREAM
al b77c .bLEN
al b782 .bLEN1
al b78b .bASC
al b79b .bGTBYTC
al b7ad .bVAL
al b7b5 .bSTRVAL
al b7eb .bGETNUM
al b7f7 .bGETADR
al b80d .bPEEK
al b824 .bPOKE
al b82d .bWAIT
al b849 .bFADDH
al b850 .bFSUB
al b862 .bFADD5
al b867 .bFADD
al b947 .bNEGFAC
al b97e .bOVERR
al b983 .bMULSHF
al b9bc .bFPTABL
al b9ea .bLOG
al ba28 .bFMULT
al ba59 .bMULPLY
al ba8c .bCONUPK
al bab7 .bMULDIV
al bad4 .bMLDVEX
al bae2 .bMUL10
al baf9 .bTENC
al bafe .bDIV10
al bb07 .bFDIV
al bb0f .bFDIVT
al bba2 .bMOVFM
al bbc7 .bMOV2F
al bbfc .bMOVFA
al bc0c .bMOVAF
al bc1b .bROUND
al bc2b .bSIGN
al bc39 .bSGN
al bc58 .bABS
al bc5b .bFCOMP
al bc9b .bQINT
al bccc .bINT
al bcf3 .bFIN
al bdb3 .bN0999
al bdc2 .bINPRT
al bddd .bFOUT
al be68 .bFOUTIM
al bf11 .bFHALF
al bf71 .bSQR
al bf7b .bFPWRT
al bfb4 .bNEGOP
al bfbf .bLOGEB2
al bfed .bEXP
al e043 .bPOLYX
al e08d .bRMULC
al e097 .bRND
al e0f9 .bBIOERR
al e10c .bCHOUT
al e112 .bCHIN
al e118 .bCKOUT
al e11e .bCKIN
al e124 .bGETIN
al e12a .bSYS
al e156 .bSAVET
al e165 .bVERFYT
al e1be .bOPENT
al e1c7 .bCLOSET
al e1d4 .bSLPARA
al e200 .bCOMBYT
al e206 .bDEFLT
al e20e .bCMMERR
al e219 .bOCPARA
al e264 .bCOS
al e26b .bSIN
al e2b4 .bTAN
al e2e0 .bPI2
al e30e .bATN
al e33e .bATNCON
al 0000 .zD6510
al 0001 .zR6510
al 0003 .zADRAY1
al 0005 .zADRAY2
al 0007 .zCHARAC
al 0008 .zENDCHR
al 0007 .zINTEGR
al 0009 .zTRMPOS
al 000a .zVERCK
al 000b .zCOUNT
al 000c .zDIMFLG
al 000d .zVALTYP
al 000e .zINTFLG
al 000f .zGARBFL
al 0011 .zSUBFLG
al 0012 .zTANSGN
al 001e .zCHANNL
al 0014 .zLINNUM
al 0016 .zTEMPPT
al 0017 .zLASTPT
al 0019 .zTEMPST
al 0022 .zINDEX
al 0024 .zINDEX2
al 0026 .zRESHO
al 002b .zTXTTAB
al 002d .zVARTAB
al 002f .zARYTAB
al 0031 .zSTREND
al 0033 .zFRETOP
al 0035 .zFRESPC
al 0037 .zMEMSIZ
al 0039 .zCURLIN
al 003b .zOLDLIN
al 003d .zOLDTXT
al 003f .zDATLIN
al 0041 .zDATPTR
al 0041 .zINPPTR
al 0045 .zVARNAM
al 0047 .zVARPNT
al 0049 .zFORPNT
al 004b .zVARTXT
al 004d .zOPMASK
al 004e .zTEMPF3
al 0053 .zFOUR6
al 0054 .zJMPER
al 0057 .zTEMPF1
al 005c .zTEMPF2
al 0061 .zFACEXP
al 0062 .zFACHO
al 0066 .zFACSGN
al 0067 .zSGNFLG
al 0068 .zBITS
al 0069 .zARGEXP
al 006a .zARGHO
al 006e .zARGSGN
al 006f .zARISGN
al 0070 .zFACOV
al 0071 .zFBUFPT
al 0073 .zCHRGET
al 0079 .zCHRGOT
al 007a .zTXTPTR
al 008b .zRNDX
al 0090 .zSTATUS
al 0091 .zSTKEY
al 0092 .zSVXT
al 0093 .zVERCKK
al 0094 .zC3PO
al 0095 .zBSOUR
al 0096 .zSYNO
al 0097 .zTEMPX
al 0098 .zLDTND
al 0099 .zDFLTN
al 009a .zDFLTO
al 009b .zPRTY
al 009c .zDPSW
al 009d .zNSGFLG
al 009e .zPTR1
al 009f .zPTR2
al 00a0 .zTIME
al 00a3 .zTSFCNT
al 00a4 .zTBTCNT
al 00a5 .zCNTDN
al 00a6 .zBUFPNT
al 00a7 .zINBIT
al 00a8 .zBITC1
al 00a9 .zRINONE
al 00aa .zRIDATA
al 00ab .zRIPRTY
al 00ac .zSAL
al 00ae .zEAL
al 00b0 .zCMPO
al 00b2 .zTAPE1
al 00b4 .zBITTS
al 00b5 .zNXTBIT
al 00b6 .zRODATA
al 00b7 .zFNLEN
al 00b8 .zLA
al 00b9 .zSA
al 00ba .zFA
al 00bb .zFNADR
al 00bd .zROPRTY
al 00be .zFSBLK
al 00bf .zMYCH
al 00c0 .zCAS1
al 00c1 .zSTAL
al 00c3 .zMEMUSS
al 00c5 .zLSTX
al 00c6 .zNDX
al 00c7 .zRVS
al 00c8 .zINDX
al 00c9 .zLXSP
al 00cb .zSFDX
al 00cc .zBLNSW
al 00cd .zBLNCT
al 00ce .zGDBLN
al 00cf .zBLNON
al 00d0 .zCRSW
al 00d1 .zPNT
al 00d3 .zPNTR
al 00d4 .zQTSW
al 00d5 .zLNMX
al 00d6 .zTBLX
al 00d7 .zSCHAR
al 00d8 .zINSRT
al 00d9 .zLDTB1
al 00f3 .zUSER
al 00f5 .zKEYTAB
al 00f7 .zRIBUF
al 00f9 .zROBUF
al 00fb .zFREKXP
al 00ff .zASCWRK
al 0100 .lSTACK
al 0200 .lBUF
al 0259 .lLAT
al 0263 .lFAT
al 026d .lSAT
al 0277 .lKEYD
al 0281 .lMEMSTR
al 0283 .lMEMSIZ
al 0285 .lTIMOUT
al 0286 .lCOLOR
al 0287 .lGDCOL
al 0288 .lHIBASE
al 0289 .lXMAX
al 028a .lRPTFLG
al 028b .lKOUNT
al 028c .lDELAY
al 028d .lSHFLAG
al 028e .lLSTSHF
al 028f .lKEYLOG
al 0291 .lMODE
al 0292 .lAUTODN
al 0293 .lM51CTR
al 0294 .lM51CDR
al 0295 .lM51AJB
al 0297 .lRSSTAT
al 0298 .lBITNUM
al 0299 .lBAUDOF
al 029b .lRIDBE
al 029c .lRIDBS
al 029d .lRODBS
al 029e .lRODBE
al 029f .lIRQTMP
al 02a1 .lENABL
al 02a2 .lTODSNS
al 02a3 .lTRDTMP
al 02a4 .lTD1IRQ
al 02a5 .lTLNIDX
al 02a6 .lTVSFLG
al 0300 .lIERROR
al 0302 .lIMAIN
al 0304 .lICRNCH
al 0306 .lIQPLOP
al 0308 .lIGONE
al 030a .lIEVAL
al 030c .lSAREG
al 030d .lSXREG
al 030e .lSYREG
al 0310 .lUSRPOK
al 0311 .lUSRADD
al 0314 .lCINV
al 0316 .lCNBINV
al 0318 .lNMINV
al 031a .lIOPEN
al 031c .lICLOSE
al 031e .lICHKIN
al 0320 .lICKOUT
al 0322 .lICLRCH
al 0324 .lIBASIN
al 0326 .lIBSOUT
al 0328 .lISTOP
al 032a .lIGETIN
al 032c .lICLALL
al 032e .lUSRCMD
al 0330 .lILOAD
al 0332 .lISAVE
al 033c .lTBUFFR
al 0400 .lVICSCN
al 07f8 .lSPNTRN

54
emulator/C64/c64s.vpl Normal file
View file

@ -0,0 +1,54 @@
#
# VICE Palette file
#
# Syntax:
# Red Green Blue Dither
#
# Black
00 00 00 0
# White
FC FC FC E
# Red
A8 00 00 4
# Cyan
54 FC FC C
# Purple
A8 00 A8 8
# Green
00 A8 00 4
# Blue
00 00 A8 4
# Yellow
FC FC 00 C
# Orange
A8 54 00 4
# Brown
80 2C 00 4
# Light Red
FC 54 54 8
# Dark Gray
54 54 54 4
# Medium Gray
80 80 80 8
# Light Green
54 FC 54 8
# Light Blue
54 54 FC 8
# Light Gray
A8 A8 A8 C

54
emulator/C64/ccs64.vpl Normal file
View file

@ -0,0 +1,54 @@
#
# VICE Palette file
#
# Syntax:
# Red Green Blue Dither
#
# Black
10 10 10 0
# White
FF FF FF E
# Red
E0 40 40 4
# Cyan
60 FF FF C
# Purple
E0 60 E0 8
# Green
40 E0 40 4
# Blue
40 40 E0 4
# Yellow
FF FF 40 C
# Orange
E0 A0 40 4
# Brown
9C 74 48 4
# Light Red
FF A0 A0 8
# Dark Gray
54 54 54 4
# Medium Gray
88 88 88 8
# Light Green
A0 FF A0 8
# Light Blue
A0 A0 FF 8
# Light Gray
C0 C0 C0 C

BIN
emulator/C64/chargen Normal file

Binary file not shown.

View file

@ -0,0 +1,25 @@
#
# VICE Palette file
#
# Syntax:
# Red Green Blue Dither
#
# colors taken from "C64 Community Colors V1.2a" palette, see
# https://p1x3l.net/36/c64-community-colors-theor/
00 00 00 0
ff ff ff e
af 2a 29 4
62 d8 cc c
b0 3f b6 8
4a c6 4a 4
37 39 c4 4
e4 ed 4e c
b6 59 1c 4
68 38 08 4
ea 74 6c 8
4d 4d 4d 4
84 84 84 8
a6 fa 9e 8
70 7c e6 8
b6 b6 b5 c

54
emulator/C64/deekay.vpl Normal file
View file

@ -0,0 +1,54 @@
#
# VICE Palette file
#
# Syntax:
# Red Green Blue Dither
#
# Black
00 00 00 0
# White
FF FF FF E
# Red
88 20 00 4
# Cyan
68 D0 A8 C
# Purple
A8 38 A0 8
# Green
50 B8 18 4
# Blue
18 10 90 4
# Yellow
F0 E8 58 C
# Orange
A0 48 00 4
# Brown
47 2B 1B 4
# Light Red
C8 78 70 8
# Dark Gray
48 48 48 4
# Medium Gray
80 80 80 8
# Light Green
98 FF 98 8
# Light Blue
50 90 D0 8
# Light Gray
B8 B8 B8 C

10
emulator/C64/default.vrs Normal file
View file

@ -0,0 +1,10 @@
KernalName="kernal"
ChargenName="chargen"
BasicName="basic"
CartridgeType=-1
CartridgeFile=""
DosName2031="dos2031"
DosName1540="dos1540"
DosName1541="dos1541"
DosName1571="dos1571"
DosName1581="dos1581"

BIN
emulator/C64/edkernal Normal file

Binary file not shown.

54
emulator/C64/frodo.vpl Normal file
View file

@ -0,0 +1,54 @@
#
# VICE Palette file
#
# Syntax:
# Red Green Blue Dither
#
# Black
00 00 00 0
# White
FF FF FF E
# Red
CC 00 00 4
# Cyan
00 FF CC C
# Purple
FF 00 FF 8
# Green
00 CC 00 4
# Blue
00 00 CC 4
# Yellow
FF FF 00 C
# Orange
FF 88 00 4
# Brown
88 44 00 4
# Light Red
FF 88 88 8
# Dark Gray
44 44 44 4
# Medium Gray
88 88 88 8
# Light Green
88 FF 88 8
# Light Blue
88 88 FF 8
# Light Gray
CC CC CC C

54
emulator/C64/godot.vpl Normal file
View file

@ -0,0 +1,54 @@
#
# VICE Palette file
#
# Syntax:
# Red Green Blue Dither
#
# Black
00 00 00 0
# White
FF FF FF E
# Red
88 00 00 4
# Cyan
AA FF EE C
# Purple
CC 44 CC 8
# Green
00 CC 55 4
# Blue
00 00 AA 4
# Yellow
EE EE 77 C
# Orange
DD 88 55 4
# Brown
66 44 00 4
# Light Red
FE 77 77 8
# Dark Gray
33 33 33 4
# Medium Gray
77 77 77 8
# Light Green
AA FF 66 8
# Light Blue
00 88 FF 8
# Light Gray
BB BB BB C

BIN
emulator/C64/gskernal Normal file

Binary file not shown.

BIN
emulator/C64/jpchrgen Normal file

Binary file not shown.

BIN
emulator/C64/jpkernal Normal file

Binary file not shown.

BIN
emulator/C64/kernal Normal file

Binary file not shown.

54
emulator/C64/pc64.vpl Normal file
View file

@ -0,0 +1,54 @@
#
# VICE Palette file
#
# Syntax:
# Red Green Blue Diter
#
# Black
21 21 21 0
# Wite
FF FF FF E
# Red
B5 21 21 4
# Cyan
73 FF FF C
# Purple
B5 21 B5 8
# Green
21 B5 21 4
# Blue
21 21 B5 4
# Yellow
FF FF 21 C
# Orange
B5 73 21 4
# Brown
94 42 21 4
# Ligt Red
FF 73 73 8
# Dark Gray
73 73 73 4
# Medium Gray
94 94 94 8
# Ligt Green
73 FF 73 8
# Ligt Blue
73 73 FF 8
# Ligt Gray
B5 B5 B5 C

View file

@ -0,0 +1,57 @@
#
# VICE Palette file
#
# Syntax:
# Red Green Blue Dither
#
# this palette was calculated for NTSC according to http://www.pepto.de/projects/colorvic/
# using the SONY CXA2025AS US decoder matrix - this looks noteably different to PAL
# Black
00 00 00 0
# White
FF FF FF E
# Red
7C 35 2B 4
# Cyan
5A A6 B1 C
# Purple
69 41 85 8
# Green
5D 86 43 4
# Blue
21 2E 78 4
# Yellow
CF BE 6F C
# Orange
89 4A 26 4
# Brown
5B 33 0 4
# Light Red
AF 64 59 8
# Dark Gray
43 43 43 4
# Medium Gray
6B 6B 6B 8
# Light Green
A0 CB 84 8
# Light Blue
56 65 B3 8
# Light Gray
95 95 95 C

View file

@ -0,0 +1,57 @@
#
# VICE Palette file
#
# Syntax:
# Red Green Blue Dither
#
# this palette was calculated for NTSC according to http://www.pepto.de/projects/colorvic/
# using the FCC sanctioned decoder matrix - this is almost identical to the PAL palette!
# Black
0 0 0 0
# White
FF FF FF E
# Red
67 37 2B 4
# Cyan
70 A3 B1 C
# Purple
6F 3D 86 8
# Green
58 8C 42 4
# Blue
34 28 79 4
# Yellow
B7 C6 6E C
# Orange
6F 4E 25 4
# Brown
42 38 0 4
# Light Red
99 66 59 8
# Dark Gray
43 43 43 4
# Medium Gray
6B 6B 6B 8
# Light Green
9A D1 83 8
# Light Blue
6B 5E B5 8
# Light Gray
95 95 95 C

View file

@ -0,0 +1,56 @@
#
# VICE Palette file
#
# Syntax:
# Red Green Blue Dither
#
# this palette was calculated for PAL according to http://www.pepto.de/projects/colorvic/
# Black
00 00 00 0
# White
FF FF FF E
# Red
68 37 2b 4
# Cyan
70 a4 b2 C
# Purple
6f 3d 86 8
# Green
58 8d 43 4
# Blue
35 28 79 4
# Yellow
b8 c7 6f C
# Orange
6f 4f 25 4
# Brown
43 39 00 4
# Light Red
9a 67 59 8
# Dark Gray
44 44 44 4
# Medium Gray
6c 6c 6c 8
# Light Green
9a d2 84 8
# Light Blue
6c 5e b5 8
# Light Gray
95 95 95 C

View file

@ -0,0 +1,42 @@
#
# VICE Palette file
#
# Syntax:
# Red Green Blue Dither
#
# this palette was calculated for PAL according to http://www.pepto.de/projects/colorvic/
# using the 5 lumas present in R1 chips
# Black
00 00 00 0
# White
ff ff ff e
# Red
58 29 1d 4
# Cyan
91 c6 d5 c
# Purple
91 5c a8 8
# Green
58 8d 43 4
# Blue
35 28 79 4
# Yellow
b8 c7 6f c
# Orange
91 6f 43 4
# Brown
43 39 00 4
# Light Red
9a 67 59 8
# Dark Gray
35 35 35 4
# Medium Gray
74 74 74 8
# Light Green
9a d2 84 8
# Light Blue
74 66 be 8
# Light Gray
b8 b8 b8 c

54
emulator/C64/ptoing.vpl Normal file
View file

@ -0,0 +1,54 @@
#
# VICE Palette file
#
# Syntax:
# Red Green Blue Dither
#
# Black
00 00 00 0
# White
FF FF FF E
# Red
8C 3E 34 4
# Cyan
7A BF C7 C
# Purple
8D 47 B3 8
# Green
68 A9 41 4
# Blue
3E 31 A2 4
# Yellow
D0 DC 71 C
# Orange
90 5F 25 4
# Brown
57 42 00 4
# Light Red
BB 77 6D 8
# Dark Gray
54 54 54 4
# Medium Gray
80 80 80 8
# Light Green
AC EA 88 8
# Light Blue
7C 70 DA 8
# Light Gray
AB AB AB C

56
emulator/C64/rgb.vpl Normal file
View file

@ -0,0 +1,56 @@
#
# VICE Palette file
#
# Syntax:
# Red Green Blue Dither
#
# this palette contains fully saturated RGB colors, mostly useful for testing
# Black
00 00 00 0
# White
FF FF FF E
# Red
FF 00 00 4
# Cyan
00 FF FF C
# Purple
FF 00 FF 8
# Green
00 FF 00 4
# Blue
00 00 FF 4
# Yellow
FF FF 00 C
# Orange
FF 80 00 4
# Brown
80 40 00 4
# Light Red
FF 80 80 8
# Dark Gray
40 40 40 4
# Medium Gray
80 80 80 8
# Light Green
80 FF 80 8
# Light Blue
80 80 FF 8
# Light Gray
C0 C0 C0 C

BIN
emulator/C64/sxkernal Normal file

Binary file not shown.

54
emulator/C64/vice.vpl Normal file
View file

@ -0,0 +1,54 @@
#
# VICE Palette file
#
# Syntax:
# Red Green Blue Dither
#
# Black
00 00 00 0
# White
FD FE FC E
# Red
BE 1A 24 4
# Cyan
30 E6 C6 C
# Purple
B4 1A E2 8
# Green
1F D2 1E 4
# Blue
21 1B AE 4
# Yellow
DF F6 0A C
# Orange
B8 41 04 4
# Brown
6A 33 04 4
# Light Red
FE 4A 57 8
# Dark Gray
42 45 40 4
# Medium Gray
70 74 6F 8
# Light Green
59 FE 59 8
# Light Blue
5F 53 FE 8
# Light Gray
A4 A7 A2 C

1961
emulator/C64/win_hotkeys.vhk Normal file

File diff suppressed because it is too large Load diff

209
emulator/C64/win_pos.vkm Normal file
View file

@ -0,0 +1,209 @@
# VICE keyboard mapping file
#
# A Keyboard map is read in as patch to the current map.
#
# File format:
# - comment lines start with '#'
# - keyword lines start with '!keyword'
# - normal line has 'keysym/scancode row column shiftflag'
#
# Keywords and their lines are:
# '!CLEAR' clear whole table
# '!INCLUDE filename' read file as mapping file
# '!LSHIFT row col' left shift keyboard row/column
# '!RSHIFT row col' right shift keyboard row/column
# '!VSHIFT shiftkey' virtual shift key (RSHIFT or LSHIFT)
# '!SHIFTL shiftkey' shift lock key (RSHIFT or LSHIFT)
# '!UNDEF keysym' remove keysym from table
#
# Shiftflag can have the values:
# 0 key is not shifted for this keysym/scancode
# 1 key is shifted for this keysym/scancode
# 2 left shift
# 4 right shift
# 8 key can be shifted or not with this keysym/scancode
# 16 deshift key for this keysym/scancode
# 32 another definition for this keysym/scancode follows
# 64 shift lock
# 256 key is used for an alternative keyboard mapping
#
# Negative row values:
# 'keysym -1 n' joystick keymap A, direction n
# 'keysym -2 n' joystick keymap B, direction n
# 'keysym -3 0' first RESTORE key
# 'keysym -3 1' second RESTORE key
# 'keysym -4 0' 40/80 column key
# 'keysym -4 1' CAPS (ASCII/DIN) key
# 'keysym -5 n' joyport keypad, key n
#
# Joystick direction values:
# 0 Fire
# 1 South/West
# 2 South
# 3 South/East
# 4 West
# 5 East
# 6 North/West
# 7 North
# 8 North/East
#
# Joyport keypad key layout:
# --------------------------
# | 0 | 1 | 2 | 3 | 4 |
# --------------------------
# | 5 | 6 | 7 | 8 | 9 |
# --------------------------
# | 10 | 11 | 12 | 13 | 14 |
# --------------------------
# | 15 | 16 | 17 | 18 | 19 |
# --------------------------
#
# When a bigger spaced key is used,
# it uses the upper left most key value.
!CLEAR
!LSHIFT 1 7
!RSHIFT 6 4
!VSHIFT RSHIFT
#0 -1 -1 0 /* (no key) */
1 7 7 8 /* ESC -> Run/Stop */
2 7 0 8 /* 1 -> 1 */
3 7 3 8 /* 2 -> 2 */
4 1 0 8 /* 3 -> 3 */
5 1 3 8 /* 4 -> 4 */
6 2 0 8 /* 5 -> 5 */
7 2 3 8 /* 6 -> 6 */
8 3 0 8 /* 7 -> 7 */
9 3 3 8 /* 8 -> 8 */
10 4 0 8 /* 9 -> 9 */
11 4 3 8 /* 0 -> 0 */
12 5 0 8 /* Minus -> Plus */
13 5 3 8 /* Equal -> Minus */
14 0 0 8 /* Backspace -> Del */
15 7 2 8 /* TAB -> Ctrl */
16 7 6 8 /* Q -> Q */
17 1 1 8 /* W -> W */
18 1 6 8 /* E -> E */
19 2 1 8 /* R -> R */
20 2 6 8 /* T -> T */
21 3 1 8 /* Y -> Y */
22 3 6 8 /* U -> U */
23 4 1 8 /* I -> I */
24 4 6 8 /* O -> O */
25 5 1 8 /* p -> P */
26 5 6 8 /* [ -> @ */
27 6 1 8 /* ] -> * */
28 0 1 8 /* Return -> Return */
29 7 5 8 /* Left Ctrl -> CBM */
30 1 2 8 /* A -> A */
31 1 5 8 /* S -> S */
32 2 2 8 /* D -> D */
33 2 5 8 /* F -> F */
34 3 2 8 /* G -> G */
35 3 5 8 /* H -> H */
36 4 2 8 /* J -> J */
37 4 5 8 /* K -> K */
38 5 2 8 /* L -> L */
39 5 5 8 /* ; -> : */
40 6 2 8 /* ' -> ; */
41 7 1 8 /* ` -> Left Arrow */
42 1 7 2 /* Left Shift -> Left Shift */
43 6 5 8 /* \ -> = */
44 1 4 8 /* Z -> Z */
45 2 7 8 /* X -> X */
46 2 4 8 /* C -> C */
47 3 7 8 /* V -> V */
48 3 4 8 /* B -> B */
49 4 7 8 /* N -> N */
50 4 4 8 /* M -> M */
51 5 7 8 /* , -> , */
52 5 4 8 /* . -> . */
53 6 7 8 /* / -> / */
54 6 4 4 /* Right Shift -> Right Shift */
#56 -1 -1 0 /* Left Alt -> (no key) */
57 7 4 8 /* Space -> Space */
58 7 7 8 /* Caps Lock -> Run/Stop */
59 0 4 8 /* F1 -> F1 */
60 0 4 1 /* F2 -> F2 */
61 0 5 8 /* F3 -> F3 */
62 0 5 1 /* F4 -> F4 */
63 0 6 8 /* F5 -> F5 */
64 0 6 1 /* F6 -> F6 */
65 0 3 8 /* F7 -> F7 */
66 0 3 1 /* F8 -> F8 */
#67 -1 -1 0 /* F9 -> (no key) */
#68 -1 -1 0 /* F10 -> (no key) */
#85 -1 -1 0 /* 85 -> (no key) */
#86 -1 -1 0 /* 86 -> (no key) */
#87 -1 -1 0 /* F11 -> (no key) */
#88 -1 -1 0 /* F12 -> (no key) */
89 6 3 8 /* Home -> CLR/HOME */
90 0 7 1 /* Up -> CRSR UP */
92 0 2 1 /* Left -> CRSR LEFT */
93 0 2 8 /* Right -> CRSR RIGHT */
#94 -1 -1 0 /* End -> (no key) */
95 0 7 8 /* Down -> CRSR DOWN */
#96 -1 -1 0 /* PgDown -> (no key) */
97 6 0 8 /* Ins -> Pound */
98 6 6 8 /* Del -> Up Arrow */
#100 -1 -1 0 /* Right Ctrl -> (no key) */
#101 -1 -1 0 /* Pause -> (no key) */
#104 -1 -1 0 /* Right Alt -> (no key) */
#105 -1 -1 0 /* Break -> (no key) */
#106 -1 -1 0 /* Left Win95 -> (no key) */
#107 -1 -1 0 /* Right Win95 -> (no key) */
#
# Joystick 1
#
#KP_0 -1 0
#KP_1 -1 1
#KP_2 -1 2
#KP_3 -1 3
#KP_4 -1 4
#KP_5 -1 5
#KP_6 -1 6
#KP_7 -1 7
#KP_8 -1 8
#KP_9 -1 9
#
# Joystick 2
#
#w -2 7
#e -2 8
#r -2 9
#s -2 4
#d -2 5
#f -2 6
#x -2 1
#c -2 2
#v -2 3
#space -2 0
# Restore key mappings
91 -3 0 /* PgUp -> RESTORE */
# Joyport attached keypad key mappings
69 -5 0 /* Num Lock -> keypad x0 */
71 -5 1 /* Numpad 7 -> keypad 7 */
72 -5 2 /* Numpad 8 -> keypad 8 */
73 -5 3 /* Numpad 9 -> keypad 9 */
103 -5 4 /* Numpad / -> keypad / */
70 -5 5 /* Scroll Lock -> keypad x1 */
75 -5 6 /* Numpad 4 -> keypad 4 */
76 -5 7 /* Numpad 5 -> keypad 5 */
77 -5 8 /* Numpad 6 -> keypad 6 */
55 -5 9 /* Numpad * -> keypad * */
84 -5 10 /* SysReq -> keypad x2 */
79 -5 11 /* Numpad 1 -> keypad 1 */
80 -5 12 /* Numpad 2 -> keypad 2 */
81 -5 13 /* Numpad 3 -> keypad 3 */
74 -5 14 /* Numpad - -> keypad - */
102 -5 15 /* PrtScr -> keypad x3 */
82 -5 16 /* Numpad 0 -> keypad 0 */
83 -5 17 /* Numpad . -> keypad . */
99 -5 18 /* Numpad Enter -> keypad enter */
78 -5 19 /* Numpad + -> keypad + */

208
emulator/C64/win_pos_de.vkm Normal file
View file

@ -0,0 +1,208 @@
# VICE keyboard mapping file
#
# A Keyboard map is read in as patch to the current map.
#
# File format:
# - comment lines start with '#'
# - keyword lines start with '!keyword'
# - normal line has 'keysym/scancode row column shiftflag'
#
# Keywords and their lines are:
# '!CLEAR' clear whole table
# '!INCLUDE filename' read file as mapping file
# '!LSHIFT row col' left shift keyboard row/column
# '!RSHIFT row col' right shift keyboard row/column
# '!VSHIFT shiftkey' virtual shift key (RSHIFT or LSHIFT)
# '!SHIFTL shiftkey' shift lock key (RSHIFT or LSHIFT)
# '!UNDEF keysym' remove keysym from table
#
# Shiftflag can have the values:
# 0 key is not shifted for this keysym/scancode
# 1 key is shifted for this keysym/scancode
# 2 left shift
# 4 right shift
# 8 key can be shifted or not with this keysym/scancode
# 16 deshift key for this keysym/scancode
# 32 another definition for this keysym/scancode follows
# 64 shift lock
# 256 key is used for an alternative keyboard mapping
#
# Negative row values:
# 'keysym -1 n' joystick keymap A, direction n
# 'keysym -2 n' joystick keymap B, direction n
# 'keysym -3 0' first RESTORE key
# 'keysym -3 1' second RESTORE key
# 'keysym -4 0' 40/80 column key
# 'keysym -4 1' CAPS (ASCII/DIN) key
# 'keysym -5 n' joyport keypad, key n
#
# Joystick direction values:
# 0 Fire
# 1 South/West
# 2 South
# 3 South/East
# 4 West
# 5 East
# 6 North/West
# 7 North
# 8 North/East
#
# Joyport keypad key layout:
# --------------------------
# | 0 | 1 | 2 | 3 | 4 |
# --------------------------
# | 5 | 6 | 7 | 8 | 9 |
# --------------------------
# | 10 | 11 | 12 | 13 | 14 |
# --------------------------
# | 15 | 16 | 17 | 18 | 19 |
# --------------------------
#
# When a bigger spaced key is used,
# it uses the upper left most key value.
!CLEAR
!LSHIFT 1 7
!RSHIFT 6 4
!VSHIFT RSHIFT
#0 -1 -1 0 /* (no key) */
1 7 7 8 /* ESC -> Run/Stop */
2 7 0 8 /* 1 -> 1 */
3 7 3 8 /* 2 -> 2 */
4 1 0 8 /* 3 -> 3 */
5 1 3 8 /* 4 -> 4 */
6 2 0 8 /* 5 -> 5 */
7 2 3 8 /* 6 -> 6 */
8 3 0 8 /* 7 -> 7 */
9 3 3 8 /* 8 -> 8 */
10 4 0 8 /* 9 -> 9 */
11 4 3 8 /* 0 -> 0 */
12 5 0 8 /* Minus -> Plus */
13 5 3 8 /* Equal -> Minus */
14 0 0 8 /* Backspace -> Del */
15 7 2 8 /* TAB -> Ctrl */
16 7 6 8 /* Q -> Q */
17 1 1 8 /* W -> W */
18 1 6 8 /* E -> E */
19 2 1 8 /* R -> R */
20 2 6 8 /* T -> T */
21 3 1 8 /* Y -> Y */
22 3 6 8 /* U -> U */
23 4 1 8 /* I -> I */
24 4 6 8 /* O -> O */
25 5 1 8 /* p -> P */
26 5 6 8 /* [ -> @ */
27 6 1 8 /* ] -> * */
28 0 1 8 /* Return -> Return */
29 7 5 8 /* Left Ctrl -> CBM */
30 1 2 8 /* A -> A */
31 1 5 8 /* S -> S */
32 2 2 8 /* D -> D */
33 2 5 8 /* F -> F */
34 3 2 8 /* G -> G */
35 3 5 8 /* H -> H */
36 4 2 8 /* J -> J */
37 4 5 8 /* K -> K */
38 5 2 8 /* L -> L */
39 5 5 8 /* ; -> : */
40 6 2 8 /* ' -> ; */
41 7 1 8 /* ` -> Left Arrow */
42 1 7 2 /* Left Shift -> Left Shift */
43 6 5 8 /* \ -> = */
44 1 4 8 /* Z -> Z */
45 2 7 8 /* X -> X */
46 2 4 8 /* C -> C */
47 3 7 8 /* V -> V */
48 3 4 8 /* B -> B */
49 4 7 8 /* N -> N */
50 4 4 8 /* M -> M */
51 5 7 8 /* , -> , */
52 5 4 8 /* . -> . */
53 6 7 8 /* / -> / */
54 6 4 4 /* Right Shift -> Right Shift */
#56 -1 -1 0 /* Left Alt -> (no key) */
57 7 4 8 /* Space -> Space */
58 7 7 8 /* Caps Lock -> Run/Stop */
59 0 4 8 /* F1 -> F1 */
60 0 4 1 /* F2 -> F2 */
61 0 5 8 /* F3 -> F3 */
62 0 5 1 /* F4 -> F4 */
63 0 6 8 /* F5 -> F5 */
64 0 6 1 /* F6 -> F6 */
65 0 3 8 /* F7 -> F7 */
66 0 3 1 /* F8 -> F8 */
#67 -1 -1 0 /* F9 -> (no key) */
#68 -1 -1 0 /* F10 -> (no key) */
#85 -1 -1 0 /* 85 -> (no key) */
#86 -1 -1 0 /* 86 -> (no key) */
#87 -1 -1 0 /* F11 -> (no key) */
#88 -1 -1 0 /* F12 -> (no key) */
89 6 3 8 /* Home -> CLR/HOME */
90 0 7 1 /* Up -> CRSR UP */
92 0 2 1 /* Left -> CRSR LEFT */
93 0 2 8 /* Right -> CRSR RIGHT */
#94 -1 -1 0 /* End -> (no key) */
95 0 7 8 /* Down -> CRSR DOWN */
#96 -1 -1 0 /* PgDown -> (no key) */
97 6 0 8 /* Ins -> Pound */
98 6 6 8 /* Del -> Up Arrow */
#100 -1 -1 0 /* Right Ctrl -> (no key) */
#101 -1 -1 0 /* Pause -> (no key) */
#104 -1 -1 0 /* Right Alt -> (no key) */
#105 -1 -1 0 /* Break -> (no key) */
#106 -1 -1 0 /* Left Win95 -> (no key) */
#107 -1 -1 0 /* Right Win95 -> (no key) */
#
# Joystick 1
#
#KP_0 -1 0
#KP_1 -1 1
#KP_2 -1 2
#KP_3 -1 3
#KP_4 -1 4
#KP_5 -1 5
#KP_6 -1 6
#KP_7 -1 7
#KP_8 -1 8
#KP_9 -1 9
#
# Joystick 2
#
#w -2 7
#e -2 8
#r -2 9
#s -2 4
#d -2 5
#f -2 6
#x -2 1
#c -2 2
#v -2 3
#space -2 0
# Restore key mappings
91 -3 0 /* PgUp -> RESTORE */
# Joyport attached keypad key mappings
69 -5 0 /* Num Lock -> keypad x0 */
71 -5 1 /* Numpad 7 -> keypad 7 */
72 -5 2 /* Numpad 8 -> keypad 8 */
73 -5 3 /* Numpad 9 -> keypad 9 */
103 -5 4 /* Numpad / -> keypad / */
70 -5 5 /* Scroll Lock -> keypad x1 */
75 -5 6 /* Numpad 4 -> keypad 4 */
76 -5 7 /* Numpad 5 -> keypad 5 */
77 -5 8 /* Numpad 6 -> keypad 6 */
55 -5 9 /* Numpad * -> keypad * */
84 -5 10 /* SysReq -> keypad x2 */
79 -5 11 /* Numpad 1 -> keypad 1 */
80 -5 12 /* Numpad 2 -> keypad 2 */
81 -5 13 /* Numpad 3 -> keypad 3 */
74 -5 14 /* Numpad - -> keypad - */
102 -5 15 /* PrtScr -> keypad x3 */
82 -5 16 /* Numpad 0 -> keypad 0 */
83 -5 17 /* Numpad . -> keypad . */
99 -5 18 /* Numpad Enter -> keypad enter */
78 -5 19 /* Numpad + -> keypad + */

View file

@ -0,0 +1,139 @@
#
# VICE definition file for Keyboard Shortcuts in Win32
#
# This version is for x64.
#
# Syntax:
# First column: Combination of ALT|CTRL|SHIFT to or just KEY
# Second column: (virtual) Keycode for the shortcut
# Code can be character ('X'), hex (0xAB) or decimal (168)
# Have a look at winuser.h for the list of virtual key codes (VK_..)
# Third column: command identifier that is executed with the shortcut
# Fourth column: text to display in the menu item; missing this lets
# the keycode char be displayed.
CTRL|ALT 'I' IDM_ISEPIC_SWITCH I
CTRL|ALT 'R' IDM_RESET_HARD R
ALT 'R' IDM_RESET_SOFT R
ALT '4' IDM_FORMFEED_PRINTERIEC4 4
ALT '5' IDM_FORMFEED_PRINTERIEC5 5
ALT '8' IDM_ATTACH_8 8
ALT '9' IDM_ATTACH_9 9
ALT '0' IDM_ATTACH_10 0
ALT '1' IDM_ATTACH_11 1
ALT 'A' IDM_DETACH_ALL A
ALT 'T' IDM_ATTACH_TAPE T
ALT 'L' IDM_LOADQUICK L
ALT 'S' IDM_SAVEQUICK S
ALT 'M' IDM_MONITOR M
ALT 'X' IDM_EXIT X
ALT 'W' IDM_TOGGLE_WARP_MODE W
ALT 'I' IDM_FLIP_ADD I
ALT 'K' IDM_FLIP_REMOVE K
ALT 'N' IDM_FLIP_NEXT N
ALT 'B' IDM_FLIP_PREVIOUS B
ALT 'J' IDM_SWAP_JOYSTICK J
ALT 'C' IDM_MEDIAFILE C
ALT 'G' IDM_EVENT_SETMILESTONE G
ALT 'H' IDM_EVENT_RESETMILESTONE H
ALT 'D' IDM_TOGGLE_FULLSCREEN D
ALT 0x0D IDM_TOGGLE_FULLSCREEN D
ALT 0x13 IDM_PAUSE Pause
ALT 0xBB IDM_SINGLE_FRAME_ADVANCE +
ALT 0x6B IDM_SINGLE_FRAME_ADVANCE +
ALT 'Z' IDM_CART_FREEZE Z
ALT 'Q' IDM_MOUSE Q
ALT 0x79 IDM_TOGGLE_MAINCPU_TRACE F10
ALT 0x7A IDM_TOGGLE_DRIVE0CPU_TRACE F11
ALT 0x7B IDM_TOGGLE_DRIVE1CPU_TRACE F12
ALT 0x2E IDM_EDIT_COPY Del
ALT 0x2D IDM_EDIT_PASTE Ins
#
# Other command identifier that can be used in shortcuts
#
# IDM_ABOUT IDM_AUTOSTART
# IDM_RESET_DRIVE8 IDM_RESET_DRIVE9
# IDM_RESET_DRIVE10 IDM_RESET_DRIVE11
# IDM_DETACH_TAPE IDM_DETACH_8
# IDM_DETACH_9 IDM_DETACH_10
# IDM_DETACH_11 IDM_TOGGLE_SOUND
# IDM_TOGGLE_DOUBLESIZE IDM_TOGGLE_DOUBLESCAN
# IDM_TOGGLE_DRIVE_TRUE_EMULATION IDM_TOGGLE_VIDEOCACHE
# IDM_DRIVE_SETTINGS IDM_CART_ATTACH_CRT
# IDM_CART_ATTACH_8KB IDM_CART_ATTACH_16KB
# IDM_CART_ATTACH_AR IDM_CART_ATTACH_AR3
# IDM_CART_ATTACH_AR4 IDM_CART_ATTACH_STARDOS
# IDM_CART_ATTACH_AT IDM_CART_ATTACH_EPYX
# IDM_CART_ATTACH_IEEE488 IDM_CART_ATTACH_RR
# IDM_CART_ATTACH_SS4 IDM_CART_ATTACH_SS5
# IDM_CART_ATTACH_IDE64 IDM_CART_ATTACH_STB
# IDM_CART_SET_DEFAULT IDM_CART_DETACH
# IDM_CART_ENABLE_EXPERT IDM_CART_MODE_OFF
# IDM_CART_MODE_PRG IDM_CART_MODE_ON
# IDM_TOGGLE_CART_RESET IDM_SNAPSHOT_LOAD
# IDM_SNAPSHOT_SAVE IDM_EVENT_DIRECTORY
# IDM_EVENT_TOGGLE_RECORD IDM_EVENT_TOGGLE_PLAYBACK
# IDM_EVENT_START_MODE_SAVE IDM_EVENT_START_MODE_LOAD
# IDM_EVENT_START_MODE_RESET IDM_EVENT_START_MODE_PLAYBACK
# IDM_NETWORK_SETTINGS IDM_SETTINGS_SAVE
# IDM_SETTINGS_LOAD IDM_SETTINGS_DEFAULT
# IDM_DEVICEMANAGER IDM_REFRESH_RATE_AUTO
# IDM_REFRESH_RATE_1 IDM_REFRESH_RATE_2
# IDM_REFRESH_RATE_3 IDM_REFRESH_RATE_4
# IDM_REFRESH_RATE_5 IDM_REFRESH_RATE_6
# IDM_REFRESH_RATE_7 IDM_REFRESH_RATE_8
# IDM_REFRESH_RATE_9 IDM_REFRESH_RATE_10
# IDM_MAXIMUM_SPEED_200 IDM_MAXIMUM_SPEED_100
# IDM_MAXIMUM_SPEED_50 IDM_MAXIMUM_SPEED_20
# IDM_MAXIMUM_SPEED_10 IDM_MAXIMUM_SPEED_NO_LIMIT
# IDM_MAXIMUM_SPEED_CUSTOM IDM_VICII_SETTINGS
# IDM_SYNC_FACTOR_PAL IDM_SYNC_FACTOR_NTSC
# IDM_SYNC_FACTOR_NTSCOLD IDM_JOY_SETTINGS
# IDM_SOUND_SETTINGS IDM_HELP
# IDM_DATASETTE_CONTROL_START IDM_DATASETTE_CONTROL_STOP
# IDM_DATASETTE_CONTROL_FORWARD IDM_DATASETTE_CONTROL_REWIND
# IDM_DATASETTE_CONTROL_RECORD IDM_DATASETTE_CONTROL_RESET
# IDM_DATASETTE_RESET_COUNTER IDM_FLIP_LOAD
# IDM_FLIP_SAVE IDM_REU_SETTINGS
# IDM_GEORAM_SETTINGS IDM_RAMCART_SETTINGS
# IDM_MMC64_SETTINGS IDM_TOGGLE_EMUID
# IDM_DATASETTE_SETTINGS IDM_TOGGLE_VIRTUAL_DEVICES
# IDM_CONTRIBUTORS IDM_LICENSE
# IDM_WARRANTY IDM_CMDLINE
# IDM_TOGGLE_SAVE_SETTINGS_ON_EXIT IDM_TOGGLE_ALWAYSONTOP
# IDM_TOGGLE_CONFIRM_ON_EXIT IDM_SID_SETTINGS
# IDM_TOGGLE_FASTPAL IDM_VIDEO_SETTINGS
# IDM_RAM_SETTINGS IDM_TFE_SETTINGS
# IDM_FORMFEED_PRINTERUSERPORT IDM_ROM_SETTINGS
# IDM_IDE64_SETTINGS IDM_ACIA_SETTINGS
# IDM_RS232USER_SETTINGS IDM_RS232_SETTINGS
# IDM_KEYBOARD_SETTINGS IDM_MOUSE_SETTINGS
# IDM_DEBUG_MODE_NORMAL IDM_DEBUG_MODE_SMALL
# IDM_DEBUG_MODE_HISTORY IDM_DEBUG_MODE_AUTOPLAY
# IDM_LANG_EN IDM_LANG_DE
# IDM_LANG_FR IDM_LANG_HU
# IDM_LANG_IT IDM_LANG_NL
# IDM_LANG_PL IDM_LANG_SV
# IDM_MON_OPEN IDM_MON_SAVE
# IDM_MON_PRINT IDM_MON_STOP_DEBUG
# IDM_MON_STOP_EXEC IDM_MON_CURRENT
# IDM_MON_STEP_INTO IDM_MON_STEP_OVER
# IDM_MON_SKIP_RETURN IDM_MON_GOTO_CURSOR
# IDM_MON_EVAL IDM_MON_WND_EVAL
# IDM_MON_WND_REG IDM_MON_WND_MEM
# IDM_MON_WND_DIS IDM_MON_WND_CONSOLE
# IDM_MON_COMPUTER IDM_MON_DRIVE8
# IDM_MON_DRIVE9 IDM_MON_HELP
# IDM_MON_CASCADE IDM_MON_TILE_HORIZ
# IDM_MON_TILE_VERT IDM_MON_ARRANGE_ICONS
# IDM_MON_GOTO_PC IDM_MON_GOTO_ADDRESS
# IDM_MON_SET_BP IDM_MON_UNSET_BP
# IDM_MON_ENABLE_BP IDM_MON_DISABLE_BP
# IDM_WNDCHILD IDM_PLUS60K_SETTINGS
# IDM_PLUS256K_SETTINGS IDM_C64_256K_SETTINGS
# IDM_DIGIMAX_SETTINGS IDM_SOUND_RECORD_START
# IDM_SOUND_RECORD_STOP IDM_TOGGLE_SCALE2X
# IDM_TOGGLE_AUTOSTART_HANDLE_TDE IDM_RESID6581
# IDM_RESID8580 IDM_RESID8580D
# IDM_RESID6581R4

218
emulator/C64/win_sym.vkm Normal file
View file

@ -0,0 +1,218 @@
# VICE keyboard mapping file
#
# A Keyboard map is read in as patch to the current map.
#
# File format:
# - comment lines start with '#'
# - keyword lines start with '!keyword'
# - normal line has 'keysym/scancode row column shiftflag'
#
# Keywords and their lines are:
# '!CLEAR' clear whole table
# '!INCLUDE filename' read file as mapping file
# '!LSHIFT row col' left shift keyboard row/column
# '!RSHIFT row col' right shift keyboard row/column
# '!VSHIFT shiftkey' virtual shift key (RSHIFT or LSHIFT)
# '!SHIFTL shiftkey' shift lock key (RSHIFT or LSHIFT)
# '!UNDEF keysym' remove keysym from table
#
# Shiftflag can have the values:
# 0 key is not shifted for this keysym/scancode
# 1 key is shifted for this keysym/scancode
# 2 left shift
# 4 right shift
# 8 key can be shifted or not with this keysym/scancode
# 16 deshift key for this keysym/scancode
# 32 another definition for this keysym/scancode follows
# 64 shift lock
# 256 key is used for an alternative keyboard mapping
#
# Negative row values:
# 'keysym -1 n' joystick keymap A, direction n
# 'keysym -2 n' joystick keymap B, direction n
# 'keysym -3 0' first RESTORE key
# 'keysym -3 1' second RESTORE key
# 'keysym -4 0' 40/80 column key
# 'keysym -4 1' CAPS (ASCII/DIN) key
# 'keysym -5 n' joyport keypad, key n
#
# Joystick direction values:
# 0 Fire
# 1 South/West
# 2 South
# 3 South/East
# 4 West
# 5 East
# 6 North/West
# 7 North
# 8 North/East
#
# Joyport keypad key layout:
# --------------------------
# | 0 | 1 | 2 | 3 | 4 |
# --------------------------
# | 5 | 6 | 7 | 8 | 9 |
# --------------------------
# | 10 | 11 | 12 | 13 | 14 |
# --------------------------
# | 15 | 16 | 17 | 18 | 19 |
# --------------------------
#
# When a bigger spaced key is used,
# it uses the upper left most key value.
!CLEAR
!LSHIFT 1 7
!RSHIFT 6 4
!VSHIFT RSHIFT
#0 -1 -1 0 /* (no key) */
1 7 7 8 /* ESC -> Run/Stop */
2 7 0 8 /* 1 -> 1 */
3 7 3 40 /* 2 -> 2 */
3 5 6 16 /* @ -> @ */
4 1 0 8 /* 3 -> 3 */
5 1 3 8 /* 4 -> 4 */
6 2 0 8 /* 5 -> 5 */
7 2 3 40 /* 6 -> 6 */
7 6 6 16 /* ^ -> ^ */
8 3 0 40 /* 7 -> 7 */
8 2 3 1 /* & -> & */
9 3 3 40 /* 8 -> 8 */
9 6 1 16 /* * -> * */
10 4 0 40 /* 9 -> 9 */
10 3 3 1 /* ( -> ( */
11 4 3 40 /* 0 -> 0 */
11 4 0 1 /* ) -> ) */
12 5 3 8 /* Minus -> Minus */
13 6 5 40 /* Equal -> Equal */
13 5 0 16 /* + -> + */
14 0 0 8 /* Backspace -> Del */
15 7 2 8 /* TAB -> Ctrl */
16 7 6 8 /* Q -> Q */
17 1 1 8 /* W -> W */
18 1 6 8 /* E -> E */
19 2 1 8 /* R -> R */
20 2 6 8 /* T -> T */
21 3 1 8 /* Y -> Y */
22 3 6 8 /* U -> U */
23 4 1 8 /* I -> I */
24 4 6 8 /* O -> O */
25 5 1 8 /* P -> P */
26 5 5 1 /* [ -> [ */
27 6 2 1 /* ] -> ] */
28 0 1 8 /* Return -> Return */
29 7 5 8 /* Left Ctrl -> CBM */
30 1 2 8 /* A -> A */
31 1 5 8 /* S -> S */
32 2 2 8 /* D -> D */
33 2 5 8 /* F -> F */
34 3 2 8 /* G -> G */
35 3 5 8 /* H -> H */
36 4 2 8 /* J -> J */
37 4 5 8 /* K -> K */
38 5 2 8 /* L -> L */
39 6 2 40 /* ; -> ; */
39 5 5 16 /* : -> : */
40 3 0 33 /* ' -> ' */
40 7 3 1 /* ' -> ' */
41 7 1 40 /* ` -> Left Arrow */
41 6 6 1 /* ~ -> Pi */
42 1 7 2 /* Left Shift -> Left Shift */
43 6 0 8 /* \ -> Pound */
44 1 4 8 /* Z -> Z */
45 2 7 8 /* X -> X */
46 2 4 8 /* C -> C */
47 3 7 8 /* V -> V */
48 3 4 8 /* B -> B */
49 4 7 8 /* N -> N */
50 4 4 8 /* M -> M */
51 5 7 8 /* , -> , */
52 5 4 8 /* . -> . */
53 6 7 8 /* / -> / */
54 6 4 4 /* Right Shift -> Right Shift */
#56 -1 -1 0 /* Left Alt -> (no key) */
57 7 4 8 /* Space -> Space */
58 7 7 8 /* Caps Lock -> Run/Stop */
59 0 4 8 /* F1 -> F1 */
60 0 4 1 /* F2 -> F2 */
61 0 5 8 /* F3 -> F3 */
62 0 5 1 /* F4 -> F4 */
63 0 6 8 /* F5 -> F5 */
64 0 6 1 /* F6 -> F6 */
65 0 3 8 /* F7 -> F7 */
66 0 3 1 /* F8 -> F8 */
#67 -1 -1 0 /* F9 -> (no key) */
#68 -1 -1 0 /* F10 -> (no key) */
#85 -1 -1 0 /* 85 -> (no key) */
#86 -1 -1 0 /* 86 -> (no key) */
#87 -1 -1 0 /* F11 -> (no key) */
#88 -1 -1 0 /* F12 -> (no key) */
89 6 3 8 /* Home -> CLR/HOME */
90 0 7 1 /* Up -> CRSR UP */
92 0 2 1 /* Left -> CRSR LEFT */
93 0 2 8 /* Right -> CRSR RIGHT */
#94 -1 -1 0 /* End -> (no key) */
95 0 7 8 /* Down -> CRSR DOWN */
#96 -1 -1 0 /* PgDown -> (no key) */
97 0 0 1 /* Ins -> Shift-Del (Ins)*/
98 0 0 8 /* Del -> Del */
#100 -1 -1 0 /* Right Ctrl -> (no key) */
#101 -1 -1 0 /* Pause -> (no key) */
#104 -1 -1 0 /* Right Alt -> (no key) */
#105 -1 -1 0 /* Break -> (no key) */
106 7 5 8 /* Left Win95 -> CBM */
#107 -1 -1 0 /* Right Win95 -> (no key) */
#
# Joystick 1
#
#KP_0 -1 0
#KP_1 -1 1
#KP_2 -1 2
#KP_3 -1 3
#KP_4 -1 4
#KP_5 -1 5
#KP_6 -1 6
#KP_7 -1 7
#KP_8 -1 8
#KP_9 -1 9
#
# Joystick 2
#
#w -2 7
#e -2 8
#r -2 9
#s -2 4
#d -2 5
#f -2 6
#x -2 1
#c -2 2
#v -2 3
#space -2 0
# Restore key mappings
91 -3 0 /* PgUp -> RESTORE */
# Joyport attached keypad key mappings
69 -5 0 /* Num Lock -> keypad x0 */
71 -5 1 /* Numpad 7 -> keypad 7 */
72 -5 2 /* Numpad 8 -> keypad 8 */
73 -5 3 /* Numpad 9 -> keypad 9 */
103 -5 4 /* Numpad / -> keypad / */
70 -5 5 /* Scroll Lock -> keypad x1 */
75 -5 6 /* Numpad 4 -> keypad 4 */
76 -5 7 /* Numpad 5 -> keypad 5 */
77 -5 8 /* Numpad 6 -> keypad 6 */
55 -5 9 /* Numpad * -> keypad * */
84 -5 10 /* SysReq -> keypad x2 */
79 -5 11 /* Numpad 1 -> keypad 1 */
80 -5 12 /* Numpad 2 -> keypad 2 */
81 -5 13 /* Numpad 3 -> keypad 3 */
74 -5 14 /* Numpad - -> keypad - */
102 -5 15 /* PrtScr -> keypad x3 */
82 -5 16 /* Numpad 0 -> keypad 0 */
83 -5 17 /* Numpad . -> keypad . */
99 -5 18 /* Numpad Enter -> keypad enter */
78 -5 19 /* Numpad + -> keypad + */

215
emulator/C64/win_sym_de.vkm Normal file
View file

@ -0,0 +1,215 @@
# VICE keyboard mapping file
#
# A Keyboard map is read in as patch to the current map.
#
# File format:
# - comment lines start with '#'
# - keyword lines start with '!keyword'
# - normal line has 'keysym/scancode row column shiftflag'
#
# Keywords and their lines are:
# '!CLEAR' clear whole table
# '!INCLUDE filename' read file as mapping file
# '!LSHIFT row col' left shift keyboard row/column
# '!RSHIFT row col' right shift keyboard row/column
# '!VSHIFT shiftkey' virtual shift key (RSHIFT or LSHIFT)
# '!SHIFTL shiftkey' shift lock key (RSHIFT or LSHIFT)
# '!UNDEF keysym' remove keysym from table
#
# Shiftflag can have the values:
# 0 key is not shifted for this keysym/scancode
# 1 key is shifted for this keysym/scancode
# 2 left shift
# 4 right shift
# 8 key can be shifted or not with this keysym/scancode
# 16 deshift key for this keysym/scancode
# 32 another definition for this keysym/scancode follows
# 64 shift lock
# 256 key is used for an alternative keyboard mapping
#
# Negative row values:
# 'keysym -1 n' joystick keymap A, direction n
# 'keysym -2 n' joystick keymap B, direction n
# 'keysym -3 0' first RESTORE key
# 'keysym -3 1' second RESTORE key
# 'keysym -4 0' 40/80 column key
# 'keysym -4 1' CAPS (ASCII/DIN) key
# 'keysym -5 n' joyport keypad, key n
#
# Joystick direction values:
# 0 Fire
# 1 South/West
# 2 South
# 3 South/East
# 4 West
# 5 East
# 6 North/West
# 7 North
# 8 North/East
#
# Joyport keypad key layout:
# --------------------------
# | 0 | 1 | 2 | 3 | 4 |
# --------------------------
# | 5 | 6 | 7 | 8 | 9 |
# --------------------------
# | 10 | 11 | 12 | 13 | 14 |
# --------------------------
# | 15 | 16 | 17 | 18 | 19 |
# --------------------------
#
# When a bigger spaced key is used,
# it uses the upper left most key value.
!CLEAR
!LSHIFT 1 7
!RSHIFT 6 4
!VSHIFT RSHIFT
#0 -1 -1 0 /* (no key) */
1 7 7 8 /* ESC -> Run/Stop */
2 7 0 8 /* 1 -> 1 */
3 7 3 8 /* 2 -> 2 */
4 1 0 0 /* 3 -> 3 */
5 1 3 8 /* 4 -> 4 */
6 2 0 8 /* 5 -> 5 */
7 2 3 8 /* 6 -> 6 */
8 3 0 32 /* 7 -> 7 */
8 6 7 16 /* 7 -> / */
9 3 3 8 /* 8 -> 8 */
10 4 0 8 /* 9 -> 9 */
11 4 3 32 /* 0 -> 0 */
11 6 5 16 /* 0 -> = */
12 6 7 8 /* SZ -> / */
13 3 0 1 /* ' -> ' */
14 0 0 8 /* Backspace -> Del */
15 7 2 8 /* TAB -> Ctrl */
16 7 6 8 /* Q -> Q */
17 1 1 8 /* W -> W */
18 1 6 8 /* E -> E */
19 2 1 8 /* R -> R */
20 2 6 8 /* T -> T */
21 1 4 8 /* Z -> Z */
22 3 6 8 /* U -> U */
23 4 1 8 /* I -> I */
24 4 6 8 /* O -> O */
25 5 1 8 /* p -> P */
#26 5 6 8 /* UE -> (no key) */
27 5 0 32 /* + -> + */
27 6 1 16 /* + -> * */
28 0 1 8 /* Return -> Return */
29 7 5 8 /* Left Ctrl -> CBM */
30 1 2 8 /* A -> A */
31 1 5 8 /* S -> S */
32 2 2 8 /* D -> D */
33 2 5 8 /* F -> F */
34 3 2 8 /* G -> G */
35 3 5 8 /* H -> H */
36 4 2 8 /* J -> J */
37 4 5 8 /* K -> K */
38 5 2 8 /* L -> L */
#39 5 5 8 /* OE -> (no key) */
#40 6 2 8 /* AE -> (no key) */
41 7 1 8 /* ` -> Left Arrow */
42 1 7 2 /* Left Shift -> Left Shift */
43 1 0 33 /* # -> # */
43 3 0 1 /* # -> ' */
44 3 1 8 /* Y -> Y */
45 2 7 8 /* X -> X */
46 2 4 8 /* C -> C */
47 3 7 8 /* V -> V */
48 3 4 8 /* B -> B */
49 4 7 8 /* N -> N */
50 4 4 8 /* M -> M */
51 5 7 32 /* , -> , */
51 6 2 16 /* , -> ; */
52 5 4 32 /* . -> . */
52 5 5 16 /* . -> : */
53 5 3 0 /* - -> - */
54 6 4 4 /* Right Shift -> Right Shift */
#56 -1 -1 0 /* Left Alt -> (no key) */
57 7 4 8 /* Space -> Space */
58 7 7 8 /* Caps Lock -> Run/Stop */
59 0 4 8 /* F1 -> F1 */
60 0 4 1 /* F2 -> F2 */
61 0 5 8 /* F3 -> F3 */
62 0 5 1 /* F4 -> F4 */
63 0 6 8 /* F5 -> F5 */
64 0 6 1 /* F6 -> F6 */
65 0 3 8 /* F7 -> F7 */
66 0 3 1 /* F8 -> F8 */
#67 -1 -1 0 /* F9 -> (no key) */
#68 -1 -1 0 /* F10 -> (no key) */
#85 -1 -1 0 /* 85 -> (no key) */
86 5 7 33 /* < -> < */
86 5 4 1 /* < -> > */
#87 -1 -1 0 /* F11 -> (no key) */
#88 -1 -1 0 /* F12 -> (no key) */
89 6 3 8 /* Home -> CLR/HOME */
90 0 7 1 /* Up -> CRSR UP */
92 0 2 1 /* Left -> CRSR LEFT */
93 0 2 8 /* Right -> CRSR RIGHT */
#94 -1 -1 0 /* End -> (no key) */
95 0 7 8 /* Down -> CRSR DOWN */
#96 -1 -1 0 /* PgDown -> (no key) */
97 6 0 8 /* Ins -> Pound */
98 6 6 8 /* Del -> Up Arrow */
#100 -1 -1 0 /* Right Ctrl -> (no key) */
#101 -1 -1 0 /* Pause -> (no key) */
#104 -1 -1 0 /* Right Alt -> (no key) */
#105 -1 -1 0 /* Break -> (no key) */
#106 -1 -1 0 /* Left Win95 -> (no key) */
#107 -1 -1 0 /* Right Win95 -> (no key) */
#
# Joystick 1
#
#KP_0 -1 0
#KP_1 -1 1
#KP_2 -1 2
#KP_3 -1 3
#KP_4 -1 4
#KP_5 -1 5
#KP_6 -1 6
#KP_7 -1 7
#KP_8 -1 8
#KP_9 -1 9
#
# Joystick 2
#
#w -2 7
#e -2 8
#r -2 9
#s -2 4
#d -2 5
#f -2 6
#x -2 1
#c -2 2
#v -2 3
#space -2 0
# Restore key mappings
91 -3 0 /* PgUp -> RESTORE */
# Joyport attached keypad key mappings
69 -5 0 /* Num Lock -> keypad x0 */
71 -5 1 /* Numpad 7 -> keypad 7 */
72 -5 2 /* Numpad 8 -> keypad 8 */
73 -5 3 /* Numpad 9 -> keypad 9 */
103 -5 4 /* Numpad / -> keypad / */
70 -5 5 /* Scroll Lock -> keypad x1 */
75 -5 6 /* Numpad 4 -> keypad 4 */
76 -5 7 /* Numpad 5 -> keypad 5 */
77 -5 8 /* Numpad 6 -> keypad 6 */
55 -5 9 /* Numpad * -> keypad * */
84 -5 10 /* SysReq -> keypad x2 */
79 -5 11 /* Numpad 1 -> keypad 1 */
80 -5 12 /* Numpad 2 -> keypad 2 */
81 -5 13 /* Numpad 3 -> keypad 3 */
74 -5 14 /* Numpad - -> keypad - */
102 -5 15 /* PrtScr -> keypad x3 */
82 -5 16 /* Numpad 0 -> keypad 0 */
83 -5 17 /* Numpad . -> keypad . */
99 -5 18 /* Numpad Enter -> keypad enter */
78 -5 19 /* Numpad + -> keypad + */

215
emulator/C64/win_sym_it.vkm Normal file
View file

@ -0,0 +1,215 @@
# VICE keyboard mapping file
#
# A Keyboard map is read in as patch to the current map.
#
# File format:
# - comment lines start with '#'
# - keyword lines start with '!keyword'
# - normal line has 'keysym/scancode row column shiftflag'
#
# Keywords and their lines are:
# '!CLEAR' clear whole table
# '!INCLUDE filename' read file as mapping file
# '!LSHIFT row col' left shift keyboard row/column
# '!RSHIFT row col' right shift keyboard row/column
# '!VSHIFT shiftkey' virtual shift key (RSHIFT or LSHIFT)
# '!SHIFTL shiftkey' shift lock key (RSHIFT or LSHIFT)
# '!UNDEF keysym' remove keysym from table
#
# Shiftflag can have the values:
# 0 key is not shifted for this keysym/scancode
# 1 key is shifted for this keysym/scancode
# 2 left shift
# 4 right shift
# 8 key can be shifted or not with this keysym/scancode
# 16 deshift key for this keysym/scancode
# 32 another definition for this keysym/scancode follows
# 64 shift lock
# 256 key is used for an alternative keyboard mapping
#
# Negative row values:
# 'keysym -1 n' joystick keymap A, direction n
# 'keysym -2 n' joystick keymap B, direction n
# 'keysym -3 0' first RESTORE key
# 'keysym -3 1' second RESTORE key
# 'keysym -4 0' 40/80 column key
# 'keysym -4 1' CAPS (ASCII/DIN) key
# 'keysym -5 n' joyport keypad, key n
#
# Joystick direction values:
# 0 Fire
# 1 South/West
# 2 South
# 3 South/East
# 4 West
# 5 East
# 6 North/West
# 7 North
# 8 North/East
#
# Joyport keypad key layout:
# --------------------------
# | 0 | 1 | 2 | 3 | 4 |
# --------------------------
# | 5 | 6 | 7 | 8 | 9 |
# --------------------------
# | 10 | 11 | 12 | 13 | 14 |
# --------------------------
# | 15 | 16 | 17 | 18 | 19 |
# --------------------------
#
# When a bigger spaced key is used,
# it uses the upper left most key value.
!CLEAR
!LSHIFT 1 7
!RSHIFT 6 4
!VSHIFT RSHIFT
#0 -1 -1 0 /* (no key) */
1 7 7 8 /* ESC -> Run/Stop */
2 7 0 8 /* 1 -> 1 */
3 7 3 8 /* 2 -> 2 */
4 1 0 0 /* 3 -> 3 */
5 1 3 8 /* 4 -> 4 */
6 2 0 8 /* 5 -> 5 */
7 2 3 8 /* 6 -> 6 */
8 3 0 32 /* 7 -> 7 */
8 6 7 16 /* 7 -> / */
9 3 3 8 /* 8 -> 8 */
10 4 0 8 /* 9 -> 9 */
11 4 3 32 /* 0 -> 0 */
11 6 5 16 /* 0 -> = */
12 6 7 8 /* SZ -> / */
13 3 0 1 /* ' -> ' */
14 0 0 8 /* Backspace -> Del */
15 7 2 8 /* TAB -> Ctrl */
16 7 6 8 /* Q -> Q */
17 1 1 8 /* W -> W */
18 1 6 8 /* E -> E */
19 2 1 8 /* R -> R */
20 2 6 8 /* T -> T */
21 3 1 8 /* Z -> Z */
22 3 6 8 /* U -> U */
23 4 1 8 /* I -> I */
24 4 6 8 /* O -> O */
25 5 1 8 /* p -> P */
#26 5 6 8 /* UE -> (no key) */
27 5 0 32 /* + -> + */
27 6 1 16 /* + -> * */
28 0 1 8 /* Return -> Return */
29 7 5 8 /* Left Ctrl -> CBM */
30 1 2 8 /* A -> A */
31 1 5 8 /* S -> S */
32 2 2 8 /* D -> D */
33 2 5 8 /* F -> F */
34 3 2 8 /* G -> G */
35 3 5 8 /* H -> H */
36 4 2 8 /* J -> J */
37 4 5 8 /* K -> K */
38 5 2 8 /* L -> L */
#39 5 5 8 /* OE -> (no key) */
#40 6 2 8 /* AE -> (no key) */
41 7 1 8 /* ` -> Left Arrow */
42 1 7 2 /* Left Shift -> Left Shift */
43 1 0 33 /* # -> # */
43 3 0 1 /* # -> ' */
44 1 4 8 /* Y -> Y */
45 2 7 8 /* X -> X */
46 2 4 8 /* C -> C */
47 3 7 8 /* V -> V */
48 3 4 8 /* B -> B */
49 4 7 8 /* N -> N */
50 4 4 8 /* M -> M */
51 5 7 32 /* , -> , */
51 6 2 16 /* , -> ; */
52 5 4 32 /* . -> . */
52 5 5 16 /* . -> : */
53 5 3 0 /* - -> - */
54 6 4 4 /* Right Shift -> Right Shift */
#56 -1 -1 0 /* Left Alt -> (no key) */
57 7 4 8 /* Space -> Space */
58 7 7 8 /* Caps Lock -> Run/Stop */
59 0 4 8 /* F1 -> F1 */
60 0 4 1 /* F2 -> F2 */
61 0 5 8 /* F3 -> F3 */
62 0 5 1 /* F4 -> F4 */
63 0 6 8 /* F5 -> F5 */
64 0 6 1 /* F6 -> F6 */
65 0 3 8 /* F7 -> F7 */
66 0 3 1 /* F8 -> F8 */
#67 -1 -1 0 /* F9 -> (no key) */
#68 -1 -1 0 /* F10 -> (no key) */
#85 -1 -1 0 /* 85 -> (no key) */
86 5 7 33 /* < -> < */
86 5 4 1 /* < -> > */
#87 -1 -1 0 /* F11 -> (no key) */
#88 -1 -1 0 /* F12 -> (no key) */
89 6 3 8 /* Home -> CLR/HOME */
90 0 7 1 /* Up -> CRSR UP */
92 0 2 1 /* Left -> CRSR LEFT */
93 0 2 8 /* Right -> CRSR RIGHT */
#94 -1 -1 0 /* End -> (no key) */
95 0 7 8 /* Down -> CRSR DOWN */
#96 -1 -1 0 /* PgDown -> (no key) */
97 6 0 8 /* Ins -> Pound */
98 6 6 8 /* Del -> Up Arrow */
#100 -1 -1 0 /* Right Ctrl -> (no key) */
#101 -1 -1 0 /* Pause -> (no key) */
#104 -1 -1 0 /* Right Alt -> (no key) */
#105 -1 -1 0 /* Break -> (no key) */
#106 -1 -1 0 /* Left Win95 -> (no key) */
#107 -1 -1 0 /* Right Win95 -> (no key) */
#
# Joystick 1
#
#KP_0 -1 0
#KP_1 -1 1
#KP_2 -1 2
#KP_3 -1 3
#KP_4 -1 4
#KP_5 -1 5
#KP_6 -1 6
#KP_7 -1 7
#KP_8 -1 8
#KP_9 -1 9
#
# Joystick 2
#
#w -2 7
#e -2 8
#r -2 9
#s -2 4
#d -2 5
#f -2 6
#x -2 1
#c -2 2
#v -2 3
#space -2 0
# Restore key mappings
91 -3 0 /* PgUp -> RESTORE */
# Joyport attached keypad key mappings
69 -5 0 /* Num Lock -> keypad x0 */
71 -5 1 /* Numpad 7 -> keypad 7 */
72 -5 2 /* Numpad 8 -> keypad 8 */
73 -5 3 /* Numpad 9 -> keypad 9 */
103 -5 4 /* Numpad / -> keypad / */
70 -5 5 /* Scroll Lock -> keypad x1 */
75 -5 6 /* Numpad 4 -> keypad 4 */
76 -5 7 /* Numpad 5 -> keypad 5 */
77 -5 8 /* Numpad 6 -> keypad 6 */
55 -5 9 /* Numpad * -> keypad * */
84 -5 10 /* SysReq -> keypad x2 */
79 -5 11 /* Numpad 1 -> keypad 1 */
80 -5 12 /* Numpad 2 -> keypad 2 */
81 -5 13 /* Numpad 3 -> keypad 3 */
74 -5 14 /* Numpad - -> keypad - */
102 -5 15 /* PrtScr -> keypad x3 */
82 -5 16 /* Numpad 0 -> keypad 0 */
83 -5 17 /* Numpad . -> keypad . */
99 -5 18 /* Numpad Enter -> keypad enter */
78 -5 19 /* Numpad + -> keypad + */

BIN
emulator/DRIVES/d1541II Normal file

Binary file not shown.

BIN
emulator/DRIVES/d1571cr Normal file

Binary file not shown.

BIN
emulator/DRIVES/dos1001 Normal file

Binary file not shown.

BIN
emulator/DRIVES/dos1540 Normal file

Binary file not shown.

BIN
emulator/DRIVES/dos1541 Normal file

Binary file not shown.

BIN
emulator/DRIVES/dos1551 Normal file

Binary file not shown.

BIN
emulator/DRIVES/dos1570 Normal file

Binary file not shown.

BIN
emulator/DRIVES/dos1571 Normal file

Binary file not shown.

BIN
emulator/DRIVES/dos1581 Normal file

Binary file not shown.

BIN
emulator/DRIVES/dos2031 Normal file

Binary file not shown.

BIN
emulator/DRIVES/dos2040 Normal file

Binary file not shown.

BIN
emulator/DRIVES/dos3040 Normal file

Binary file not shown.

BIN
emulator/DRIVES/dos4040 Normal file

Binary file not shown.

BIN
emulator/autostart-C64.d64 Normal file

Binary file not shown.

Binary file not shown.

BIN
emulator/doc/vice.chm Normal file

Binary file not shown.

BIN
emulator/doc/vice.hlp Normal file

Binary file not shown.

BIN
emulator/doc/vice.pdf Normal file

Binary file not shown.

BIN
emulator/fonts/CBM.ttf Normal file

Binary file not shown.

Binary file not shown.

2503
emulator/fonts/vice-cbm.bdf Normal file

File diff suppressed because it is too large Load diff

BIN
emulator/libgcc_s_seh-1.dll Normal file

Binary file not shown.

BIN
emulator/libstdc++-6.dll Normal file

Binary file not shown.

Binary file not shown.

16
emulator/vice.ini Normal file
View file

@ -0,0 +1,16 @@
[C64]
Window0Xpos=441
Window0Ypos=116
FullscreenWidth=1920
FullscreenHeight=1080
FullscreenRefreshRate=60
ConfirmOnExit=0
SoundDeviceName="dx"
SoundBufferSize=100
VICIIVideoCache=1
VICIIFilter=0
SidEngine=1
SidModel=1
ETHERNETCARTBase=56832
Acia1Base=56832

73
emulator/vice.log Normal file
View file

@ -0,0 +1,73 @@
*** VICE Version 3.0 ***
OS compiled for: WIN64
GUI compiled for: NATIVE
CPU compiled for: X64
Compiler used: GCC-6.2.0
Current OS: Windows 10 Pro (64bit X64)
Current CPU: Intel Pentium Pro/II/III/Celeron/Core/Core 2/Atom
Welcome to x64, the free portable C64 Emulator.
Current VICE team members:
Andreas Matthies, Martin Pottendorfer, Marco van den Heuvel, Fabrizio Gennari,
Groepaz, Marcus Sutton, Kajtar Zsolt, Stefan Haubenthal, BSzili, AreaScout,
Bas Wassink.
This is free software with ABSOLUTELY NO WARRANTY.
See the "About VICE" command for more info.
Loading system file `C:\Users\clifford\dev\work\c64template\emulator\C64\kernal'.
Loading system file `C:\Users\clifford\dev\work\c64template\emulator\C64\basic'.
Loading system file `C:\Users\clifford\dev\work\c64template\emulator\C64\chargen'.
MPS-803: Error - Could not load MPS-803 charset 'mps803'.
Palette: Error - Palette not found: `mps803.vpl'.
MPS-803: Error - Cannot load palette file `mps803.vpl'.
NL10: Error - Could not load NL-10 ROM file 'nl10-cbm'.
Palette: Error - Palette not found: `1520.vpl'.
plot1520: Error - Cannot load palette file `1520.vpl'.
Loading system file `C:\Users\clifford\dev\work\c64template\emulator\DRIVES\dos1540'.
Loading system file `C:\Users\clifford\dev\work\c64template\emulator\DRIVES\dos1541'.
Loading system file `C:\Users\clifford\dev\work\c64template\emulator\DRIVES\d1541II'.
Loading system file `C:\Users\clifford\dev\work\c64template\emulator\DRIVES\dos1570'.
Loading system file `C:\Users\clifford\dev\work\c64template\emulator\DRIVES\dos1571'.
Loading system file `C:\Users\clifford\dev\work\c64template\emulator\DRIVES\dos1581'.
DriveROM: Error - 2000 ROM image not found. Hardware-level 2000 emulation is not available.
DriveROM: Error - 4000 ROM image not found. Hardware-level 4000 emulation is not available.
Loading system file `C:\Users\clifford\dev\work\c64template\emulator\DRIVES\dos2031'.
Loading system file `C:\Users\clifford\dev\work\c64template\emulator\DRIVES\dos2040'.
Loading system file `C:\Users\clifford\dev\work\c64template\emulator\DRIVES\dos3040'.
Loading system file `C:\Users\clifford\dev\work\c64template\emulator\DRIVES\dos4040'.
Loading system file `C:\Users\clifford\dev\work\c64template\emulator\DRIVES\dos1001'.
Drive: Finished loading ROM images.
video_dx9: Failed to prepare for rendering!
Sound: Available sound devices: dx wmm dummy fs dump wav voc iff aiff mp3 flac ogg soundmovie
Keyboard: Loading keymap `C:\Users\clifford\dev\work\c64template\emulator\C64\win_sym.vkm'.
AUTOSTART: Autodetecting image type of `build\c64-devkit.prg'.
Filesystem Image: Unknown disk image `build\c64-devkit.prg'.
Tape: Error - Cannot open file `build\c64-devkit.prg'
Error - CRT header invalid.
CART: 'build\c64-devkit.prg' is not a valid CRT file.
AUTOSTART: Loading PRG file `build\c64-devkit.prg' with autostart disk image.
AUTOSTART: Turning true drive emulation off.
AUTOSTART: Turning true drive emulation on.
AUTOSTART: Resetting the machine to autostart '*'
Drive 8: RESET.
Sound: Opened device `dx', speed 44100Hz, fragment size 2.9ms, buffer size 101ms
reSID: MOS8580, filter on, sampling rate 44100Hz - resampling, pass to 19845Hz
AUTOSTART: Turning Warp mode on
AUTOSTART: `build\c64-devkit.prg' recognized as program/p00 file.
Main CPU: starting at ($FFFC).
Main CPU: RESET.
Drive 8: RESET.
AUTOSTART: Loading program '*'
AUTOSTART: Searching for ...
AUTOSTART: Loading
AUTOSTART: Entered ROM at $eea9
AUTOSTART: Ready
AUTOSTART: Turning Warp mode off
AUTOSTART: Starting program.
AUTOSTART: Done.
Exiting...
Sound: Closing device `dx'

BIN
emulator/x64.exe Normal file

Binary file not shown.

BIN
emulator/x64sc.exe Normal file

Binary file not shown.

BIN
emulator/zlib1.dll Normal file

Binary file not shown.

BIN
genosine/genosine.exe Normal file

Binary file not shown.

1
genosine/source.txt Normal file
View file

@ -0,0 +1 @@
Compiled from source available at https://github.com/cliffordcarnmo/genosine

BIN
graphics/logo-bitmap.dat Normal file

Binary file not shown.

BIN
graphics/logo-colors.dat Normal file

Binary file not shown.

BIN
graphics/logo-screen.dat Normal file

Binary file not shown.

BIN
graphics/logo.gpx Normal file

Binary file not shown.

BIN
graphics/logo2.gpx Normal file

Binary file not shown.

BIN
music/86400_7k.sid Normal file

Binary file not shown.

414
source/main.asm Normal file
View file

@ -0,0 +1,414 @@
screen = $0400
screenScroller = $0400+40*24
code = $0801
bitmap = $2000
charset = $3800
sprites = $3e00
bitmapColors = $4000
tables = $5000
music = $7000
musicPlay = $7003
bitmapScreen = $8000
colors = $d800
line1 = 0
line2 = 114
*= bitmap
!binary "graphics/logo-bitmap.dat",2544
*= charset
!binary "charset/charset.dat",800
*= sprites
!binary "sprites/sprites.dat"
*= bitmapColors
!binary "graphics/logo-colors.dat"
*= bitmapScreen
!binary "graphics/logo-screen.dat"
*= tables
sinTable1:
!source "tables/sin1.dat"
sinTable2:
!source "tables/sin2.dat"
!source "tables/sin2.dat"
sinTable3:
!source "tables/sin3.dat"
sinTable4:
!source "tables/sin4.dat"
colorTable:
!byte $06,$06,$0e,$03,$0d,$07,$0f,$01
!byte $01,$0f,$07,$0d,$03,$0e,$06,$06
colorTable2:
!byte $0b,$0b,$0b,$0b,$0b,$0b,$0b,$0b
!byte $0b,$0b,$0c,$0c,$0c,$0c,$0c,$0f
!byte $0f,$03,$03,$07,$01,$01,$01,$01
!byte $01,$07,$03,$03,$0c,$0c,$0b,$0b
!byte $0b,$0b,$0b,$0b
infoText:
!scr "S github.com/cliffordcarnmo/c64-devkit S"
*= music
!binary "music/86400_7k.sid",,$7e
*= code
jsr $e544
jsr initSprites
lda #%00011110
sta $d018
sei
lda #$7f
sta $dc0d
sta $dd0d
lda $dc0d
lda $dd0d
lda #$01
sta $d01a
lda #$1b
sta $d011
lda #$35
sta $01
lda #line1
sta $d012
lda #<irq1
sta $fffe
lda #>irq1
sta $ffff
jsr music
jsr timerSetup
lda #$00
sta $d020
sta $d021
ldx #$00
writeText:
lda infoText,x
sta screen+40*24,x
lda #$01
sta colors+40*24,x
inx
cpx #40
bne writeText
ldx #$00
l:
lda bitmapColors,x
sta colors,x
lda bitmapScreen,x
sta $0400,x
inx
cpx #$ff
bne l
ldx #$00
l2:
lda bitmapColors+$ff,x
sta colors+$ff,x
lda bitmapScreen+$ff,x
sta screen+$ff,x
inx
cpx #$40
bne l2
lda #$02
sta $d800+40*24
sta $d827+40*24
cli
mainloop:
jsr plasma
jmp mainloop
irq1:
pha
txa
pha
tya
pha
lda #$ff
sta $d019
jsr graphicsMode
jsr musicPlay
jsr moveSprites
jsr colorCycle
inc $90
inc $92
lda #line2
sta $d012
lda #<irq2
sta $fffe
lda #>irq2
sta $ffff
pla
tay
pla
tax
pla
rti
irq2:
pha
txa
pha
tya
pha
lda #$ff
sta $d019
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jsr textMode
lda #line1
sta $d012
lda #<irq1
sta $fffe
lda #>irq1
sta $ffff
pla
tay
pla
tax
pla
rti
plasma:
ldy $64
!for i, 8, 23 {
ldx $90
lda sinTable2+i,x
adc $64
tax
lda sinTable1+i,x
sta screen+40*i,y
tax
lda colorTable-64,x
ora $dc09
and #$07
sta colors+40*i,y
}
inc $64
lda $64
cmp #40
beq zero64
rts
zero64:
lda #$00
sta $64
rts
initSprites:
lda #$f8
sta $07f8
lda #$f9
sta $07f9
lda #$fa
sta $07fa
lda #$fb
sta $07fb
lda #$fc
sta $07fc
lda #$fd
sta $07fd
lda #$fe
sta $07fe
lda #$ff
sta $07ff
lda #$01
sta $d025
lda #$06
sta $d026
lda #$02
sta $d027
sta $d028
sta $d029
sta $d02a
sta $d02b
sta $d02c
sta $d02d
sta $d02e
lda #%11111111
sta $d015
lda #%00000000
sta $d01b
lda #%11111111
sta $d01c
lda #%11000000
sta $d01d
sta $d017
lda #%00000000
sta $d010
rts
moveSprites:
ldx $92
lda sinTable4,x
sta $d000
lda sinTable3,x
sta $d001
inx
inx
inx
inx
inx
inx
inx
inx
lda sinTable4,x
sta $d002
lda sinTable3,x
sta $d003
inx
inx
inx
inx
inx
inx
inx
inx
lda sinTable4,x
sta $d004
lda sinTable3,x
sta $d005
inx
inx
inx
inx
inx
inx
inx
inx
lda sinTable4,x
sta $d006
lda sinTable3,x
sta $d007
inx
inx
inx
inx
inx
inx
inx
inx
lda sinTable4,x
sta $d008
lda sinTable3,x
sta $d009
inx
inx
inx
inx
inx
inx
inx
inx
lda sinTable4,x
sta $d00a
lda sinTable3,x
sta $d00b
lda #155
sta $d00c
lda #155
sta $d00d
lda #190
sta $d00e
lda #155
sta $d00f
rts
colorCycle:
lda colorTable2
sta colorTable2+36
ldx #$00
cl:
lda colorTable2+1,x
sta colorTable2,x
sta $dbc2,x
inx
cpx #36
bne cl
rts

15
source/screen.asm Normal file
View file

@ -0,0 +1,15 @@
textMode:
lda #%11001000
sta $d016
lda #%00011011
sta $d011
rts
graphicsMode:
lda #%11011000
sta $d016
lda #%00111011
sta $d011
rts

9
source/timer.asm Normal file
View file

@ -0,0 +1,9 @@
timerSetup:
lda #$00
sta $dc0e
sta $dc0f
sta $dc0b
sta $dc0a
sta $dc09
sta $dc08
rts

BIN
sprites/sprites.dat Normal file

Binary file not shown.

BIN
sprites/sprites.gpx Normal file

Binary file not shown.

32
tables/sin1.dat Normal file
View file

@ -0,0 +1,32 @@
!byte $48,$48,$49,$4a,$4b,$4c,$4c,$4d
!byte $4e,$4e,$4e,$4f,$4f,$4f,$4f,$4e
!byte $4e,$4e,$4d,$4d,$4c,$4b,$4b,$4a
!byte $49,$48,$47,$46,$45,$44,$44,$43
!byte $42,$42,$41,$41,$41,$40,$40,$40
!byte $40,$41,$41,$41,$42,$43,$43,$44
!byte $45,$46,$47,$48,$48,$49,$4a,$4b
!byte $4c,$4c,$4d,$4e,$4e,$4e,$4f,$4f
!byte $4f,$4f,$4e,$4e,$4e,$4d,$4d,$4c
!byte $4b,$4b,$4a,$49,$48,$47,$46,$45
!byte $44,$44,$43,$42,$42,$41,$41,$41
!byte $40,$40,$40,$40,$41,$41,$41,$42
!byte $43,$43,$44,$45,$46,$47,$48,$48
!byte $49,$4a,$4b,$4c,$4c,$4d,$4e,$4e
!byte $4e,$4f,$4f,$4f,$4f,$4e,$4e,$4e
!byte $4d,$4d,$4c,$4b,$4b,$4a,$49,$48
!byte $47,$46,$45,$44,$44,$43,$42,$42
!byte $41,$41,$41,$40,$40,$40,$40,$41
!byte $41,$41,$42,$43,$43,$44,$45,$46
!byte $47,$48,$48,$49,$4a,$4b,$4c,$4c
!byte $4d,$4e,$4e,$4e,$4f,$4f,$4f,$4f
!byte $4e,$4e,$4e,$4d,$4d,$4c,$4b,$4b
!byte $4a,$49,$48,$47,$46,$45,$44,$44
!byte $43,$42,$42,$41,$41,$41,$40,$40
!byte $40,$40,$41,$41,$41,$42,$43,$43
!byte $44,$45,$46,$47,$48,$48,$49,$4a
!byte $4b,$4c,$4c,$4d,$4e,$4e,$4e,$4f
!byte $4f,$4f,$4f,$4e,$4e,$4e,$4d,$4d
!byte $4c,$4b,$4b,$4a,$49,$48,$47,$46
!byte $45,$44,$44,$43,$42,$42,$41,$41
!byte $41,$40,$40,$40,$40,$41,$41,$41
!byte $42,$43,$43,$44,$45,$46,$47,$47

32
tables/sin2.dat Normal file
View file

@ -0,0 +1,32 @@
!byte $99,$98,$98,$98,$97,$96,$95,$94
!byte $93,$91,$90,$8e,$8c,$8a,$88,$86
!byte $84,$82,$7f,$7d,$7b,$79,$77,$75
!byte $73,$71,$6f,$6d,$6c,$6b,$69,$68
!byte $67,$67,$66,$66,$66,$66,$66,$66
!byte $67,$67,$68,$69,$6b,$6c,$6e,$6f
!byte $71,$73,$75,$77,$79,$7b,$7e,$80
!byte $82,$84,$86,$88,$8a,$8c,$8e,$90
!byte $91,$93,$94,$95,$96,$97,$98,$98
!byte $98,$98,$98,$98,$98,$97,$96,$95
!byte $94,$92,$91,$8f,$8e,$8c,$8a,$88
!byte $86,$84,$81,$7f,$7d,$7b,$79,$77
!byte $74,$73,$71,$6f,$6d,$6c,$6a,$69
!byte $68,$67,$67,$66,$66,$66,$66,$66
!byte $66,$67,$68,$69,$6a,$6b,$6c,$6e
!byte $70,$71,$73,$75,$77,$7a,$7c,$7e
!byte $80,$82,$84,$87,$89,$8b,$8d,$8e
!byte $90,$92,$93,$94,$95,$96,$97,$98
!byte $98,$98,$98,$98,$98,$97,$97,$96
!byte $95,$94,$92,$91,$8f,$8d,$8b,$8a
!byte $87,$85,$83,$81,$7f,$7d,$7a,$78
!byte $76,$74,$72,$70,$6f,$6d,$6c,$6a
!byte $69,$68,$67,$66,$66,$66,$66,$66
!byte $66,$66,$67,$68,$69,$6a,$6b,$6d
!byte $6e,$70,$72,$74,$76,$78,$7a,$7c
!byte $7e,$80,$83,$85,$87,$89,$8b,$8d
!byte $8f,$90,$92,$93,$95,$96,$97,$97
!byte $98,$98,$98,$98,$98,$98,$97,$97
!byte $96,$95,$93,$92,$91,$8f,$8d,$8b
!byte $89,$87,$85,$83,$81,$7f,$7c,$7a
!byte $78,$76,$74,$72,$70,$6e,$6d,$6b
!byte $6a,$69,$68,$67,$66,$66,$66,$66

32
tables/sin3.dat Normal file
View file

@ -0,0 +1,32 @@
!byte $dc,$db,$db,$da,$d9,$d8,$d6,$d5
!byte $d3,$d0,$ce,$cb,$c8,$c5,$c2,$be
!byte $bb,$b7,$b3,$b0,$ac,$a8,$a4,$a0
!byte $9c,$99,$95,$91,$8e,$8b,$87,$84
!byte $82,$7f,$7d,$7a,$78,$77,$75,$74
!byte $73,$73,$73,$73,$73,$73,$74,$75
!byte $77,$78,$7a,$7d,$7f,$82,$84,$87
!byte $8b,$8e,$91,$95,$99,$9c,$a0,$a4
!byte $a8,$ac,$b0,$b3,$b7,$bb,$be,$c2
!byte $c5,$c8,$cb,$ce,$d0,$d3,$d5,$d6
!byte $d8,$d9,$da,$db,$db,$dc,$db,$db
!byte $da,$d9,$d8,$d6,$d5,$d3,$d0,$ce
!byte $cb,$c8,$c5,$c2,$be,$bb,$b7,$b3
!byte $b0,$ac,$a8,$a4,$a0,$9c,$99,$95
!byte $91,$8e,$8b,$87,$84,$82,$7f,$7d
!byte $7a,$78,$77,$75,$74,$73,$73,$73
!byte $73,$73,$73,$74,$75,$77,$78,$7a
!byte $7d,$7f,$82,$84,$87,$8b,$8e,$91
!byte $95,$99,$9c,$a0,$a4,$a8,$ac,$b0
!byte $b3,$b7,$bb,$be,$c2,$c5,$c8,$cb
!byte $ce,$d0,$d3,$d5,$d6,$d8,$d9,$da
!byte $db,$db,$dc,$db,$db,$da,$d9,$d8
!byte $d6,$d5,$d3,$d0,$ce,$cb,$c8,$c5
!byte $c2,$be,$bb,$b7,$b3,$b0,$ac,$a8
!byte $a4,$a0,$9c,$99,$95,$91,$8e,$8b
!byte $87,$84,$82,$7f,$7d,$7a,$78,$77
!byte $75,$74,$73,$73,$73,$73,$73,$73
!byte $74,$75,$77,$78,$7a,$7d,$7f,$82
!byte $84,$87,$8b,$8e,$91,$95,$99,$9c
!byte $a0,$a4,$a8,$ac,$b0,$b3,$b7,$bb
!byte $be,$c2,$c5,$c8,$cb,$ce,$d0,$d3
!byte $d5,$d6,$d8,$d9,$da,$db,$db,$dc

32
tables/sin4.dat Normal file
View file

@ -0,0 +1,32 @@
!byte $ac,$b1,$b6,$bb,$bf,$c4,$c8,$cd
!byte $d1,$d5,$d8,$dc,$df,$e2,$e5,$e7
!byte $e9,$eb,$ec,$ed,$ee,$ee,$ee,$ed
!byte $ed,$eb,$ea,$e8,$e6,$e3,$e1,$de
!byte $da,$d7,$d3,$cf,$cb,$c6,$c2,$bd
!byte $b8,$b3,$ae,$aa,$a5,$a0,$9b,$96
!byte $92,$8d,$89,$85,$81,$7e,$7a,$77
!byte $75,$72,$70,$6e,$6d,$6b,$6b,$6a
!byte $6a,$6a,$6b,$6c,$6d,$6f,$71,$73
!byte $76,$79,$7c,$80,$83,$87,$8b,$90
!byte $94,$99,$9d,$a2,$a7,$ac,$b1,$b6
!byte $bb,$bf,$c4,$c8,$cd,$d1,$d5,$d8
!byte $dc,$df,$e2,$e5,$e7,$e9,$eb,$ec
!byte $ed,$ee,$ee,$ee,$ed,$ed,$eb,$ea
!byte $e8,$e6,$e3,$e1,$de,$da,$d7,$d3
!byte $cf,$cb,$c6,$c2,$bd,$b8,$b3,$ae
!byte $aa,$a5,$a0,$9b,$96,$92,$8d,$89
!byte $85,$81,$7e,$7a,$77,$75,$72,$70
!byte $6e,$6d,$6b,$6b,$6a,$6a,$6a,$6b
!byte $6c,$6d,$6f,$71,$73,$76,$79,$7c
!byte $80,$83,$87,$8b,$90,$94,$99,$9d
!byte $a2,$a7,$ac,$b1,$b6,$bb,$bf,$c4
!byte $c8,$cd,$d1,$d5,$d8,$dc,$df,$e2
!byte $e5,$e7,$e9,$eb,$ec,$ed,$ee,$ee
!byte $ee,$ed,$ed,$eb,$ea,$e8,$e6,$e3
!byte $e1,$de,$da,$d7,$d3,$cf,$cb,$c6
!byte $c2,$bd,$b8,$b3,$ae,$aa,$a5,$a0
!byte $9b,$96,$92,$8d,$89,$85,$81,$7e
!byte $7a,$77,$75,$72,$70,$6e,$6d,$6b
!byte $6b,$6a,$6a,$6a,$6b,$6c,$6d,$6f
!byte $71,$73,$76,$79,$7c,$80,$83,$87
!byte $8b,$90,$94,$99,$9d,$a2,$a7,$ac

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
tools/pixcen/Pixcen.exe Normal file

Binary file not shown.

Binary file not shown.

BIN
tools/vchar64/Qt5Core.dll Normal file

Binary file not shown.

BIN
tools/vchar64/Qt5Gui.dll Normal file

Binary file not shown.

Binary file not shown.

BIN
tools/vchar64/Qt5Svg.dll Normal file

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show more