From: Alan Cox Date: Sat, 29 Sep 2018 15:23:22 +0000 (+0100) Subject: msx2: sync with core changes X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=4d79c347d2377961d90d10c2ff2b0be0cac13afc;p=FUZIX.git msx2: sync with core changes --- diff --git a/Kernel/platform-msx2/Makefile b/Kernel/platform-msx2/Makefile index 8ee6e7f8..41139b41 100644 --- a/Kernel/platform-msx2/Makefile +++ b/Kernel/platform-msx2/Makefile @@ -18,8 +18,6 @@ DISCARD_COBJS = $(DISCARD_CSRCS:.c=.rel) DISCARD_DOBJS = $(patsubst ../dev/%.c,%.rel, $(DISCARD_DSRCS)) OBJS = $(COBJS) $(AOBJS) $(DOBJS) $(DISCARD_COBJS) $(DISCARD_DOBJS) $(COMMON_COBJS) -JUNK = $(CSRCS:.c=.lst) $(CSRCS:.c=.asm) $(CSRCS:.c=.sym) $(ASRCS:.s=.lst) $(ASRCS:.s=.sym) $(CSRCS:.c=.rst) $(ASRCS:.s=.rst) - all: $(OBJS) $(AOBJS): %.rel: %.s @@ -40,7 +38,7 @@ $(DISCARD_COBJS): %.rel: %.c $(DISCARD_DOBJS): %.rel: ../dev/%.c $(CROSS_CC) $(CROSS_CCOPTS) $(CROSS_CC_SEGDISC) -c $< clean: - rm -f $(OBJS) $(JUNK) core *~ + rm -f $(OBJS) *.lst *.asm *.sym *.rst *.lk core *~ image: dd if=../fuzix.bin of=../fuzix.com bs=256 skip=1 diff --git a/Kernel/platform-msx2/config.h b/Kernel/platform-msx2/config.h index b222e455..1c256dd5 100644 --- a/Kernel/platform-msx2/config.h +++ b/Kernel/platform-msx2/config.h @@ -57,3 +57,5 @@ #define MAX_BLKDEV 1 /* Single SD drive */ #define CONFIG_RTC //#define CONFIG_RTC_RP5C01_NVRAM + +#define platform_copyright() diff --git a/Kernel/platform-msx2/devtty.c b/Kernel/platform-msx2/devtty.c index a41b719c..a590c29b 100644 --- a/Kernel/platform-msx2/devtty.c +++ b/Kernel/platform-msx2/devtty.c @@ -100,11 +100,11 @@ void tty_data_consumed(uint8_t minor) { } -void tty_setup(uint8_t minor) +void tty_setup(uint8_t minor, uint8_t flags) { minor; - /* setup termios to use msx keys */ + /* setup termios to use msx keys: FIXME */ ttydata[minor].termios.c_cc[VERASE] = KEY_BS; ttydata[minor].termios.c_cc[VSTOP] = KEY_STOP; ttydata[minor].termios.c_cc[VSTART] = KEY_STOP; diff --git a/Kernel/platform-msx2/msx2.s b/Kernel/platform-msx2/msx2.s index c8280266..33c3d45d 100644 --- a/Kernel/platform-msx2/msx2.s +++ b/Kernel/platform-msx2/msx2.s @@ -14,13 +14,17 @@ .globl map_process .globl _map_kernel .globl map_process_always - .globl map_save + .globl map_kernel_di + .globl map_process_di + .globl map_process_always_di + .globl map_save_kernel .globl map_restore .globl enaslt .globl _mapslot_bank1 .globl _mapslot_bank2 .globl _need_resched .globl _bufpool + .globl _int_disabled ; video driver .globl _vtinit @@ -79,6 +83,8 @@ _platform_reboot: _need_resched: .db 0 +_int_disabled: + .db 1 ; ----------------------------------------------------------------------------- ; KERNEL MEMORY BANK (below 0xF000, only accessible when the kernel is mapped) @@ -166,6 +172,7 @@ _program_vectors: ; All registers preserved ; map_process_always: +map_process_always_di: push hl ld hl, #U_DATA__U_PAGE call map_process_2 @@ -175,6 +182,7 @@ map_process_always: ; HL is the page table to use, A is eaten, HL is eaten ; map_process: +map_process_di: ld a, h or l jr nz, map_process_2 @@ -183,6 +191,7 @@ map_process: ; so our cached copy is correct. ; _map_kernel: +map_kernel_di: map_kernel: push hl ld hl, #map_kernel_data @@ -226,12 +235,14 @@ map_restore: ; ; Save the current mapping. ; -map_save: +map_save_kernel: push hl ld hl, (map_table) ld (map_savearea), hl ld hl, (map_table + 2) ld (map_savearea + 2), hl + ld hl, #map_kernel_data + call map_process_2 pop hl ret