Live data from Hacker News

8088 Domination Post-Mortem, Part 1

trixter.oldskool.org

71–80 of 111 posts

Re: 8088 Domination Post-Mortem, Part 1

#71

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.

It's not that horrible. You can do some pretty interesting things with it, like this: https://www.youtube.com/watch?v=G66KL-hxxKI

Re: 8088 Domination Post-Mortem, Part 1

#72

Earlier 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.

With mode=cga it plays in color, though some of the colors are inaccurate compared to a real PC.

Re: 8088 Domination Post-Mortem, Part 1

#73
post #31

Wow... 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.

Re: 8088 Domination Post-Mortem, Part 1

#74
post #32

Earlier 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…

"Demoscene is all about creative, pragmatic ways to solve problems by making the most of available resources"

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

#77
post #17

Earlier 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.

Good idea - but then you would need Norton Commander, which I don't have for some reason.

Re: 8088 Domination Post-Mortem, Part 1

#78
post #17

Earlier 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/

Will check it out!

Re: 8088 Domination Post-Mortem, Part 1

#79
post #73
post #31

Wow... 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.

Incredible work! If only we had this kind of ingenuity today to get a simple graphics card working with Linux! Imagine the possibilities. One day, I might even have an option in Ubuntu to change the refresh rate to 60hz without entering 'xrandr -r 60' into the console EVERY DAMN TIME I REBOOT. Now, I know I'm going on a limb with this next one, but imagine if someone had the intelligence to code a universal installer that works every time and installed every piece of needed software all at once with zero user interaction??! I'm getting a bit craaazy here, but imagine effortless uninstalls! Mind blown.

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

#80

That'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…

See also http://bespin.org/~qz/pc-gpe/fli.for - the .fli format was pretty common at one time and does this same delta encoding.
Post reply on HN