From a9f1f8f25b2a2c48a2e66ff0a68d815588c0c9e0 Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Sun, 13 May 2018 18:43:56 +0100 Subject: [PATCH] ubee: plug in video change --- Kernel/platform-ubee/devtty.c | 8 ++++++-- Kernel/platform-ubee/devtty.h | 2 ++ Kernel/platform-ubee/ubee.s | 10 ++++++++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/Kernel/platform-ubee/devtty.c b/Kernel/platform-ubee/devtty.c index 93f744b7..5c8d94cb 100644 --- a/Kernel/platform-ubee/devtty.c +++ b/Kernel/platform-ubee/devtty.c @@ -262,7 +262,7 @@ void lpen_kbd_poll(void) lpen_kbd_last = 0xFF; } -static const struct display display[2] = { +static const struct display display[3] = { /* 80 x 25 */ { 0, @@ -359,7 +359,11 @@ int gfx_ioctl(uint8_t minor, uarg_t arg, char *ptr) } if (arg == GFXIOC_GETMODE) return uput(&display[m], ptr, sizeof(struct display)); -//TODO vt_modeset(m); + if (m == 2) + video_40(); + else + video_80(); + ctc_load(ctc6545 + 16 * m); return 0; } } diff --git a/Kernel/platform-ubee/devtty.h b/Kernel/platform-ubee/devtty.h index 07975b70..7eef0b00 100644 --- a/Kernel/platform-ubee/devtty.h +++ b/Kernel/platform-ubee/devtty.h @@ -24,5 +24,7 @@ extern void unmap_video_font(void); extern void ctc_load(uint8_t *map); extern uint8_t ctc6545[48]; +extern void video_40(void); +extern void video_80(void); #endif diff --git a/Kernel/platform-ubee/ubee.s b/Kernel/platform-ubee/ubee.s index 01d8911f..412e231c 100644 --- a/Kernel/platform-ubee/ubee.s +++ b/Kernel/platform-ubee/ubee.s @@ -560,6 +560,8 @@ scanner_done: .globl _vwrite .globl _map_video_font .globl _unmap_video_font + .globl _video_40 + .globl _video_80 .globl ___hard_di @@ -767,6 +769,14 @@ _unmap_video_font: out (0x50),a ei ret +_video_40: + ld a,#1 + jr _video_set +_video_80: + xor a +_video_set: + in a,(9) + ret ; ; Ensure these are in the video mapping ; -- 2.34.1