I can't believe I just watched a 40minute video about XGA, and I look forward to the next one :) As a kid I always saw the words XGA almost everywhere, but never seen a true XGA machine
Thanks for making all of this content. It's everything I've been wanting to learn about old PC video. Whenever you're about to exercise some obscure functions using registers nobody ever touches... time to grab the popcorn.
They'd be pretty long data sheets if they did. :-) Of course this was not much use as a datasheet. They could have done so much better. ATI and Western Digital Imaging did so much better.
Yes, IBM was a business company and they really made it difficult to make things like this attractive to games and so on. Of course it was only another couple of years until VGA was ubiquitous and everything changed.
@@PCRetroTech IBM also failed with OS/2. In that case, they didn't understand the gaming market either. Microsoft worked on WinG instead to try to attract game developers for Windows 3.x and later they did accelerated Direct2d and Direct3d for Windows 95.
Great video! I'm already eagerly awaiting part 2. Transparency effects (for fog, water, light...) for games in low resolutions (320x200 16bit) would be particularly exciting.
It is entirely true that XGA was the high-end standard at the beginning of the 1990s. Unfortunately, as with MCA, IBM was adamant to force an unnecessary market segmentation that delayed adoption of the standard. While it is true that a minimum of 1MB of RAM and other performance requirements were pretty high, IBM did not help either by focusing on creating another standard without cooperating with the rest of the industry during development or after that. Luckily, due to market demand, the XGA eventually became the standard by 1994 and you were hardly pressed not to find a graphics adapter having 1024x768 in 256 colours capability. Funnily enough, most affordable colour CRT monitors in 1993-1994 were only able to use that resolution in 43Hz interlaced mode and with a 1MB video card you could not ask any higher refresh rate in 256 colours. Oh, fun times before we had the Multisync monitors in the mainstream... All of this resulted in a lag of a couple of years before XGA was available end-to-end on the PC market.
@@PCRetroTech That is too much to ask! The 1990s was such a diverse testing ground that you would be hard pressed to find stable trends. I remember what happened just a few years down the line when 3D graphics was round the corner. It took Microsoft a long time to develop a reasonable Direct3D standard and we had to use OpenGL, the big and heavy interface where you had to do most of the work yourself unless you were a happy Glide developer. Getting back to the starting point, the "minor" inconsistency of coprocessors is easy to forget... I mean, at another level, when the Intel 80486 DX4 was not actually a clock quadrupled processor either but a clock tripled one, why would it matter? (the 80486 started life at 33Mhz clock speed) My guess is that Intel considered they could have an additional market (sales) benefit by making the graphics coprocessor design as they did. It seems dumb, but that could be one explanation why they did not adapt the same design to the popular VGA adapters scene or did anything else to expand the market for addons but they further ensured it would stay locked in.
These were difficult times for IBM. Their interest was in being *the* PC manufacturer, not in being just another clone manufacturer, a market they couldn't really compete in. They had lost control by this point but were going down fighting.
@@ian_b It is entirely true. They did not understand that the PC market was not the mainframe market where they could dominate. This mindset made them hard to adapt and the reason they exited the market after a few more years.
@@retrowikid One has to wonder if XGA was just some pet project at IBM that even the marketing people thought wouldn't succeed, but which made their range look mature or something.
The microchannel adapter shown @3:19 (FCC ID ANO4AR1887972) is actually the IBM 8514/A (see the pictures and outlines at the 'Ardent-Tool' - If you have a system to run it in, I can send one for the cost of shipping). Of course, the IBM versions of XGA (AKA "XGA-1" and "XGA-NI", for "Non-Interlace") and XGA-2 are at the 'Ardent-Tool', too. XGA also exists on the 8590/9590 (Model 90) planar, and XGA-2 on the 9533 (Model 'E', and ISA system) - sadly never more than 1Mb VRAM. Really, I do have extra 8514/A, XGA, and XGA-2 adapters - Find a 9590 (which had an XGA-2 adapter installed with inactivated XGA on the planar, blue badge), and I'll send you an 8514/A adapter; You would have a system for all three standards.
The PS/2 Model 65SX had an XGA and SCSI adapter (and drive) as factory add-ons to make up for the late-release of a 386SX-16 system. There was also planar XGA-2 on the 9556/9557 (the PS/2 Model 56 and 57 with an IBM 486SLC2/486SLC3 CPU). The microchannel implementations had POS registers for the configuration of the XGA/XGA-2 video systems, which don't have an equivalent on an ISA system - I wonder how the PS/2 'E' ran it's planar XGA-2.
Oh, sorry I missed that. I thought it looked familiar. Thanks for the offer, but I don't have a PS/2 with MCA at the moment. I did see a few of these adapters available online, and the comment about the steel briefcase was really just for humour. I have seen those cards go for an absolute fortune in the past though. After the recent difficulties with moving house, I'm being a bit more cautious in what machines I acquire until I can be sure they won't end up needing to be disposed of. If I do acquire a 9590 at some point I might contact you about that offer though, with your permission.
I did some XGA programming many years ago for a software which did a data visualisation. It don't recall it being fun or easy getting the code which setup the adapter in a display mode to work on clones from different manufacturers. I never touched a real XGA, but in practice I think most computers had a clone. I know when setting a display mode, you had to do things in a very specific order, or it just wouldn't work. In your video you say like there are no 16/256 color or monochrome modes listed. However I am pretty sure the PL4 is just that, "P(alette) L(inear addressing) 4(bits)", which is 16 bit color. This means that there are two pixels stored in one byte. The P8 is 256 color palette mode. You could find out if a monochrome monitor was connected by reading some register. If so, you wrote two of the colors as 0 in the palette and put the greyscale value in the third. I am pretty sure that was done with R and G being 0 and B being the value. I think the trick to getting palette modes working was setting XGA mode, disabling the palette (which was also sometimes referred to as blanking display for reset), loading the palette, and enabling the palette (sometimes also called normal mode). I think most cards needed a specific "palette" loaded if they were in direct color mode, however I didn't use that mode at all. I had used an array of 48 or 768 8bit values depending on if I was doing 16 or 256 color modes. Monochrome was not supported for my software, so I just checked if the connected display monochrome, and if so I made the program exit. You made a remark that there are two modes which work the same, but the display moves over. I would guess that they are different timings. Do you know which monitor types should be supported by your card? Does it have support for interlaced and non interlaced? If the mode which is shifted might be the non interlaced mode, which would have faster timings. You would probably need an oscilloscope to determine what is really going on with the signal. I sadly I don't have the code from that software anymore. I had last loaded it onto a "Smart Media" card, which turned out not being smart at all, as I couldn't read the media only one year later.
I don't recall saying there were no 16/256 colour or monochrome modes listed. I go through the modes which include all of the above. What I found is that the PL4 modes which are 16 colour are implemented as monochrome on my graphics card. The palette issue is not to do with blanking display for loading the palette. The actual registers are not implemented in the chip. I don't think the two similar modes were interlaced and non-interlaced, as one of those would flicker noticeably. But that wasn't the case. I haven't found time to get to the bottom of what is different, but timings are certainly a possibility, e.g. 60Hz vs 70 or something like that.
XGA used to have its own wiki page, but given how it can be edited by anyone, someone decided to change it to just the video resolution years ago. BTW, the original XGA cards only had 512kB of VRAM (I had one in my PS/2 Model 95 until I upgraded it to an XGA/2 planar.)
@@PCRetroTech Actually the 512kB XGA cards support 1024×768 but only in 16 colors and at a low interlaced refresh rate. Some 3rd party enthusiasts added an 800×600 mode as well, which was not normally supported by IBM's drivers. If you google xga208, you can see the numerous video resolutions available on both XGA and XGA/2. The oddball 832×620 at 256 colors worked on my original 512k XGA but 960×720 did not, for example.
@@DavidWonn Ah yes, 16 colours would do the trick. It's funny I didn't think of that. Probably because I just get black and white on my card in that mode. It threw me off enough to make me forget about the mode entirely!
@@PCRetroTech It probably helps that I insist on using old CRT monitors, especially on old machines like my PS/2. Modern monitors likely filter out the interlaced modes.
The alternate resolutions like 800X600 were driven by the laptop LCD market. LCD's are one of the major COGs for laptops and this is the period where laptops are starting to displace desktops in volume. An ancillary market was of course LCD projectors which also were becoming core tech for sales road warriors. Brooktree really opened up the market with this aggressively priced high speed flash DAC. Rockwell (who owned the modem market at the time) bought them out. This is the period where the DAC was external. The Accellerator/XGA was purely BiCMOS digital and the DAC did the video output. I seem to recall that around this time 3Dfx was making a name for themselves with low cost daughter boards that made your PC a great gamer. These were cards where your VGA was looped through the 3Dfx card input to output and overlayed the graphics using the VGA's sync capability. Very very cheap upgrade and worked really well. And they were so fast that this product just died a very quick death. OF course next was integrating the two cards into one Radeon, Voodoo, GEForce.
3DFx was a bit later, around 1995 if I recall correctly. But the information about the LCDs driving the market is interesting. Things were probably a bit different where I grew up in Australia, so it's useful to hear about what was happening elsewhere.
@@PCRetroTech - You are correct. 3Dfx was a bit later. Rephrasing - the high end market was very quickly eclipsed by the low end up and comers willing to accept less margin. So many graphics manufacturers were crushed by this. And really when you think about it the "workstation" market (Sun, Apollo, even IBM's RT series) was slowly eaten away by the PC revolution. Even Jobs who at NeXT made a workstation class machine that was actually user friendly found the PC although inferior defining the price and margins. Although that "failure" actually saved Apple in the long run with the merge of NeXTStep into OS-X.
@@dennisfahey2379 I wouldn't say that laptops drove the market in 1994. This was by far too early and laptops where expensive and too slow. In my opinion it was Windows 3.x and the still expensive VRAM. An SVGA videocard that could drive 1024x768 pixels with more than 256 colors did require 2 MiB of RAM and that was still expensive at that time. And running it at a refresh rate of 70 Hz at that resolution was another problem. So most people stick with the next lower resolution mode of 800x600 to have around 65k of colors but still more pixels than 640x480. That's what i did with my ET4000/W32 ISA card with only 1 MiB VRAM. In 800x600 i could have 65K colors and 70Hz. 1024x768 would have given me only 256 colors with as far as i can remember only 60 Hz.
Crazy how IBM invented blitter-like functionality in a PC graphics adapter and everyone just ignored it, even though people like IIT sold cloned or maybe even licensed chips and people like Hercules built them into cards. Then a bit later S3 invented it again and sold piles of chips to a bunch of graphics card OEMs. It's almost like it went from 'No one gets fired buying IBM' to 'Ignore IBM even when they come up with decent ideas'. Maybe XGA was patented and IBM tried to charge too much for people like IIT to implement it which meant only companies like Hercules used the chips. As far as I know S3's accelerated VGA chips were pretty cheap. Also S3 was very optimized for the Windows GDI. So your list boxes were very fluid even if you had a slow CPU and an ISA bus. And because no one really cared about register compatibility it meant S3 could just provide a Windows driver and not have to worry about keeping a register level interface compatible across successive card generations. Then of course 3D came out and everyone programmed at the DirectX or OpenGL level and companies like NVidia never actually documented the register level interface to their GPUs.
Yes, I think Windows was ultimately the driver of the marketplace and this was before the age of affordable 3D hardware on the PC. I'd be pretty surprised if the S3 chip was heavily "inspired" by the IBM one though.
@@PCRetroTech The functionality was the same. But from other accelerated cards they basically implemented a subset of Windows' BitBlt function's ROPs and line drawing in hardware. Windows drivers had a cool structure where you could use hardware acceleration if you had it or punt it back to EngBitBlt, which was the GDI software version. So you'd profile Windows and work out what the most common BitBlts ROPs were, implement those in hardware and punt everything else back to software. And you didn't really need to maintain a register level interface because it was abstracted away by the driver; So IBM's register level standard became irrelevant. And so did their model for BitBlts with multiple masks and sources. Incidentally inside the GDI it actually JITted code to do all the ROPs and this scheme was invented my Michael Abrash who Microsoft hired as a consultant. Hopefully he got a massive hourly rate for putting up with Microsoft's horrid internal politics while he did it. This is all based on how it worked around the NT 4.0/Windows 2000 days BTW. The 16 bit GDI was probably very different as is the weird compositing GUI we have now where I think everything rests on top of DirectX. Also the original NT GDI run completely in user mode and so didn't allow any hardware acceleration. Apparently Bill Gates himself told them to move the GDI into kernel mode which allows the 'accelerate or punt' option. In the long run it also allowed hardware accelerated Direct3D and games to move to Windows. The downside of course is that it completely violated the microkernel philosophy of NT where a crash in the GDI or any other non kernel system component would not bring down the whole system. But it all worked out for them in the end. My Windows systems are less crash prone than my Macs.
@@user-qf6yt3id3w I was not aware of the Michael Abrash stint at Microsoft. I'm amazed he could go from the kind of fast paced, fly by the seat of your pants programming to working for a bureacratic juggernaut like Microsoft. But I suppose money speaks all languages, especially if you happen to need it at the time.
@@PCRetroTech According to OS/2 Museum, S3 chips designs were actually very similar to 8514/A in terms of functionality. Quoting: "The S3 draw engine was obviously designed to be compatible with the 8514/A. This includes register naming (VESA-approved 8514/A register names), I/O addresses used for the registers (at least in later chips only optionally), and register layout. This similarity made it easy to port existing 8514/A drivers to support S3 hardware. At the same time, the S3 chips were never 100% 8514/A compatible and running unmodified 8514/A code on S3-based cards was out of the question." So, no direct compatibility (such as with ATI Mach), but still "compatible" on the conceptual level, which undoubtedly helped in driver development. And in fact XGA is also 8514/A-inspired, although not compatible on the register level.
@@peachgrush Yes, I've noticed there were half a dozen or so designs that were heavily based on 8514/A or XGA. Some of these are covered in the books that I mentioned in the video. There's a whole chapter on the S3 for example.
many years ago, i worked at ibm argentina, in a pile of garbage i found several boards like the one you show in your video, which is unobtainable, since i didn't know what it was but if i had seen the dram chips i brought only that part, even the I have, now it is an ornament. I remember there were many of those plates in the trash.
The Windows icon and cursor formats use a Xor mask and an And mask in such a way that it seems like it was created to match these sorts of accelerators (or maybe the other way round). I never really thought about why those formats seemed a little unusual for something that was only really used for colour and 1 bit transparency.
Of course these XGA devices have a sprite, by which they mean a cursor. So I'm sure Windows uses that. But internally I'm sure it is based on the same tech.
Yes, I noticed this. I don't notice problems with the card in graphics mode, so I think the problem lies elsewhere. But it's possible they are just run harder in text mode or something.
"Object shading" sounds like it might allow polygon filling in 16bit mode where different colours are specified for each vertex, and then blended based on the pixel position in the polygon? That would effectively allow Gouraud shading which would have been really nice for 3D fills. From my experience with 16bit colour in DirectX 2 later in the 90's, there were various formats. RGB 565 was the most common, but we also came across 556 and even 664 on some strange cards. (Plus some that cheated and used 555 so were effectively 15bit rather than 16) Some also supported alpha channels like RGBA 5551 for 15bit colour plus basic transparency or 4444 for 12bit colour with 4bit alpha blending. It's interesting to see how the various low-level operations were starting out on cards like this. These all ended up getting rolled into DirectX (or specifically DirectDraw) later on. (Plus functions to interrogate all the various cards to see what they supported)
It sounds like that, I agree, but it's not at all documented and I see no way to denote the colours for the corners of a polygon, so it's hard to imagine how this would work. It'd be really nice if it did though!
Although none of this is at all relevant to me, I find it so interesting that I had to watch, and I think I even learned a few things! I'm just so amazed that anyone at all is producing videos about these old technologies, and even more so at the lack of information available. Your quote that "that's a problem I'm not going to be able to solve, at least not this week" perfectly sums up the way many people working on this old stuff today feel. 😅 Also, your video on the Deskpro has inspired me to buy a 486/33M model with EISA. Should be picking it up tomorrow and it was a bargain!
I'm glad you enjoyed the videos and that they've inspired you to get a new toy. Be prepared to spend time and money figuring out how to get software onto these things and get them working. But it's a rewarding hobby when you do!
My code definitely won't run on a PS/2 system, but I'll probably make the code that I used public with the second video. It's only going to run on an IIT chip though. The registers are completely different on real XGA hardware.
Hmm. I know from the experience of having used Fractint that just because all the "known" resolutions might be listed on the two pages thry left out of the book, the real capacity of the card would likely involve a mess of other, "undocumented", ones, some undocumented purely because they where not in the sales documentation. So glad this stuuf is either now uncomplicated, or hidden so well you can't even force them into some off mode in the OS, trying to work out wtf you actually could do, in terms of color or resolution, even if you knew how, was a massive pain, and its not like you could ask the card - just try and hope it didn't crash/break something.
I have to admit that it was a bit scary running through all the BIOS modes with a real NEC Multisync monitor. I think they were fairly resilient, but I can hardly replace it easily if not. But yes, I'm sure many other SVGA modes worked. Whether the coprocessor worked in them or not I am not sure. There's hardware in that IIT chip that expects either a power of 2 horizontal resolution, or a power of 2 plus one of two other possible values. That limits the modes one could expect to work with the coprocessor.
I see you have an electronic copy of Ferraro? How did you come by it? Is it available somewhere? I only have a hardcopy, which is a bit cumbersome nowadays 😄.
I've seen this video, I've only heard of XGA and still this was way forward at the time. Only MS could shift to SVGA to fleed away from the PC creator stuff...
That's right. About the same time IBM was releasing XGA2 (which was really just an update to XGA to catch up with the improvements prompted by the rest of the industry).
Funnily enough I think I have two xga2 microchannel cards. Now one day I need to repair the ps/2 that broke (in seemingly the same way as curious marc's one of the same model)
I'm surprised IBM has lasted so long. They seem to have more flailed products under their belt, than successful. It's like they exist solely to invest in all the R&D for the rest of the industry to clone (or take the best parts to make something better or cheaper). Always wondered why they didn't license their technology out, rather than trying to be so proprietary. I could almost say the same about Apple, although they don't seem to be nearly as affected....not sure what they do differently.
IBM have a *lot* of patents. They did license XGA of course, just few people took an interest. But they have one hell of a lot of products that sell for billions. Aptiva probably made them some money for example, to say nothing of their business machines which probably made them pretty rich over the years. They just weren't very suited to the emerging market of the PC. Well, initially they did really, really well out of it. But what it became was not their game.
IBM's mainframe and mid-range systems have still been a powerhouse in recent decades running the back end of many companies. Their marketing and business decisions on the consumer end are a different story, though.
@@DavidWonn That seems like a reasonable explanation. When (about 10 years ago) I worked as a contractor doing server & POS maintenance/repairs for certain big box retailers & other big-name chains, I did run into a lot more IBM equipment, now that I think about it. Hadn't connected those dots until now lol.. I just didn't notice at the time, because I was ordering by part numbers....after a while, I just mentally filtered out the brand/model on the ticket, since it didn't matter to me, as long as I got a compatible part. It wasn't my job to do anything but provide the right part number.
@@ruthlessadmin Having worked on the mainframe and mid-range side of things, I'd see it directly and would even memorize their support number. And that was always IBM's strength in support and quality in what they made. Of course you'd pay a premium for it, but for many businesses it often just made sense, hence the old phrase, "nobody's ever been fired for going with IBM."
I'm not sure if my previous comment got deleted or not, but I have a book from 1995 with about 106 pages on XGA. I had an imgur link to the pictures of the cover and table of contents, but I think the link may have nuked my comment.
@@PCRetroTech 86.958 Hz refresh rate was used in 8514 and idk if is also on a XGA module. Also you have four refreshes rates with progressive scanning,or now five: - 59.944 Hz*, - 60.004 Hz, - 70.069 Hz, - 75.029 Hz and - 84.997 Hz. *: Used by LCD display that shows 1080p at 59.94 Hz by default.
@@That.ırısbus.Fan.2006 I don't know what refresh rate the XGA card I have uses when displaying Mode 2 EGA. The XGA mode I used in this video is approximately 70Hz.
I used to have IBM PS/2 model 57 - exchanged it on a local retrocomputer forum for a 40SX model - the same 386sx/20, but ISA16 slots and IDE HDD)... Now have full set of it - wth display, kb and mouse...
The 9556/9557 (with an IBM 486SLC2 -50 or 486SLC3-75 CPU) are XGA-2 - the 8556/8557 (with a base 386SX-20 or 386SLC-20 on the planar) are the IBM/TI SVGA (which is interesting in itself).
Yeah, sorry about that. It's caused by my camera firmware hack for filming VGA. And I have no idea how to turn that off. It's a tracking dot apparently. Very annoying.
I can't believe I just watched a 40minute video about XGA, and I look forward to the next one :)
As a kid I always saw the words XGA almost everywhere, but never seen a true XGA machine
I'm glad you enjoyed it. I had no idea what XGA was about when I was a kid.
@@PCRetroTech all I knew was it was bigger than CGA lol
Thanks for making all of this content. It's everything I've been wanting to learn about old PC video. Whenever you're about to exercise some obscure functions using registers nobody ever touches... time to grab the popcorn.
Thanks. I really appreciate the feedback. It makes it all worthwhile!
Fascinating stuff. I thought I knew the history of PC pretty well, but I never heard of this particular -GA.
It seems obscure compared to VGA doesn't it!
Hey, just discovered your channel. Love the content. I am 41, and the old school nature of it is pure nostalgia to me.
Glad you're enjoying it.
A datasheet for a video IC, don't see that anymore these days, lol
Great video as always!
They'd be pretty long data sheets if they did. :-)
Of course this was not much use as a datasheet. They could have done so much better. ATI and Western Digital Imaging did so much better.
Now I understand why the Amiga platform was popular for games and creative purposes.
Yes, IBM was a business company and they really made it difficult to make things like this attractive to games and so on. Of course it was only another couple of years until VGA was ubiquitous and everything changed.
@@PCRetroTech IBM also failed with OS/2. In that case, they didn't understand the gaming market either. Microsoft worked on WinG instead to try to attract game developers for Windows 3.x and later they did accelerated Direct2d and Direct3d for Windows 95.
Excellent video, like with VGA it seems XGA was reduced to marketing speak for a resolution.
Indeed, and it's a shame really.
Great video! I'm already eagerly awaiting part 2. Transparency effects (for fog, water, light...) for games in low resolutions (320x200 16bit) would be particularly exciting.
It is entirely true that XGA was the high-end standard at the beginning of the 1990s. Unfortunately, as with MCA, IBM was adamant to force an unnecessary market segmentation that delayed adoption of the standard. While it is true that a minimum of 1MB of RAM and other performance requirements were pretty high, IBM did not help either by focusing on creating another standard without cooperating with the rest of the industry during development or after that.
Luckily, due to market demand, the XGA eventually became the standard by 1994 and you were hardly pressed not to find a graphics adapter having 1024x768 in 256 colours capability. Funnily enough, most affordable colour CRT monitors in 1993-1994 were only able to use that resolution in 43Hz interlaced mode and with a 1MB video card you could not ask any higher refresh rate in 256 colours. Oh, fun times before we had the Multisync monitors in the mainstream...
All of this resulted in a lag of a couple of years before XGA was available end-to-end on the PC market.
If only they'd settled on a common coprocessor standard!
@@PCRetroTech That is too much to ask! The 1990s was such a diverse testing ground that you would be hard pressed to find stable trends. I remember what happened just a few years down the line when 3D graphics was round the corner. It took Microsoft a long time to develop a reasonable Direct3D standard and we had to use OpenGL, the big and heavy interface where you had to do most of the work yourself unless you were a happy Glide developer.
Getting back to the starting point, the "minor" inconsistency of coprocessors is easy to forget... I mean, at another level, when the Intel 80486 DX4 was not actually a clock quadrupled processor either but a clock tripled one, why would it matter? (the 80486 started life at 33Mhz clock speed)
My guess is that Intel considered they could have an additional market (sales) benefit by making the graphics coprocessor design as they did. It seems dumb, but that could be one explanation why they did not adapt the same design to the popular VGA adapters scene or did anything else to expand the market for addons but they further ensured it would stay locked in.
These were difficult times for IBM. Their interest was in being *the* PC manufacturer, not in being just another clone manufacturer, a market they couldn't really compete in. They had lost control by this point but were going down fighting.
@@ian_b It is entirely true. They did not understand that the PC market was not the mainframe market where they could dominate. This mindset made them hard to adapt and the reason they exited the market after a few more years.
@@retrowikid One has to wonder if XGA was just some pet project at IBM that even the marketing people thought wouldn't succeed, but which made their range look mature or something.
The microchannel adapter shown @3:19 (FCC ID ANO4AR1887972) is actually the IBM 8514/A (see the pictures and outlines at the 'Ardent-Tool' - If you have a system to run it in, I can send one for the cost of shipping). Of course, the IBM versions of XGA (AKA "XGA-1" and "XGA-NI", for "Non-Interlace") and XGA-2 are at the 'Ardent-Tool', too. XGA also exists on the 8590/9590 (Model 90) planar, and XGA-2 on the 9533 (Model 'E', and ISA system) - sadly never more than 1Mb VRAM.
Really, I do have extra 8514/A, XGA, and XGA-2 adapters - Find a 9590 (which had an XGA-2 adapter installed with inactivated XGA on the planar, blue badge), and I'll send you an 8514/A adapter; You would have a system for all three standards.
The PS/2 Model 65SX had an XGA and SCSI adapter (and drive) as factory add-ons to make up for the late-release of a 386SX-16 system. There was also planar XGA-2 on the 9556/9557 (the PS/2 Model 56 and 57 with an IBM 486SLC2/486SLC3 CPU). The microchannel implementations had POS registers for the configuration of the XGA/XGA-2 video systems, which don't have an equivalent on an ISA system - I wonder how the PS/2 'E' ran it's planar XGA-2.
Oh, sorry I missed that. I thought it looked familiar.
Thanks for the offer, but I don't have a PS/2 with MCA at the moment. I did see a few of these adapters available online, and the comment about the steel briefcase was really just for humour. I have seen those cards go for an absolute fortune in the past though.
After the recent difficulties with moving house, I'm being a bit more cautious in what machines I acquire until I can be sure they won't end up needing to be disposed of. If I do acquire a 9590 at some point I might contact you about that offer though, with your permission.
I did some XGA programming many years ago for a software which did a data visualisation. It don't recall it being fun or easy getting the code which setup the adapter in a display mode to work on clones from different manufacturers. I never touched a real XGA, but in practice I think most computers had a clone. I know when setting a display mode, you had to do things in a very specific order, or it just wouldn't work.
In your video you say like there are no 16/256 color or monochrome modes listed. However I am pretty sure the PL4 is just that, "P(alette) L(inear addressing) 4(bits)", which is 16 bit color. This means that there are two pixels stored in one byte. The P8 is 256 color palette mode.
You could find out if a monochrome monitor was connected by reading some register. If so, you wrote two of the colors as 0 in the palette and put the greyscale value in the third. I am pretty sure that was done with R and G being 0 and B being the value.
I think the trick to getting palette modes working was setting XGA mode, disabling the palette (which was also sometimes referred to as blanking display for reset), loading the palette, and enabling the palette (sometimes also called normal mode). I think most cards needed a specific "palette" loaded if they were in direct color mode, however I didn't use that mode at all. I had used an array of 48 or 768 8bit values depending on if I was doing 16 or 256 color modes. Monochrome was not supported for my software, so I just checked if the connected display monochrome, and if so I made the program exit.
You made a remark that there are two modes which work the same, but the display moves over. I would guess that they are different timings. Do you know which monitor types should be supported by your card? Does it have support for interlaced and non interlaced? If the mode which is shifted might be the non interlaced mode, which would have faster timings. You would probably need an oscilloscope to determine what is really going on with the signal.
I sadly I don't have the code from that software anymore. I had last loaded it onto a "Smart Media" card, which turned out not being smart at all, as I couldn't read the media only one year later.
I don't recall saying there were no 16/256 colour or monochrome modes listed. I go through the modes which include all of the above.
What I found is that the PL4 modes which are 16 colour are implemented as monochrome on my graphics card.
The palette issue is not to do with blanking display for loading the palette. The actual registers are not implemented in the chip.
I don't think the two similar modes were interlaced and non-interlaced, as one of those would flicker noticeably. But that wasn't the case. I haven't found time to get to the bottom of what is different, but timings are certainly a possibility, e.g. 60Hz vs 70 or something like that.
XGA used to have its own wiki page, but given how it can be edited by anyone, someone decided to change it to just the video resolution years ago.
BTW, the original XGA cards only had 512kB of VRAM (I had one in my PS/2 Model 95 until I upgraded it to an XGA/2 planar.)
Ah that must have been just 640x480 I guess. I'm amazed IBM did that.
@@PCRetroTech Actually the 512kB XGA cards support 1024×768 but only in 16 colors and at a low interlaced refresh rate. Some 3rd party enthusiasts added an 800×600 mode as well, which was not normally supported by IBM's drivers. If you google xga208, you can see the numerous video resolutions available on both XGA and XGA/2. The oddball 832×620 at 256 colors worked on my original 512k XGA but 960×720 did not, for example.
@@DavidWonn Ah yes, 16 colours would do the trick. It's funny I didn't think of that. Probably because I just get black and white on my card in that mode. It threw me off enough to make me forget about the mode entirely!
@@PCRetroTech It probably helps that I insist on using old CRT monitors, especially on old machines like my PS/2. Modern monitors likely filter out the interlaced modes.
@@DavidWonn I used a CRT for this video. The black and white is just a "feature" of the Hercules IIT card.
The alternate resolutions like 800X600 were driven by the laptop LCD market. LCD's are one of the major COGs for laptops and this is the period where laptops are starting to displace desktops in volume. An ancillary market was of course LCD projectors which also were becoming core tech for sales road warriors. Brooktree really opened up the market with this aggressively priced high speed flash DAC. Rockwell (who owned the modem market at the time) bought them out. This is the period where the DAC was external. The Accellerator/XGA was purely BiCMOS digital and the DAC did the video output. I seem to recall that around this time 3Dfx was making a name for themselves with low cost daughter boards that made your PC a great gamer. These were cards where your VGA was looped through the 3Dfx card input to output and overlayed the graphics using the VGA's sync capability. Very very cheap upgrade and worked really well. And they were so fast that this product just died a very quick death. OF course next was integrating the two cards into one Radeon, Voodoo, GEForce.
3DFx was a bit later, around 1995 if I recall correctly. But the information about the LCDs driving the market is interesting. Things were probably a bit different where I grew up in Australia, so it's useful to hear about what was happening elsewhere.
@@PCRetroTech - You are correct. 3Dfx was a bit later. Rephrasing - the high end market was very quickly eclipsed by the low end up and comers willing to accept less margin. So many graphics manufacturers were crushed by this. And really when you think about it the "workstation" market (Sun, Apollo, even IBM's RT series) was slowly eaten away by the PC revolution. Even Jobs who at NeXT made a workstation class machine that was actually user friendly found the PC although inferior defining the price and margins. Although that "failure" actually saved Apple in the long run with the merge of NeXTStep into OS-X.
@@dennisfahey2379 I wouldn't say that laptops drove the market in 1994. This was by far too early and laptops where expensive and too slow. In my opinion it was Windows 3.x and the still expensive VRAM. An SVGA videocard that could drive 1024x768 pixels with more than 256 colors did require 2 MiB of RAM and that was still expensive at that time. And running it at a refresh rate of 70 Hz at that resolution was another problem. So most people stick with the next lower resolution mode of 800x600 to have around 65k of colors but still more pixels than 640x480. That's what i did with my ET4000/W32 ISA card with only 1 MiB VRAM.
In 800x600 i could have 65K colors and 70Hz. 1024x768 would have given me only 256 colors with as far as i can remember only 60 Hz.
Interesting video! Had no idea about the xga co-processor, it could’ve been so much more..
Yes indeed. It still can, but people still can't afford the cards, LOL.
You're videos are really interesting. Thank you!
Crazy how IBM invented blitter-like functionality in a PC graphics adapter and everyone just ignored it, even though people like IIT sold cloned or maybe even licensed chips and people like Hercules built them into cards. Then a bit later S3 invented it again and sold piles of chips to a bunch of graphics card OEMs. It's almost like it went from 'No one gets fired buying IBM' to 'Ignore IBM even when they come up with decent ideas'. Maybe XGA was patented and IBM tried to charge too much for people like IIT to implement it which meant only companies like Hercules used the chips. As far as I know S3's accelerated VGA chips were pretty cheap. Also S3 was very optimized for the Windows GDI. So your list boxes were very fluid even if you had a slow CPU and an ISA bus. And because no one really cared about register compatibility it meant S3 could just provide a Windows driver and not have to worry about keeping a register level interface compatible across successive card generations.
Then of course 3D came out and everyone programmed at the DirectX or OpenGL level and companies like NVidia never actually documented the register level interface to their GPUs.
Yes, I think Windows was ultimately the driver of the marketplace and this was before the age of affordable 3D hardware on the PC. I'd be pretty surprised if the S3 chip was heavily "inspired" by the IBM one though.
@@PCRetroTech The functionality was the same. But from other accelerated cards they basically implemented a subset of Windows' BitBlt function's ROPs and line drawing in hardware. Windows drivers had a cool structure where you could use hardware acceleration if you had it or punt it back to EngBitBlt, which was the GDI software version. So you'd profile Windows and work out what the most common BitBlts ROPs were, implement those in hardware and punt everything else back to software. And you didn't really need to maintain a register level interface because it was abstracted away by the driver;
So IBM's register level standard became irrelevant. And so did their model for BitBlts with multiple masks and sources. Incidentally inside the GDI it actually JITted code to do all the ROPs and this scheme was invented my Michael Abrash who Microsoft hired as a consultant. Hopefully he got a massive hourly rate for putting up with Microsoft's horrid internal politics while he did it.
This is all based on how it worked around the NT 4.0/Windows 2000 days BTW. The 16 bit GDI was probably very different as is the weird compositing GUI we have now where I think everything rests on top of DirectX. Also the original NT GDI run completely in user mode and so didn't allow any hardware acceleration. Apparently Bill Gates himself told them to move the GDI into kernel mode which allows the 'accelerate or punt' option. In the long run it also allowed hardware accelerated Direct3D and games to move to Windows. The downside of course is that it completely violated the microkernel philosophy of NT where a crash in the GDI or any other non kernel system component would not bring down the whole system.
But it all worked out for them in the end. My Windows systems are less crash prone than my Macs.
@@user-qf6yt3id3w I was not aware of the Michael Abrash stint at Microsoft. I'm amazed he could go from the kind of fast paced, fly by the seat of your pants programming to working for a bureacratic juggernaut like Microsoft. But I suppose money speaks all languages, especially if you happen to need it at the time.
@@PCRetroTech According to OS/2 Museum, S3 chips designs were actually very similar to 8514/A in terms of functionality. Quoting:
"The S3 draw engine was obviously designed to be compatible with the 8514/A. This includes register naming (VESA-approved 8514/A register names), I/O addresses used for the registers (at least in later chips only optionally), and register layout. This similarity made it easy to port existing 8514/A drivers to support S3 hardware. At the same time, the S3 chips were never 100% 8514/A compatible and running unmodified 8514/A code on S3-based cards was out of the question."
So, no direct compatibility (such as with ATI Mach), but still "compatible" on the conceptual level, which undoubtedly helped in driver development. And in fact XGA is also 8514/A-inspired, although not compatible on the register level.
@@peachgrush Yes, I've noticed there were half a dozen or so designs that were heavily based on 8514/A or XGA. Some of these are covered in the books that I mentioned in the video. There's a whole chapter on the S3 for example.
Thank you for another super interesting journey!
Glad you enjoyed it!
many years ago, i worked at ibm argentina, in a pile of garbage i found several boards like the one you show in your video, which is unobtainable, since i didn't know what it was but if i had seen the dram chips i brought only that part, even the I have, now it is an ornament. I remember there were many of those plates in the trash.
What a shame. Such a lot of interesting tech has just been wasted over the years.
The Windows icon and cursor formats use a Xor mask and an And mask in such a way that it seems like it was created to match these sorts of accelerators (or maybe the other way round). I never really thought about why those formats seemed a little unusual for something that was only really used for colour and 1 bit transparency.
Of course these XGA devices have a sprite, by which they mean a cursor. So I'm sure Windows uses that. But internally I'm sure it is based on the same tech.
Your card has MT RAM chips, these are well known for failing and could be the cause of your boot and corruption problems.
Yes, I noticed this. I don't notice problems with the card in graphics mode, so I think the problem lies elsewhere. But it's possible they are just run harder in text mode or something.
MT RAM chips from the early 80s are known for failing, but I have never heard this about the 90s chips.
"Object shading" sounds like it might allow polygon filling in 16bit mode where different colours are specified for each vertex, and then blended based on the pixel position in the polygon? That would effectively allow Gouraud shading which would have been really nice for 3D fills.
From my experience with 16bit colour in DirectX 2 later in the 90's, there were various formats. RGB 565 was the most common, but we also came across 556 and even 664 on some strange cards. (Plus some that cheated and used 555 so were effectively 15bit rather than 16) Some also supported alpha channels like RGBA 5551 for 15bit colour plus basic transparency or 4444 for 12bit colour with 4bit alpha blending.
It's interesting to see how the various low-level operations were starting out on cards like this. These all ended up getting rolled into DirectX (or specifically DirectDraw) later on. (Plus functions to interrogate all the various cards to see what they supported)
It sounds like that, I agree, but it's not at all documented and I see no way to denote the colours for the corners of a polygon, so it's hard to imagine how this would work. It'd be really nice if it did though!
Great✌
Although none of this is at all relevant to me, I find it so interesting that I had to watch, and I think I even learned a few things! I'm just so amazed that anyone at all is producing videos about these old technologies, and even more so at the lack of information available. Your quote that "that's a problem I'm not going to be able to solve, at least not this week" perfectly sums up the way many people working on this old stuff today feel. 😅
Also, your video on the Deskpro has inspired me to buy a 486/33M model with EISA. Should be picking it up tomorrow and it was a bargain!
I'm glad you enjoyed the videos and that they've inspired you to get a new toy. Be prepared to spend time and money figuring out how to get software onto these things and get them working. But it's a rewarding hobby when you do!
Interesting, never heard of the XGA features before. Seems to be highly inspired by the the Amiga blitter, though.
Probably some Silicon Graphics people did it first. Sometimes it was the same guys who ended up doing stuff on other platforms later on.
I thought, XGA is just the 1024x768 display resolution until I saw this video!
almost everybody did
Really enjoyed this. Would love if there's code resources so I could assemble and fiddle around on my PS/2 system.
My code definitely won't run on a PS/2 system, but I'll probably make the code that I used public with the second video. It's only going to run on an IIT chip though. The registers are completely different on real XGA hardware.
Hmm. I know from the experience of having used Fractint that just because all the "known" resolutions might be listed on the two pages thry left out of the book, the real capacity of the card would likely involve a mess of other, "undocumented", ones, some undocumented purely because they where not in the sales documentation. So glad this stuuf is either now uncomplicated, or hidden so well you can't even force them into some off mode in the OS, trying to work out wtf you actually could do, in terms of color or resolution, even if you knew how, was a massive pain, and its not like you could ask the card - just try and hope it didn't crash/break something.
I have to admit that it was a bit scary running through all the BIOS modes with a real NEC Multisync monitor. I think they were fairly resilient, but I can hardly replace it easily if not. But yes, I'm sure many other SVGA modes worked. Whether the coprocessor worked in them or not I am not sure. There's hardware in that IIT chip that expects either a power of 2 horizontal resolution, or a power of 2 plus one of two other possible values. That limits the modes one could expect to work with the coprocessor.
I feel like I might stumble onto this rotating Polyhedra somewhere in the backrooms.
I thought colour depths of 15bpp or more were always "direct colour"? I've never heard of a card/chipset/computer with 65536 palette registers.
I imagine so.
I see you have an electronic copy of Ferraro? How did you come by it? Is it available somewhere? I only have a hardcopy, which is a bit cumbersome nowadays 😄.
6:45 incredible 75MHz refresh rate! just unbelievable what they archieved back then with what little we had ;-)
Ah! I missed that. Hilarious. Getting details right obviously wasn't something they were big on.
75 MHz? It's not a refresh rate but this refresh rate were 70.069 Hz
Watch the Video again, this time more slowly :)
@@dolphhandcreme 75.029 Hz refresh rate? But this one have 78.75 MHz...
@@That.ırısbus.Fan.2006 Take a look at 6:45 and the text in the upper right quarter on the original document.
"... 256-color mode at 75 MHz refresh."
I've seen this video, I've only heard of XGA and still this was way forward at the time. Only MS could shift to SVGA to fleed away from the PC creator stuff...
I'm surprised these aren't all microchannel
2:18 1992, week 41 for the chip.
That's right. About the same time IBM was releasing XGA2 (which was really just an update to XGA to catch up with the improvements prompted by the rest of the industry).
Funnily enough I think I have two xga2 microchannel cards. Now one day I need to repair the ps/2 that broke (in seemingly the same way as curious marc's one of the same model)
Oh, that sounds like a no fun repair. I did see that video on his channel.
I'm surprised IBM has lasted so long. They seem to have more flailed products under their belt, than successful. It's like they exist solely to invest in all the R&D for the rest of the industry to clone (or take the best parts to make something better or cheaper). Always wondered why they didn't license their technology out, rather than trying to be so proprietary. I could almost say the same about Apple, although they don't seem to be nearly as affected....not sure what they do differently.
IBM have a *lot* of patents. They did license XGA of course, just few people took an interest. But they have one hell of a lot of products that sell for billions. Aptiva probably made them some money for example, to say nothing of their business machines which probably made them pretty rich over the years. They just weren't very suited to the emerging market of the PC. Well, initially they did really, really well out of it. But what it became was not their game.
IBM's mainframe and mid-range systems have still been a powerhouse in recent decades running the back end of many companies. Their marketing and business decisions on the consumer end are a different story, though.
@@DavidWonn That seems like a reasonable explanation. When (about 10 years ago) I worked as a contractor doing server & POS maintenance/repairs for certain big box retailers & other big-name chains, I did run into a lot more IBM equipment, now that I think about it. Hadn't connected those dots until now lol.. I just didn't notice at the time, because I was ordering by part numbers....after a while, I just mentally filtered out the brand/model on the ticket, since it didn't matter to me, as long as I got a compatible part. It wasn't my job to do anything but provide the right part number.
@@ruthlessadmin Having worked on the mainframe and mid-range side of things, I'd see it directly and would even memorize their support number. And that was always IBM's strength in support and quality in what they made. Of course you'd pay a premium for it, but for many businesses it often just made sense, hence the old phrase, "nobody's ever been fired for going with IBM."
@@DavidWonn Yeah, for sure.
I'm not sure if my previous comment got deleted or not, but I have a book from 1995 with about 106 pages on XGA. I had an imgur link to the pictures of the cover and table of contents, but I think the link may have nuked my comment.
You're right, UA-cam hates comments with links. Makes a bit tough to share knowledge on the Internet :/
I am not sure I saw that comment. What was the name of the book? Maybe I can find it.
Computer Animation Programming Methods & Techniques, by Julio Sanchez and Maria Canton.
@@ataricom Oh that's the same authors as the PC Graphics Handbook that I used. I wonder if there's a relationship between the two books.
What above 86.958 Hz interlaced refresh rate? It shows 43.479 full frames.
Sorry, I'm not sure what this is in relation to or what you are asking.
@@PCRetroTech 86.958 Hz refresh rate was used in 8514 and idk if is also on a XGA module.
Also you have four refreshes rates with progressive scanning,or now five:
- 59.944 Hz*,
- 60.004 Hz,
- 70.069 Hz,
- 75.029 Hz and
- 84.997 Hz.
*: Used by LCD display that shows 1080p at 59.94 Hz by default.
@@PCRetroTech and this 86.958 Hz with interlaced scanning shows all 384 lines alternatively, giving 43.479 frames with 768 lines.
@@That.ırısbus.Fan.2006 I don't know what refresh rate the XGA card I have uses when displaying Mode 2 EGA. The XGA mode I used in this video is approximately 70Hz.
@@PCRetroTech so it's 70.069?
my PS/2 57 (not installed yet( should have XGA2 :)
I used to have IBM PS/2 model 57 - exchanged it on a local retrocomputer forum for a 40SX model - the same 386sx/20, but ISA16 slots and IDE HDD)... Now have full set of it - wth display, kb and mouse...
The 9556/9557 (with an IBM 486SLC2 -50 or 486SLC3-75 CPU) are XGA-2 - the 8556/8557 (with a base 386SX-20 or 386SLC-20 on the planar) are the IBM/TI SVGA (which is interesting in itself).
Anybody else tried to wipe that yellow dot off the monitor or just me?
Yeah, sorry about that. It's caused by my camera firmware hack for filming VGA. And I have no idea how to turn that off. It's a tracking dot apparently. Very annoying.
awesome knowledge