22 Commits

Author SHA1 Message Date
yokota
de1479db50 Follow up to the recent vm86 change in rev. 1.19.
- Make a copy of the information block returned in the vm86 space
  by the VESA BIOS init function.  Otherwise it will be overwritten
  by subsequent BIOS calls in the same vm86 context.
1999-03-31 15:27:00 +00:00
yokota
3600be6523 Another round of fix for palette loading.
- Don't try to change DAC width when unnecessary.
- Convert 8 bit DAC data to 6 bit DAC data before unloading the vesa
  KLD module.
1999-03-29 15:10:56 +00:00
jlemon
65c196874d Cast (u_char *) to (vm_offset_t) to silence compiler warnings. 1999-03-18 20:13:20 +00:00
jlemon
0bdd9409fd Update to use the modified vm86_datacall interface. 1999-03-18 04:38:16 +00:00
yokota
5e504ca0ec Make sure the DAC palette width is restored to 6 bit. 1999-02-20 03:05:37 +00:00
yokota
a457661f60 Oops, the last commit contained a wrong patch. This is the correct one. 1999-02-05 12:58:40 +00:00
yokota
6b5cb42c67 - Don't assume the line length in the video memory is always the same as
the screen width.
- Store the current video mode information in the `video_adapter' struct.
- The size of the `v_offscreensize' field in the VESA mode information
  block is u_int16, not u_int8.
1999-02-05 11:52:13 +00:00
yokota
a0fc4cfd6e Don't forget copying video mode flags to the adapter info. block when
changing video modes.
1999-01-17 14:12:48 +00:00
yokota
5126e935c0 Fix palette save/load functions.
# They have been unchanged since the introduction of the VESA support.
# But, we started seeing the problem only recently ;-<
1999-01-16 12:56:00 +00:00
yokota
2932c02b42 Oops, I accidentaly left the debug option on by default.
It's set to off now.
1999-01-13 01:16:39 +00:00
yokota
ae16d918a3 The first stage of console driver reorganization: activate new
keyboard and video card drivers.

Because of the changes, you are required to update your kernel
configuration file now!

The files in sys/dev/syscons are still i386-specific (but less so than
before), and won't compile for alpha and PC98 yet.

syscons still directly accesses the video card registers here and
there; this will be rectified in the later stages.
1999-01-11 03:18:56 +00:00
des
e28b0e4fb9 Correct typo in macro name. 1999-01-01 14:38:30 +00:00
yokota
5a32103859 Make the VESA KLD module work! 1998-12-30 11:21:08 +00:00
archie
60d13c7a9d The "easy" fixes for compiling the kernel -Wunused: remove unreferenced static
and local variables, goto labels, and functions declared but not defined.
1998-12-07 21:58:50 +00:00
yokota
0ed89e499b A size field returned by the VESA BIOS is already expressed in bytes.
Submitted by: sos
1998-10-02 03:42:19 +00:00
yokota
3d34bf047b Yet another round of fixes for the VESA support code.
- Express various sizes in bytes, rather than Kbytes, in the video
  mode and adapter information structures.
- Fill 0 in the linear buffer size field if the linear frame buffer
  is not available.
- Remove SW_VESA_USER ioctl. It is still experimetal and was not meant
  to be released.
- Fix missing cast operator.
- Correctly handle pointers returned by the VESA BIOS. The pointers
  may point to the area either in the BIOS ROM or in the buffer supplied
  by the caller.
- Set the destructive cursor at the right moment.
1998-10-01 11:39:18 +00:00
ache
2ad6aded6a Restore v1.3 - page align workaround moved to vm86_datacall now 1998-09-29 20:38:54 +00:00
ache
374c9167d6 cosmetique - remove unneded static in previous commit 1998-09-29 04:11:35 +00:00
ache
f4ce5ac9a2 workaround painful vm86_datacall requirement that segment+offset
must be withing the same PAGE frame
1998-09-29 04:09:39 +00:00
yokota
2ceab1cc66 Cosmetic change: adjust copyright notice. 1998-09-25 11:55:46 +00:00
yokota
b326a281a9 Fix and update for VESA BIOS support in syscons.
- Handle pixel (raster text) mode properly.
   - Clear screen and paint border right.
   - Paint text attribute (colors).
   - Fix off-by-one errors.
   - Add some sanity checks.
- Fix some function prototypes.
- Add some comment lines.
- Define generic text mode numbers so that the user can just give
  "80x25", "80x60", "132x25"..., rather than "VGA_xxx", to `vidcontrol'
  to change the current video mode.  `vidoio.c' and `vesa.c' will map
  these numbers to real video mode numbers appropriate and available
  with the given video hardware.  I believe this will be useful to make
  syscons more portable across archtectures.
1998-09-23 09:59:00 +00:00
sos
653c2af6ae Add VESA support to syscons.
Kazu writes:

The VESA support code requires vm86 support. Make sure your kernel
configuration file has the following line.
        options "VM86"
If you want to statically link the VESA support code to the kernel,
add the following option to the kernel configuration file.
        options "VESA"

The vidcontrol command now accepts the following video mode names:
VESA_132x25, VESA_132x43, VESA_132x50, VESA_132x60, VESA_800x600

The VESA_800x600 mode is a raster display mode. The 80x25 text will
be displayed on the 800x600 screen. Useful for some laptop computers.

vidcontrol accepts the new `-i <info>' option, where <info> must be
either `adapter' or `mode'.  When the `-i adapter' option is given,
vidcontrol will print basic information (not much) on the video
adapter. When the `-i mode' option is specified, vidcontrol will
list video modes which are actually supported by the video adapter.

Submitted by:   Kazutaka YOKOTA yokota@FreeBSD.ORG
1998-09-15 18:16:39 +00:00