Adding Linux support

This commit is contained in:
Clifford Carnmo 2017-03-26 12:56:52 +02:00
parent 3d745a89ee
commit b6a43dea39
150 changed files with 133 additions and 79 deletions

48
Makefile Normal file
View file

@ -0,0 +1,48 @@
CLEAN=rm
CLEANARGS=-f
BUILDPATH=build
BUILD=c64-devkit.prg
SOURCEPATH=source
SOURCE=main.asm
COMPILERPATH=compiler/linux
COMPILER=acme
COMPILERREPORT=buildreport
COMPILERSYMBOLS=symbols
COMPILERARGS=-r $(BUILDPATH)/$(COMPILERREPORT) --vicelabels $(BUILDPATH)/$(COMPILERSYMBOLS) --msvc --color --format cbm -v3 --outfile
CRUNCHERPATH=cruncher/linux
CRUNCHER=pucrunch
CRUNCHERARGS=-x0x0801 -c64 -g55 -fshort
EMULATORPATH=emulator/linux
EMULATOR=x64
EMULATORARGS=
GENOSINEPATH=genosine/linux
GENOSINE=genosine
TABLESPATH=tables
TABLE1=sin1.dat
TABLE1ARGS=256 63 81 0 720 80 3 0
TABLE2=sin2.dat
TABLE2ARGS=256 0 255 0 180 20 3 1
TABLE3=sin3.dat
TABLE3ARGS=256 80 255 0 360 60 2 1
TABLE4=sin4.dat
TABLE4ARGS=256 90 255 0 720 80 1 0
all: luts compile crunch run
clean:
$(CLEAN) $(CLEANARGS) $(BUILDPATH)/* $(TABLESPATH)/*
luts:
$(GENOSINEPATH)/$(GENOSINE) $(TABLE1ARGS) > $(TABLESPATH)/$(TABLE1)
$(GENOSINEPATH)/$(GENOSINE) $(TABLE2ARGS) > $(TABLESPATH)/$(TABLE2)
$(GENOSINEPATH)/$(GENOSINE) $(TABLE3ARGS) > $(TABLESPATH)/$(TABLE3)
$(GENOSINEPATH)/$(GENOSINE) $(TABLE4ARGS) > $(TABLESPATH)/$(TABLE4)
compile:
$(COMPILERPATH)/$(COMPILER) $(COMPILERARGS) $(BUILDPATH)/$(BUILD) $(SOURCEPATH)/$(SOURCE)
crunch:
$(CRUNCHERPATH)/$(CRUNCHER) $(CRUNCHERARGS) $(BUILDPATH)/$(BUILD) $(BUILDPATH)/$(BUILD)
run:
$(EMULATORPATH)/$(EMULATOR) $(EMULATORARGS) $(BUILDPATH)/$(BUILD)

View file

@ -1,27 +1,23 @@
@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 source=main.asm
SET compilerPath=compiler\win32
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 cruncherPath=cruncher\win32
SET cruncher=pucrunch.exe
SET cruncherArgs=-x$0801 -c64 -g55 -fshort
SET emulatorPath=emulator
SET emulatorPath=emulator\win32
SET emulator=x64.exe
SET emulatorArgs=
SET genosinePath=genosine
SET genosinePath=genosine\win32
SET genosine=genosine.exe
SET tablesPath=tables
SET table1=sin1.dat
@ -33,9 +29,6 @@ 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%\*.*
@ -43,6 +36,6 @@ IF NOT EXIST %tablesPath% %makedir% %makedirArgs% %tablesPath%
%genosinePath%\%genosine% %table2Args% > %tablesPath%\%table2%
%genosinePath%\%genosine% %table3Args% > %tablesPath%\%table3%
%genosinePath%\%genosine% %table4Args% > %tablesPath%\%table4%
%compilerPath%\%compiler% %compilerArgs% %buildPath%\%build% %sources%
%compilerPath%\%compiler% %compilerArgs% %buildPath%\%build% %sourcePath%\%source%
%cruncherPath%\%cruncher% %cruncherArgs% %buildPath%\%build% %buildPath%\%build%
%emulatorPath%\%emulator% %emulatorArgs% %buildPath%\%build%
%emulatorPath%\%emulator% %emulatorArgs% %buildPath%\%build%

View file

@ -1,5 +1,5 @@
; ******** Source: source\main.asm
; ******** Source: source/main.asm
1 screen = $0400
2 screenScroller = $0400+40*24
3 code = $0801
@ -34,7 +34,7 @@
32 *= tables
33 sinTable1:
; ******** Source: tables\sin1.dat
; ******** 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
@ -68,11 +68,11 @@
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
; ******** Source: source/main.asm
35
36 sinTable2:
; ******** Source: tables\sin2.dat
; ******** 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
@ -106,9 +106,9 @@
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: source/main.asm
; ******** Source: tables\sin2.dat
; ******** 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
@ -142,11 +142,11 @@
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
; ******** Source: source/main.asm
39
40 sinTable3:
; ******** Source: tables\sin3.dat
; ******** 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
@ -180,11 +180,11 @@
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
; ******** Source: source/main.asm
42
43 sinTable4:
; ******** Source: tables\sin4.dat
; ******** 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
@ -218,7 +218,7 @@
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
; ******** Source: source/main.asm
45
46 colorTable:
47 5500 06060e030d070f01 !byte $06,$06,$0e,$03,$0d,$07,$0f,$01
@ -271,7 +271,7 @@
94 0835 8dffff sta $ffff
95
96 0838 200070 jsr music
97 083b 20be0b jsr timerSetup
97 083b 20a80b jsr timerSetup
98
99 083e a900 lda #$00
100 0840 8d20d0 sta $d020
@ -331,7 +331,7 @@
154 0892 a9ff lda #$ff
155 0894 8d19d0 sta $d019
156
157 0897 20b30b jsr graphicsMode
157 0897 20c80b jsr graphicsMode
158 089a 200370 jsr musicPlay
159 089d 200a0b jsr moveSprites
160 08a0 20910b jsr colorCycle
@ -385,7 +385,7 @@
208 08d7 ea nop
209 08d8 ea nop
210
211 08d9 20a80b jsr textMode
211 08d9 20bd0b jsr textMode
212
213 08dc a900 lda #line1
214 08de 8d12d0 sta $d012
@ -588,25 +588,31 @@
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
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

Binary file not shown.

View file

@ -32,8 +32,8 @@ 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:0ba8 .timerSetup
al C:0bc8 .graphicsMode
al C:0bbd .textMode
al C:0b99 .cl
al C:0aa1 .initSprites

BIN
compiler/linux/acme Executable file

Binary file not shown.

BIN
cruncher/linux/pucrunch Executable file

Binary file not shown.

View file

@ -0,0 +1,3 @@
Create a symbolic link here called x64 that points to the VICE x64 binary. The default location for this under Debian-based distributions is /usr/bin/x64.
Or change the Makefile variables EMULATORPATH and EMULATOR.

1
emulator/linux/x64 Symbolic link
View file

@ -0,0 +1 @@
/usr/bin/x64

BIN
genosine/linux/genosine Executable file

Binary file not shown.

View file

@ -94,7 +94,7 @@ infoText:
sta $ffff
jsr music
jsr timerSetup
jsr timerSetup
lda #$00
sta $d020
@ -411,4 +411,31 @@ cl:
inx
cpx #36
bne cl
rts
rts
timerSetup:
lda #$00
sta $dc0e
sta $dc0f
sta $dc0b
sta $dc0a
sta $dc09
sta $dc08
rts
textMode:
lda #%11001000
sta $d016
lda #%00011011
sta $d011
rts
graphicsMode:
lda #%11011000
sta $d016
lda #%00111011
sta $d011
rts

View file

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

View file

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

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