From 4a33517b66a0ffc6206b0cef971b14664cd51070 Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Thu, 24 May 2018 23:20:56 +0100 Subject: [PATCH] trs80m1: sort out the memory mappings We should have 0 bytes in _CODE --- Kernel/platform-trs80m1/crt0.s | 2 +- Kernel/platform-trs80m1/fuzix.lnk | 4 ++-- Kernel/platform-trs80m1/main.c | 12 ++++++++++++ Kernel/platform-trs80m1/trs80-bank.s | 2 +- Kernel/platform-trs80m1/trs80.s | 5 ++--- 5 files changed, 18 insertions(+), 7 deletions(-) diff --git a/Kernel/platform-trs80m1/crt0.s b/Kernel/platform-trs80m1/crt0.s index a31b6c9d..bef22630 100644 --- a/Kernel/platform-trs80m1/crt0.s +++ b/Kernel/platform-trs80m1/crt0.s @@ -42,7 +42,7 @@ .globl _discard_size ; startup code - .area _CODE + .area _BOOT ; ; Once the loader completes it jumps here diff --git a/Kernel/platform-trs80m1/fuzix.lnk b/Kernel/platform-trs80m1/fuzix.lnk index 213593f1..ecd65385 100644 --- a/Kernel/platform-trs80m1/fuzix.lnk +++ b/Kernel/platform-trs80m1/fuzix.lnk @@ -2,10 +2,10 @@ -r -i fuzix.ihx -b _INITIALIZER=0x0001 --b _CODE=0x4200 +-b _BOOT=0x4300 -b _CODE1=0x8000 -b _CODE2=0x8000 --b _COMMONMEM=0x4300 +-b _COMMONMEM=0x4400 -l z80 platform-trs80m1/crt0.rel platform-trs80m1/commonmem.rel diff --git a/Kernel/platform-trs80m1/main.c b/Kernel/platform-trs80m1/main.c index ecb74745..75d3c0c5 100644 --- a/Kernel/platform-trs80m1/main.c +++ b/Kernel/platform-trs80m1/main.c @@ -74,3 +74,15 @@ uint8_t platform_rtc_secs(void) #endif +/* + * So that we don't suck in a library routine we can't use from + * the runtime + */ + +int strlen(const char *p) +{ + int len = 0; + while(*p++) + len++; + return len; +} diff --git a/Kernel/platform-trs80m1/trs80-bank.s b/Kernel/platform-trs80m1/trs80-bank.s index a30065ba..51d60ff2 100644 --- a/Kernel/platform-trs80m1/trs80-bank.s +++ b/Kernel/platform-trs80m1/trs80-bank.s @@ -29,7 +29,7 @@ ; ----------------------------------------------------------------------------- ; KERNEL MEMORY BANK (above 08000, only accessible when the kernel is mapped) ; ----------------------------------------------------------------------------- - .area _CODE + .area _BOOT init_hardware: ; set system RAM size diff --git a/Kernel/platform-trs80m1/trs80.s b/Kernel/platform-trs80m1/trs80.s index dbcedf27..f17d8af0 100644 --- a/Kernel/platform-trs80m1/trs80.s +++ b/Kernel/platform-trs80m1/trs80.s @@ -6,7 +6,6 @@ ; exported symbols .globl init_early - .globl init_hardware .globl interrupt_handler .globl _program_vectors .globl platform_interrupt_all @@ -74,9 +73,9 @@ _platform_reboot: rst 0 ; ----------------------------------------------------------------------------- -; KERNEL MEMORY BANK (above 0x8000) +; BOOT MEMORY BANK (below 0x8000) ; ----------------------------------------------------------------------------- - .area _CODE + .area _BOOT init_early: -- 2.34.1