VOGONS


Reply 20 of 30, by ViTi95

User metadata
Rank Member
Rank
Member

I've been able to build the Abrash test code for the CEG, here is the executable

Filename
L1.EXE
File size
29.48 KiB
Downloads
24 downloads
File comment
Michael Abrash May91 executable
File license
CC-BY-4.0

and a link to a recorded video https://twitter.com/viti95/status/1672023500729507840?s=20. I know the video quality is nowhere near good but proves it works!!

https://www.youtube.com/@viti95

Reply 21 of 30, by jasa1063

User metadata
Rank Oldbie
Rank
Oldbie
ViTi95 wrote on 2023-06-22, 23:29:

I've been able to build the Abrash test code for the CEG, here is the executable L1.EXE and a link to a recorded video https://twitter.com/viti95/status/1672023500729507840?s=20. I know the video quality is nowhere near good but proves it works!!

It tested the L1 program on both my ET4000s one with an Edsun EL171 and the other with an Analog Devices ADV7146. The output is identical so these RAMDACs work essentially the same. That is really cool!

Reply 23 of 30, by jasa1063

User metadata
Rank Oldbie
Rank
Oldbie

This is one of the most rewarding parts of vintage computing. Having a long forgotten technology brought back from obscurity and being given a 2nd chance. It doesn't get any better than that!

Reply 24 of 30, by Jo22

User metadata
Rank l33t++
Rank
l33t++

I wonder, can the CEG be enabled before running commercial applications, like AutoCAD ?

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 25 of 30, by ViTi95

User metadata
Rank Member
Rank
Member

For CEG to work you need two things, one is obvious (the DAC itself), and second is that the software must have specific support for it. It requires initialization, and the VRAM layout changes depending on the CEG mode used. So it depends if the commercial software has support for it or not.

Not many software had support for it. The reason is very simple, it uses a very weird color format, which makes things worse for developers. At the same time, HiColor DACs were released nearly at the same time, and those proved to be much better as those were much easier to program for.

Last edited by ViTi95 on 2023-06-30, 15:02. Edited 1 time in total.

https://www.youtube.com/@viti95

Reply 26 of 30, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Thanks, I know, I read the datasheet before. What I want to know is if the initialization, as being described in the PDF, would "stick" for a while.
A normal VGA application, I assume, likely wouldn't read the palette register multiple times or something along these lines (pun intended).
That being said, there are unknown factors (to me, at least). No idea how VGA BIOS would behave if one graphi application ends and goes back to text-mode/DOS prompt.
And what it does exactly if mode 12h gets called via VGA BIOS by an application.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 27 of 30, by ViTi95

User metadata
Rank Member
Rank
Member

The initialization and deinitialization code is very specific, in order to avoid random issues. So it's possible to create software that enables it, and that mode should stay running even if other programs modify the palette. For example, this is the code to return to normal operation:

while (inp(0x3DA) & 0x08);      /* wait for the start of */
while (!(inp(0x3DA) & 0x08)); /* vertical non-display */
outp(0x3C8, 223); outp(0x3C9, 0); outp(0x3C9, 0); outp(0x3C9, 0); /* magic values */

Maybe this weekend I'll be able to share more code for testing this mode.

https://www.youtube.com/@viti95

Reply 28 of 30, by Jo22

User metadata
Rank l33t++
Rank
l33t++

That'd be cool! 😎 Some programs like STS Orbit Plus use mode 12h / mode 10h (standard palette) and
could really make good use of some anti-aliasing (to bring back VGA/CRT fidelity).

Edit: Some programs use external graphics libraries, like Turbo Pascal (*.BGI, like EGAVGA.BGI).
They could be modified to contain the CEG initialization code.
Same goes for QB45 or VBDOS, maybe. They contain the VGA code in the supplied runtime.

Edit: I'm sorry, I'm just thinking out loud. Games with standard VGA graphics
(SimCity, MS Flight Sim, Legend Entertainment series etc) could be adapted in a similar fashion, too, maybe.
Or maybe, running a little init program beforehand may do, if those titles don't have an overly accurate VGA initialization code.
Strategy games use lines and simple geometric objects.

Edit: Formatting fixed (on PC).

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 29 of 30, by ViTi95

User metadata
Rank Member
Rank
Member

The main problem here is that the color format is different in CEG mode, with a maximum of 223 real colors and mixes between those colors (mixing is only done with pixels in the same scanline). I guess enabling CEG causes to display wrong colors when enabled without direct support for it.

https://www.youtube.com/@viti95

Reply 30 of 30, by rkurbatov

User metadata
Rank Member
Rank
Member

Lol.

"Edsun's Windows driver development program cost $1.5 million and never delivered PostScript font anti-aliasing support".

They spent 1.5 mln back in the days on writing Windows 3.1 drivers and failed?

486: ECS UM486 VLB, 256kb cache, i486 DX2/66, 8MB RAM, Trident TGUI9440AGi VLB 1MB, Pro Audio Spectrum 16, FDD 3.5, ZIP 100 ATA
PII: Asus P2B, Pentium II 400MHz, 512MB RAM, Trident 9750 AGP 4MB, Voodoo2 SLI, MonsterSound MX300