Update linker script to allow c source files
This commit is contained in:
@@ -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
13
sw/boot.S
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
.import _main
|
||||||
|
|
||||||
|
.segment "VECTORS"
|
||||||
|
|
||||||
|
.addr _init
|
||||||
|
.addr _init
|
||||||
|
.addr _init
|
||||||
|
|
||||||
|
.code
|
||||||
|
|
||||||
|
_init: jsr _main
|
||||||
|
|
||||||
|
end: jmp end
|
||||||
33
sw/link.ld
33
sw/link.ld
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
10
sw/main.S
10
sw/main.S
@@ -1,10 +0,0 @@
|
|||||||
.setcpu "6502"
|
|
||||||
.segment "VECTORS"
|
|
||||||
|
|
||||||
.word loop
|
|
||||||
.word loop
|
|
||||||
.word loop
|
|
||||||
|
|
||||||
.code
|
|
||||||
loop: lda #$12
|
|
||||||
jmp loop
|
|
||||||
Reference in New Issue
Block a user