Posts

60fps Video on a CGA? - The GlyphBlaster

Image
GlyphBlaster The GlyphBlaster in action - is that a cat in text mode??  There's a certain genre of retro-hardware hack that everyone recognizes is technically cheating, but has a certain audaciousness to it that merits respect regardless. I hope that this one falls into that category! A few years ago, I was impressed by TheRasteri's PiPU project - basically, a Raspberry Pi Pico -powered mapper for the NES. Of course, it can play DOOM: The Raspberry Pi Pico has reinvigorated the retro-computing hobby quite a bit, enabling such devices as the PicoGUS , PicoMEM , PicoIDE , and most recently, the OneROM .  It was the latter device that got me thinking. I recently used a OneROM to replace the font ROM on my CGA card, and subsequently I was able to replace IBM's classic 8x8 font with a custom one. Here's Frogblock by Polyducks: The "Frogblock" font loaded onto a OneROM replacing the CGA's font ROM The programmability of the OneROM intrigued me - especially its p...

Exploring 16-bit Bus Access on the PC/AT

Image
Entering the 16-bit Era I've been adding support for the 8086 CPU to MartyPC, and looking ahead to eventual support for the 286 .  The biggest fundamental change coming from the 8088 is that the data bus width on these CPUs expands from 8 bits to 16. This ends up being a bit more complicated than I originally anticipated, but I've come to learn some interesting things about how Intel implemented the 16-bit data bus that explains some things that were long-standing mysteries to me, such as the reason for memory alignment penalties. In this article, we'll explore schematics for the IBM 5170, better known as the IBM AT. This model was arguably IBM’s most influential computer, as it established the eponymous AT standard that shaped the PC-compatible market - setting it on an evolutionary path that modern PCs continue to follow. Memory Alignment And You Modern Intel and AMD CPUs have minimal memory alignment requirements¹. Any remaining penalties for "unaligned" reads ...

Emulator Debugging: Area 5150's Lake Effect

Image
My last few   articles on bus sniffing the IBM 5150 have been building up to this one. We're going to leverage our bus sniffer and sniffer decoder to finally debug Area5150's "Lake" effect. "But wait -", you might be asking: "- doesn't MartyPC run Area5150 already?" Yes, it does, but I have a dirty little secret I need to confess to the world.  Despite all the accolades MartyPC has received about being super-accurate, it needed a special, Area5150 specific hack in order to run the final two cycle-counted effects, "Wibble" and "Lake."  "Wibble" is the scene with Charlie Chaplin, the green fellow and the elephant.  "Lake" is the final end credits scene with the water effect and the PCM audio player.   In other words, I cheated. It haven't actually tried that hard to keep it hidden, as you can see if you are watching the console while MartyPC runs: Okay, maybe I'm being a bit hard on myself. Title-s...