Live data from Hacker News

8088 Domination Post-Mortem, Part 1

trixter.oldskool.org

101–110 of 111 posts

Re: 8088 Domination Post-Mortem, Part 1

#101
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…

Having been in the demoscene (Imphobia) for a long time and having been in more abstract (quad tree construction optimizations) stuff I can say that writing a demo is not the same as computing theory. Writing a demo is most often exploiting a very narrow area of a given technology to produce a seducing effect (more often than not, to fake something thought impossible so that it looks possible). So you're basically constraining the problem to fit your solution.

On the other hand, designing pure algorithms is about figuring a solution for a given, canonical and often unforgiving problem (quicksort, graph colouring ?). To me, this is much harder. It involves quite the same amount of creativity but somehow, it's harder on your brain : no you can't cheat, no you can't linearize n² that easily :-)

To take an example. You can make "convincing" 3D on a C64 in a demo because you can cheat, precalculate, optimize in various way for a given 3D scene. Now, if you want to do the same level of 3D but for a video game where the user can look at your scene from unplanned point of views, then you need to have more flexible algorithms such as BSP trees. So you end up working at the algorithm/abstract level...

A very good middle ground here was Quake's 3D engine. They used the BSP engine and optimized it with regular techniques (and there they used the very smart idea of potentially visible sets) but they also used techniques found in demo's (M. Abrash work on optimizing texture mapping is a nice "cheat" -- and super clever)

Now don't get me wrong, academics is not more impressive than demoscene (but certainly a bit more "useful" for the society as whole) These are just two different problems and there are bright minds that makes super impressive stuff in both of them...

stF

Re: 8088 Domination Post-Mortem, Part 1

#102
post #82

Earlier quoted context omitted.

> the true limitations of hardware from over 30 years ago are still rather elusive That was the basic idea that kept the Apple II line alive for ~15 years on an 8 bit processor running at 1Mhz. Of course at the end, there were a handful of faster configurations but the IIgs @ 2.5Mhz and the short lived IIc+ at 4Mhz were the only machines apple produced with faster processors.

why the Apple II was still kept around for that long is kind of a mystery to me. It's not games. Maybe educational customers? Maybe next to no migration path for business users? I had an uncle who ran a veterinarian clinic off of Appleworks and several floppies worth of data for god knows how long. "Works for me" is a powerful force, and they'd probably squeezed all the costs out of the Apple II line.

There are many reasons, but one of the big subtleties that should get remembered is that the Apple II had essentially two great epics:

Epic 1: The Apple II sold with no expansion cards, but many expansion slots. Hackers and business designed addons for years.

Epic 2: the Apple IIe (and later IIc) were sold with an optimal set of expansion cards.

So you had one generation of experimentation and a second generation that leveraged all the hard work!

Re: 8088 Domination Post-Mortem, Part 1

#103
post #99

Earlier quoted context omitted.

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…

> 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! I do it all the time. All it takes is to plug the phone in.

Which iPhone? 5s does not *work with Linux. You get an endless 'trust this computer?' loop when the cable is plugged in.

Re: 8088 Domination Post-Mortem, Part 1

#105
post #99

Earlier quoted context omitted.

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…

> 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! I do it all the time. All it takes is to plug the phone in.

Answering the dead question, it's an iPhone 5s running the latest iOS. The only catch is that I have to plug it unlocked and tell it to trust my computer (running Ubuntu 14.04) when the prompt pops up. It imports pictures into Shotwell just fine. I also tested it with an iPhone 4 (not 4S) and it worked just the same.

Re: 8088 Domination Post-Mortem, Part 1

#106
post #35

Earlier quoted context omitted.

I have, in the past, been forced to type an Xmodem transfer program into debug.com's hex mode, to get to the point where I can transfer files over a null-modem connection from another box. I can dig up the file in question, if that'd help you out at all. I ended up typing it in 1k at a time, and independently typing in a CRC32 utility to check that I'd done it properly. (That was to install Windows 98 on a computer w…

That's how I used to transfer files to my coding buddies. On the phone, hex dump in S-record format, then read out loud while the other side would type in the line. Checksum matches? Next line... Our respective parents were not too happy about this unplanned usage of their phone lines but it saved a ton of cycling.

