xdaniel

Hey there~

📜 Hobby programmer, ROM hacker, retro computers & consoles, anime & manga fan, sometimes NSFW?

🌐 🇩🇪/native, 🇺🇸🇬🇧🇦🇺/good, 🇯🇵/へた

🔒 @xdn-desync

📷 via Picrew by 🐦kureihii https://picrew.me/image_maker/1272810


⛏️ The Cutting Room Floor
tcrf.net/User:Xdaniel

cathoderaydude
@cathoderaydude

so i picked up this 286 PC the other day based solely on the fact that it included a WYSE WY-700 graphics card and monitor, a kind of fucked up event in itself since you never find both of those in the same room. opened it up to see what was inside before i bought it, and was just dumbstruck.

"You gotta give that shootin' iron some thought," I said to myself.


cathoderaydude
@cathoderaydude

the wyse wy700 has 128K of RAM. that's about 1.02 megapixels, and so is the Wyse's 1280x800, so this card delivers an incredibly crisp windows or CAD interface in brilliant 1-bit color, using a long-persistence P171 phosphor to cover up the low scan rate. it ostensibly updates at 69.4Hz, but that's interlaced, so I believe each set of lines is only updated at 33.9Hz; there is visible jitter, but it's really not too bad. There are also quite significant screen trails, but that hardly matters when the concept of animation isn't really on the table. Pushing a megapixel with no hardware blitting is a rough scene, and screen updates are sluggish, to put it mildly.

Given that this card has no EGA emulation, you weren't going to play games on it anyway. It's for DTP and CAD, per the ads, and for those it's perfect. COLUMBIA.DWG looks incredibly chrisp, though you can clearly see that the circuitry is... not pushing the beam as hard as it once did. It's a bit dim. Crisp as fuck though.

And of course, while the card can be set up as your only display, you can also jumper it to only look at its own defined area of memory, and then pair it with any conventional card - in my case, EGA provides the textmode interface to AutoCAD while the Wyse handles the high resolution drawing, as god intended.


cathoderaydude
@cathoderaydude

...of course, there are a FEW games you can play on it, such as the flight simulator that microsoft made. The card emulates CGA and MDA (but not hercules :/) and converts CGA's four color palette into four shades of grey. It's quite striking, given that the maskless monitor has nearly infinite resolution; there is no "tooth" to the image whatsoever, and it almost feels like it's been bicubic-upscaled.

Textmode is also a little breathtaking. The ROM font is a colossal 16x16, the largest I'm aware of on... anything, so text looks really, really good, particularly in CGA's "low resolution" mode.


You must log in to comment.

in reply to @cathoderaydude's post:

this thing deserves a "what the actual fudge is this and why did people do this kind of upgrading" type video
i wanna see it run and do something pitted against conteporaries like a "generic 386" to see if dumping a truckload of green paper in a 286 was sensible at all back then

That monster has amazing "I'll build a whacky contraption to steal that bird's Crunchy Sugar Crisp Cereal®️" energy. Somewhere along those upgrades, they could have bought their very own 386 mainboard, but they kept on going instead.

I used to be neighbors with an architect who used a 286 until the system finally died for good in the mid 2000s because he didn't want to switch CAD software. Now I wonder what horrors may have lurked inside that unassuming beige slab.

as far as I know it's completely transparent - you couldn't expect anybody to get upgraded software specifically for this card, and there was no HAL to smooth over any differences, so to the best of my knowledge this appears exactly like any other 386 machine, and the RAM is just there in the memory map like anything else once all the hardware jostling has happened. I'm using it without any special software for instance and it seems to just work.

oh! to be clear, I'm talking about this vs. a native 386 motherboard - there should be no noticeable differences there other than the curiously slow ram.

as far as how the actual implementation of expanded and extended memory works, I don't really understand it either except that it was definitely a total software fuckfest. expanded memory was such a hack. it was initially called LIM, because it was a Lotus-Intel-Microsoft initiative to get some kind of 1M+ memory support into the PC architecture. there's actually a quote (which I found from the EMS wiki article, wildly) where Bill Gates was interviewing with PC Magazine and got angry and said expanded memory was "garbage, a total kludge, we don't want to do it but we're going to."

