|
|
Text under VESA mode 0x118
Hello everybody,
I was wondering if anybody knew if there was a simple way to output
text to screen when in full graphical mode (1024x768x24bit) or if we
simply have to draw the characters on screen.
Thanks
Regards
Jeff
|
|
0
|
|
|
|
Reply
|
spamtrap2 (1628)
|
6/18/2006 6:15:43 AM |
|
Jean-Fran�ois Michaud schrieb:
> Hello everybody,
>
> I was wondering if anybody knew if there was a simple way to output
> text to screen when in full graphical mode (1024x768x24bit) or if we
> simply have to draw the characters on screen.
>
> Thanks
> Regards
> Jeff
If the used videocard don�t provide ascii letter in every graphic mode,
it is easy to get the chars from the video-rom
and set every pixel of an ascii by yourself.
;------------------------------------------------------------------
RBIL->Inter61a.zip->Interrup.a
INT 10 - VIDEO - GET FONT INFORMATION (EGA, MCGA, VGA)
AX = 1130h
BH = pointer specifier
00h INT 1Fh pointer
01h INT 43h pointer
02h ROM 8x14 character font pointer
03h ROM 8x8 double dot font pointer
04h ROM 8x8 double dot font (high 128 characters)
05h ROM alpha alternate (9 by 14) pointer (EGA,VGA)
06h ROM 8x16 font (MCGA, VGA)
07h ROM alternate 9x16 font (VGA only) (see #00021)
11h (UltraVision v2+) 8x20 font(VGA) or 8x19 font(autosync EGA)
12h (UltraVision v2+) 8x10 font(VGA) or 8x11 font(autosync EGA)
Return: ES:BP = specified pointer
CX = bytes/character of on-screen font
(not the requested font!)
DL = highest character row on screen
Note: for UltraVision v2+,
the 9xN alternate fonts follow the corresponding
8xN font at ES:BP+256N
BUG: the IBM EGA and some other EGA cards
return in DL the number of rows on
screen rather than the highest row number (which is one less).
SeeAlso: AX=1100h,AX=1103h,AX=1120h,INT 1F"SYSTEM DATA",
INT 43"VIDEO DATA"
Format of alternate font table [array]:
Offset Size Description (Table 00021)
00h BYTE character to be replaced (00h = end of table)
01h N BYTEs graphics data for character, one byte per scan line
;------------------------------------------------------------------
Dirk
|
|
0
|
|
|
|
Reply
|
Dirk
|
6/18/2006 12:49:07 PM
|
|
"Dirk Wolfgang Glomp" <spamtrap@crayne.org> wrote in message
news:48i37e.2h.ln@news.home.freecrac.dyndns.org...
> Jean-Fran�ois Michaud schrieb:
>
>> Hello everybody,
>>
>> I was wondering if anybody knew if there was a simple way to output
>> text to screen when in full graphical mode (1024x768x24bit) or if we
>> simply have to draw the characters on screen.
>>
>> Thanks
>> Regards
>> Jeff
>
> If the used videocard don�t provide ascii letter in every graphic mode,
> it is easy to get the chars from the video-rom
> and set every pixel of an ascii by yourself.
I second that.
There are a number of excellent reasons to do the character drawing
yourself, as opposed to relying on the BIOS. While *your* card may display
something, other videocards may not support BIOS text in this mode.
Another very good reason is: speed! The BIOS routines are notorious for
their lack of it, a very lazy written assembly routine beats them hands
down. Plus you get to draw your own characters. While it may not seem a
bonus to the artistically challenged (I used to read the old 8x8
characters), you can alter them in a variety of ways: bold, underline,
outline, thin, italics, shadow, double width, double height -- all with
minute adjustments to your drawing routine.
[Jongware]
|
|
0
|
|
|
|
Reply
|
Jongware
|
6/19/2006 10:03:02 AM
|
|
|
2 Replies
206 Views
(page loaded in 0.039 seconds)
|
|
|
|
|
|
|
|
|