Oldskooler Ramblings

the unlikely child born of the home computer wars

Archive for the ‘Vintage Computing’ Category

Journey’s End

Posted by Trixter on April 21, 2013

I was part of the first wave of people tackling the gigantic task of preserving personal computing gaming history in the early 1990s.  (I suppose pirating software in the 1980s counts too, but scanning materials and interviewing people began, for me, in the 1990s.)  Without connecting to others or knowing what was out there, I started to hoard software and hardware where financially possible and appropriate.  I collected software I considered hidden gems, that should be given their due in some public forum before being forgotten.  I grabbed many Tandy 1000s and other early PCs to ensure various works could be run and studied.  I was an original member of the abandonware movement.  I wrote articles on how to get old software running on modern machines, and contributed to software that did the same.  I co-founded the world’s largest gaming database so that information about these works could be consumed and researched by millions.

I did this all before Y2K.  When you’re the only guy shouting in a crowd, you tend to look the lunatic, and that’s pretty much how most of my friends and family saw me.

Look around the preservation landscape today and much of what I was working towards for years has come to pass.  There are many vintage hardware and software museums, both physical and virtual, including some dedicated to gaming.  There are some wonderful emulators that get closer and closer to the real thing each year.  There are even some curated collections online.  (There are many more curated collections offline, orders of magnitude larger than what is online, but in a decade or so I believe these will move online as well.)  Most importantly, there are established communities that support these efforts.  All in all, I’m pretty happy with how things have turned out.

Looking around all of my possessions inside my home, I see the fallout of what I was trying to accomplish many years ago.  I see no less than five PCjrs, three identical Tandy 1000s, three identical IBM PC 5150s, and multiples of Macs, Apples, C64s, and Amigas.  I see crates and bookshelves and closets filled with hardware and software.  I see clutter where there should be a nice desk for displaying a computer in a respectful way, or an easy chair for reading or watching TV.  It’s too much.  It’s time to let most of it go, and focus like a laser on the things that are the most important.  I will be disseminating most of my collection, both software and hardware, in the following year.

What I will continue to do, however, is archive and preserve software, as there is still a ton of IBM PC software from the 1980s that has not yet been released into the wild.  I am also committed to creating the “sound card museum” project I keep threatening to do.  To those ends, I will retain a few systems that will allow me to achieve both of those goals.

So, I’ll still keep buying and collecting vintage software — the difference is, I won’t retain the software after preserving it.  Consider me a vintage personal computing clearing house.

Posted in Family, Gaming, Home Ownership, Lifehacks, MobyGames, Software Piracy, Vintage Computing | Tagged: , , | 9 Comments »

PCjr Presentation Details

Posted by Trixter on April 16, 2013

As previously mentioned, I’ll be giving my PCjr history/hacking talk “Admiring one of IBM’s Biggest Mistakes” this weekend in Cleveland, OH at NOTACON, but I didn’t know the exact details until a few days ago, so here they are:  My talk is at 1pm Saturday, plenty of time to wake up, find some lunch, and  settle in.  (I say this to reassure myself, not give instructions to potential audience members.  I will likely be freaking out about the PCjr-to-projector hookup, since the jr’s video output is not quite spec.)

Because they gave me a larger time slot, the talk has been expanded from 50 minutes to 90 minutes.  There will be some media to watch, as well as a real PCjr showing off its more unique features.

I’m not sure what to do with the extra time — I’ll have the room for 2.5 hours, and I can’t imagine people having more than 5 minutes’ worth of questions.  How to fill the time?  Boot up the original first version of King’s Quest (which has additional functionality on PCjr) on the projector and let people have at it?  Connect it to the internet and join an IRC channel?  Take game requests?  Show off additional software that supported the PCjr?  I’m open to suggestions.

Rumor has it I might have something silly to submit into the wild compo.  Maybe.

Posted in Entertainment, Vintage Computing | Leave a Comment »

The PCjr: Wasn’t That a Time!

Posted by Trixter on March 6, 2013

2013 is the 30th anniversary of the IBM PCjr, and heck, I love that little machine too much to let an opportunity like this go by without educating the unwilling public about it.  So, I’ll be giving a presentation on the PCjr at NOTACON 10 in Cleveland OH in April, and again at the Vintage Computer Festival Midwest in September in Lombard, Illinois (more on VCFMW as the website becomes available).  The title is “Admiring one of IBM’s biggest mistakes: The IBM PCjr” and I will be covering what the PCjr was, its strengths and weaknesses, how it flopped so incredibly hard, and how it managed to change the home computer industry anyway.  Also, old hardware withstanding, I will have a PCjr with me to demonstrate a few things, so you can gawk at or admire it at your discretion.

What’s this pee-sea-june-your I speak of?  Well, I’ll let Ebeneezer Scrooge and Bob Cratchet explain:

Posted in Vintage Computing | 4 Comments »

LZ4 on the 8088: One small drop

Posted by Trixter on February 9, 2013

I thought I had squeezed every drop of blood from the stone that is LZ4 decompression on the 8088, but with some help from Peter Ferrie and Terje Mathisen, we’ve managed to improve the decompression speed by another 1%.  1% may seem laughable, but believe me, it’s quite an accomplishment if you followed my previous 3-part series on optimizing for the 8088.

