I never knew CGA could do 16 colors. In my memory 16 colors is EGA.
My family had a CGA pc when I was young, and while it could do 16 colours, the horribly low resolution of the 16 colour mode meant very little ever made use of it.
8088 Domination Post-Mortem, Part 1
71–80 of 111 posts
Re: 8088 Domination Post-Mortem, Part 1
#72Earlier quoted context omitted.
I don't know of any accurate IBM PC emulator. Most of the typical ones like DosBox will play it either too fast or too slow.
Dosbox plays it fine, but only B&W.
Re: 8088 Domination Post-Mortem, Part 1
#73Wow... for that hardware, a 4.77MHz 8088 PC with CGA graphics and Sound Blaster audio, those stats are overwhelming: 1. Variable frame-rates up to 60 FPS. 2. Audio rates to 45kHz. 3. 16 colors through composite artifacting. 4. Simultaneous color and B&W output. On a related note, you will probably be interested in Michael Abrash's Zen of Assembly Language . From the "README.md": "This is the source for an ebook versi…
So while this might run on 1978-era hardware, it wouldn't have been possible for 1978-era hackers to create.
Re: 8088 Domination Post-Mortem, Part 1
#74Earlier quoted context omitted.
The more I progress in our domain of expertise, the more I observe we're being incredibly wasteful† all over the place. For all the expressiveness power of our platforms and languages it somehow sounds insane that time (ruby -e '100_000_000.times {}') takes four solid seconds on my 3.4GHz machine††. I know, bogoMIPS are no benchmark, this is just to exemplify that layers of abstraction, while useful (necessary even),…
I think the underlying cause of this over abstraction is largely a result of abstraction being excessively glorified (mostly) by academics and formal CS curricula. In some ways, it's similar to the OOP overuse that has thankfully decreased somewhat recently but was extremely prevalent throughout the 90s. In software engineering, we're constantly subjected to messages like: Abstraction is good. Abstraction is powerful…
It probably doesn't hurt that nobody expects a demo scene app to adapt to radical changes in requirements, or to interoperate with other things that are changing as well - for that matter, to even conform to any specific requirements other than "being epic".
For instance, the linked 8088 demo encodes video in a format that's tightly coupled to both available CPU cycles and available memory bandwidth. Its goal is "display something at 24fps".
Not that I'm a fan of abstraction-for-its-own-sake, but putting scare-quotes around real problems like premature optimization is an excessive counter-reaction.
Re: 8088 Domination Post-Mortem, Part 1
#75Re: 8088 Domination Post-Mortem, Part 1
#76Re: 8088 Domination Post-Mortem, Part 1
#77Earlier quoted context omitted.
"This qualifies as art, not just software." For me there was never any doubt. A bit unrelated, but I've got an old 5150 at my parent's place, so when I'm visiting next Xmas I'll try to load this demo onto it. The only problem is that of transferring files to it. It only has a 5.25" floppy drive, and I don't have a means to copy files onto those floppies. Any suggestions?
You can run Norton Commander on both computers and set them on connect mode. One PC is set as master and the other as slave; connect them physically with a parallel cable.
Re: 8088 Domination Post-Mortem, Part 1
#78Earlier quoted context omitted.
"This qualifies as art, not just software." For me there was never any doubt. A bit unrelated, but I've got an old 5150 at my parent's place, so when I'm visiting next Xmas I'll try to load this demo onto it. The only problem is that of transferring files to it. It only has a 5.25" floppy drive, and I don't have a means to copy files onto those floppies. Any suggestions?
KryoFlux is a USB-based floppy controller http://www.kryoflux.com/
Re: 8088 Domination Post-Mortem, Part 1
#79Wow... for that hardware, a 4.77MHz 8088 PC with CGA graphics and Sound Blaster audio, those stats are overwhelming: 1. Variable frame-rates up to 60 FPS. 2. Audio rates to 45kHz. 3. 16 colors through composite artifacting. 4. Simultaneous color and B&W output. On a related note, you will probably be interested in Michael Abrash's Zen of Assembly Language . From the "README.md": "This is the source for an ebook versi…
It's worth pointing out (on a quick scan I don't see this called out in the article itself) that the preprocessing involved in generating these executables is almost certainly not meaningfully possible on a 5150 PC. So while this might run on 1978-era hardware, it wouldn't have been possible for 1978-era hackers to create.
Edit: "One more thing" as I get voted down by those in denial. Imagine this brilliance getting Linux to talk to a relatively unheard of device called an iPhone 5s! It sure would be nice getting pictures and video off this damn phone so I can free up space!
Re: 8088 Domination Post-Mortem, Part 1
#80That's absolutely insane at that clockrate. The way I would get 'animations' (for want of a better term) done is by rendering them frame-by-frame, compressing that and then playing it back at high speed. And even that was next to impossible. Decompressing video @60fps, and doing real-time dithering to increase the effective number of colours and still have time enough for 45KHz audio is totally nuts. This qualifies a…
For me, the most interesting part is that his solution - updating only the changed parts between each frame and the previous one, and approximating the changes so that they're not (too) visually perceptible in order to satisfy a bitrate constraint - is one of the ways that modern video codecs achieve their compression. I agree it's also amazing that apparently, the true limitations of hardware from over 30 years ago…