made geoslib testcode compile again, added the required linker config and a Makefile
This commit is contained in:
43
testcode/grc/Makefile
Normal file
43
testcode/grc/Makefile
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
|
||||||
|
# Just the usual way to find out if we're
|
||||||
|
# using cmd.exe to execute make rules.
|
||||||
|
ifneq ($(shell echo),)
|
||||||
|
CMD_EXE = 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifdef CMD_EXE
|
||||||
|
NULLDEV = nul:
|
||||||
|
DEL = -del /f
|
||||||
|
RMDIR = rmdir /s /q
|
||||||
|
else
|
||||||
|
NULLDEV = /dev/null
|
||||||
|
DEL = $(RM)
|
||||||
|
RMDIR = $(RM) -r
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifdef CC65_HOME
|
||||||
|
AS = $(CC65_HOME)/bin/ca65
|
||||||
|
CC = $(CC65_HOME)/bin/cc65
|
||||||
|
CL = $(CC65_HOME)/bin/cl65
|
||||||
|
LD = $(CC65_HOME)/bin/ld65
|
||||||
|
GRC = $(CC65_HOME)/bin/grc65
|
||||||
|
else
|
||||||
|
AS := $(if $(wildcard ../../../bin/ca65*),../../../bin/ca65,ca65)
|
||||||
|
CC := $(if $(wildcard ../../../bin/cc65*),../../../bin/cc65,cc65)
|
||||||
|
CL := $(if $(wildcard ../../../bin/cl65*),../../../bin/cl65,cl65)
|
||||||
|
LD := $(if $(wildcard ../../../bin/ld65*),../../../bin/ld65,ld65)
|
||||||
|
GRC := $(if $(wildcard ../../../bin/grc65*),../../../bin/grc65,grc65)
|
||||||
|
endif
|
||||||
|
|
||||||
|
all: test.s vlir.cvt
|
||||||
|
|
||||||
|
test.s: test.grc
|
||||||
|
$(GRC) -s test.s test.grc
|
||||||
|
|
||||||
|
vlir.cvt: vlir.grc
|
||||||
|
$(GRC) -s vlir.s test.grc
|
||||||
|
$(CL) -t geos -C geos-cbm-overlay.cfg -o vlir.cvt vlir.s vlir0.s vlir1.s vlir2.s
|
||||||
|
|
||||||
|
clean:
|
||||||
|
$(RM) test.s test.h
|
||||||
|
$(RM) vlir.s vlir.cvt
|
||||||
84
testcode/grc/geos-cbm-overlay.cfg
Normal file
84
testcode/grc/geos-cbm-overlay.cfg
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
FEATURES {
|
||||||
|
STARTADDRESS: default = $0400;
|
||||||
|
}
|
||||||
|
SYMBOLS {
|
||||||
|
__BACKBUFSIZE__: type = weak, value = $2000;
|
||||||
|
__HIMEM__: type = weak, value = $8000 - __BACKBUFSIZE__;
|
||||||
|
__OVERLAYSIZE__: type = weak, value = $1000;
|
||||||
|
__OVERLAYADDR__: type = weak, value = __HIMEM__ - __OVERLAYSIZE__;
|
||||||
|
__STACKSIZE__: type = weak, value = $0400; # 1k stack
|
||||||
|
__STACKADDR__: type = weak, value = __OVERLAYADDR__ - __STACKSIZE__;
|
||||||
|
}
|
||||||
|
MEMORY {
|
||||||
|
CVT: file = %O, start = $0, size = $40000;
|
||||||
|
ZP: define = yes, start = $58, size = $1A + $06;
|
||||||
|
VLIR0: define = yes, start = %S, size = __STACKADDR__ - %S;
|
||||||
|
VLIR1: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
|
||||||
|
VLIR2: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
|
||||||
|
VLIR3: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
|
||||||
|
VLIR4: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
|
||||||
|
VLIR5: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
|
||||||
|
VLIR6: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
|
||||||
|
VLIR7: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
|
||||||
|
VLIR8: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
|
||||||
|
VLIR9: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
|
||||||
|
VLIR10: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
|
||||||
|
VLIR11: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
|
||||||
|
VLIR12: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
|
||||||
|
VLIR13: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
|
||||||
|
VLIR14: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
|
||||||
|
VLIR15: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
|
||||||
|
VLIR16: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
|
||||||
|
VLIR17: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
|
||||||
|
VLIR18: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
|
||||||
|
VLIR19: define = yes, start = __OVERLAYADDR__, size = __OVERLAYSIZE__;
|
||||||
|
}
|
||||||
|
SEGMENTS {
|
||||||
|
ZEROPAGE: type = zp, load = ZP;
|
||||||
|
EXTZP: type = zp, load = ZP, optional = yes;
|
||||||
|
DIRENTRY: type = ro, load = CVT, align = $FE;
|
||||||
|
FILEINFO: type = ro, load = CVT, align = $FE;
|
||||||
|
RECORDS: type = ro, load = CVT, align = $FE, optional = yes;
|
||||||
|
STARTUP: type = ro, run = VLIR0, load = CVT, align_load = $FE, define = yes;
|
||||||
|
LOWCODE: type = ro, run = VLIR0, load = CVT, optional = yes;
|
||||||
|
ONCE: type = ro, run = VLIR0, load = CVT, optional = yes;
|
||||||
|
CODE: type = ro, run = VLIR0, load = CVT;
|
||||||
|
RODATA: type = ro, run = VLIR0, load = CVT;
|
||||||
|
DATA: type = rw, run = VLIR0, load = CVT;
|
||||||
|
INIT: type = bss, load = VLIR0, optional = yes;
|
||||||
|
BSS: type = bss, load = VLIR0, define = yes;
|
||||||
|
OVERLAY1: type = ro, run = VLIR1, load = CVT, align_load = $FE, optional = yes;
|
||||||
|
OVERLAY2: type = ro, run = VLIR2, load = CVT, align_load = $FE, optional = yes;
|
||||||
|
OVERLAY3: type = ro, run = VLIR3, load = CVT, align_load = $FE, optional = yes;
|
||||||
|
OVERLAY4: type = ro, run = VLIR4, load = CVT, align_load = $FE, optional = yes;
|
||||||
|
OVERLAY5: type = ro, run = VLIR5, load = CVT, align_load = $FE, optional = yes;
|
||||||
|
OVERLAY6: type = ro, run = VLIR6, load = CVT, align_load = $FE, optional = yes;
|
||||||
|
OVERLAY7: type = ro, run = VLIR7, load = CVT, align_load = $FE, optional = yes;
|
||||||
|
OVERLAY8: type = ro, run = VLIR8, load = CVT, align_load = $FE, optional = yes;
|
||||||
|
OVERLAY9: type = ro, run = VLIR9, load = CVT, align_load = $FE, optional = yes;
|
||||||
|
OVERLAY10: type = ro, run = VLIR10, load = CVT, align_load = $FE, optional = yes;
|
||||||
|
OVERLAY11: type = ro, run = VLIR11, load = CVT, align_load = $FE, optional = yes;
|
||||||
|
OVERLAY12: type = ro, run = VLIR12, load = CVT, align_load = $FE, optional = yes;
|
||||||
|
OVERLAY13: type = ro, run = VLIR13, load = CVT, align_load = $FE, optional = yes;
|
||||||
|
OVERLAY14: type = ro, run = VLIR14, load = CVT, align_load = $FE, optional = yes;
|
||||||
|
OVERLAY15: type = ro, run = VLIR15, load = CVT, align_load = $FE, optional = yes;
|
||||||
|
OVERLAY16: type = ro, run = VLIR16, load = CVT, align_load = $FE, optional = yes;
|
||||||
|
OVERLAY17: type = ro, run = VLIR17, load = CVT, align_load = $FE, optional = yes;
|
||||||
|
OVERLAY18: type = ro, run = VLIR18, load = CVT, align_load = $FE, optional = yes;
|
||||||
|
OVERLAY19: type = ro, run = VLIR19, load = CVT, align_load = $FE, optional = yes;
|
||||||
|
}
|
||||||
|
FEATURES {
|
||||||
|
CONDES: type = constructor,
|
||||||
|
label = __CONSTRUCTOR_TABLE__,
|
||||||
|
count = __CONSTRUCTOR_COUNT__,
|
||||||
|
segment = ONCE;
|
||||||
|
CONDES: type = destructor,
|
||||||
|
label = __DESTRUCTOR_TABLE__,
|
||||||
|
count = __DESTRUCTOR_COUNT__,
|
||||||
|
segment = RODATA;
|
||||||
|
CONDES: type = interruptor,
|
||||||
|
label = __INTERRUPTOR_TABLE__,
|
||||||
|
count = __INTERRUPTOR_COUNT__,
|
||||||
|
segment = RODATA,
|
||||||
|
import = __CALLIRQ__;
|
||||||
|
}
|
||||||
@@ -5,10 +5,10 @@
|
|||||||
|
|
||||||
; include some GEOS defines
|
; include some GEOS defines
|
||||||
|
|
||||||
.include "../../libsrc/geos/inc/const.inc"
|
.include "../../libsrc/geos-common/const.inc"
|
||||||
.include "../../libsrc/geos/inc/jumptab.inc"
|
.include "../../libsrc/geos-cbm/jumptab.inc"
|
||||||
.include "../../libsrc/geos/inc/geossym.inc"
|
.include "../../libsrc/geos-cbm/geossym.inc"
|
||||||
.include "../../libsrc/geos/inc/geosmac.inc"
|
.include "../../libsrc/geos-common/geosmac.inc"
|
||||||
|
|
||||||
; import load addresses for all VLIR chains
|
; import load addresses for all VLIR chains
|
||||||
; these labels are defined upon linking with ld65
|
; these labels are defined upon linking with ld65
|
||||||
|
|||||||
@@ -5,10 +5,10 @@
|
|||||||
|
|
||||||
; include some GEOS defines
|
; include some GEOS defines
|
||||||
|
|
||||||
.include "../../libsrc/geos/inc/const.inc"
|
.include "../../libsrc/geos-common/const.inc"
|
||||||
.include "../../libsrc/geos/inc/jumptab.inc"
|
.include "../../libsrc/geos-cbm/jumptab.inc"
|
||||||
.include "../../libsrc/geos/inc/geossym.inc"
|
.include "../../libsrc/geos-cbm/geossym.inc"
|
||||||
.include "../../libsrc/geos/inc/geosmac.inc"
|
.include "../../libsrc/geos-common/geosmac.inc"
|
||||||
|
|
||||||
; export names of functions that will be used in the main program
|
; export names of functions that will be used in the main program
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,10 @@
|
|||||||
|
|
||||||
; similar to vlir1.s except the fact that this is chain #2
|
; similar to vlir1.s except the fact that this is chain #2
|
||||||
|
|
||||||
.include "../../libsrc/geos/inc/const.inc"
|
.include "../../libsrc/geos-common/const.inc"
|
||||||
.include "../../libsrc/geos/inc/jumptab.inc"
|
.include "../../libsrc/geos-cbm/jumptab.inc"
|
||||||
.include "../../libsrc/geos/inc/geossym.inc"
|
.include "../../libsrc/geos-cbm/geossym.inc"
|
||||||
.include "../../libsrc/geos/inc/geosmac.inc"
|
.include "../../libsrc/geos-common/geosmac.inc"
|
||||||
|
|
||||||
.export OVERLAY2_Function1
|
.export OVERLAY2_Function1
|
||||||
.export OVERLAY2_Function2
|
.export OVERLAY2_Function2
|
||||||
|
|||||||
Reference in New Issue
Block a user