later I think it got replaced by Extended memory, and that was in theory less hackish, but due to the backwards compat reqs of DOS software it was naturally a total nightmare to implement. back in the day everyone was constantly dealing with manually juggling around device drivers (the DOS equivalent thereof) to figure out what they could stuff into high memory so that a non-updated app could use as much conventional as possible and other dumb shit like that. windows required you to manipulate EMS/XMS memory allotment manually throughout all of the 1.x-9x era. it all just sucked majorly.

I don't know how strong the background of folks who might read this is, but I think EMS is fairly easy to understand in the context of a RAM expansion card -- hardware designers approached the memory map problem the same way that people making NES games did in the wake of Legend of Zelda. Instead of having an expansion with a limited amount of memory filling the map, stick some kind of microcontroller on there to allow for bankswitching. Suddenly you have as much memory as you can budget for, as long as you have a consistent interface with which to access the different memory banks and get data. Sure, you only have direct addressing of like 128 KB of your giant memory expansion at a time, but bank access latency probably wouldn't lead to major performance differences, especially since you would still have a lot of fixed memory that you could use for stuff that you wouldn't want the program to wait for.

As I understand it (and be careful taking my word for this too closely as I'm not nor ever was a DOS programmer), what EMS does is basically emulate a theoretical RAM bankswitching microcontroller, and of course this feels hacky. To do that you have to mess with hardware interrupts, such that when the interrupt that would be used for bankswitching gets trapped, you call the EMS manager to do your paging work. I think EMS is the main reason why Windows 9x had "MS-DOS mode" as a reboot option, because doing this isn't compatible normally with how memory management after EMS works; you'd be almost guaranteed to have bus conflicts and instability. In fact there were tools that would let you launch EMS programs in Windows more-or-less natively without rebooting, but they tended to hamper performance (because you've added new layers of code indirection to the interrupt handlers) and massively decrease stability (because changing the way an OS's interrupt handlers work is fucking with it at some of the most fundamental levels). I've experimented with Quarterdeck's QEMM and can vouch for both these issues; running Dragonsphere without rebooting definitely wasn't worth it.

I don't rant as much as I did about how trying to do period-correct hardware for a lot of this stuff means that you're just setting up a bunch of technical hurdles to trip over without providing much of any real aesthetic or presentational benefit, but the way that EMS tends to mess with TSR drivers (since those can often also require specific memory management or interrupt handling in order to work) means that trying to play a lot of 386 games on even broadly period-correct hardware can feel flat-out archaic even by the standards of someone running Windows 98 recreationally.

In comparison, XMS is much more in line with how modern operating systems manage memory paging, which is why it more-or-less Just Works under Windows and didn't require a ton of hacky overhead beyond, like, the DOS extender programs that basically every game after DOOM used to run.

lacking any firsthand experience myself, this all sounds valid and the hackishness mostly comes down to what happens when multiple programs want different forms of memory simultaneously (or, well, in rapid succession)

but, I'll say that I don't think it's why Windows had the run in dos mode feature, because as complicated as EMS might be behind the scenes on real hardware, it's still well defined in terms of the interface and it's behavior. since DOS apps in Windows run in VMs, their entire image of the rest of the machine is virtual, and can behave however Windows likes. emulating EMS should be very easy from what I understand; emulating a graphics card, or the function of a TSR, is far harder and I think it's where Microsoft punched out.

in reply to @cathoderaydude's post:

nah, and I think this is kind of post-lightpen, though I'd have to go check. in the early eighties they were all the rage, but the Wyse card is from somewhere between 85 and 87, and I think at this point the fascination with lightpens had faded and been replaced with early touchscreens and tablets.

in reply to @cathoderaydude's post:

the font from the wy-700 is on the int10h bitmap font index.
on that same index is the 12x24 (padded to 13x29) font from the IBM PS/55 (which is the Japanese PS/2)
so the wy-700 isn't the highest resolution bitmap font of its era (though the wy-700 was 1985 and the PS/55 was 1987), but still pretty close