Oldskooler Ramblings

the unlikely child born of the home computer wars

Upcoming Trixter Sighting + Retroprogramming

Posted by Trixter on May 15, 2013

June 14-16 you should be able to see me at @party in Boston.  (If anyone is looking to share a hotel room, drop me a line!)  I am scheduled to give a 30-minute version of the PCjr presentation I had worked on for NOTACON, and hopefully enter a compo or two with some oldskool hardware I will be shipping to arrive ahead of me.

Speaking of entering a compo: I really, really dig retroprogramming.  The cool part is, after 10 years of retroprogramming in spare time, my kung fu is getting advanced enough where I not only know how to do what I want in assembly, but I know the fastest possible method to getting it done on the target hardware. For example, I recently implemented a vertical-retrace interrupt in software because the hardware one wasn’t good enough. It’s sick that I know how to do that, but sicker that I know why I need to do that.

I still get a kick out of impressing Jim-of-20-years-ago.

Posted in Demoscene, Programming | 9 Comments »

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: , , | 11 Comments »

PCjr talk cancelled

Posted by Trixter on April 18, 2013

Our basement flooded due to Illinois floodrains, and we also had some issues regarding our roller scooters so I will not be traveling to notacon; there will be no PCjr talk this weekend.

Posted in Uncategorized | 4 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 | 22 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 | 11 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 | 28 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 | 15 Comments »