Synced with the sc driver in the sys/dev/syscons directory.

Submitted by:	yokota
This commit is contained in:
KATO Takenori 2000-01-20 15:16:49 +00:00
parent 721b6ee9f0
commit 2945c302da
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=56337
10 changed files with 2531 additions and 1296 deletions

View File

@ -315,8 +315,12 @@ pc98/pc98/syscons_pc98.c optional sc
dev/syscons/schistory.c optional sc
dev/syscons/scmouse.c optional sc
pc98/pc98/scgdcrndr.c optional sc
dev/syscons/scterm.c optional sc
dev/syscons/scterm-dumb.c optional sc
pc98/pc98/scterm-sck.c optional sc
dev/syscons/scvidctl.c optional sc
pc98/pc98/scvtbpc98.c optional sc
dev/syscons/sysmouse.c optional sc
i386/isa/tw.c optional tw
pc98/pc98/wd.c optional wdc
pc98/pc98/wd.c optional wd

View File

@ -58,28 +58,4 @@
#define ISFONTAVAIL(af) ((af) & V_ADP_FONT)
#define ISPALAVAIL(af) ((af) & V_ADP_PALETTE)
#ifdef KANJI
#define IS_KTYPE_ASCII_or_HANKAKU(A) (!((A) & 0xee))
#define IS_KTYPE_KANA(A) ((A) & 0x11)
#define KTYPE_MASK_CTRL(A) ((A) &= 0xF0)
#define _SCR_MD_STAT_DECLARED_
typedef struct {
u_char kanji_1st_char;
u_char kanji_type;
#define KTYPE_ASCII 0 /* ASCII */
#define KTYPE_KANA 1 /* HANKAKU */
#define KTYPE_JKANA 0x10 /* JIS HANKAKU */
#define KTYPE_7JIS 0x20 /* JIS */
#define KTYPE_SJIS 2 /* Shift JIS */
#define KTYPE_UJIS 4 /* UJIS */
#define KTYPE_SUKANA 3 /* Shift JIS or UJIS HANKAKU */
#define KTYPE_SUJIS 6 /* SHift JIS or UJIS */
#define KTYPE_KANIN 0x80 /* Kanji Invoke sequence */
#define KTYPE_ASCIN 0x40 /* ASCII Invoke sequence */
} scr_md_stat_t;
#endif /* KANJI */
#endif /* !_PC98_PC98_SC_MACHDEP_H_ */

View File

