From: Alan Cox Date: Fri, 28 Sep 2018 22:38:44 +0000 (+0100) Subject: trs80: update to match changed behaviour X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=da6b72f65b4ddebc3013de6931257f7cadf6dead;p=FUZIX.git trs80: update to match changed behaviour --- diff --git a/Kernel/platform-trs80/devtty.c b/Kernel/platform-trs80/devtty.c index 249ea2b8..edaabd9b 100644 --- a/Kernel/platform-trs80/devtty.c +++ b/Kernel/platform-trs80/devtty.c @@ -137,7 +137,7 @@ static const uint8_t trssize[4] = { 0x00, 0x40, 0x20, 0x60 }; -void tty_setup(uint8_t minor) +void tty_setup(uint8_t minor, uint8_t flags) { uint8_t baud; uint8_t ctrl; diff --git a/Kernel/platform-trs80/discard.c b/Kernel/platform-trs80/discard.c index 57cd8be8..96892024 100644 --- a/Kernel/platform-trs80/discard.c +++ b/Kernel/platform-trs80/discard.c @@ -11,7 +11,7 @@ void device_init(void) inittod(); #endif hd_probe(); - tty_setup(3); + tty_setup(3, 0); } void map_init(void) diff --git a/Kernel/platform-trs80/trs80-bank.s b/Kernel/platform-trs80/trs80-bank.s index 7fb10a38..5259b58b 100644 --- a/Kernel/platform-trs80/trs80-bank.s +++ b/Kernel/platform-trs80/trs80-bank.s @@ -8,10 +8,13 @@ ; exported symbols .globl init_hardware .globl map_kernel + .globl map_kernel_di .globl map_process + .globl map_process_di .globl map_process_a .globl map_process_always - .globl map_save + .globl map_process_always_di + .globl map_save_kernel .globl map_restore .globl _opreg .globl _modout @@ -126,6 +129,7 @@ bank94_absent: ; base kernel bank ; map_kernel: +map_kernel_di: push af ld a, (_opreg) and #0x8C ; keep video bits @@ -140,6 +144,7 @@ map_kernel: ; selects how the upper bank decodes ; map_process: +map_process_di: ld a, h or l jr z, map_kernel @@ -182,6 +187,7 @@ nobank94: ret map_process_always: +map_process_always_di: push af push hl ld hl, #U_DATA__U_PAGE @@ -190,12 +196,18 @@ map_process_always: pop af ret -map_save: push af +map_save_kernel: + push af ld a, (_opreg) and #0x73 ld (opsave), a in a,(0x94) ld (save94), a + ld a, (_opreg) + and #0x8C ; keep video bits + or #0x02 ; map 2, base memory + ld (_opreg), a + out (0x84), a ; base memory so 0x94 doesn't matter pop af ret diff --git a/Kernel/platform-trs80/trs80.s b/Kernel/platform-trs80/trs80.s index e66b08dd..3c1448c1 100644 --- a/Kernel/platform-trs80/trs80.s +++ b/Kernel/platform-trs80/trs80.s @@ -34,11 +34,9 @@ .globl map_kernel .globl map_process .globl map_process_a - .globl map_process_always - .globl map_save - .globl map_restore .globl _opreg .globl _modout + .globl _int_disabled .globl s__COMMONMEM .globl l__COMMONMEM @@ -57,6 +55,9 @@ _bufpool: ; ----------------------------------------------------------------------------- .area _COMMONMEM +_int_disabled: + .db 0 + _platform_monitor: di halt