Text Time Travel

So, it looks like a lot of things just opened up for me along a path I thought was currently blocked. I am writing this on an Atari 800XL. Sort of, anyway… in some very surprisingly accurate ways, though.

My love of old tech works two ways these days: the retro way, where I try to recreate the experience of tech past with what I’ve got now; and the antero way, where I try to directly access the old tech with what I’ve got now. One of the tools I’ve always used for my retro side is emulators, I’ve been using Atari 800 emulators since STXformer back in the early nineties. Most recently, my Atari 800 emulator of choice has been Atari800MacX, because the things it does well are the things I want from retro: easy user interface to get to different types of content, and easily swap modes for compatibility. I have been aware of Altirra, another Atari emulator, but being a Mac person, running the Windows-based Altirra isn’t always straoghtforward. Yeah, I’ve done it once or twice, but the seeming extra steps didn’t seem to offer any extra benefit for my retro side.

Recently, the software WINE, which allows Windows software to run on linux machines by interpreting the Windows calls into linux XWindows calls, has updated to 64-bit… something… which allows it to run on recent Mac OS updates, including mine. I like having WINE in the toolbox, seeing a thread on an Atari board where folks had gotten Altirra running nder WINE under the newest Mac OS release, I decided to go ahead and try it. And either I’m finally getting used to the procedure, or it’s finally getting easy enough to allow my participation, but everything installed cleanly, first try, and minutes later, I’m dinking around Altirra to see what kinds of things I could tweak. Under one menu, I saw an option to load ROM files for various hardware… not too surprising, I was emulating an ICD MIO peripheral in Atari800MacX… but I noticed one of the options was Ultimate1M, a recently developed upgrade for the ancient hardware. Now, again, my antero side knew about the Ultimate1M, I have the Atari 600XL picked out to put one in, sometime soon. For whatever reason, it never occured to me that I could use the retro emulation tool as an antero showroom, trying out different combinations of modern hardware upgrades to see what works.

Like I said, a lot of options are more readily available than I imagined. With a little luck, this could be part of a success story: one hurdle I’ve been wrestling with is creating content created on the Atari side and getting it to the PC side efficiently. Through a series of misadventures, I believe I have succeeded in setting up the PCLink device on Altirra, allowing me to write files from the Atari side directly to my main computer’s drive. Hopefully, this will soon be my first Atari written and edited post to make it online.

Next steps for Altirra include making emulated models of some of my favorite real Ataris (256kXL+MIO, 320kXE+MIO, 48k800), revisiting some old favorite games (BoulderDash, Zombies, Pharoah’s Tomb), and creating my Perfect Emulated Atari (a not-yet-fully-formed monstrosity that packs as much useful punch into an emulation as possible).

Finally Got My STacy

I remember knowing about the Atari STacy when it was released in 1989. I had owned a 520ST since I had gotten out on my own and could afford it in the fall of 1987, and was still running my original Atari 800 from 1980 right beside it, at the time. Although I always kinda wanted one of the Atari portables, the ST’s MIDI performance made it popular with musicians, and the built-in hard drive and monitor of the STacy models even more so… even during the time I was amassing the bulk of my Atari collection, no one was parting with a STacy at what I thought was a reasonable price.

As has been documented elsewhere, I’ve been going through my old machines to see what’s working and what isn’t. A parallel interest of mine  is retrogaming and emulation, and while I’ve been peeking through old hardware, I’ve been poking around new software and emulating some of the things I’ve been doing on the real things.

As far as STs go, I’ve been working with Hatari for emulation. It comes with EmuTOS, a reverse engineered publicly distributable version of Atari’s TOS operating system for the STs, TTs, and Falcons, and the ability to emulate different configurations of hardware. So the fun for me has been recreating some of my actual hardware setups in Hatari. I got it displaying the way I wanted, then starting playing with the hardware emulation configuration to recreate my original 520ST as I actually used it, upgraded to 2.5 megs of memory. I found images of the actual Atari TOS ROMs, and starting running TOS 1.04 rather than EmuTOS. As of today, I got one type of hard drive emulation running, and Hatari is reading a folder of my Mac SSD as its C-drive. As I was wandering around the house with the computer, I realized that in some ways, I finally had my STacy.