@ -37,7 +37,6 @@
#include <sys/kernel.h>
#include <machine/console.h>
#include <machine/md_var.h>
#include <dev/fb/fbreg.h>
#include <dev/syscons/syscons.h>
@ -63,6 +62,8 @@ static vr_draw_border_t gdc_grborder;
static void gdc_nop(scr_stat *scp, ...);
static struct linker_set gdc_set;
static sc_rndr_sw_t txtrndrsw = {
gdc_txtclear,
gdc_txtborder,
@ -73,7 +74,7 @@ static sc_rndr_sw_t txtrndrsw = {
(vr_set_mouse_t *)gdc_nop,
gdc_txtmouse,
};
RENDERER(gdc, 0, txtrndrsw);
RENDERER(gdc, 0, txtrndrsw, gdc_set);
#ifndef SC_NO_MODE_CHANGE
static sc_rndr_sw_t grrndrsw = {
@ -86,9 +87,11 @@ static sc_rndr_sw_t grrndrsw = {
(vr_set_mouse_t *)gdc_nop,
(vr_draw_mouse_t *)gdc_nop,
};
RENDERER(gdc, GRAPHICS_MODE, grrndrsw);
RENDERER(gdc, GRAPHICS_MODE, grrndrsw, gdc_set);
#endif /* SC_NO_MODE_CHANGE */
RENDERER_MODULE(gdc, gdc_set);
static void
gdc_nop(scr_stat *scp, ...)
{

1093
sys/pc98/cbus/scterm-sck.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -69,7 +69,7 @@ static driver_t sc_driver = {
sizeof(sc_softc_t),
};
static sc_softc_t main_softc = { 0, 0, 0, -1, NULL, -1, NULL, };
static sc_softc_t main_softc;
static int
scprobe(device_t dev)
@ -109,17 +109,17 @@ sc_softc_t
return NULL;
if (flags & SC_KERNEL_CONSOLE) {
/* FIXME: clear if it is wired to another unit! */
main_softc.unit = unit;
return &main_softc;
sc = &main_softc;
} else {
sc = (sc_softc_t *)device_get_softc(devclass_get_device(sc_devclass, unit));
if (!(sc->flags & SC_INIT_DONE)) {
sc->unit = unit;
sc->keyboard = -1;
sc->adapter = -1;
}
return sc;
}
sc->unit = unit;
if (!(sc->flags & SC_INIT_DONE)) {
sc->keyboard = -1;
sc->adapter = -1;
sc->mouse_char = SC_MOUSE_CHAR;
}
return sc;
}
sc_softc_t

View File

@ -58,28 +58,4 @@
#define ISFONTAVAIL(af) ((af) & V_ADP_FONT)
#define ISPALAVAIL(af) ((af) & V_ADP_PALETTE)
#ifdef KANJI
#define IS_KTYPE_ASCII_or_HANKAKU(A) (!((A) & 0xee))
#define IS_KTYPE_KANA(A) ((A) & 0x11)
#define KTYPE_MASK_CTRL(A) ((A) &= 0xF0)
#define _SCR_MD_STAT_DECLARED_
typedef struct {
u_char kanji_1st_char;
u_char kanji_type;
#define KTYPE_ASCII 0 /* ASCII */
#define KTYPE_KANA 1 /* HANKAKU */
#define KTYPE_JKANA 0x10 /* JIS HANKAKU */
#define KTYPE_7JIS 0x20 /* JIS */
#define KTYPE_SJIS 2 /* Shift JIS */
#define KTYPE_UJIS 4 /* UJIS */
#define KTYPE_SUKANA 3 /* Shift JIS or UJIS HANKAKU */
#define KTYPE_SUJIS 6 /* SHift JIS or UJIS */
#define KTYPE_KANIN 0x80 /* Kanji Invoke sequence */
#define KTYPE_ASCIN 0x40 /* ASCII Invoke sequence */
} scr_md_stat_t;
#endif /* KANJI */
#endif /* !_PC98_PC98_SC_MACHDEP_H_ */

View File

@ -37,7 +37,6 @@
#include <sys/kernel.h>
#include <machine/console.h>
#include <machine/md_var.h>
#include <dev/fb/fbreg.h>
#include <dev/syscons/syscons.h>
@ -63,6 +62,8 @@ static vr_draw_border_t gdc_grborder;
static void gdc_nop(scr_stat *scp, ...);
static struct linker_set gdc_set;
static sc_rndr_sw_t txtrndrsw = {
gdc_txtclear,
gdc_txtborder,
@ -73,7 +74,7 @@ static sc_rndr_sw_t txtrndrsw = {
(vr_set_mouse_t *)gdc_nop,
gdc_txtmouse,
};
RENDERER(gdc, 0, txtrndrsw);
RENDERER(gdc, 0, txtrndrsw, gdc_set);
#ifndef SC_NO_MODE_CHANGE
static sc_rndr_sw_t grrndrsw = {
@ -86,9 +87,11 @@ static sc_rndr_sw_t grrndrsw = {
(vr_set_mouse_t *)gdc_nop,
(vr_draw_mouse_t *)gdc_nop,
};
RENDERER(gdc, GRAPHICS_MODE, grrndrsw);
RENDERER(gdc, GRAPHICS_MODE, grrndrsw, gdc_set);
#endif /* SC_NO_MODE_CHANGE */
RENDERER_MODULE(gdc, gdc_set);
static void
gdc_nop(scr_stat *scp, ...)
{

1093
sys/pc98/pc98/scterm-sck.c Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -69,7 +69,7 @@ static driver_t sc_driver = {
sizeof(sc_softc_t),
};
static sc_softc_t main_softc = { 0, 0, 0, -1, NULL, -1, NULL, };
static sc_softc_t main_softc;
static int
scprobe(device_t dev)
@ -109,17 +109,17 @@ sc_softc_t
return NULL;
if (flags & SC_KERNEL_CONSOLE) {
/* FIXME: clear if it is wired to another unit! */
main_softc.unit = unit;
return &main_softc;
sc = &main_softc;
} else {
sc = (sc_softc_t *)device_get_softc(devclass_get_device(sc_devclass, unit));
if (!(sc->flags & SC_INIT_DONE)) {
sc->unit = unit;
sc->keyboard = -1;
sc->adapter = -1;
}
return sc;
}
sc->unit = unit;
if (!(sc->flags & SC_INIT_DONE)) {
sc->keyboard = -1;
sc->adapter = -1;
sc->mouse_char = SC_MOUSE_CHAR;
}
return sc;
}
sc_softc_t