From 93c9b89c85b1a91f5e3ae18865da6fed0bed4605 Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Sun, 25 Jan 2015 15:45:38 +0000 Subject: [PATCH] tgl6502: set up ready to allow relocatable binaries. --- Kernel/cpu-6502/cpu.h | 1 + Kernel/platform-tgl6502/kernel.def | 1 + Kernel/platform-tgl6502/tgl6502.s | 2 ++ 3 files changed, 4 insertions(+) diff --git a/Kernel/cpu-6502/cpu.h b/Kernel/cpu-6502/cpu.h index a2610dfd..66d9e413 100644 --- a/Kernel/cpu-6502/cpu.h +++ b/Kernel/cpu-6502/cpu.h @@ -22,6 +22,7 @@ extern void * __fastcall__ memset(void *, int, size_t); extern size_t __fastcall__ strlen(const char *); #define EMAGIC 0x4C /* Header of executable (JMP) */ +#define EMAGIC_2 0x18 /* CLC BCC foo */ /* High byte is saved, low byte is a mystery so take worst case. Also allow a bit less as C stack is not return stack */ #define brk_limit() ((udata.u_syscall_sp | 0xFF) - 384) diff --git a/Kernel/platform-tgl6502/kernel.def b/Kernel/platform-tgl6502/kernel.def index 237aad96..61bfff4c 100644 --- a/Kernel/platform-tgl6502/kernel.def +++ b/Kernel/platform-tgl6502/kernel.def @@ -6,3 +6,4 @@ U_DATA .set $0200 U_DATA__TOTALSIZE .set $300 PROGLOAD .set $2000 +ZPBASE .set $0 diff --git a/Kernel/platform-tgl6502/tgl6502.s b/Kernel/platform-tgl6502/tgl6502.s index eca9ec97..82125742 100644 --- a/Kernel/platform-tgl6502/tgl6502.s +++ b/Kernel/platform-tgl6502/tgl6502.s @@ -624,6 +624,8 @@ platform_doexec: ; ldx #$ff txs + ldx #>PROGLOAD ; For the relocation engine + lda #ZPBASE jmp (ptr1) ; Enter user application ; -- 2.34.1