NeoDesk 4 on Hatari full screen on Mac OS X
NeoDesk 4 on Hatari full screen on Mac OS X

jjATR HC The Atari 800XL

Spelunking

20190627: This is a very pretty looking and mechanically sound feeling Atari XL. Runs, boots from floppy. Has Expansion Port Cover. Small hole drilled in the back panel of the case. I vaguely remember this coming from an active hardware hacker who removed an upgrade switch to reuse in another machine… maybe a socket for something already installed in here? Keyboard feels amazing… maybe an upgrade there?

jjATR 800XL, 1050, Commodore 1702
jjATR-HC 800XL, 1050, Commodore 1702

Wow, let’s get a better look at that power supply.

jjATR-HC Atari XL Power Supply
jjATR-HC Atari XL Power Supply

I’ve always thought these were great power supplies. I need to go back and see if I can find a page I used to know that compared the different types of Atari power supplies… apparently, some of them are easy to open up and work on, but some of them are epoxy globs on the inside. This is one of two like this I’ve ever come across.

So back to the main event…

jjATR-HC Atari 800XL-a Serial Number Label
jjATR-HC Atari 800XL-a Serial Number Label

The 83A indicates location of manufacture as the Atari-Wong plant in Hong Kong; HA is the code for NTSC 800XL machines. The three digit stamped code is a date code, here indicating week nineteen of 1984 as the manufacture date.

It turns out that the nice keyboard wasn’t an upgrade, just a solid piece of kit from the get-go. Further spelunking into keyboard variations reveals this keyboard to be the Alps switch-based model, generally liked for both its feel and its repairability.

jjATR 800XL Alps keyboard C024583-001 CAV. A REV. 2
jjATR 800XL Alps keyboard C024583-001 CAV. A REV. 2

This upper case is marked C024583-001 CAV. A REV. 2

jjATR 800XL bottom case C024584-001 CAV. A REV. 1
jjATR 800XL bottom case C024584-001 CAV. A REV. 1

Lower case stamped C024584-001 CAV. A REV. 1.

jjATR 800XL motherboard
jjATR 800XL motherboard

What we can see before removing the shielding. The little bit of information in the top right only appears in the XL motherboard list twice, either it’s Rev C APC Hong Kong or Rev D OPC.

jjATR 800XL motherboard
jjATR 800XL motherboard

This 800XL is in amazing shape, he mentions as he realizes how clearly you can see him taking that photo in the reflection off the shielding. There’s also a visible number stamped on there, C 024652-001R C. Google shrugs its shoulders at that particular reference.

Related models

The Atari 600XL is the little brother to the 800XL, literally.

jjATR-HC 600XL
jjATR-HC 600XL

That is actually a second of the cool looking power supplies, they both work!

jjATR-HC 600XL serial number label
jjATR-HC 600XL serial number label

Here again we see the 83A prefix for the Atari-Wong manufacturing plant, and the code for the NTSC 600XLs was EA. Fifteenth week of 1984. This machine apparently went out of the same plant about a month before the reference 800XL above. The keyboard externally appears to be a Stackpole bubble type.

Additional machines

jjATR 256XL, runs. Mojo switch on back panel.

jjATR 256XL
jjATR 256XL

Made in Taiwan, 72R prefix, HA for NTSC 800XL, 52nd week of 1984. Appears to have Stackpole keyboard.

jjATR 800XL-b, runs, no response from SIO.

jjATR 800XL-b Serial Number Label
jjATR 800XL-b Serial Number Label

Made in Taiwan, 72R prefix. Expected HA, 39th week of 1984.

20190705 – Opened this machine up. Learned a little something about keyboards.

jjATR 800XL-B Alps keyboard
jjATR 800XL-b Alps keyboard

This unit has the same keyboard as the reference 800XL above, the Alps socketed switch model. There is at least one switch version from AWC, then two Stackpole keyboards and one from Mitsumi.

jjATR 800XL-b internals keyboard
jjATR 800XL-b internals keyboard

