VOGONS


First post, by VileR

User metadata
Rank l33t
Rank
l33t

Prior to EGA with its support for soft fonts/codepages, the only way to support non-US charsets was to replace the display adapter's character ROM. IBM did just that with its CGA and MDA adapters sold in various countries, as did Hercules and other vendors.

I'm looking for dumps of these foreign character ROMs (or even just the bitmaps) for a little project I'm working on -- preferrably from original IBM cards, but clones will also do. Already have some dumps for Cyrillic... so Greek, Hebrew, and Central/Eastern European latin charsets would help me out especially. 😀

[ WEB ] - [ BLOG ] - [ TUBE ] - [ CODE ]

Reply 1 of 38, by keropi

User metadata
Rank l33t++
Rank
l33t++

interesting... what is this project? is it just cool or super-cool? 🤣
I'll upload the 3 romdumps I have of 3 different cards with Greek charsets tomorrow when I am at my office pc where the files/cards are 😉

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 2 of 38, by keropi

User metadata
Rank l33t++
Rank
l33t++

here are the promised rom dumps, hope they are of use! 😊

Acer 500+ II cga combo card
th_acer500_II_cga-combo_zpssecnamtg.jpg

MDA clone #1
th_clone_mda_1_zpsbd2nvdpz.jpg

MDA clone #2
th_clone_mda_2_zpsunkvepp7.jpg

ps. if by any chance someone submits a Greek rom for the original IBM CGA please tell me, I'd like to change the rom in mine so I get Greek characters in old programs 😀

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 3 of 38, by vlask

User metadata
Rank Member
Rank
Member

Is there any software way to dump them without rom programmer? Have many cards, but no Eprom programmer.

Not only mine graphics cards collection at http://www.vgamuseum.info

Reply 4 of 38, by VileR

User metadata
Rank l33t
Rank
l33t
vlask wrote:

Is there any software way to dump them without rom programmer? Have many cards, but no Eprom programmer.

