From: Alan Cox Date: Fri, 25 May 2018 22:53:09 +0000 (+0100) Subject: trs80m1: for a banked kernel we can't shortcut on restores X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=08ca8cd85cf504ee9758c4f9d0fa879d3024ac1b;p=FUZIX.git trs80m1: for a banked kernel we can't shortcut on restores With this fixed we get up to 'Starting /init' before the world ends --- diff --git a/Kernel/platform-trs80m1/trs80.s b/Kernel/platform-trs80m1/trs80.s index 8f3d86e9..cb363f3d 100644 --- a/Kernel/platform-trs80m1/trs80.s +++ b/Kernel/platform-trs80m1/trs80.s @@ -15,6 +15,7 @@ .globl map_process_always .globl map_save .globl map_restore + .globl map_kernel_restore .globl s__COMMONMEM .globl l__COMMONMEM @@ -146,10 +147,12 @@ _hd_xfer_in: push de ld a, (_hd_page) or a + push af call nz, map_process_a ld bc, #0xC8 ; 256 bytes from 0xC8 inir - call map_kernel + pop af + call nz, map_kernel_restore ret _hd_xfer_out: @@ -161,9 +164,11 @@ _hd_xfer_out: push de ld a, (_hd_page) or a + push af call nz, map_process_a ld bc, #0xC8 ; 256 bytes to 0xC8 otir - call map_kernel + pop af + call nz, map_kernel_restore ret