Here you can see the Alps logo and various part numberings on the keyboard.

Turns out there was also a motherboard in there to learn about.

jjATR 800XL-b motherboard
jjATR 800XL-b motherboard

A post on the AtariAge forums has a list of the known motherboard types, which I’ve reproduced here.

Board Name Fits PN Revision Date Component Side Solder Side Manufacturer

800XL 800XL CO61851 A1 Chelco 1983 P/N: 150800011 REV A1 800XL 800XL/CO61851 A1 CHELCO

800XL 800XL CO61851 A2 Chelco 1983 P/N: 150800011 REV A2 800XL 800XL/CO61851 A2 CHELCO

800XL 800XL CO61851 C CAO24808-001 REVA CA061854 800XL/CO61851 REV C/MADE IN HONGKONG APC

800XL 800XL CO61851 D 3284 CA06220-REV? PBT 374 800XL/CO61851 REV D/OPC/1298A/32-84 OPC

800XL 800XL CO61851 D 3384 CA061854 REV.D PBT 414 800XL/CO61851 REV D/OPC/1298A/33-84 OPC

800XL 800XL CO61851 D CAO24808 REV D PBT 504

800XL-SECAM 800XL CO24968-001 X1A 4-84 CA025926-001 REV- GCI-A 18-84 CO24968-001 REV-X1A 800XL-SECAM

800XL-SECAM 800XL C024968-001 R3 884 800XL-SECAM ROSE CAO24969-001 REV- 8-84 GX-211 VO C024968-001 REV R3 800XL-SECAM

800XLF 800XL CO25925-001 R1 © 4-84 CA025926-001 REV- CO25925-001 REV-R1 800XLF KT201 8502

800XLF 800XL CO25925-001 R3 285 © 9-84 CA025926-001 REV- CO25925-001 REV-R3 800XLF KT201 8502

130XE 800XL 5084 © 11-84 CAOXXXXX-XXX REV- 50-84/COXXXXX-XXX REV-R1 130XE

There are two stickers on this motherboard, a green circular one that possibly says ICT Passed, and an orange one that definitely says Burn-In Passed. I’m beginning to think these stickers might be obscuring the main identification I’m supposed to be seeing on this side of the board. But it is clear that the board is fully socketed, which is nice.

jjATR 800XL-b motherboard
jjATR 800XL-b motherboard

The back of the board clearly marks it as a REV A2. But there’s some parts of identification that still aren’t clear to me. Upon further spelunking, I am confident in calling this a Chelco Rev A2 board.

Here’s a look up under the shielding…

jjATR 800XL-b sheilding C024651 REV. B
jjATR 800XL-b sheilding C024651 REV. B

Part number C024651 REV. B. Contrast with reference jjATR 800XL info above.

Here are the parts of the case dismantled for cleaning.

jjATR 800XL-b upper case C024583-001 CAV. B REV. 2 lower case C024584-001 CAV. B REV. 1
jjATR 800XL-b upper case C024583-001 CAV. B REV. 2 lower case C024584-001 CAV. B REV. 1

The upper case is stamped C024583-001 CAV. B REV. 2, and the lower case is stamped C024584-001 CAV. B REV. 1.

jjATR 600XL-b, runs.

jjATR 600XL-b
jjATR 600XL-b

So… made in Hong Kong, but with a 7YJ code, so, a different manufacturing facility? EA for NTSC 600XL, 49th week of 1983. Would appear to be the oldest 600XL/800XL series machine I own, also the only black serial number label model.

The 7YJ prefix seems to appear in the FCC IDs for some 410s, 1010s, 600XLs and 800XLs. Atari worked with Chelco for boards, and Chelco manufactured tape drives… we also have seen a few Chelco 600XLs and 800XLs, machines that have Chelco stamped on the motherboards rather than Atari. I wasn’t going to start opening up machines for awhile, yet, but now I’m all intrigued…

Judging from the keycaps, this unit had a Stackpole keyboard.

Discussion thread for this post in the jjewell forums

jjATR HC The Atari VCS (1977)

Spelunking

20190626: So, for the 42nd year in a row, my original Atari VCS can officially be classified as “runs.”

