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. 😀
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 😉
here are the promised rom dumps, hope they are of use! 😊
Acer 500+ II cga combo card
MDA clone #1
MDA clone #2
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 😀
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-
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?
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 😁
I recently got a Hyundai XT clone , model "PONY" 🤣 and it had inside a single card: an ATI Small Wonder rev1 , so here's the rom dump as it carries Greek characters.
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...
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 🤣🤣🤣
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.
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...
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 😁
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).
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.
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.
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.