Not with CGA/MDA as far as I know (no BIOS, ROM not mapped to the CPU's addressable space). 🙁

keropi wrote:

interesting... what is this project? is it just cool or super-cool? 🤣

It's "cool" only for a very narrow/nerdy defintion of "cool" - think something like this project, but for PC fonts instead of Amiga ones. 😉

Already got some Cyrillic ones and Danish/Norwegian/Portuguese (over at VCF), and now Greek from you -- I have a Hebrew CGA font from IBM, but only the 'normal' 8x8 chars (no 'thin' version or 9x14/MDA glyphs). EGA/VGA are much easier, since the fonts can simply be extracted from DOS codepages, but for CGA/MDA/Herc the only way to get the "authentic" international fonts is from the ROMs.

Anyway, thanks for those dumps! Here are the bitmaps-

The attachment greek.png is no longer available

A bit odd that those MDA clones don't have IBM-style 8K ROMS and with the 8x8 fonts included... but I guess that part was simply stripped out since it's never used on MDA anyway.
BTW, I think you should be able to burn a Greek ROM for your IBM CGA using the Acer one as a base? unless you want a 'thin' font as well?

[ WEB ] - [ BLOG ] - [ TUBE ] - [ CODE ]

Reply 5 of 38, by keropi

User metadata
Rank l33t++
Rank
l33t++

Awesome, can't wait to see the project live, I am a sucker for ascii stuff
Glad the dumps can help, even if they lack some data 😁
As for the IBM rom, I'd like to put the "original Greek" one at some point, not a priority but it would be nice to have ... maybe I get lucky and find it 😁

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 7 of 38, by VileR

User metadata
Rank l33t
Rank
l33t

Ah, missed that. Interesting - this one has two identical copies of the same data, and each of them in turn has two identical copies of the same 8x8 font (plus one 8x14 font). 😜
I was initially more focused on the IBM stuff, but this might prove useful as well. Haven't had much time to throw at this project lately (new job and all), but I've puzzled out the workflow for putting it all together, so I suppose we'll see some Very Old Glyphs On New Systems yet...

[ WEB ] - [ BLOG ] - [ TUBE ] - [ CODE ]

Reply 8 of 38, by keropi

User metadata
Rank l33t++
Rank
l33t++

great, can't wait to see what you come up with 😀
regarding the duplicate data, maybe it's on purpose to fill the bigger eprom they had in stock or the card uses different regions of the data depending on mode... who knows what they were thinking back then 🤣 🤣 🤣

🎵 🎧 PCMIDI MPU , OrpheusII , Action Rewind , Megacard and 🎶GoldLib soundcard website

Reply 9 of 38, by alexanrs

User metadata
Rank l33t
Rank
l33t

I have a CGA clone card from Bulgaria with a weird character set. I'll back it up later (and replace it with an EEPROM with the regular english one, if possible). Fun fact: it uses a regular 27256 EEPROM, and not what IBM CGA cards used.

Reply 10 of 38, by alexanrs

User metadata
Rank l33t
Rank
l33t

Here you go - from a Pravetz CGA clone card

Reply 11 of 38, by VileR

User metadata
Rank l33t
Rank
l33t

Weird indeed... each of the 3 Cyrillic fonts has a different encoding.
The second one in particular (top right) looks very Apple][-ish. Perhaps related to the fact that Pravetz made Apple clones as well...

The attachment PravetzCGA.png is no longer available

[ WEB ] - [ BLOG ] - [ TUBE ] - [ CODE ]

Reply 12 of 38, by wbc

User metadata
Rank Member
Rank
Member
VileRancour wrote:

Weird indeed... each of the 3 Cyrillic fonts has a different encoding.
The second one in particular (top right) looks very Apple][-ish. Perhaps related to the fact that Pravetz made Apple clones as well...

The top right font seems to using KOI8-R character set rather that standard OEM 866, while the bottom left looks like "main" GOST 19768-87 encoding but in fact it does not match it.
...and the bottom right is even weird than other 😁

--wbcbz7

Reply 13 of 38, by stecdose

User metadata
Rank Newbie
Rank
Newbie

How did you extract the fonts from a ROM dump? And how did you create these images?

I recently have dumped a Commodore 386SX-25 with an onboard AVGA2/Cirrus GD5402. I have the ROM-dump and now I want to find the start of the charset(s) in there, without using the 386 (INT10).

Reply 14 of 38, by stecdose

User metadata
Rank Newbie
Rank
Newbie

I started disassembling the ROM with IDA Pro. I already found the 8x8, the 8x16 is next.
Two ways to find the charset:
1) First three bytes of the image are signature+size of ROM. Directly after this comes a JMP to the init routine.
In that init routine interrupts 0x43 and 0x1F are set up. 43 holds the address of the lower half of the charset. 1F holds the address of upper half. Each half is 1k. Cut this from the ROM.
2) search for 8 zero bytes in a row. check if the next 8 bytes would draw a smilie (8 zeroes = all blank = ASCII 0x00, smilie = ASCII 0x01). This is the start of lower half. Upper half immediately follows (at least in my ROM).

Way 2 I am going now for the 8x16, just searching for 16 zero bytes in a row. I already found, but still not sure by +-2bytes. Need to try or count in disassembly.

Attached the bin-font, a generated header for C and a test program in C that uses SDL to draw the charset. Also a screenshot. And a program to convert the bin file to header.

Reply 15 of 38, by Predator99

User metadata
Rank l33t
Rank
l33t

Very interesting work! Didnt even know these ROMs are interchangable. I also have some MDA/CGA cards, but I dont think they have special character sets. Let me know if you need contributions.

Reply 16 of 38, by stecdose

User metadata
Rank Newbie
Rank
Newbie

And finally I found the 8x16 😀

Reply 18 of 38, by stecdose

User metadata
Rank Newbie
Rank
Newbie

Here is another one, a very nice looking 8x14 from a NCR GD5428.

Reply 19 of 38, by stecdose

User metadata
Rank Newbie
Rank
Newbie
keropi wrote:

ps. if by any chance someone submits a Greek rom for the original IBM CGA please tell me, I'd like to change the rom in mine so I get Greek characters in old programs 😀

Right now I am dissecting a lot of ROMs to compare. If you tell me which font you want to have in which ROM, I could patch it for you - you need to burn it to a ROM and plug it into your card afterwards.