jjATR-HC Atari 2600 running Star Wars: The Arcade Game
jjATR-HC Atari VCS CX2600 running Star Wars: The Arcade Game

I feel really lucky to have been in on this from the beginning… and to have it last so long and still work so well. This is a “Sunnyvale” VCS, or a “heavy sixer,” if you prefer: one of the first batch of Ataris that were manufactured in the Sunnyvale, California facility, had six switches across the upper front panel, and had a thick, heavy plastic shielded case. When manufacturing moved to Hong Kong in 1979, the body had a much lighter plastic case and shield with the six switches, hence, “light sixer.”

jjATR-HC Atari VCS CX2600 serial number label
jjATR-HC Atari VCS CX2600 serial number label

As best as I can ascertain, the Atari serial number system is pretty straightforward: run off a hundred thousand units, increment the letter, start over. One trick seems to be that Atari apparently started the VCS numbering somewhere in the E run, which coincides with the last production units of the Atari Pong game at the same facility. This speculation is supported by the fact that we haven’t yet found any VCS units with a serial number ending in A-D. The earliest serial number we know for sure exists on a VCS is #56910E, according to the most current list at AtariAge.

If we assume numbering started at ~#50000 E, my serial number would be about the 500,000th unit produced. Most estimates I see have Atari selling less than 500,000 units in 1977, allowing for some play in serial number existence and distribution, I think we’re in the right ballpark.

Even though the machine is now ubiquitously known as the 2600, it was referred to the Video Computer System, or VCS, at the beginning.

jjATR-HC Atari VCS CX2600
jjATR-HC Atari VCS CX2600

Sure, some of us geeks knew the actual Atari part number was CX-2600, as seen on the serial number label, but up until the 1982 introduction of the 5200 Super System, the on-product labelling was Video Computer System. The all-black, four-switch “Darth Vader” model introduced to accompany the 5200 was the first model to highlight 2600.

Discussion thread for this post on the jjewell forums

Pinnacle of Robotron:2084 Emulation

Here’s something fun.

Robotron 2084 Welcome Screen

My second favorite arcade game ever is Robotron:2084. This was a frenetically paced game, with dozens of onscreen targets and enemies converging on you first inevitably, then instantly. You got two joysticks for this, one controlling move, one controlling fire… so you can fire backwards at things chasing behind you. As is common in the genre, you are saving the last human family while taking out as many of the evil machines as possible. Here you see mommy in her pink dress and daddy in his blue business suit… and where you should see little mikey in his red t-shirt and shorts you will instead see a skull and cross-bones indicating a tank already ran the poor lil guy over.

Robotron:2084 Save the human family

Harder waves send more and different enemies at you… and apparently this family was a particularly fecund bunch, so they had that going for them, anyway.

Robotron:2084 Brain Wave

What did it take to get that screenshot? Everything, as they say… here’s the screenshot timestamped one one-hundredth of a second later.

Robotron:2084 Brain Wave Death

I also caught the brain’s “breathing” in that one. But, still dead. So many women left un-picked-up.

