Reply 20 of 113, by VileR
- Rank
- l33t
GloriousCow wrote on 2023-05-26, 01:41:Yep, I have a copy. It's quite the tome. It's evidence that even after getting Area5150 running, there's a whole world of behavior I have yet to tackle and future demos might exploit. I have an MC6845 connected to a Teensy microcontroller too, but I haven't explored it any where near in as much depth as the 8088. That's a future blog article, or two. Hey, maybe I can come up with my own effect!
I think some progress was being made amongst BBC Micro users in reverse-engineering the 6845 based on Sean Riddle's die photos, but those photos appear to be of the HD6845S (the -S variant wasn't used on original CGA boards, although a few enhanced compatibles were based on it).
GloriousCow wrote on 2023-05-26, 01:41:Speaking of releases, how would you feel about me possibly including 8088MPH/Area 5150 with my binary release? My thoughts were it would be great to give people a way to experience the demos as intended themselves "out of the box", but I completely understand if you'd rather not have it distributed that way. I am not sure what the etiquette is there, so apologies if that suggestion is gauche.
It's not just my own call to make, but personally I wouldn't have any problem with it at all - on the contrary. I'd kindly like to ask only that the included copy will be brought up to date, once we actually release the final version. 😀
We recently noticed Area 5150 in the list of software preloaded with that new 'Book8088' mini laptop (https://forum.vcfed.org/index.php?threads/chi … -3#post-1318513), and it's one of the very few things in there that *doesn't* violate some kind of license or copyright...
GloriousCow wrote on 2023-05-26, 01:41:And boy did I not understand how the hell composite artifact color worked. In black and white, sure, the diagrams on your blog make it fairly simple. You can even do a simple 16-slot color LUT with 4 pixels as your input the high res monochrome CGA modes in the most naïve implementation.
Ha... that naïve implementation of composite color (a fixed grid of digital-looking pixels, using a fixed 16-color LUT) is something I used to see a lot in Apple II emulation, and even then I could tell that there was something very 'off' about it. To this day most Apple II screenshots you can find on the web look like crap, and the same goes for all those 'play online' emulators: they completely mis-represent what the originals looked like.
(I think this may also have something to do with how the IIgs emulated older II graphics using its RGB output, but I don't know enough about that machine to say for sure.)
GloriousCow wrote on 2023-05-26, 01:41:Do some luma sampling first and multiply and you even get a passible result. But as soon as you add color, it all falls apart. So I bought an oscilloscope and I sat down with the CGA schematic and an "Old style" CGA card fresh from ebay and I spent a few weeks figuring out how to convert the flower girl image from the raw RGBI source. That's when I learned about the multiplexer, and the fact that you have to model half-hdots as certain colors are out of phase by half a cycle. You may recall I emailed you for permission to use your art for a planned blog post about all that. My code isn't the most accurate, but I'm still proud of it. Just not quite satisfied. For example, in the CGA type detection screen, i'm somewhere between "NEW" and "OLD" despite modelling old-style. Just probably have some values wrong somewhere.
That sounds like the best way to go about it. I didn't really have the engineering background or the tools to do my own research that way, so the technical part of my explanation in that blog post was mostly second-hand. My ulterior motive for trying to understand it was to be able to use it effectively when creating graphics: if you simply assume an orderly grid of pixels with a fixed palette, you miss out on useful tricks and methods (and run into blunders, like placing blue and orange next to each other and getting a bright white for your troubles). But yes, I suppose I didn't really go into the specifics of the 'direct' colors and their phase relationships. I wanted to go into that sort of detail in a further article or two "for the artist", but never got around to it... maybe one day.
Still, as I recall (reengine may correct me if I'm misremembering here), modeling the color decoding process from scratch still left some unexplained inaccuracies vs. the real thing, although it got *very* close; that's where sampling the multiplexer output proved to be a better strategy. I don't know how a pure software model could be brought to the same level of fidelity - maybe if the multiplexer itself were fully reverse-engineered or something?
GloriousCow wrote on 2023-05-26, 01:41:Was it worth it? I think so. It's that kind of esoteric, pointless technical knowledge that really impresses during dinner conversation.
You must have more interesting dinners than I do. 😁
GloriousCow wrote on 2023-06-01, 00:16:I've made an initial Windows release of my emulator, available here:
https://github.com/dbalsom/martypc/releases/Interested to see what people think. I'm open to suggestions and feature requests!
Excellent, I'll have a play with it and see!