In addition to even faster code, I thought it would be interesting to see how small an LZ4 decompressor could get, so with Peter’s help we managed to come up with a version of the code that trades speed for size.  It’s 30% slower on average, but it compiles to only 78 bytes.

The downloads section of the LZ4_8088 website has been updated to contain both versions in the single .zip file.

Posted in Programming, Vintage Computing | Tagged: | Leave a Comment »

Optimizing for the 8088 and 8086 CPU, Part 3: A Case Study In Speed

Posted by Trixter on January 18, 2013

In this final part of 8088 optimization posts, I present a case study for 8088 optimization. Specifically, I’ll cover a problem that I needed to solve, how I solved it, how long it took to optimize my solution for 8088, and what the performance benefit was from that optimization.

For the TL;DR crowd who will likely skip to the end of the article: Through clever 8088 optimization and a thorough understanding of our problem, a decompression routine was created that not only beats all known methods previously created for 8088, but can actually exceed the speed of a memcopy given the right input. But to see how this was achieved, you’ll have to grab a snack and settle down for 10 minutes.

Now, on with our case study.

Read the rest of this entry »

Posted in Programming, Vintage Computing | 20 Comments »

Optimizing for the 8088 and 8086 CPU: Part 2

Posted by Trixter on January 11, 2013

Welcome back to our little crash course on how to optimize code for maximum speed on the 8088 and 8086 CPU. Let’s jump right back in with a quick way to transmogrify the contents of a buffer.

Read the rest of this entry »

Posted in Programming, Vintage Computing | 9 Comments »

Optimizing for the 8088 and 8086 CPU: Part 1

Posted by Trixter on January 10, 2013

There is a small but slowly growing hobby around retroprogramming for old PCs and compatibles. This hobby has existed for decades for other platforms, as evidenced by the active demoscenes on each retro platform, but the IBM PC (and other 4.77MHz 8088 compatibles) has only recently started to gain that same sort of attention. As a public service to the 8088 retroprogramming community — “All four of you, huh?” — I’ve decided to write a crash-course on optimizing your code for maximum speed on the 8088. This information is targeted to people who already know either modern x86 assembly or assembly for other CPUs, and are programming for the 8088 or 8086 for the first time (or the first time in a long while).

Read the rest of this entry »

Posted in Programming, Vintage Computing | 26 Comments »

No love for the IBM PC

Posted by Trixter on January 9, 2013

I’ve always wondered why the IBM PC never really gained a massive retro following that the Apple II, C64, Amiga, etc. have. There was the half-assed birth of the Abandonware movement, but otherwise nothing. Where are the podcasts dedicated to old PC hardware and games? I only know of two worth watching. Where are the Kansasfests and ECCCs for the IBM PC and old compatibles? Where are the cycle-exact emulators (PCem comes very close) and pixel-clock-accurate video emulation that other platforms enjoy?  And, other than the wonderful and excellent Vintage Computer Forum, where are the forums?

I think it’s because the PC won the home computer wars. All of the other retro revivals are for platforms that most definitely ended; the PC just stayed relevant and, today, is what everyone has on their desks. Even Mac desktops run Intel hardware. So the IBM PC never really went away, and you can’t revive something that never really died.

I think the classic Mac “scene” had/has the same problem. I haven’t seen any retroware emulation compilations with classic B&W Mac software that exist for other platforms.

Posted in Vintage Computing | 14 Comments »

The IBM PC 5150: What if?

Posted by Trixter on December 27, 2012

Did you know that the IBM PC was  not originally designed around the i8088?  Various sources conflict somewhat (including offline sources such as “Blue Magic: The People, Power and Politics Behind the IBM Personal Computer“), but the general consensus is that early 5150 designs considered CPUs that were both less powerful (such as the MOS 6502 and Zilog Z80) and also more powerful (such as IBM’s POWER predecessor 801, or the Motorola 68000 CPU).

I find this fascinating to daydream about sometimes.  What if the IBM PC had not been built around the 8088?  How would have the personal computer industry progressed in the 1980s?  Who would the leader(s) be today?

Read the rest of this entry »

Posted in Vintage Computing | 12 Comments »

Maze Generation In Thirteen Bytes

Posted by Trixter on December 17, 2012

Update 12/7/2012 @ 13:46: Peter Ferrie smashed my record by a single byte, so the record is now held by him at 12 bytes.  Congrats, and I feel like a fool for missing it :-)  I’ve tacked on his optimization to the end of my original post.

Update 1/7/2013: herm1t further smashed the record, down to 11 bytes!

Update 1/7/2013 @ 18:00: Peter bounces back and reclaims the record with 10 bytes! It kind-of breaks my target platform (uses an undocumented opcode that only works on Intel processors) but hey, a record’s a record! I’ve updated the article below.

In the past, when I’ve had a democoding breakthrough, I kept quiet and either used my discovery in a production, or just bragged to my demoscene friends privately.  However, my opportunities to achieve democoding “world firsts” are just about gone, and size coding compos seem to be dead, so I’ve decided to just write a blog post about what I’ve done instead: I’ve written a maze generator in only 13 bytes of x86 machine code.

Read the rest of this entry »

Posted in Demoscene, Programming, Vintage Computing | 20 Comments »

 
Follow

Get every new post delivered to your Inbox.

Join 147 other followers