As you can see, I can play a pixel-perfect representation of the original arcade machine on my current main computer, a MacBook Pro, using OpenEmu software. This is an amazing (to me, anyway) jump in technology during my lifetime, even considering how popular Robotron was in its day and how often (and how well) it was reproduced. I own copies of Robotron:2084 for the Atari 8-bits, for the Atari 5200, Atari 7800, and the Atari ST… and along the way, I’ve played the versions for DOS, Apple ][, and Commodore 64. They all do a pretty good job… I mean considering the various hardware limitations in each case, the game always seemed to look good enough and play fast enough compared to other games available for that system. Yes, I like my statements well qualified.

But there has always been something missing. For the vast majority of those playing a Robotron port, they were playing with one joystick to move… and a button that shot in the direction you were running.

Completely unplayable.

Okay, that’s a bit far, but it was really hard to do well on the ports. And even with the few ports that allowed you to connect two joysticks to use as God and Williams intended… have you ever tried to control two separate lightweight joysticks, one in each hand? Think about those 2600 joysticks slamming over when you move in any direction… think about those 7800 controllers just sliding everywhere. I have two Wico sticks that it took me years to scrape off the duck tape residue where I taped them to a plank to make a Robotron setup. And that has been about the height of my Robotron play for years.

New day, new tech, new take on retrogaming, and I’m back at Robotron:2084. OpenEmu is showing me the most precise image from the original that we are going to get. And OpenEmu allows us to personalize the controller setup. I invested in a couple Logitech F310s, Sony-style controllers with dual thumbsticks.

Logitech F310

Once the joystick is connected, OpenEmu identifies it and allows you to determine how OpenEmu will use the different buttons, sticks, and pads in the game. The thing that’s a little quirky about setting up Robotron’s controls is that there is no obvious “map to second joystick” function. This is because “second joystick” just isn’t something that gets used much, so it’s not present in the standard format for the programs emulating the systems. OpenEmu happens to use MAME as the engine for arcade emulation, in particular MAME 0.149. MAME knows about the four-directional firing, but, there being no “second joystick” to map to in the format, those functions get mapped to buttons.

It only took a couple games of trial and error (with a couple face palming backslides along the way) before I found the secret of mapping Robotron’s fire controls the the Logitech F310.

OpenEmu Robotron 2084 right joystick configuration

With that set up, my scores jumped significantly.

Robotron_highscore

I happen to know my high score on the arcade original is over 1,000,000. Know this because I’ve been cleaning out the garage, and I found my Bronze and Silver Joystick Awards issued from The Endless Challenge arcade sometime in the eighties. So I know I still have a ways to go. But this is the best version of Robotron:2084 that I’ve been able to play without a quarter or a token handy.

There are actually two more options to possibly take this further. Already on my list of Things To Buy Next is a pair of 2600-dapters, little hardware interfaces that allow you to plug in old-school 9-pin joysticks to USB ports to use with emulators. The issue here will be the same as it was with the 7800, though… Wicos and duck tape as the best alternative.

And finally, I could build or buy a custom heavy duty controller. X-Arcade has a model with 2 joysticks and a trackball, which would cover almost all my retrogaming needs.

Almost all. Yes, Robotron:2084 is my second favorite game, despite the odd controls that make decently emulating it’s gameplay such a difficult task.

My favorite game is Tempest.

Discussion thread for this post on the jjewell forums

Retrogaming on Mac: Getting started with OpenEmu

I started retrogaming when it was cutting edge gaming, and I still have all the hardware I accumulated along the way. And while I still enjoy dusting off an old machine and loading some forgotten format into a reader no longer made, I have grown into an Apple ecosystem user… and appreciate when something is simple and just works. I’ve toyed with the more complicated setups of individual emulators, and due to Atari allegiance have gotten a few of those working in the past, but it is with OpenEmu that the world of emulation has become simple and just works for Macs.

Before you start, figure out where you are going to store some files. Like a lot of files. Millions of little bitty files… and thousands of big fat ones. We are talking dozens to hundreds of gigs of stuff, depending on how complex you want to get at the start.

Download OpenEmu… not the big red “download” button, but the little red text underneath that says Experimental. This is the version that is starting to offer support for the MAME engine for arcade machine emulation. There will be warnings that MAME is not fully supported yet, but this is currently the best and easiest way to go.

OpenEmu is something called a frontend: it organizes the files needed for other programs, the emulators themselves, to run the game ROMs. ROM is an acronym for Read Only Memory, a type of chip used in things like game cartridges to hold the actual game program. Loading a ROM file into an emulator is like sticking the cartridge into your Atari 2600. OpenEmu works as a middleman to stick the right ROM files into the right emulators.

In addition to ROMs that are similar to cartridges or program files, there are ROMs that are more like operating systems. Because of the nature of copyright law, some emulators cannot be distributed with the ROM files from the machines they emulate; these files must be found by the user. Thanks to the Internet Archive, these files are easily found. The OpenEmu BIOS Pack includes all the files needed to activate the different cores, or machine emulations. Download and extract the files to your chosen storage location, then go to OpenEmu and select Preferences… System Files. You will see a whole list of warning symbols that we want to turn into green checkmarks. Just drag the files to the System Files window and OpenEmu will know what to do with them.

When all our checkmarks are green, OpenEmu is ready for some game ROMs. The Internet Archive Software Collection is your best friend in this process. This page links to libraries of archived software for different machines, and perhaps most importantly of all, for archived arcade machine ROMs… MAME ROMs.

MAME (Multiple Arcade Machine Emulator) is the gear OpenEmu kicks into when it is time to emulate arcade machines. While it is astonishing that MAME can do what it does, there is a certain amount of learning curve in getting MAME to sing to your tune. OpenEmu takes a lot of that confusion away for you, but there is still one thing you have to do correctly for all this to work: get the right MAME ROMs. In particular, the right MAME ROMs for OpenEmu’s version of MAME is 0.149. This is the sort of thing you are looking for. Download, extract, and drag the files into OpenEmu’s Arcade Library window.

This can be a learning moment for some people, so perhaps I can save you some pain.

At this point (well, after OpenEmu does a huge amount of chewing. Maybe you shouldn’t have dropped all 20K or so files on there at once, after all), you should able to play at least some of your old arcade favorites. If you downloaded the full MAME ROMset, there will be a lot of files that are for gambling machines that aren’t going to seem to work at all… and some of your favorites won’t look right, or may not run at all. This gets into more advanced MAME issues, and I bring it up here just so you won’t think there’s something broken.

A lot of approximations, there…

In case that was too vague, here’s some visual aids. This part is not really integral to getting the program up and running; feel free to skip ahead to the next section if you’re in some kind of hurry.

This is a list of the arcade machines I’ve played the longest in OpenEmu.

If you are my age, you will recognize quite a few of those. That’s what I mean by at least some.

Here’s a shot of my lowest rated games. Because I didn’t want to confuse games I hadn’t played having a zero and games that just didn’t work having a zero, if I tried to play the game and couldn’t get it to work, it gets a 1 star rating.

You can see there are some things I tried that didn’t work. Sometimes there might be multiple versions (or dumps) of a particular game, and perhaps a different version of the ROM will work.

Lastly, I wanted to draw your attention to one particular entry on that last list: Hulk, The (Bellfruit) (Scorpion 5) (set 1). Let’s take a look at the whole ROM list just sorted alphabetically.

OpenEmu

You can see several “sets” of that Hulk game, as well as a couple of other games that have the same names with multiple sets. My understanding is that these are gambling machine video game ROMs, and to run correctly they need to have the special hardware required by that kind of machine to be emulated somehow. I believe that parenthetical info refers to other ROM files to emulate that needed hardware. Not chasing that rabbit down the hole… can’t spend emulated payouts.

Back to our regularly scheduled emulation…

At this point, it’s time to play around with your console emulators. I’m a longtime Atari guy, so those are the first ones I checked out. Once you have installed the BIOS ROMs mentioned above, you will just need game ROMs to play. Rather than downloading entire sets (this was important for MAME mostly because of how difficult it is to reliably source individual files from a particular ROMset version), I found a few sites where it was relatively easy to download individual ROMs, Planetemu.net and CoolROMs.com.au being a couple I used most often. I also found the very interesting ROMCollector.com; if you decide you do want to have a full archival ROMset for some of these emulators, it looks like this guy has done the hard work for you.

One more thing about OpenEmu: the controls. In general, OpenEmu has a best guess as to how to map keyboard keys to game functions. You can open Space Invaders and expect the arrow keys to move your base left and right, and depending on what system you are emulating, there will be some key that fires. You can edit these settings, including telling OpenEmu to use attached controllers, in OpenEmu’s Preferences… Controls section. It may take a little while with some games for you to figure out your controller mapping, but it’s worth it if you happen to be, say, a Robotron 2084 fan who figured out how to set up his Logitech F310 controller’s two joysticks to move and fire like in the arcade. I lost minutes figuring it out, then I lost hours enjoying it. Also, if you do take the time to map something special like this, make some manual note of the settings: I’ve not been able to figure out how to make OpenEmu save game specific controller configurations.

Discussion thread for this post in the jjewell forum.