conio and most other stuff working now

This commit is contained in:
mrdudz
2015-11-29 01:14:59 +01:00
parent 88e7b5776a
commit 9fbf8a4299
35 changed files with 2205 additions and 737 deletions

View File

@@ -1,41 +1,39 @@
# c version of 32kbyte config file
# .data located in rom
# ld65 config file
# ld65 --config gamate.cfg -o <prog>.bin <prog>.o
# linker config to produce simple Gamate cartridge (.bin)
SYMBOLS {
__STARTUP__: type = import;
__STACKSIZE__: type = weak, value = $0300; # 3 pages stack
__STARTUP__: type = import;
__STACKSIZE__: type = weak, value = $0080; # 1 page stack
}
MEMORY {
ZP: start = $0000, size = $100;
CPUSTACK: start = $0100, size =$100;
RAM: start = $0200, size = $200, define = yes;
# ROM: start = $6000, size = $8000, fill = yes, fillval = $ff, file = %O, define = yes;
# STARTUP: file = %O, define = yes, start = $6000, size = $29, fill = yes;
# ROM: start = $6000 + __STARTUP_SIZE__, size = $8000 - __STARTUP_SIZE__, fill = yes, fillval = $ff, file = %O, define = yes;
# WARNING: fill value must be $00 else it will no more work
ROM: start = $6000, size = $8000, fill = yes, fillval = $00, file = %O, define = yes;
# 0000-03ff is RAM
# FIXME: what zp range can we actually use?
ZP: start = $0080, size = $80;
CPUSTACK: start = $0100, size =$100;
RAM: start = $0200, size = $180, define = yes;
# 6000-e000 can be (Cartridge) ROM
# WARNING: fill value must be $00 else it will no more work
#ROM: start = $6000, size = $1000, fill = yes, fillval = $00, file = %O, define = yes;
#ROMFILL: start = $7000, size = $7000, fill = yes, fillval = $00, file = %O, define = yes;
# for images that have code >$6fff we must calculate the checksum!
ROM: start = $6000, size = $8000, fill = yes, fillval = $00, file = %O, define = yes;
}
SEGMENTS {
ZEROPAGE: load = ZP, type = zp, define = yes;
STARTUP: load = ROM, type = ro, define=yes;
CODE: load = ROM, type = ro, define=yes;
RODATA: load = ROM, type = ro, define=yes;
DATA: load = ROM, run=RAM, type = rw, define = yes;
BSS: load = RAM, type = bss, define = yes;
ZEROPAGE: load = ZP, type = zp, define = yes;
EXTZP: load = ZP, type = zp, define = yes, optional = yes;
APPZP: load = ZP, type = zp, define = yes, optional = yes;
STARTUP: load = ROM, type = ro, define=yes;
INIT: load = ROM, type = ro, define = yes, optional = yes;
CODE: load = ROM, type = ro, define=yes;
RODATA: load = ROM, type = ro, define=yes;
DATA: load = ROM, run=RAM, type = rw, define = yes;
BSS: load = RAM, type = bss, define = yes;
}
FEATURES {
CONDES: segment = RODATA,
type = constructor,
label = __CONSTRUCTOR_TABLE__,
count = __CONSTRUCTOR_COUNT__;
CONDES: segment = RODATA,
type = destructor,
label = __DESTRUCTOR_TABLE__,
count = __DESTRUCTOR_COUNT__;
CONDES: segment = RODATA, type = constructor, label = __CONSTRUCTOR_TABLE__, count = __CONSTRUCTOR_COUNT__;
CONDES: segment = RODATA, type = destructor, label = __DESTRUCTOR_TABLE__, count = __DESTRUCTOR_COUNT__;
CONDES: segment = RODATA, type = interruptor, label = __INTERRUPTOR_TABLE__, count = __INTERRUPTOR_COUNT__, import = __CALLIRQ__;
}