diff options
-rw-r--r-- | xc/programs/Xserver/hw/xfree86/etc/2key.c | 52 | ||||
-rw-r--r-- | xc/programs/Xserver/hw/xfree86/mono/drivers/hgc1280/HGC1280.info | 89 |
2 files changed, 141 insertions, 0 deletions
diff --git a/xc/programs/Xserver/hw/xfree86/etc/2key.c b/xc/programs/Xserver/hw/xfree86/etc/2key.c new file mode 100644 index 000000000..cce6f1ef4 --- /dev/null +++ b/xc/programs/Xserver/hw/xfree86/etc/2key.c @@ -0,0 +1,52 @@ +/* + * $XFree86: xc/programs/Xserver/hw/xfree86/etc/2key.c,v 3.1 1994/09/23 10:18:23 dawes Exp $ + * $XConsortium: $ + * + * Enable/disable the 2-key VT switching sequences for Esix SVR4 + * Note that is program *only* works for Esix SVR4. To use this program + * to turn off the 2-key switching for the VT the X server is running on, + * add the line 'VTInit "2key off"' to your XF86Config file. + * + * Usage: + * 2key on|off + * + * David Dawes <dawes@physics.su.oz.au> October 1992 + * + */ + +#include <stdio.h> +#include <sys/types.h> +#include <sys/kd.h> + +extern int errno; + +main(argc, argv) + +int argc; +char *argv[]; + +{ + if (argc == 2) + { + if (!strcmp(argv[1], "on")) + { + if (ioctl(0, KDENA2KEYSW) < 0) + { + fprintf(stderr, "%s: KDENA2KEYSW error (errno=%d)\n", argv[0], errno); + exit(1); + } + exit(0); + } + if (!strcmp(argv[1], "off")) + { + if (ioctl(0, KDDIS2KEYSW) < 0) + { + fprintf(stderr, "%s: KDDIS2KEYSW error (errno=%d)r\n", argv[0], errno); + exit(1); + } + exit(0); + } + } + fprintf(stderr, "usage: %s on|off\n", argv[0]); + exit(2); +} diff --git a/xc/programs/Xserver/hw/xfree86/mono/drivers/hgc1280/HGC1280.info b/xc/programs/Xserver/hw/xfree86/mono/drivers/hgc1280/HGC1280.info new file mode 100644 index 000000000..2d9e8770f --- /dev/null +++ b/xc/programs/Xserver/hw/xfree86/mono/drivers/hgc1280/HGC1280.info @@ -0,0 +1,89 @@ +bdm2/drivers/hgc1280/HGC1280.info +Pascal Haible 8/93 +haible@izfm.uni-stuttgart.de + +This file describes the technical specs I found out, mostly by +trial and error. + +Card: Hyundai HGC-1280 Video Controller. +Monitor: Hyundai HMM-1900E 19-inch High Resolution Monochrome Monitor. + +Resolution (officially) 1280x960x1bit, max. 1280x1024. +Max. virtual width 1472. + +2 modes: +Mode: emulating Hercules + (primary address) + Ports 0x3B9 - 0x3B7 + Mem 0xB0000 - 0xBFFFF (64kBytes) +Mode: 'graphics mode only' + (secondary address) + Ports 0x390 - 0x397 + Mem 0xC8000 - 0xCFFFF (32kBytes) + +The following might be valid only for the card jumpered to the secondary +address. + +Mem window 0xC8000 - 0xCFFFF (32kBytes) is 2 separate read/write banks. +(On primary address: first Herc bank 0xB0000-0xB7FFF = 2 banks) + +Visible lines are 1280 pixels (160 Byte) long. On the right side, further +32 bytes are read/write. By changing one of the regs, the visible area +can be shiftet right, but only by 24 bytes, i.e. to show pixels 192 - 1472. +This gives a virtual width of 1472. +The lines are aligned to 256 bytes. +Byte 196 - 255 are read/write, but they mirror parts of the visible line, +so they must not be written. + +The video mem is divided in 16 banks to 16kB each. 2 of these banks can +be banked in the mem window. + +Register level programming: +The HGC-1280 (in 'graphics only' mode) is programmed like a Hercules: +Base: 0x3B0 (primary) , 0x390 (secondary) +base+0 index port +base+1 data port +base+8 control port +base+10 crt status port +base+15 config port + +registers: write register number to index port, read or write data from/to +data port. +register number: 0 to 63. + +Registers: + +default for 1280x960: +[cf. bdm2/drivers/hgc1280/hgc1280HW.h: hgcRegsGraf1280x1024[HGC_NUM_REGS]] +changes for 1280x1024: +reg 52: 61 -> 65 +reg 54: 61 -> 65 +reg 46: 195 -> 191 + +Hercules registers (0 - 18) are unused in 'graphics only' mode. +reg: def. for graph. - description +---------------------------------- +39: 213 - mem organization +40: - scan line timing +41: - dto. +42: 138 - inc => displayed line starts 2 bytes later +43: 90 - dec => displayed line ends 2 bytes earlier +44: 33 - vert. timing +45: 16 - moves visible area horizontally -> panning; + dec => 2 bytes to the right. +46: - vert. timing/position +47: - vert. screen position in scan lines +48: - ?? +49: - ?? +50: 224 - +51: +52: - vert. timing +53: - vert. pos. within mem +54: 61 - bottom length in steps of 16 scan lines +55: 79 - 79->80 => bottom + 60 lines +56: - don't set bit 4!! - total hang! +57,60,63 - not writable, zero (?) +61 - fixed 85 (?) + +$XFree86: xc/programs/Xserver/hw/xfree86/mono/drivers/hgc1280/HGC1280.info,v 3.0 1994/05/04 15:01:08 dawes Exp $ +$XConsortium: $ |