• Please review our updated Terms and Rules here

Portuguese characters in brazilian hardware

chbaldo

New Member
Joined
Jun 9, 2022
Messages
5
Hi folks, good afternoon.

After dealing with some brazilian CGA and EGA video cards, I discovered that most of them supports the Portuguese special characters (Ã and Õ), but the implementation is completely different of any standard. Digging into their character ROMs, I found the ALT codes that produces the characters:

* ALT + 226 = ã
* ALT + 249 = õ
* ALT + 233 = Ã
* ALT + 239 = Õ

WhatsApp Image 2022-06-06 at 21.42.14.jpeg

That kind of standard seems to be implemented in CGA and EGA cards made by Microtec, CCE, Updating and it's very possible that even more brands adopted it. However, seems that no operating system supported it at all. Microsoft and IBM completely ignored it and 850 was chosen to be the Brazil's codepage, breaking compatibility with everything that came before.

Itautec, in other hand, chose to follow a standard that was already in use abroad. Their CGA cards use a character ROM that follows the 860 codepage, and the DOS clone that was made by them (Sisne Plus) also was CP 860 compliant. Unfortunately, I still don't have a dump of it's character ROM, but I came across a table that an owner of a Itautec CGA card made with it's characters.

7e8c01d6512500b4d4f37207458bd58ffabfb80b.png

The question is: is there a way to make DOS use the previous Brazil standard for Portuguese characters? I know that is possible to hex-edit the DOS messages to use them, but making the keyboard being able to do that is way more complicated and beyond my knowledge.

A few character ROM dumps from brazilian CGA cards:

* CCE MC-5000P Executivo XT: https://datassette.nyc3.cdn.digitalocea ... -5000p.zip
* Microtec CGC II: https://datassette.nyc3.cdn.digitalocea ... i_rev.6.7z
* Microtec CGC 3: https://datassette.nyc3.cdn.digitalocea ... icrotec.7z
* Microtec CGE (EGA BIOS, also follows the standard): https://datassette.nyc3.cdn.digitalocea ... ge_v14.zip
* Updating: https://datassette.nyc3.cdn.digitalocea ... pdating.7z
 
Hey, welcome to VCF!

Being a PC bitmap font junkie, this is some very useful data right there - appreciate the historical notes too... those dumps would fit right in in my quest for international charsets for the Oldschool PC font pack.
What's "updating.bin" though? :) that one seems to contain both monochrome (9x14) and 8x8 fonts, a la IBM's CGA and MDA.

About having the older Brazilian encoding in a DOS keyboard driver: you could check out mKEYB here at https://forum.vcfed.org/index.php?threads/the-quest-for-a-small-keyboard-driver.1238141/.
 
Last edited:
Hey, welcome to VCF!
Thanks!
What's "updating.bin" though? :) that one seems to contain both monochrome (9x14) and 8x8 fonts, a la IBM's CGA and MDA.
This file came from a rather obscure CGA card made by Updating. They weren't a big player in the brazilian computer market, and the card's project surely came from a CGA/MDA chinese card. However, while the MDA characters are present in the ROM and also complies to this undocumented standard, seems that Updating removed the ability to switch the card in MDA mode.

whatsapp_image_2022-06-06_at_09.26.13.jpeg

Unfortunately, the card isn't mine. I wish I had one of those, it's a rather interesting piece of obscure brazilian hardware.

Anyway, I'll fire up my PC/XT and try mKEYB. Maybe it will do what I'm looking for. :)
 
Hi chbaldo, welcome to the forum!

Anyway, I'll fire up my PC/XT and try mKEYB. Maybe it will do what I'm looking for. :)
Owner of the mKEYB github repo here. mKEYB is designed to be as small as possible, so it does not have support for multiple codepages. This means that every layout is hardcoded to use a specific codepage, and gives random characters with everything else. The brazilian and portugese layouts are most likely for CP 850, so they won't work on your hardware. However, if you know a little bit of C programming, creating a custom layout is not that difficult.
 
Hi davide78, thanks!

Well, is there a way to make new layouts for mKEYB without knowing anything about programming? 😬

I'm pretty sure that layouts using this ancient brazilian standard would be the only ones to do it. Even the brazilian DOS clones that surfaced till now don't support it. A complete FreeDOS support would be really awesome, but just making the keyboard work correctly is, for now, enough.
 
Well, is there a way to make new layouts for mKEYB without knowing anything about programming? 😬
Not really, adding a new layout means updating the source code and build a new version of the program. However, if you test the current version and send me a list of the keys that do not work with the expected character code I may be able to build a custom version.

As for a complete FreeDOS support, I suspect it would need patching most of the programs and utility, so I doubt it would ever be possible.
 
This file came from a rather obscure CGA card made by Updating. They weren't a big player in the brazilian computer market, and the card's project surely came from a CGA/MDA chinese card. However, while the MDA characters are present in the ROM and also complies to this undocumented standard, seems that Updating removed the ability to switch the card in MDA mode.

Ah, ok. Something about that name "Updating" didn't immediately suggest that it referred to the vendor ;) The "MCGP" on the sticker seems to be a pretty generic acronym for Monochrome/Color Graphics/Printer. So with that "M" plus the existence of a crystal, and four(!) jumpers, I'd be surprised if it wasn't switchable via one of those four.

Anyway, thanks for the info! Filed in my notes for the collection...
 
Not really, adding a new layout means updating the source code and build a new version of the program. However, if you test the current version and send me a list of the keys that do not work with the expected character code I may be able to build a custom version.

As for a complete FreeDOS support, I suspect it would need patching most of the programs and utility, so I doubt it would ever be possible.
I made two layouts for XKeyb that were compliant to this brazilian standard: US-International and ABNT brazilian keyboard. Unfortunately, XKeyb doesn't work in PC/XT hardware, so I need to install my Microtec EGA card in one of my 486 computers to test them.

However, I think a FreeDOS support wouldn't need that much patching. Creating a new codepage that matches this brazilian standard and keyboard layouts that use it is pretty much everything that needs to be done.

Ah, ok. Something about that name "Updating" didn't immediately suggest that it referred to the vendor ;) The "MCGP" on the sticker seems to be a pretty generic acronym for Monochrome/Color Graphics/Printer. So with that "M" plus the existence of a crystal, and four(!) jumpers, I'd be surprised if it wasn't switchable via one of those four.

Anyway, thanks for the info! Filed in my notes for the collection...
Well, I'm not 100% sure that this card can't be switched to MDA mode. But, while the MDA charset is compliant to the standard, all of them contain a kind of "dirt" that isn't present in the CGA one.

Seems that Updating never intended to make the card's MDA mode widespread: while their card doesn't have anything saying what it's jumpers do, the chinese ones that share the same layout have them labelled clearly to show how to set this mode. Anyway, I could be wrong. Who knows? Unfortunately, a lot of info about brazilian hardware just got lost in the sands of time. :(
 
Good news: finally, a CGA card made by Itautec surfaced. It's here with me, it's working and it's HUGE.

288096265_10223388133426533_1394736632806374771_n.jpg

Unfortunately, the way the sync signals are made by the card seems to be different from the IBM standard, making any CGA monitor that isn't from Itautec freak out and roll the screen over and over again.

287671668_10223388133746541_240150896843367688_n.jpg

Anyway, a great find. It's ROM is fine (there's text on the screen), so a dump is just a matter of time. :)
 
Back
Top