[comp.binaries.ibm.pc.d] Monochrome character reassign???

13001_6035@uwovax.uwo.ca (05/10/89)

About 5 years back, some magazine said that on the IBM
monochrome (text) adapter, you can change the character
generator to print arbitrary fonts/bitmaps.

Since I didn't have an IBM compatible system then, I
ignored the article.

Does some one know if I can have the character generator
look at bitmaps in a specified area of memory?

Any help would be appreciated.  Keep in mind that I am
talking abt a text-only adapter.  This sort of a feature
would be great for games (I remember using a Sinclair
Spectrum where you could do this and it made games development
much easier).

Pat Surry

davidr@hplsla.HP.COM (David M. Reed) (05/16/89)

I do not know if I will be talking about the same thing as you, but I hope
this provides some insight.  With a graphics adapter (not a text adapter) on
the PC/AT DOS system, a program can create an alternate font for the high
ASCII characters (128-255).  These can then be addressed while is text mode
simply as text characters, which makes display very quick and easy.  I am
finishing up a game where I have done this to create my game pieces.  I
found in testing that this would not work with a monochome adapter card (for
technical reasons I have read about but do not recall).  I did find that there
are some CGA-emulators that can be used with the Hercules-type graphics
adapter cards to allow use of these alternate fonts.  (I use one called 
SIMCGA.)  Though I am a bit limited in my graphics character representations,
I did prefer this method (for speed and a couple of other reasons) of using
graphics characters over a graphics screen (where I would need to worry 
about every pixel).

abcscnuk@csuna.csun.edu (Naoto Kimura) (05/18/89)

In article <470003@hplsla.HP.COM> davidr@hplsla.HP.COM (David M. Reed) writes:
]I do not know if I will be talking about the same thing as you, but I hope
]this provides some insight.  With a graphics adapter (not a text adapter) on
]the PC/AT DOS system, a program can create an alternate font for the high
]ASCII characters (128-255).  These can then be addressed while is text mode
]simply as text characters, which makes display very quick and easy.  I am
]finishing up a game where I have done this to create my game pieces.  I
]found in testing that this would not work with a monochome adapter card (for
]technical reasons I have read about but do not recall).  I did find that there
]are some CGA-emulators that can be used with the Hercules-type graphics
]adapter cards to allow use of these alternate fonts.  (I use one called 
]SIMCGA.)  Though I am a bit limited in my graphics character representations,
]I did prefer this method (for speed and a couple of other reasons) of using
]graphics characters over a graphics screen (where I would need to worry 
]about every pixel).

Actually, you're still using the graphics mode in CGA.  The reason it
doesn't work with the Hercules card is that BIOS doesn't support it --
in fact, it can't even tell the difference between the Hercules and an
MDA because the Hercules emulates an MDA so well.  It's too bad that you
can't replace the 8x8 font in the ROM for the first 128 characters (I
don't recall the address at which you can find them -- they came in
handy when I needed to set the upper 128 characters to be the inversed
images of the first 128, and I didn't want to go and bother creating the
table on my own by looking really close at the display).

If you have a Hercules+ card, EGA, VGA, or MCGA, you can use
RAM-loadable fonts, but still be using text mode.  With the RAM-loadable
fonts you can AT LEAST DOUBLE the number of characters available (though
at the cost of not having as many text attributes).  Not only do you
get the extra characters, but you still retain the speed of the text
modes.

                //-n-\\			 Naoto Kimura
        _____---=======---_____		 (abcscnuk@csuna.csun.edu)
    ====____\   /.. ..\   /____====
  //         ---\__O__/---         \\	Enterprise... Surrender or we'll
  \_\                             /_/	send back your *&^$% tribbles !!