VOGONS


First post, by ALEKS

User metadata
Rank Newbie
Rank
Newbie

Hi,

I wanted to share another project of mine. This time, replacing the VGA ROM Fonts on a Tseng Labs ET4000 ISA card.
In short I wanted to replace the boring modernish ROM font on my card with custom ones made from a combination of old ATI fonts and my own touches.
I am spending quite some time in text-mode MS-DOS for programming reasons, thus I want to like what the screen shows me.

Read the whole thing here: http://www.alexandrugroza.ro/microelectronics … onts/index.html

The operation is not for the faint of heart as it involves removing the VGA ROM BIOS and its socket (if it's a low quality one). Then it involves reading the ROM contents, analysing it and then modifying it directly with specialised software (which I programmed on my own). But it is a fun project nonetheless.

Here are some pictures:

tseng-labs-et4000w32i5.jpg
Filename
tseng-labs-et4000w32i5.jpg
File size
332.75 KiB
Views
596 views
File license
GPL-2.0-or-later
tseng-labs-et4000w32i6.jpg
Filename
tseng-labs-et4000w32i6.jpg
File size
240.86 KiB
Views
596 views
File license
GPL-2.0-or-later
tseng-labs-et4000w32i9.jpg
Filename
tseng-labs-et4000w32i9.jpg
File size
334.72 KiB
Views
596 views
File license
GPL-2.0-or-later
tseng-labs-et4000w32i10.jpg
Filename
tseng-labs-et4000w32i10.jpg
File size
230.38 KiB
Views
596 views
File license
GPL-2.0-or-later

Results:

vga-rom-fonts-results1.jpg
Filename
vga-rom-fonts-results1.jpg
File size
161.58 KiB
Views
596 views
File license
GPL-2.0-or-later

Cheers,
A.

Last edited by ALEKS on 2020-09-12, 21:16. Edited 2 times in total.

TX486DLC / 40 MHz | 32 Mb RAM | 16-bit ISA Backplane | Tseng Labs ET4000/W32i 2 Mb | I/O Interface | Audio Interface | PC Speaker Driver | Signal View Interface
3.5" & 5.25" FDD | 4 x 512 Mb CF | HP 82341D Interface | Intel EtherExpress 16

Reply 2 of 8, by ALEKS

User metadata
Rank Newbie
Rank
Newbie

Thanks!

The enclosure is on my TODO list. Also I want to source an electromagnetic ballast instead of the pure resistive one (made of light bulbs).
I took the pictures remotely (with timer) with the camera on a small tripod.

Needless to say, UV-C causes permanent blindness.

A.

TX486DLC / 40 MHz | 32 Mb RAM | 16-bit ISA Backplane | Tseng Labs ET4000/W32i 2 Mb | I/O Interface | Audio Interface | PC Speaker Driver | Signal View Interface
3.5" & 5.25" FDD | 4 x 512 Mb CF | HP 82341D Interface | Intel EtherExpress 16

Reply 5 of 8, by VileR

User metadata
Rank l33t
Rank
l33t

Hey, and pretty cool to see that you ended up making 8-dot versions of your fonts too (to go by the images on your page, anyway).

Still gotta fix that silly bug in Fontraption with ET4000 cards, but the update may be growing to include a couple of minor functionality additions as well.

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

Reply 6 of 8, by ALEKS

User metadata
Rank Newbie
Rank
Newbie

Hi VileR,

Yes, in the end I hand-crafted all the fonts in the ROM. I did 8 x 8, 8 x 14, 9 x 14, 8 x 16, and 9 x 16 (exactly the ones in the updated pictures on my site).
Then I embedded all in the modified ROM image.

Thanks again for Fontraption! Looking forward for the fixed (and updated) version. I'm sure there is a way to bypass the Tseng Labs ROM text-mode rendering weirdness. Or maybe we can debug the ROM image and patch the Tseng Labs microcode itself.
That would take some time but would be interesting. Unfortunately I am way too busy now with my other hardware projects (can't wait to finish the sound card that I'm working on at the moment).

Benedikt, I used that method for some time back in the 90s. Lately I've been using FONTEDIT and even lately Fontraption to make executable .COM files that would load my custom fonts at AUTOEXEC.BAT runtime. But then I decided to jump to next step, while freeing up 4K in the conventional memory space or in the UMA (via EMM386), used by the font replacement TSR program. That is how I ended up modifying the ROM BIOS itself.

A.

Last edited by ALEKS on 2020-07-17, 14:50. Edited 1 time in total.

TX486DLC / 40 MHz | 32 Mb RAM | 16-bit ISA Backplane | Tseng Labs ET4000/W32i 2 Mb | I/O Interface | Audio Interface | PC Speaker Driver | Signal View Interface
3.5" & 5.25" FDD | 4 x 512 Mb CF | HP 82341D Interface | Intel EtherExpress 16

Reply 7 of 8, by Benedikt

User metadata
Rank Oldbie
Rank
Oldbie
ALEKS wrote on 2020-07-17, 12:57:

I used that method for some time back in the 90s. Lately I've been using FONTEDIT and even lately Fontraption to make executable .COM files that would load my custom fonts at AUTOEXEC.BAT runtime. But then I decided to jump to next step, while freeing up 4K in the UMA, used by the font replacement TSR program. That is how I ended up modifying the ROM BIOS itself.

Ah, I see! So it's been a natural evolution to the next logical step. Maybe I should dig up my custom fonts some time and try something similar.

Reply 8 of 8, by VileR

User metadata
Rank l33t
Rank
l33t
ALEKS wrote on 2020-07-17, 12:57:

Thanks again for Fontraption! Looking forward for the fixed (and updated) version. I'm sure there is a way to bypass the Tseng Labs ROM text-mode rendering weirdness. Or maybe we can debug the ROM image and patch the Tseng Labs microcode itself.
That would take some time but would be interesting. Unfortunately I am way too busy now with my other hardware projects (can't wait to finish the sound card that I'm working on at the moment).

It seems like the rendering side is fine- the thing is that to create those fonts, I first read them from the VGA then modify them with various UI bits. The reading part seems to be the problem... after I read a couple of fonts, somehow the ET4000 ends up with the wrong active block, and sends the 8x8 font where the code is expecting 8x16.

Shouldn't be a difficult fix when I get the time, but I shouldn't hijack this thread 😀 hopefully soon I'll be able to post an updated version and let you know.

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