That's how you do it! What's the today's equivalent that kids do?

Re: 8088 Domination Post-Mortem, Part 1

#107
post #32

Earlier quoted context omitted.

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…

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),…

My machine is slower than yours and luajit does your million benchmark in 0.037s

    time luajit -e 'for i=1,100000000 do end'
    
    real	0m0.037s
    user	0m0.034s
    sys         0m0.002s
Just plain old Lua

    time lua -e 'for i=1,100000000 do end'
    
    real	0m0.502s
    user	0m0.497s
    sys         0m0.004s

Re: 8088 Domination Post-Mortem, Part 1

#108
post #100

Earlier quoted context omitted.

Try changing modes in the middle of the scan :)

Argh ! was that possible ? I actually stop playing with that with my last overscan "320 x +/- 240" attempt during which, for some reason, the screen beamer concentrated itself on exactly on scan line of the screen, rendering it super bright and emitting a super scary sound. My screen always had a darker line in the middle of it since that experiment :-( You could actually damage things by playing with hardware...

> Argh ! was that possible ?

Sure, if you were prepared to give up a few scanlines for the register changes. The monitor will happily continue to scan as long as the basics (vertical resolution, frame rate) don't change and you make the the coils are still being swept.

That's why you ended up with that darker scanline, for a brief time the vertical deflection was turned off and that caused that one scanline to be hit by the electron beam in rapid succession at an intensity that it normally would not receive.

It's like looking into the sun.

Scanning is the hard part, so you don't need to worry too much if you keep the timing steady but you can change things like colours, palette contents, horizontal resolution without too much trouble.

If you're going to mess with the vertical resolution then you'll have to have write access to the register that counts the scanlines (and you'll need to set it to what it would have been had the whole screen be that resolution).

And of course at the end of the frame you have to switch it all back.

Re: 8088 Domination Post-Mortem, Part 1

#109
post #102
post #82

Earlier quoted context omitted.

why the Apple II was still kept around for that long is kind of a mystery to me. It's not games. Maybe educational customers? Maybe next to no migration path for business users? I had an uncle who ran a veterinarian clinic off of Appleworks and several floppies worth of data for god knows how long. "Works for me" is a powerful force, and they'd probably squeezed all the costs out of the Apple II line.

There are many reasons, but one of the big subtleties that should get remembered is that the Apple II had essentially two great epics: Epic 1: The Apple II sold with no expansion cards, but many expansion slots. Hackers and business designed addons for years. Epic 2: the Apple IIe (and later IIc) were sold with an optimal set of expansion cards. So you had one generation of experimentation and a second generation tha…

"Hackers and business designed addons for years."

Hackers and "business" continue to design and sell cards for them!

(CompactFlash & USB-storage interface card) http://dreher.net/?s=projects/CFforAppleII&c=projects/CFforA...

(ethernet boards) http://a2retrosystems.com/

(RAM boards) http://www.brielcomputers.com/wordpress/?p=321

Re: 8088 Domination Post-Mortem, Part 1

#110
post #82

Earlier quoted context omitted.

> the true limitations of hardware from over 30 years ago are still rather elusive That was the basic idea that kept the Apple II line alive for ~15 years on an 8 bit processor running at 1Mhz. Of course at the end, there were a handful of faster configurations but the IIgs @ 2.5Mhz and the short lived IIc+ at 4Mhz were the only machines apple produced with faster processors.

why the Apple II was still kept around for that long is kind of a mystery to me. It's not games. Maybe educational customers? Maybe next to no migration path for business users? I had an uncle who ran a veterinarian clinic off of Appleworks and several floppies worth of data for god knows how long. "Works for me" is a powerful force, and they'd probably squeezed all the costs out of the Apple II line.

"Apple II was still kept around for that long is kind of a mystery to me."

There was a very strong following, especially in the educational market. I remember seeing schools purchasing labs of IIGS's as late as the early 1990's.

Basically, the apple ][ was the cash cow that kept Apple afloat for years while they tried to sell 68k macs. Apple basically tried to kill the II for a decade but wasn't successful enough to just cut off the customer base that was crying for new models.

Post reply on HN