Date: Thu, 26 Apr 2001 00:30:33 -0700 From: John Merryweather Cooper <jmcoopr@webmail.bmi.net> To: Charles Burns <burnscharlesn@hotmail.com> Cc: freebsd-questions@FreeBSD.org Subject: Re: Win98+Linux+FreeBSD? Message-ID: <3AE7CE99.8BB27D15@webmail.bmi.net> References: <F2637ZZoudFwpsHgu1B0000a99c@hotmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Charles Burns wrote: > > > > The commercial product "System Commander" allows a system to use an > > > unreasonably large number of OS's by pulling some evil tricks. It works > > > well, too. > > > Unfortunately it REQUIRES a FAT or FAT32 drive to run off of. > > > The guys that made it are good--They make ASM debugging tools and have > > > created a custom font in BIOS for the program to make it look snazzy yet > > > still be in text mode. (If anyone knows how to do this let me know) > > > > >Actually, it's very simple. All video adapters since EGA (those > >claiming at least marginal VGA compatibility) have a software character > >generator. All the BIOS does is supply the masters which are loaded up > >into memory. There's an INT 10 interface to do this. The hard part is > >actually mastering (re: designing the font) so it looks good. A long > >time ago, in a place far, far away I wrote a CRT unit for Quick Pascal > >that supported 80x50 mode on a Tandy 2000 (which has a different, but > >functionally similar character generator to a VGA-compatible adapter). > >I supplied my own custom 8x8 font and loaded it up to the character > >generator. It's probably still rattling around in what's left of > >CompuServe . . . :) > > Would you know of a place where I could get info on this? I was thinking of > making a text-mode MPEG player that generates its own font once per frame to > make the picture look less terrible than, say, an ASCII movie player if such > a beast existed. (Am I a masochist or what?) > The only ASM docs that I have are from Microsoft QuickC, back when Microsoft > knew how to make useful documentation (read: not MSDN) > I guess i'll need to write a completely different one for FreeBSD (being > protected mode and all), but I am sure docs for doing so won't be anywhere > near as much of a PITA to come across. Thanks! Actually, you're in for more pain than you know. In protected mode, video adapter programming divides itself up into the following categories: non-VESA compliant, VESA 1.2 compliant, VESA 2.0 compliant, VESA 3.0 compliant. Of these, only VESA 3.0 has a very complete protected mode interface. Upwards of 95% of the cards your program is likely to run on are going to be VESA 1.2 or VESA 2.0. non-VESA and VESA 1.2 have real-mode only interfaces--so you'll need a complete context switcher, a mini-DOS emulator to make the INT 10 calls, and plenty of hacks for the weird cases. VESA 2.0 has a protected mode interface, but you usually need to be in real mode, call a special INT 10 call to get an entry point, and then switch back to protected mode. But it can be done . . . You'll need the VESA 1.2 and 2.0 docs from VESA (they cost). It was possible to download the VESA 3.0 standard for free from there site about two years ago--don't know if that's still the case. And you'll need the technical docs for each and every "weird" adapter you're willing to support--(you'll find that there are more of those than you think . . . :) ) You might find it easier to just punt, go into a graphics mode, cobble up your own character generator, and roll-your-own characters, etc. Regardless, in real mode, the INT 10 all you're interested is 0x11, subfunctions 0x00 and 0x10. It stores the character table you provide in a memory locationg that turns out to be pointed to by the address of the INT 43 entry in the DOS interrupt table. For more ideas, you might want to take a look at: 1) the source code for the X video system (does alot of what I described above); and 2) the MGL 5.0 Beta 2 code at ftp.scitechsoft.com. If you install perforce, you can set up to get updates (MGL is being actively developed--mostly in OS/2 and Win32 right now because that's where the money is--but with plans to do work on Linux (first) and FreeBSD and some others later. jmc > > _________________________________________________________________ > Get your FREE download of MSN Explorer at http://explorer.msn.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3AE7CE99.8BB27D15>