Tom's Guide | Tom's Hardware | Tom's Games
![]() |
![]() |
![]() |
Hi!
I've got a little problem with some special characters.
My question is:
How can I do the following 2 characters in Dos?þ (Alt+ 0254 in Win)
¾ (Alt+ 0190 in Win)Thanks for your help! :)

First you have to load a different display character set code page, one that has those special characters in it. Windows uses a different code page that does not have the line graphics characters in it.

Thanks for your quick answer! :)
On the Computer where I need these chars I cannot load anything, that's the big problem. I [b]have[/b] to do them in Dos without using any other programms.

{{took a brake to eat and then mow the yard))
You do have a minor problem. DOS, by default uses BIOS for DOS text mode. The BIOS based Text mode character set does not have the characters that you want to display. Assuming this is a Real mode DOS program, you do have the option of setting the display into Graphics mode. In Graphics mode, the characters are drawn by the software. Hence you do have the option of changing the graphic for some characters.
The BIOS has a character map in ROM in two parts that it uses to generate the characters on the screen. At address 0000:007C is a Far Pointer that points to the start of the second half of the character bit map table, ie. character 128 (80h) through 256 (FFh). There are 8 bytes per character.
DOS supports different Code Pages when using Graphics display modes. It's DISPLAY.SYS module for display Code Page support does this by loading different character bit map tables into memory and changing this pointer to the tables. BIOS then uses this different set of graphics for the second half of the character set.
A program could do the same, load its own 1024 byte graphics table, with modified characters in specific positions, get the current pointer at location 0000:007C and save it, and replace it with the Double Word pointer to the programs table, then restore the pointer before exiting. You can then use any graphic character you want. There are standard sets of these tables.
A few compilers that support other languages and Code Pages have standard options that support this and build optional code pages into the program.
You also have the option of writing directly to the graphics mode video buffer and changing the bits that form the character and its color.
Now for just one or two special characters, there are also ways with VGA adapters to change the bit map for specific code points in the adapter. When a mode set is done to a VGA class adapter, and it is place into a Text mode, it loads the character set bit map table into its internal RAM. There are commands that allow you to change specific code points and insert a different graphic for a specific character.
So there is different ways to do what you want to do. On a DOS system you can load Display.sys with code page support and use a code page that has the character you want. You can use Graphics mode and load your own Graphics bit map table for the second half of the character set. You can set a specific video graphics mode and do direct writes of an eight byte graphic for the character directly into the desired location in the video regen buffer. Or if you know all the systems the program is going to be ran on will be VGA compatible, you can reprogram specific code points in the adapter with the eight byte graphic you want.

Or you could use a Word Processor (ex WP5.1) that allows extended font support. (This assumes that you are printing the documents.)
Using a DOS text file in another machine without the Code Pages and/or other definitions loaded will revert back to the original DOS character set.

![]() |
![]() |
![]() |

This post is quite old and has been locked from receiving new replies. Please create a new posting instead.
| Ads by Google |