code block
Thread review | |
---|---|
creaothceann |
Posted by Nicholas Steel SciTech Display Doctor to the rescue! |
Kawaoneechan |
Found it! https://www.youtube.com/watch?v=bS9hiSwL1KY |
Nicholas Steel |
Posted by tomman Afaik a lot of VESA modes are no longer supported. |
CaptainJistuce |
Posted by tommanEvery established computer company had a powerful minicomputer or mainframe division that hated PCs. The IBM 5150 PC was actually intentionally developed on the other side of the continent from headquarters to insulate them from sabotage. The 5150 project had very little managerial oversight and a significant amount of freedom. * It is part of why IBM suceeded in launching a useful personal computer where every other established player stumbled. The PC AT, however, was deliberately crippled. It was underclocked to ensure it didn't offer minicomputer levels of performance. *As an aside... one of the few rules they had to abide by was IBM's stringent component reliability standards. This prevented them from building a 68000-based system, as there simply weren't enough 68000s in the world to test them to IBM's standards when the processor decision was being made. Not well, but they're still functional. |
funkyass | every video card newer than a voodoo2 has built-in vga and vesa support. |
creaothceann |
Posted by tomman It's still supported via the BIOS. https://stackoverflow.com/questions/61521819/does-modern-pc-video-hardware-support-vga-text-mode-in-hw-or-does-the-bios-emul https://superuser.com/questions/1395914/how-does-the-cpu-communicate-with-the-gpu-before-drivers-are-loaded |
Kawaoneechan | LGR attempted that, actually. EGA games were miscolored and Duke Nukem 3D was laggy as hell depending on whether you used VESA or plain VGA. |
tomman |
Also, I remember having read about being internal opposition against the PC inside IBM ranks, as they made their mainframes were their bread and butter back then. Some inside IBM really wanted it to fail, hence some of the questionable engineering decisions on the PC design. Tangential question: How do newest GPUs (without 2D guts at all?) like a $UNLIMITED_MONEY RTX3080Ti deal with DOS-era graphics? |
creaothceann |
Posted by CaptainJistuce Gotta be cheap, programmer comfort be damned. https://www.epanorama.net/documents/joystick/pc_joystick.html https://en.wikipedia.org/wiki/A20_line |
Kawaoneechan | It's the 80's. Do a lot of coke and vote for Ronald Reagan. |
funkyass | IBM in the 80's must've been a weird place to work. |
Kawaoneechan | Old enough software would be stuck with the one palette set up by the BIOS mode switch, I'd figure, but otherwise still work without crashing. That is, if they use mode 4 they're stuck with green-red-brown, if they use mode 5 they get teal-red-gray. No way to activate brightness, switch mode 4 to teal-magenta-gray, or set the background color. Because those things would be done through those two control registers. |
CaptainJistuce |
Oh, IBM... you really DID put the interns in charge of this one, didn't you? "Yeah, it is totally, 100% backwards compatible. You just have to update the palette through a different mechanism. Old one doesn't work." "That's... not 100% compatible." "It'll be fine. Programs can just do both ways. No reason CGA apps can't know how to work EGA. They need to get with the future." "But what about existing software?" "Who cares? Old and busted." |
Kawaoneechan | Fun fact about EGA/VGA cards emulating CGA: when you set one to either of the CGA modes, you can then change those few colors to any of the sixteen. This is because to change the palette on a real CGA, you have to write to specific ports (0x3D9 for example, you can change to bright magenta-cyan-white and any "black" with "outp(0x3D9, 0x30 | bg);", where 0x20 decides the palette and 0x10 the brightness. And you'd want to do that because changing to mode 4 defaults to red-green-yellow) but on EGA those ports don't work! No, you change the CGA palette on an EGA card by changing the EGA palette. Which in turn doesn't do shit on a CGA, so you just gotta do both ways. |
CaptainJistuce |
Posted by KawaBut also more letters! |
Kawaoneechan |
Posted by CaptainJistuceThen you'd basically have a VGA without EGA compatibility. |
CaptainJistuce | But what if MCGA? |
CaptainJistuce |
Fiiiiiine. If it's not magenta, it's not CGA™!* *Offer not valid if developer gave a damn, but most didn't. |
creaothceann |
Posted by Kawa |
Kawaoneechan |
Okay! CGA has all sixteen colors we know and love. In text mode, any character can have any of the sixteen, on any of the dark eight backgrounds. In the 320×200 graphics mode most associated with CGA, the black entry can be set to, again, any of the sixteen. In the 640×200 higher-resolution black/white mode, white can be replaced with any of the sixteen, and in both cases this can be done per line if you time it right. More to the point of "if it's not magenta", that's but the default palette. Green/red/yellow is just as valid a CGA graphics color set as cyan/magenta/white. Cyan/red/white if you tweak it a bit. In turn, if you tweak the text mode a bunch and use a lot of half-filled block characters, you can have 160×100 16-color graphics. That's only 44 lines less than a Game Boy. For comparison, Hercules was 720×348 with no color options at all beyond that of your monitor. So resolution is literally the only thing on which Hercules beat CGA (on its own merits without considering crappy monitors). |