Update linker script to allow c source files

This commit is contained in:
Byron Lathi
2022-03-05 21:09:46 -06:00
parent 378b3c0cb1
commit 9c29aa4fdf
5 changed files with 48 additions and 16 deletions

View File

@@ -2,7 +2,7 @@ CC=cl65
CFLAGS=-t none CFLAGS=-t none
LDFLAGS=-C link.ld LDFLAGS=-C link.ld
NAME=main NAME=bootrom
BIN=$(NAME).bin BIN=$(NAME).bin
HEX=$(NAME).hex HEX=$(NAME).hex

13
sw/boot.S Normal file
View File

@@ -0,0 +1,13 @@
.import _main
.segment "VECTORS"
.addr _init
.addr _init
.addr _init
.code
_init: jsr _main
end: jmp end

View File

@@ -1,10 +1,35 @@
MEMORY MEMORY
{ {
ROM: start=$8000, size=$8000, type=ro, define=yes, fill=yes, file=%O; ZP: start = $0, size = $100, type = rw, define = yes;
RAM: start = $0200, size = $7D00, type = rw, define = yes;
ROM: start = $8000, size = $8000, fill = yes, fillval = $ff, file = %O;
} }
SEGMENTS SEGMENTS {
{ ZEROPAGE: load = ZP, type = zp, define = yes;
DATA: load = ROM, type = rw, define = yes, run = RAM;
BSS: load = RAM, type = bss, define = yes;
HEAP: load = RAM, type = bss, optional = yes;
STARTUP: load = ROM, type = ro;
ONCE: load = ROM, type = ro, optional = yes;
CODE: load = ROM, type = ro; CODE: load = ROM, type = ro;
VECTORS: load=ROM, type=ro, offset=$7ffa; RODATA: load = ROM, type = ro;
VECTORS: load = ROM, type = ro, start = $FFFA;
}
FEATURES {
CONDES: segment = STARTUP,
type = constructor,
label = __CONSTRUCTOR_TABLE__,
count = __CONSTRUCTOR_COUNT__;
CONDES: segment = STARTUP,
type = destructor,
label = __DESTRUCTOR_TABLE__,
count = __DESTRUCTOR_COUNT__;
}
SYMBOLS {
# Define the stack size for the application
__STACKSIZE__: value = $0200, type = weak;
__STACKSTART__: type = weak, value = $0800; # 2k stack
} }

View File

@@ -1,10 +0,0 @@
.setcpu "6502"
.segment "VECTORS"
.word loop
.word loop
.word loop
.code
loop: lda #$12
jmp loop

4
sw/main.c Normal file
View File

@@ -0,0 +1,4 @@
int main() {
return 1;
}