Build cc1541 automatically

This commit is contained in:
Natt Akuma 2025-11-16 17:07:09 +07:00
parent 02cec7acfe
commit 3185776fa4
27 changed files with 8 additions and 416 deletions

6
.gitignore vendored
View file

@ -1 +1,5 @@
.DS_Store
.DS_Store
loader/build
loader/tools/cc1541/cc1541
loader/samples/minexample/*.o

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -1,17 +0,0 @@
MEMORY
{
ZPRAM: start = $2, size = $fe;
ZPRAM2: start = $2, size = $fe;
INSTALLRAM: start = $17fe, size = $e802, file = "../build/install-c64.prg";
RESIDENTRAM: start = $efe, size = $f102, file = "../build/loader-c64.prg";
TRANSIENTRAM: start = $3ffe, size = $c002, file = "../build/transient-c64.prg";
}
SEGMENTS
{
DISKIO_ZP: load = ZPRAM, type = zp;
DISKIO_PLUGIN_ZP: load = ZPRAM2, type = zp, optional = yes;
DISKIO: load = RESIDENTRAM;
DISKIO_PLUGIN: load = TRANSIENTRAM, optional = yes;
DISKIO_INSTALL: load = INSTALLRAM;
}

View file

@ -1,267 +0,0 @@
Modules list:
-------------
loader-nonreloc-c64.o:
CODE Offs=000000 Size=000000 Align=00001 Fill=0000
RODATA Offs=000000 Size=000000 Align=00001 Fill=0000
BSS Offs=000000 Size=000000 Align=00001 Fill=0000
DATA Offs=000000 Size=000000 Align=00001 Fill=0000
ZEROPAGE Offs=000000 Size=000000 Align=00001 Fill=0000
NULL Offs=000000 Size=000000 Align=00001 Fill=0000
DISKIO_ZP Offs=000000 Size=000005 Align=00001 Fill=0000
DISKIO Offs=000000 Size=0000E2 Align=00001 Fill=0000
install-nonreloc-c64.o:
CODE Offs=000000 Size=000000 Align=00001 Fill=0000
RODATA Offs=000000 Size=000000 Align=00001 Fill=0000
BSS Offs=000000 Size=000000 Align=00001 Fill=0000
DATA Offs=000000 Size=000000 Align=00001 Fill=0000
ZEROPAGE Offs=000000 Size=000000 Align=00001 Fill=0000
NULL Offs=000000 Size=000000 Align=00001 Fill=0000
DISKIO_INSTALL Offs=000000 Size=001B55 Align=00001 Fill=0000
Segment list:
-------------
Name Start End Size Align
----------------------------------------------------
BSS 000000 000000 000000 00001
CODE 000000 000000 000000 00001
DATA 000000 000000 000000 00001
NULL 000000 000000 000000 00001
RODATA 000000 000000 000000 00001
ZEROPAGE 000000 000000 000000 00001
DISKIO_ZP 000002 000006 000005 00001
DISKIO 000EFE 000FDF 0000E2 00001
DISKIO_INSTALL 0017FE 003352 001B55 00001
Exports list by name:
---------------------
BLOCKBUFFER41 000100 EA BLOCKBUFFER71 000700 EA
BLOCKBUFFER81 000B00 EA BLOCKDESTLO 000004 LZ
CLEARSECTORLINKTABLE71 00000A EZ CURRTRACK41 00007A EZ
CURRTRACK71 000000 EZ CUSTOMPARAM81 000017 EZ
CUSTOMRECEIVE81 001FD7 EA CUSTOMUPLOADSIZE71 0000DD EZ
CUSTOMZPBUFFER71 000037 EZ DECOMPRESSOR_NONE 000000 EZ
DECOMPVARS 000007 LZ DIRBUFFSIZE71 000013 EZ
DIRBUFFSIZE81 000058 EZ DIRSECTORS71 000074 EZ
DIRTRACKS81 0007A0 EA DRVCODEND81 0007A0 EA
FILENAME41 0000EF EZ FILENAME71 000037 EZ
FILESECTOR41 000076 EZ GETBYTE_CLOCK_ATN_HI 000006 LZ
ID041 000059 EZ LEDSTATE41 0000ED EZ
LEDSTATE71 000002 EZ LINKSECTOR41 00007F EZ
LINKSECTOR71 000008 EZ LINKTRACK41 0000B8 EZ
LINKTRACK71 00000D EZ NUMFILES41 000078 EZ
REQUESTEDSECTOR41 0000EE EZ SECTORLINKTABLE41 00003E EZ
SECTORLINKTABLE71 00001F EZ V1B41 000007 EZ
V2B41 00000F EZ bsetv2b71 0000F6 LZ
bsyledon81 000429 LA cmdfdfix0 0005B3 RLA
cmdfdfix1 000373 REA cmdfdfix2 000374 REA
cmdfdfix3 000702 REA cmdfdfix4 000704 REA
config_ALLOW_2_MHZ_ON_C128 000000 EZ config_DECOMPRESSOR 000000 EZ
config_DIRTRACK 000012 EZ config_DIRTRACK81 000028 EZ
config_END_ADDRESS_API 000000 EZ config_FILENAME_MAXLENGTH 000010 EZ
config_FILE_EXISTS_API 000000 EZ config_INTERNAL 000000 EZ
config_LOAD_COMPD_API 000000 EZ config_LOAD_RAW_API 000001 EZ
config_LOAD_TO_API 000000 EZ config_LOAD_UNDER_D000_DFFF 000000 EZ
config_LOAD_VIA_KERNAL_FALLBACK 000000 EZ config_MEM_DECOMP_API 000000 EZ
config_MEM_DECOMP_TO_API 000000 EZ config_NTSC_COMPATIBILITY 000000 EZ
config_ONLY_1541_AND_COMPATIBLE 000000 EZ config_PREFER_SPEED_OVER_SIZE 000000 EZ
config_UNINSTALL_API 000000 EZ dcodinit81 00074C LA
enablwdg81 0003AF LA filename81 00031B LA
findfile41 000523 EA findfile71 000432 EA
findfile81 0004D4 EA getblock41 000381 LA
getblock71 0002CF LA getblock81 0003CD LA
getbyte41 0004FD EA getbytecmp41 00050A LA
getbyterts41 00050F EA getbytewdog41 0004F4 EA
idleloop41 0004E3 LA idleloop71 0003FC LA
idxloop41 000424 LA idxloop71 00065C LA
initcntr81 0003F3 LA initlink41 00027B LA
initlink71 000192 LA initwdog81 000397 LA
install 001800 LA loadaddrhi 000003 LZ
loadaddrlo 000002 RLZ loader_zp_first 000002 EZ
loader_zp_last 000006 EZ loadfile41 0005BA LA
loadfile71 0004E1 LA loadfile81 000596 LA
loadraw 000F00 LA onemhz71 0000DF LZ
sertoraw41 000216 LA setbv2b41 0002AD LA
status_DEVICE_INCOMPATIBLE 0000FB EZ status_DEVICE_NOT_PRESENT 0000FE EZ
status_FILE_NOT_FOUND 0000FF EZ status_GENERIC_KERNAL_ERROR 0000FD EZ
status_OK 000000 EZ status_TOO_MANY_DEVICES 0000FC EZ
swapzp81 000343 LA topofstack41 000106 EA
topofstack71 0001D4 EA trkseek41 00022C LA
trkseek71 000111 LA wdogentr41 0004C4 LA
Exports list by value:
----------------------
config_END_ADDRESS_API 000000 EZ CURRTRACK71 000000 EZ
DECOMPRESSOR_NONE 000000 EZ config_UNINSTALL_API 000000 EZ
config_PREFER_SPEED_OVER_SIZE 000000 EZ config_ONLY_1541_AND_COMPATIBLE 000000 EZ
config_NTSC_COMPATIBILITY 000000 EZ config_MEM_DECOMP_TO_API 000000 EZ
config_MEM_DECOMP_API 000000 EZ config_LOAD_VIA_KERNAL_FALLBACK 000000 EZ
config_LOAD_UNDER_D000_DFFF 000000 EZ status_OK 000000 EZ
config_LOAD_TO_API 000000 EZ config_LOAD_COMPD_API 000000 EZ
config_INTERNAL 000000 EZ config_FILE_EXISTS_API 000000 EZ
config_ALLOW_2_MHZ_ON_C128 000000 EZ config_DECOMPRESSOR 000000 EZ
config_LOAD_RAW_API 000001 EZ loader_zp_first 000002 EZ
loadaddrlo 000002 RLZ LEDSTATE71 000002 EZ
loadaddrhi 000003 LZ BLOCKDESTLO 000004 LZ
loader_zp_last 000006 EZ GETBYTE_CLOCK_ATN_HI 000006 LZ
V1B41 000007 EZ DECOMPVARS 000007 LZ
LINKSECTOR71 000008 EZ CLEARSECTORLINKTABLE71 00000A EZ
LINKTRACK71 00000D EZ V2B41 00000F EZ
config_FILENAME_MAXLENGTH 000010 EZ config_DIRTRACK 000012 EZ
DIRBUFFSIZE71 000013 EZ CUSTOMPARAM81 000017 EZ
SECTORLINKTABLE71 00001F EZ config_DIRTRACK81 000028 EZ
CUSTOMZPBUFFER71 000037 EZ FILENAME71 000037 EZ
SECTORLINKTABLE41 00003E EZ DIRBUFFSIZE81 000058 EZ
ID041 000059 EZ DIRSECTORS71 000074 EZ
FILESECTOR41 000076 EZ NUMFILES41 000078 EZ
CURRTRACK41 00007A EZ LINKSECTOR41 00007F EZ
LINKTRACK41 0000B8 EZ CUSTOMUPLOADSIZE71 0000DD EZ
onemhz71 0000DF LZ LEDSTATE41 0000ED EZ
REQUESTEDSECTOR41 0000EE EZ FILENAME41 0000EF EZ
bsetv2b71 0000F6 LZ status_DEVICE_INCOMPATIBLE 0000FB EZ
status_TOO_MANY_DEVICES 0000FC EZ status_GENERIC_KERNAL_ERROR 0000FD EZ
status_DEVICE_NOT_PRESENT 0000FE EZ status_FILE_NOT_FOUND 0000FF EZ
BLOCKBUFFER41 000100 EA topofstack41 000106 EA
trkseek71 000111 LA initlink71 000192 LA
topofstack71 0001D4 EA sertoraw41 000216 LA
trkseek41 00022C LA initlink41 00027B LA
setbv2b41 0002AD LA getblock71 0002CF LA
filename81 00031B LA swapzp81 000343 LA
cmdfdfix1 000373 REA cmdfdfix2 000374 REA
getblock41 000381 LA initwdog81 000397 LA
enablwdg81 0003AF LA getblock81 0003CD LA
initcntr81 0003F3 LA idleloop71 0003FC LA
idxloop41 000424 LA bsyledon81 000429 LA
findfile71 000432 EA wdogentr41 0004C4 LA
findfile81 0004D4 EA loadfile71 0004E1 LA
idleloop41 0004E3 LA getbytewdog41 0004F4 EA
getbyte41 0004FD EA getbytecmp41 00050A LA
getbyterts41 00050F EA findfile41 000523 EA
loadfile81 000596 LA cmdfdfix0 0005B3 RLA
loadfile41 0005BA LA idxloop71 00065C LA
BLOCKBUFFER71 000700 EA cmdfdfix3 000702 REA
cmdfdfix4 000704 REA dcodinit81 00074C LA
DRVCODEND81 0007A0 EA DIRTRACKS81 0007A0 EA
BLOCKBUFFER81 000B00 EA loadraw 000F00 LA
install 001800 LA CUSTOMRECEIVE81 001FD7 EA
Imports list:
-------------
BLOCKBUFFER41 (install-nonreloc-c64.o):
BLOCKBUFFER71 (install-nonreloc-c64.o):
BLOCKBUFFER81 (install-nonreloc-c64.o):
BLOCKDESTLO (loader-nonreloc-c64.o):
CLEARSECTORLINKTABLE71 (install-nonreloc-c64.o):
CURRTRACK41 (install-nonreloc-c64.o):
CURRTRACK71 (install-nonreloc-c64.o):
CUSTOMPARAM81 (install-nonreloc-c64.o):
CUSTOMRECEIVE81 (install-nonreloc-c64.o):
CUSTOMUPLOADSIZE71 (install-nonreloc-c64.o):
CUSTOMZPBUFFER71 (install-nonreloc-c64.o):
DECOMPRESSOR_NONE (loader-nonreloc-c64.o):
DECOMPVARS (loader-nonreloc-c64.o):
DIRBUFFSIZE71 (install-nonreloc-c64.o):
DIRBUFFSIZE81 (install-nonreloc-c64.o):
DIRSECTORS71 (install-nonreloc-c64.o):
DIRTRACKS81 (install-nonreloc-c64.o):
DRVCODEND81 (install-nonreloc-c64.o):
FILENAME41 (install-nonreloc-c64.o):
FILENAME71 (install-nonreloc-c64.o):
FILESECTOR41 (install-nonreloc-c64.o):
GETBYTE_CLOCK_ATN_HI (loader-nonreloc-c64.o):
ID041 (install-nonreloc-c64.o):
LEDSTATE41 (install-nonreloc-c64.o):
LEDSTATE71 (install-nonreloc-c64.o):
LINKSECTOR41 (install-nonreloc-c64.o):
LINKSECTOR71 (install-nonreloc-c64.o):
LINKTRACK41 (install-nonreloc-c64.o):
LINKTRACK71 (install-nonreloc-c64.o):
NUMFILES41 (install-nonreloc-c64.o):
REQUESTEDSECTOR41 (install-nonreloc-c64.o):
SECTORLINKTABLE41 (install-nonreloc-c64.o):
SECTORLINKTABLE71 (install-nonreloc-c64.o):
V1B41 (install-nonreloc-c64.o):
V2B41 (install-nonreloc-c64.o):
bsetv2b71 (install-nonreloc-c64.o):
bsyledon81 (install-nonreloc-c64.o):
cmdfdfix0 (install-nonreloc-c64.o):
install-nonreloc-c64.o install.s(29)
cmdfdfix1 (install-nonreloc-c64.o):
install-nonreloc-c64.o install.s(30)
cmdfdfix2 (install-nonreloc-c64.o):
install-nonreloc-c64.o install.s(31)
cmdfdfix3 (install-nonreloc-c64.o):
install-nonreloc-c64.o install.s(33)
cmdfdfix4 (install-nonreloc-c64.o):
install-nonreloc-c64.o install.s(34)
config_ALLOW_2_MHZ_ON_C128 (install-nonreloc-c64.o):
config_DECOMPRESSOR (install-nonreloc-c64.o):
config_DIRTRACK (install-nonreloc-c64.o):
config_DIRTRACK81 (install-nonreloc-c64.o):
config_END_ADDRESS_API (install-nonreloc-c64.o):
config_FILENAME_MAXLENGTH (install-nonreloc-c64.o):
config_FILE_EXISTS_API (install-nonreloc-c64.o):
config_INTERNAL (install-nonreloc-c64.o):
config_LOAD_COMPD_API (install-nonreloc-c64.o):
config_LOAD_RAW_API (install-nonreloc-c64.o):
config_LOAD_TO_API (install-nonreloc-c64.o):
config_LOAD_UNDER_D000_DFFF (install-nonreloc-c64.o):
config_LOAD_VIA_KERNAL_FALLBACK (install-nonreloc-c64.o):
config_MEM_DECOMP_API (install-nonreloc-c64.o):
config_MEM_DECOMP_TO_API (install-nonreloc-c64.o):
config_NTSC_COMPATIBILITY (install-nonreloc-c64.o):
config_ONLY_1541_AND_COMPATIBLE (install-nonreloc-c64.o):
config_PREFER_SPEED_OVER_SIZE (install-nonreloc-c64.o):
config_UNINSTALL_API (install-nonreloc-c64.o):
dcodinit81 (install-nonreloc-c64.o):
enablwdg81 (install-nonreloc-c64.o):
filename81 (install-nonreloc-c64.o):
findfile41 (install-nonreloc-c64.o):
findfile71 (install-nonreloc-c64.o):
findfile81 (install-nonreloc-c64.o):
getblock41 (install-nonreloc-c64.o):
getblock71 (install-nonreloc-c64.o):
getblock81 (install-nonreloc-c64.o):
getbyte41 (install-nonreloc-c64.o):
getbytecmp41 (install-nonreloc-c64.o):
getbyterts41 (install-nonreloc-c64.o):
getbytewdog41 (install-nonreloc-c64.o):
idleloop41 (install-nonreloc-c64.o):
idleloop71 (install-nonreloc-c64.o):
idxloop41 (install-nonreloc-c64.o):
idxloop71 (install-nonreloc-c64.o):
initcntr81 (install-nonreloc-c64.o):
initlink41 (install-nonreloc-c64.o):
initlink71 (install-nonreloc-c64.o):
initwdog81 (install-nonreloc-c64.o):
install (install-nonreloc-c64.o):
loadaddrhi (loader-nonreloc-c64.o):
loadaddrlo (loader-nonreloc-c64.o):
install-nonreloc-c64.o ./../include/loader.inc(441)
loader_zp_first (loader-nonreloc-c64.o):
loader_zp_last (loader-nonreloc-c64.o):
loadfile41 (install-nonreloc-c64.o):
loadfile71 (install-nonreloc-c64.o):
loadfile81 (install-nonreloc-c64.o):
loadraw (loader-nonreloc-c64.o):
onemhz71 (install-nonreloc-c64.o):
sertoraw41 (install-nonreloc-c64.o):
setbv2b41 (install-nonreloc-c64.o):
status_DEVICE_INCOMPATIBLE (install-nonreloc-c64.o):
status_DEVICE_NOT_PRESENT (install-nonreloc-c64.o):
status_FILE_NOT_FOUND (install-nonreloc-c64.o):
status_GENERIC_KERNAL_ERROR (install-nonreloc-c64.o):
status_OK (install-nonreloc-c64.o):
status_TOO_MANY_DEVICES (install-nonreloc-c64.o):
swapzp81 (install-nonreloc-c64.o):
topofstack41 (install-nonreloc-c64.o):
topofstack71 (install-nonreloc-c64.o):
trkseek41 (install-nonreloc-c64.o):
trkseek71 (install-nonreloc-c64.o):
wdogentr41 (install-nonreloc-c64.o):

Binary file not shown.

View file

@ -1,44 +0,0 @@
; repository version 194, built on Thu, 24 Nov 2022 10:56:24 +0100 for project "loader" using
; make PLATFORM=c128 prg INSTALL=1000 RESIDENT=0200 ZP=e0 PROJECT=
; configuration
config_ALLOW_2_MHZ_ON_C128 = 0
config_DECOMPRESSOR = 12; ZX0
config_DIRTRACK = 18
config_DIRTRACK81 = 40
config_END_ADDRESS_API = 0
config_FILENAME_MAXLENGTH = 16
config_FILE_EXISTS_API = 0
config_INTERNAL = 0
config_LOAD_COMPD_API = 1
config_LOAD_RAW_API = 1
config_LOAD_TO_API = 0
config_LOAD_UNDER_D000_DFFF = 0
config_LOAD_VIA_KERNAL_FALLBACK = 0
config_MEM_DECOMP_API = 0
config_MEM_DECOMP_TO_API = 0
config_NTSC_COMPATIBILITY = 0
config_ONLY_1541_AND_COMPATIBLE = 0
config_PREFER_SPEED_OVER_SIZE = 0
config_UNINSTALL_API = 0
; status codes
status_OK = $00
status_DEVICE_INCOMPATIBLE = $fb
status_TOO_MANY_DEVICES = $fc
status_GENERIC_KERNAL_ERROR = $fd
status_DEVICE_NOT_PRESENT = $fe
status_FILE_NOT_FOUND = $ff
; zeropage $e0-$f0
loader_zp_first = $e0
loadaddrlo = $e0
loadaddrhi = $e1
loader_zp_last = $ef
; install $1000-$2c38
install = $1000
; resident $0200-$0472
loadraw = $0200
loadcompd = $020e

View file

@ -1,43 +0,0 @@
; repository version 194, built on Thu, 24 Nov 2022 10:56:24 +0100 for project "loader" using
; make PLATFORM=c16 prg INSTALL=1000 RESIDENT=0200 ZP=e0 PROJECT=
; configuration
config_DECOMPRESSOR = 12; ZX0
config_DIRTRACK = 18
config_DIRTRACK81 = 40
config_END_ADDRESS_API = 0
config_FILENAME_MAXLENGTH = 16
config_FILE_EXISTS_API = 0
config_INTERNAL = 0
config_LOAD_COMPD_API = 1
config_LOAD_RAW_API = 1
config_LOAD_TO_API = 0
config_LOAD_UNDER_D000_DFFF = 0
config_LOAD_VIA_KERNAL_FALLBACK = 0
config_MEM_DECOMP_API = 0
config_MEM_DECOMP_TO_API = 0
config_NTSC_COMPATIBILITY = 0
config_ONLY_1541_AND_COMPATIBLE = 0
config_PREFER_SPEED_OVER_SIZE = 0
config_UNINSTALL_API = 0
; status codes
status_OK = $00
status_DEVICE_INCOMPATIBLE = $fb
status_TOO_MANY_DEVICES = $fc
status_GENERIC_KERNAL_ERROR = $fd
status_DEVICE_NOT_PRESENT = $fe
status_FILE_NOT_FOUND = $ff
; zeropage $e0-$ef
loader_zp_first = $e0
loadaddrlo = $e0
loadaddrhi = $e1
loader_zp_last = $ee
; install $1000-$2b93
install = $1000
; resident $0200-$0464
loadraw = $0200
loadcompd = $020e

View file

@ -1,43 +0,0 @@
; repository version 194, built on Sun, 16 Nov 2025 00:48:53 +0300 for project "loader" using
; make PLATFORM=c64 prg INSTALL=1800 RESIDENT=0F00 ZP=02 PROJECT=
; configuration
config_ALLOW_2_MHZ_ON_C128 = 0
config_DECOMPRESSOR = 0; NONE
config_DIRTRACK = 18
config_DIRTRACK81 = 40
config_END_ADDRESS_API = 0
config_FILENAME_MAXLENGTH = 16
config_FILE_EXISTS_API = 0
config_INTERNAL = 0
config_LOAD_COMPD_API = 0
config_LOAD_RAW_API = 1
config_LOAD_TO_API = 0
config_LOAD_UNDER_D000_DFFF = 0
config_LOAD_VIA_KERNAL_FALLBACK = 0
config_MEM_DECOMP_API = 0
config_MEM_DECOMP_TO_API = 0
config_NTSC_COMPATIBILITY = 0
config_ONLY_1541_AND_COMPATIBLE = 0
config_PREFER_SPEED_OVER_SIZE = 0
config_UNINSTALL_API = 0
; status codes
status_OK = $00
status_DEVICE_INCOMPATIBLE = $fb
status_TOO_MANY_DEVICES = $fc
status_GENERIC_KERNAL_ERROR = $fd
status_DEVICE_NOT_PRESENT = $fe
status_FILE_NOT_FOUND = $ff
; zeropage $02-$07
loader_zp_first = $02
loadaddrlo = $02
loadaddrhi = $03
loader_zp_last = $06
; install $1800-$3353
install = $1800
; resident $0f00-$0fe0
loadraw = $0f00

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -139,6 +139,8 @@ loader: $(LOADER)
$(LOADER): $(LOADERCFG)
make -C $(LOADER_SRC) EXTCONFIGPATH=../samples/$(NAME) PLATFORM=$(_PLATFORM_) INSTALL=1800 RESIDENT=0F00 ZP=02 prg
$(CC1541):
make -C $(dir $(CC1541)) cc1541
assemble: $(ASSEMBLE)
@ -156,7 +158,7 @@ endif
diskimage: $(DISKIMAGE)
$(DISKIMAGE): $(ASSEMBLE)
$(DISKIMAGE): $(ASSEMBLE) $(CC1541)
$(RM) $@
$(CC1541) -n "ys2 intro" -i test \
-f $(NAME) -w $< \

Binary file not shown.