Everyday use of an Apple 2: Web Surfing, Email, Twitter, IRC, Multi-Tasking & More

A while ago I was listening to the Open Apple Podcast and it was announcing the imminent release of the Apple2pi card (a card which goes into your Apple // to house the Raspberry Pi inside your Apple, as well as a few extra things). FYI David Schmenk is now selling these cards.

Mike Magginis and Ken Gagne both mused at the fact that whilst they appreciated the hard work that went into this hardware and software, they couldn’t really think of anything that they could use it for in the real world. The guest on the podcast even stated that he believed that this was something for developers.

I wrote this podcast to both supplement my previous post which goes over the more of the detail of setting up the hardware and software of the solution, rather than the detail of using it for day to day practicability. Briefly at the end of the video I showed twitter and email. I want to show those in a little more detail here, showing that you really can go on using an Apple 2 in 2014 for modern every-day usage. Okay, even I’ll admit that it is far fetched to believe that you would use it every day for normal use, but certainly I do use it for many things on an at least weekly basis. I really enjoy using an old machine to do things it was never designed to do.

So without further ado, here’s the YouTube video:

How to get an Apple 2 on twitter, email, irc, Usenet and the web

Finally! I’ve put all my toys to work in my Apple //e – the Raspberry Pi (with Ivan X’s Raspple II software), as well as my CFFA3000 to get this Internet extravaganza on an Apple 2!

In the below video, you’ll see me demonstrate using an Apple II to effectively do my emails, chat with other folks online in IRC, browse internet news forums and use Twitter! You can of course browse the web in text mode using Lynx/Links/eLinks, but that’s not demoed in this video.

Seeing is believing: 🙂

What you’ll need to replicate this:

  • Raspple II (consists of Raspbian + Ivan X’s easy to use tools – apple2.ivanx.com
  • Linux software add-ons that I used: ttytter (tty/terminal based twitter client, mutt (email – with a configured .muttrc file I created to connect to gmail), screenie (and screen by dependency). I also prefer the use of the slrn usenet email program (not in video) rather than the default tin email program. All of these applications can be downloaded simply by using sudo apt-get install <programname>


  • A Raspberry Pi Model B
  • An Apple II with 64K RAM or better.
  • An RS232 to USB adapter
  • A RS232 null modem cable and appropriate gender/size changers if necessary to fit your Apple 2’s serial port.
  • A SuperSerial card, printer port or equivalent compatible port. See Ivan X’s website for further info on what’s compatible.

Questions? Ask me in the comments!

CFFA3000 – My Experience (or, how to get software onto an Apple easily)

First things first, what is the CFFA3000? I have mentioned it in previous blog posts, however, put simply, the CFFA3000 is a card for your Apple 2 (it works on all types including the GS) which allows you to read CF (CompactFlash) and USB sticks. This makes transferring data from your PC or Mac a synch. No more ADT, no more bootstrapping, no more serial port converters, etc.

The CFFA 3000 Card by Rich Dreher

CFFA 3000 Card

However, I found that the owners manual (or quick start guide) which comes included on the CD-ROM in the box to be a little short in detail, so here’s how I set up the CFFA3000 and understood the ‘SmartPort’ (which essentially gives you a hard drive on your Apple).

1) Set the DIP switch

Set the DIP switches on the card at SW3 to support the Apple type you are using. Note that the Apple must be equipped with a minimum of 48K to operate. If all the DIP switches are up (away from the board), then this is the default and is set to support the ][, ][+ and the //e. If you have a IIGS then switch DIP 7 down.

CFFA3000 SW3 DIP Switch Selector

CFFA3000 SW3 DIP Switch Selector

2) Choosing your slot correctly!

The next part of the setup took me the most time to get my head around (literally days, I had to write off to Rich Dreher to get help, and I’m not an Apple novice). After you’ve got your CFFA3000 running, this pretty much negates the need for a real life Disk ][ interface. You can keep it in your machine if you like, or if you have some real floppies that you want to import to CF/USB before the disks fail, but ultimately you won’t need it much. I stuck my one in Slot 5 so that my machine didn’t automatically boot from it. This is important, because the //e or the IIGS automatically expect there to be a Disk ][ controller card in Slot 6. The manual suggests inserting the card in slot 7, which is a reasonable choice, however the important thing to remember is that physical Slot 6 must then remain empty, as this will be used as the ‘virtual disk ][ interface’.

Just to recap, here is how my cards were assigned:

  • Slot 1: Empty
  • Slot 2: Empty
  • Slot 3: SSC
  • Slot 4: Empty
  • Slot 5: Disk ][ Controller
  • Slot 6: Empty (left empty for the Virtual Disk ][ Controller).
  • Slot 7: CFFA 3000
Formatting and partitioning a USB stick correctly for use with CFFA3000

Formatting and partitioning a USB stick correctly for use with CFFA3000

3) Using your USB Stick correctly

Next, to set it up for the first time. I didn’t have a Compact Flash card, but I had a USB stick or ten lying around. I noticed that even after following the formatting instructions (more on that in a bit), some USB sticks refused to fully co-operate with the CFFA3000. In the end, I got one 8GB stick working, but before then I resorted to a really old 256MB stick I found lying around. I say this just so you know that not every USB stick is created equal, even ones with reputable brand names like Kingston!

You’ll need to ensure that the USB stick is formatted correctly. On a Mac, you should insert the USB stick and run Disk Utility. If the USB stick is larger than 2GB then you’ll need to create 2 partitions, one which is 2GB or less in size. The CFFA3000 can’t recognise anything larger than 2GB. You need to ensure that the partition is formatted as FAT16 or FAT32 and has a Master Boot Record. Click on the thumbnail to the right for an indication on what a correctly configured 8GB USB stick should look like, to ensure a trouble free CFFA3000 USB experience.

4) Plugging-In and Setting Up

Now it’s time to stick the CFFA3000 in the slot and power up the Apple. If you have a 2GS, it’s very important to access the 2GS Control Panel, so to let it know which slots are not set to the defaults. To access the Control Panel on a GS, it’s Open Apple-Control-Escape. Select ‘Slots’ from the menu option and ensure that Slot 6 reads ‘Your Card’, as too does Slot 7, where your CFFA3000 should be. Press ENTER to save these settings. NB: If you have kept your Disk ][ in your machine too, make sure you tell your Apple that it’s in a relevant slot by selecting ‘My Card’ or ‘Disk 2 Controller’ from the menu options.

If you have a GS, switch it off again, so that it starts up with the settings you just defined in the Control Panel, now, simply start up the unit holding down the M key. This will access the CFFA3000 menu for the first time. I like to go to ‘7 > Other Settings’ and set up a few fundamentals, here’s my defaults and the reasons why I chose them:

  • 1 Assign first from: USB (I only have a USB media, and I want to boot from the USB first anyway).
  • 2 Raw CF Card Settings (defaults)
  • 3 USB Settle Delay: 0.6s (depending upon the USB stick they need some time to settle down before they are ready, choose a longer time if you experience issues with your USB stick).
  • 4 Parts DOS RWTS for Speed: Yes (at first I selected NO here, because it causes some incompatibility issues with some older DOS 3.3 software, but as I was using a 2GS laterally, I found this to be of no distinct disadvantage).
  • 5 Menu at Boot: Always. Since I am frequently changing the software I run on either the Virtual Disk ][ or the SmartPort, I always like to boot into the CFFA3000 menu so I can select which software I want to start with. If I just want to boot the last thing I booted, I simply hit return, so it’s no biggie and means I don’t have to remember to hold down ‘M’ when turning on the unit or resetting it, which can be quite tricky!
  • 6: Autoboot Older Apples: No. Since I don’t have a ][+ or an unenhanced //e any more, this didn’t apply to me.
  • 7: Sound Effects: On

CFFA3000 Main Menu Note booting from Slot 6 for Disk ][

CFFA3000 Main Menu

Next, back to the main menu, I defined where I was going to boot Disk ][ ‘Virtual’ volumes from. I choose Slot 6, as I mentioned before, this is best for compatibility with software that expects to be running from the real Disk ][ controller in Slot 6. SmartPort volumes default to slot 7.

What is a SmartPort?
To be honest, I’d never heard of a SmartPort before the CFFA3000. I might be explaining it a little wrong here, but if like me, you too have no idea what a SmartPort is, then this will help. Essentially, I think of a SmartPort as a hard drive. You can create a SmartPort image using option 6: New Blank Disk Image. Images may be up to 32MB in size. However, this is a difficult way to do it, because you then have to Initialise/Format the image and put ProDOS16/GS/OS 6 onto it, which infers you already have the software. I found it easier just to download a GS/OS 6 bootable 32MB image from the ‘net, here’s a good version which has GSOS 6.0.1 ready to go. A SmartPort will also boot all of those larger .2MG images created for an Apple 2GS.

Sometimes, you’ll download software for your Apple which needs to be added to that Hard Drive image. This is fine as long as the images you download are in .2MG or .DSK format, but what if you just get the actual files and directories? One way to do this is to download AppleCommander which will open up the Disk Image on a modern Mac and allow you to copy the files from the Mac into the disk image and then re-save the disk image.

5) Grabbing some software.

There are literally tons of locations you can grab software that has become public domain because it’s been abandoned or reclassified by it’s authors. The Apple2 Asimov FTP (ftp.apple.asimov.net) site remains one of the best locations for grabbing stuff, but it’s a bit lacking in indexes to say what file is what, so there’s a bit of guessing from the filenames you download to get it right. It is well organised though. If you have any better links to a more complete bunch of resources for the Apple 2 and GS, then please post the link in the comments!

Most of the older DOS 3.3 images, or Disk ][ images suitable for Apple 2 computers come in .DSK format. Some also some in .nib format which is often copy protected and may not work with the CFFA. Try using an emulator like Sweet16 or Virtual ][ to verify if they actually work or not if you run into issues. Most of the .2MG files I have found are 2GS images. Files ending .SHK are Shink-IT archives, the Apple equivalent of .ZIP. To unzip them you’ll need the Shrink-IT unarchiver, which has proven elusive to me to obtain in a format which I can run in GS/OS or on an 8bit Apple 2. If you have more luck, let me know how you unzipped them! On the Mac, I have used Shrink-Fit X which is available free in the Apple App Store. This will unzip a .SHK on your Mac, then you just have to successfully get the unzipped files over to the Image on your Apple ][. Not always that easy when dealing with binary files!

6) Parting Shots

CFFA3000 Media Selector

CFFA3000 Media Selector

When I ordered the CFFA3000, I also ordered the Media Selector, which is the strange little beast to the right. I didn’t know if I would need it or not. Turns out, I really did, so I’m glad I spent the extra $20 US on it. Effectively, if you are using the CFFA with a non GS Apple unit, or you have a lot of .DSK images (especially two sided ones), then you’ll need this to virtually ‘flip the disk’.

You can load up a heap of disk images, lets say ‘GAMED1S1, GAMED1S2’ are loaded in CFFA Virtual Disk ][ slot 1,  then ‘GAMED2S1, GAMED2S2’ are loaded in slot 2. Then, when your game prompts you to insert Side 2, you’d press button 1. If it asks you to insert Disk 2, Side 1, you’d press button 2, and so on.

USB Extension Cable A-A (male to female)

USB Extension Cable

I also invested a couple of bucks in a USB A(male)-A(female) 1m cable, which came in very handy. This allows you to plug your USB stick into your CFFA without actually removing the cover of your Apple 2 every time.

Anyway, that’s all I can think of. Seriously though, the CFFA3000 is a fantastic card and if you are a retro hobbyist with Apple 2 in your blood, you owe it to yourself to buy one and see what it can do, it will make transferring software to your retro Apple a synch.

Link: Rich Dreher’s CFFA3000 Site

CFFA3000 Main menu


2c Running as a console to Raspberry Pi

What the gentleman did in this video is actually pretty awesome. This isn’t some cheap hack, where the keyboard is hard wired into the Raspberry Pi, no – he’s written a piece of code (available at http://github.com/dschmenk/apple2pi) where you can inject code from the Apple 2 keyboard events directly into the Linux OS running on the Pi. Very neat solution. Not quite sure about how the monitor works yet, will need to do some digging on that!

Raspberry Pi + Apple // = fun

I’m not the first person to do this by any means, but I couldn’t find that many videos for it on YouTube etc, so here is a video of me hooking up my Raspberry Pi to my Apple 2. It’s a reliable, tidy way to use your apple as a machine with many modern day capabilities, such as web browsing (albeit in text), chatting in IRC chat rooms (using something like irssi), and also browsing newsgroups such as comp.sys.apple2 with a newsreader like slrn.

There are many more uses but these are a few immediate ones that give your apple 2 yet another lease of life.

If you want to know how to make Linux accept connections with a serial port or RS232/USB converter, see my other articles. Also, if you want to know how to set up and get ModemMGR, see the other articles too!

See the video below:

tcpser provides a C64 some telnet goodness

Just like the example shown a few blog posts ago, this guy uses his C64 to do the same thing – using the tcpser utility (Linux based, but has been ported to Windows etc):

Enabling telnetd on Mac OS X 10.7 and above

Somewhat related to this post about setting up a Linux server to be a terminal server to your Apple 2, the following Terminal commands will enable you to run telnetd from your Macintosh in order for you to serial console into your Mac from your Apple 2.

$ sudo launchctl
launchd% load -F /System/Library/LaunchDaemons/telnet.plist
launchd% exit
$ telnet
Connected to localhost (
Escape character is '^]'.

Darwin/BSD (localhost) (ttys002)


As the above test shows, you can telnet to your own local box. Now you need to set up getty. getty is the UNIX daemon which ‘gets a TTY’. A TTY is short for Teletype, and over the years, the teletype has been expanded to support anything which is a serial device.

I used the PL-2303 USB to RS232 cable to give me RS232 serial support on my Mac, which I refer to in another blog post.  When I installed the driver and plugged in the USB to RS232 cable, a device was created which emulates a serial TTY device. My machine created the file /dev/tty.usbserial, however yours may be different

Next, I created a new file in /Library/LaunchDaemons called serialconsole.plist.

$sudo nano /Library/LaunchDaemons/serialconsole.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">

Note that the first part sets the ‘Label’ or name of the program (serialconsole). The second part of the file starts the /usr/libexec/getty program with the arguments of running at 19200 baud 8 data bits, no stop bits, 1 parity bit (8N1, or std in mac speak). The last argument tells getty to use the tty.usbserial entry in /dev which was found earlier. Again, if you are using different baud rates, or the location of your RS232 to USB adapter is something other than /dev/tty.usbserial, then you should change these here.

Next, make a quick edit to /etc/ttys, add the below line in there

sudo vi /etc/ttys

tty.usbserial "/usr/libexec/getty std.19200" vt220 on local secure

Finally, you want a copy of Modem Mgr for you Apple 2. If you don’t have ModemMGR, you can copy it via ADT. Modem MGR or similar will allow you to connect to your telnet connection via your SuperSerial Card. You need two floppys: MMGR.INST and MMGR.WORK – The installer and the working copy of MMGR. The ProDos version is a little more up to date than it’s DOS 3.3 version but both should do what you need.

Run the Installer, set Modem type as the Apple Super Serial card and Modem type as Non-Smart. Restart the system and press ESC-: (that’s ESC and colon). Set the emulation to be VT220, change the baud to 19200 if necessary. Now all you need to do is launch the serialconsole service you set up. Bear in mind that you won’t be able to transfer disk images with ADT when getty uses up the console, so remember to unload it before doing so if you need to at a later date.

sudo launchctl

launchd% load /Library/LaunchDaemons/serialconsole.plist

To unload the getty daemon and free up the serial port, simply change load to ‘unload’.

Related articles:

>> Using ADT to copy disk images
>> Connecting to a Linux box via telnetd

This article was adapted from this page.

Talking to your Linux box via telnet and the serial port

This article was originally called “Using an Apple IIe as a serial terminal with Gentoo Linux” and was written by Quag7 (July 4, 2007). This information was available as creative commons and was available only on the Wayback machine. So I thought I’d resurrect the article for posterity’s sake. Note that although the original author uses Gentoo Linux, you can use any Linux – including Debian, Ubuntu, Fedora etc. 

This document provides step-by-step instructions on configuring an Apple //e to act as a serial terminal for a GNU/Linux computer. It includes directions on downloading and installing communication/terminal software for an Apple 8 bit system, configuring the Apple’s terminal emulation and serial communications, and setting up the Linux machine to utilize the serial port.

Presumably, many have done this before and could not bothered to document it because it was considered trifling. Well, I have spent far more time on things far more pointless, and, so, it is in consideration of ye idle sleepless sinners, that I write to you this here, uh, procedure, for taking an Apple IIe and using it as a a serial terminal for your GNU/Linux box.

The end result of this process is a fairly usable serial terminal.


  1. Thanks
  2. Checklist – stuff you need
  3. Configuring your Linux system for serial support
  4. The physical serial connection
  5. Using ADTPro to create a Modem.MGR floppy disk
  6. Configuring Modem MGR
  7. Configuring Linux to use a serial terminal
  8. Boot Modem MGR and configure baud rate and terminal emulation + establish serial connection
  9. Screenshots
  10. Other wastes of time and bandwidth
  11. Photos of the Apple //e as a serial term sent by others


  • Paul Weinsten (pdw) – After having problems with VT52 for days, which was the only emulation the Apple terminal software I was using would support, I came across pdw’s page about hooking up an Apple IIc as a serial terminal. He writes about a program called Modem.MGR which can emulate VT220, which does the trick. VT52 is inadequate for many Linux applications. With VT52, my screen would become corrupted with uninterpreted escape sequences. So thanks, pdw!
  • Devin Reade – Devin’s 1998 description of How to Hook an Apple IIgs up to a Linux Machine via a Dedicated Serial Line was invaluable.
  • ADTPro Team – ADTPro allows you to bootstrap an old Apple with no DOS, from “bare metal,” as they put it. This remarkable program can help anyone breathe life into an old neglected Apple 8 bit. It’s still my favorite of any of the retrocomputing utilities I’ve encountered. You can go online, pick up an old Apple //e, and make it useful without having to track down any floppies. None of this would have been possible without this application. ADTPro rocks, and you’ll see why as you read on.

Back: Table of Contents

Checklist – stuff you need

  • A Linux machine with a working serial port.
  • A working Apple //e system.
  • Super Serial II Card or Super Serial Board which can be purchased new for $12.95. Jumper settings and configuration are the same for each card.
  • ADTPro software for transferring software from PC across serial cable to Apple IIe.
  • Modem.MGR, terminal/communication software for the Apple II series. I used the ProDOS version. So should you, unless you have some kind of weird DOS 3.3 fetish. I have relentlessly queried Google’s image search for such a thing, but I have not gotten any juicy hits. However, I’ve been on the internet long enough to know there’s at least one of you out there with this kink – maybe some sort of Woz cosplay thing; I’m still working that out as a purely theoretical consideration.
  • Null modem cable and any gender changers and/or extension cables needed to connect the Apple to your PC. Since it has probably been awhile, remember that null modem cables are not the same as straight serial cables. The transmit and receive lines are crosslinked in a null modem cable. I was able to buy one of these off of the rack at CompUSA, so they’re not difficult to find. Mine was listed, perhaps confusingly, as a “data transfer” cable in a “null modem configuration.” I also used a “straight through” switchbox cable to extend this and a 9 to 25 pin adapter. The Apple serial cards provide a DB25 female plug that I connected to a 9 pin serial port on my PC via an adapter. You’ll have to assess your situation; the important thing here is to make sure there’s a null modem cable hooked in there somewhere to crosslink the transmit and receive. Online documentation about cables tends to make the assumption that we all like to solder our own and read pinout diagrams (speaking of weird fetishes…). Not me pal, but if it’s your thing, well, your kink is OK. Fortunately, everything you need can be bought at a brick-and-mortar computer store or online. This is what I used:

    No, I am not a Belkin stockholder and frankly I think some of their electronic equipment sucks. Their cables seem to work fine. If my Belkin references in an article like this causes some sort of run-up on Belkin stock, we are deeply screwed as a civilization. Even more screwed, I mean. More screwed than the guy Dick Cheney SHOT IN THE FACE.

Thanks to the ADTPro development team, you won’t actually need any software or DOS disks for your Apple system. If you just grabbed one from a junk pile or bought one off of ebay, you can follow the ADTPro instructions for bootstrapping from bare metal which will give you a bootable ADTPro disk, which also has ProDOS. But I’m getting ahead of myself. First thing we need to do is make sure your Linux system has proper serial support. It occurs to me that this last sentence has probably never been uttered, even once, at the Playboy mansion. This should depress both of us.

Back: Table of Contents

Configuring your Linux system for serial support

The first thing you will need to do is ensure that your kernel has been configured to load the proper modules for your serial port. I have been a Gentoo user for several years now so I haven’t looked too closely at the many “kitchen sink” distributions out there but I would guess that most of them ship kernels with serial support compiled in or available as a module. In any case, should you decide to configure your own kernel, you can find what you need in:

Linux kernel configuration:
Serial driversCompile serial support into kernel.

Device Drivers
        Character Devices
               Serial Drivers

You will need:

<*> 8250/16550 and compatible serial support

Previously, this stated that “Console on 8250/16550 and compatible serial port” was necessary as well. This is not the case.

Tim Riker sent an e-mail stating:

FYI: the kernel config option "Console on 8250/16550 and compatible
serial port" allows the kernel to output boot messages to a serial port.
This option is NOT required to run a serial terminal.

The agetty line you have will work just fine without it.

If you do have kernel serial console support built in, then you can
alter the kernel boot options to see bootup messages. Adding this:

console=tty1 console=ttyS0,9600N81

should get console messages on both the video screen (tty1) and the
first serial port at 9600 bps, ie: your apple.

WARNING: this also means that kernel error messages will show up on this
output device, which may mess up any binary transfers in progress.

# setterm -msg off

should disable this.

Note that these are the names/descriptions in the 2.6.23 kernel. They may change by the time you read this.

Recompile your kernel and reboot if necessary. Your distribution’s website should have instructions and how-tos on compiling the kernel for your distribution. Gentoo users do this in a fairly raw way; there is a “Debian way” which involves making the kernel into a .deb package which can be installed and uninstalled at will, though you can do it the cheap and sleazy way if you like.

If you have never compiled your own kernel, this is a good excuse to learn how to do so since the modifications you have made here are fairly minor and the chances of disaster are minimal. It is not a complicated process at all. If you are completely new to it, your best bet is to follow the process specifically outlined for your distribution. This way, if you need to go to mailing lists, IRC, or message boards for further help, people won’t wig out at you and curse the next seven generations of your family for doing it the “wrong” way.

Back: Table of Contents


The physical serial connection

If you can, make sure the serial card is in slot #2 in the Apple.

You can put it in any other slot (I think) except for slot #3, but will be easiest if you put it in slot #2 since that is the traditional slot for that card, and the directions from ADTPro will assume you are using slot #2. For awhile, I had the card in slot #4, and ADTPro handled this fine but a few of the term programs I used couldn’t find it. In addition, ADTPro will default to slot #6 for your drive controller, which is also the traditional slot for that card. This is the greatest number of times I have ever used the word slot in a single paragraph. And I used <strong> tags for each. Isn’t that, like, beyond obsessive? Yeah, and Catcher in the Rye is my favorite book too and one time I pulled a cat’s tail. ph33r me.

I didn’t have to power down my PC to hook the serial cable up and make it work. Make sure the ribbon cable off of which the female DB25 plug hangs from the Apple is plugged into the slot correctly with the “buckle” side facing outward from the card. Then go ahead and connect everything.

Important Note: It is extremely important that you properly configure the serial card. The appropriate settings and further instructions are helpfully documented on the ADTPro page on serial connections.

Two possible configurations are offered:

  • Straight-through / terminal connection
  • Null-modem / modem connection

Choose null-modem / modem configuration.

Since we’re using a null modem cable, the block should be inserted with the arrow pointing upward. Make sure all of the switches are set as indicated. This should take you a minute or two at the most.

The classic Super Serial II card and Super Serial Board are clones (or look that way from the user’s side), so the configuration is exactly the same. I don’t know about the old Super Serial II cards, but the Super Serial Board’s block pops off fairly easily using only your fingers. A chip puller might be prudent, but I didn’t have one and the block popped out without a problem, leaving all the pins happily intact. I left my chip pullers back in the 1980s, along with the trauma that resulted from watching that bit in the When Doves Cry video where Prince stands up in the bathtub and beckons you, the viewer, to come closer. What the hell was that all about, anyway?

Back: Table of Contents


Using ADTPro to create a Modem.MGR floppy disk

The recommended program for the purposes of a serial terminal is Modem.MGR owing to its excellent VT220 support. VT220 emulation is necessary for the escape sequences and cursor movement that many Linux applications require. Other emulations such as VT52, VT100, and VT102, will give mixed results. Modem.MGR may be downloaded here.

If you know how to turn these images into floppies (or already have Modem.MGR floppies ready to boot), do so and continue on to Configuring Modem.MGR, otherwise…

The next steps are:

  1. Download and install ADTPro on your Linux PC.
  2. Transfer ProDOS into the Apple’s RAM via serial cable.
  3. Transfer the 8 bit ADTPro software into the Apple’s RAM via serial cable.
  4. Use ADTPro to transfer itself across the serial cable a second time, and write this instance to a floppy disk.
  5. Boot ADTPro on the Apple side via the floppy you just created.
  6. Download and unzip Modem.MGR from the Internet (if you have not already done so) on your Linux PC.
  7. Send the Modem.MGR disk images over the serial cable via ADTPro, and create bootable Modem.MGR floppy disks on the Apple side.

I have broken the ADTPro procedure out into its own document:

Using ADTPro to create an Apple 8 bit-readable floppy from a disk image downloaded from the Internet

If you already have Modem.MGR floppy disks, you can skip these steps and continue with Configuring Modem.MGR.

Back: Table of Contents


Configuring Modem.MGR

Modem.MGR: Insert Work Disk
Modem.MGR: Insert work diskThe work disk will be the one you boot from.
The installation disk is necessary
only for the initial configuration.

Modem.MGR: Main Installation Menu
Modem.MGR: Main installation menu
Modem.MGR: Install Video Driver
Modem.MGR: Install video driverSelect Option 2: Apple // 80 column

Modem.MGR: Install Modem Driver
Modem.MGR: Install modem driverSelect Option 2: Internal plug-in
serial/comm. card with external modem

Modem.MGR: Install Serial/Comm. Card Driver
Modem.MGR: Install serial/comm.
card driverSelect Option 3: Apple Super Serial
(If that is what you are using)

Then specify which slot the card is in.

Modem.MGR: Install External Modem Driver
Modem.MGR: Install external modem driverSelect Option 10: Non-smart Modem

  • Insert the installation (MMGRPDINST.DSK) floppy into drive 1, and, if you are still looking at an ADTPro screen, reboot by power cycling the machine or using the Apple 3 finger salute, which is CTRLOpen AppleReset. Modem.MGR will begin the booting process.
  • You will be prompted to install the work disk at some point, and will then be asked to re-insert the installation disk. Just follow the directions on the screen until you get to the MAIN INSTALLATION MENU.
  • When you are at the MAIN INSTALLATION MENU, select option 1Install video driver and press Return.Assuming your Apple IIe supports 80 columns, select option 2Apple // 80 column. Otherwise, select option 1,Apple 40 column.If you plan on running in 40 columns, you might want to reconsider running as a serial terminal and play Ultima IV instead, or perhaps join the lower-caste Commodore community and learn to live as a Morlock.Wow, that was dorky even for me. (And before you get snippy, I grew up a Commodore user – This serial terminal is my first Apple 8 bit system, and I bought it from ebay in 2007. Whatever the Commodore 64’s virtues, 40 columns sucked then, and it sucks now.)

    There are other options here as well. If you have the requisite hardware, give them a try. You can always boot the installation disk again and reconfigure. Press Return. You will be asked whether you want Normal or split-screen. Enter N for normal and press Return. Enter Y for Yes to confirm, and press Return again. Your selection will be confirmed. Press a key to return to the MAIN INSTALLATION MENU.

  • Press 2, install modem driver and hit Return.Select option 2Internal plug-in serial/comm. card with external modem, even though you aren’t actually using an external modem. Press Return. You will then be asked to select the serial/comm. card you are using. Select option 3Apple Super Serial, and press Return.You will be asked what slot the card is in. That should be slot #2 if you followed my advice. Otherwise, enter the slot your serial card is in and press Return. Confirm your selection by pressing Y and hitting Return.Your null modem cable essentially allows communications software to read and write to the serial port / cable as if it were a modem. So as far as any communication software you might use is concerned, there’s a modem connected (albeit a null one).
  • Next, you will be asked what modem you are using. You will lie nakedly and deceptively to Modem.MGR, and you will feel no guilt in doing so because that is how you roll.Select option 10Non-smart Modem because your null modem cable is an AT-command set-impeded neanderthal grunter at best, and press Return. Confirm with a Y, and hit Return. Then press any key to return to the MAIN INSTALLATION MENU again.
  • That’s it for configuration. Press 9, Save new installation, and hit Return to save your configuration. You’ll be asked to insert the WORK disk. Do so and press Return. Your configuration will be written to this disk. Leave theWORK disk in the drive for now because you’re going to be booting from it shortly.

Back: Table of Contents


Configuring Linux to use a serial terminal

These instructions are for Gentoo Linux but they are probably the same, or similar, on other distributions. All that is involved is configuring /etc/inittab to have /sbin/agetty attach to the serial port. A cursory look at my file server suggests that Debian uses the filename getty which I take to be the same program as agetty, since the man page pulls up the agettypage. (Hey don’t look at *me*).

First, make sure anything that uses the serial port is closed, and this includes ADTPro, which may still be running from before. Close it down, along with anything else that touches the serial port. When one program is using a serial port, it writes a lockfile to prevent other applications from attempting to use it, so if something is open that is already using it (and locking it), you may have problems. Accordingly, once /sbin/agetty is attached to the serial port, you won’t be able to use ADTPro. In order to get ADTPro working again, you’re going to have to detach /sbin/agetty from that port by commenting out the line you’re about to uncomment in /etc/inittab and using the init q command to reload /etc/inittab, which is described below.

As root, open /etc/inittab in your favorite editor. Try hard not to screw up this file, because it is important. You might want to make a backup of it first. If you are a Gentoo user you are probably used to rampaging through your system like a crack-addled wolverine, so you will probably skip this step. I mean, I did.

Next, scroll down to the section cryptically titled SERIAL CONSOLES. You’ll see example entries for ttyS0 (first serial port) and ttyS1 (second serial port). Choose the one you have the Apple connected to and uncomment it. Make sure the speed is set to 9600, and change the terminal emulation to vt220, so that the line looks something like this (Make sure to use the line pointing to the right port for your configuration):

s0:2345:respawn:/sbin/agetty 9600 ttyS0 vt220

Save the file and exit back to the prompt.

Now we need to make the system reload inittab to see the change you just made. At the prompt, as root, enter:

init q

The system won’t print a confirmation message. it will simply return you to a prompt.

Note: If you want to use ADTPro to transfer files again, your best bet is to comment out the same line you just uncommented in /etc/inittab and enter init q to reload/re-read it. Generally speaking, the line should be uncommented when you want to use the serial terminal, and commented out for everything else.

You may also want to review Tim Riker’s comment about seeing boot messages on the serial console.

Back: Table of Contents


Boot Modem.MGR and configure baud rate and terminal emulation + establish serial connection

Terminal Mode
Modem.MGR Configuration OptionsChoose terminal settings.

Modem.MGR Terminal Mode: Baud Rate
Terminal Mode
Modem.MGR Baud RateSelection Option N: 9600

Modem.MGR Terminal Emulation
Terminal Mode
Modem.MGR terminal emulationSelect Option V: VT220 Emulation

Make sure the Modem MGR WORK disk is in Drive 1. Reboot the system by power cycling or use the Apple three finger salute (CTRLOpen AppleReset).

When Modem MGR boots, you’ll see a list of options. If you’ve come down off of your savage binge, you’ll also probably be alert enough to notice that the screen is displaying a very useful 80 columns, provided your system supports it and you configured Modem.MGR properly. There are two remaining things that need to be set here:

  • Baud Rate: Press ESC and then M for Modem Baud Rate. Set this to N for 9600. You will be asked to “Wait.” but there is nothing left to do to (presumably it is waiting for AT command responses, since it thinks it is talking to a modem). The baud rate is now set. If for some reason you set your baud rate to something other than 9600 in/etc/inittab, make sure the numbers match.
  • Terminal Emulation: To set up terminal emulation, press the CTRLESC key and then the : (colon) key at the prompt that appears.Select option V for VT220.There is no need to press Return. For future reference, Open AppleESC will bring back the help menu, since you probably noticed you’re looking at a blank screen now.

Now, press Return. If everything has gone properly, you should see a Linux login prompt.

Now do the Apple-8-Bit-Computer-Still-in-Use-as-a-Serial-Console-in-the-21st-Century dance. Get all crazy mad stupid fresh, too, like the way Rerun used to pop and lock in WHAT’S HAPPENING!!

Turn the Caps Lock off and log in. Run top. This is a good way to test your terminal emulation. If you see a lot of escape codes, and/or the screen scrolls rather than re-draws, you may have to re-set the terminal emulation on the Apple side again.

To do this, simply press Open AppleESC to bring up the menu. Then press ESC by itself, then : (colon), then V forVT220. Very occasionally noise corrupts my terminal (such as if I cat a binary file by mistake) and Modem.MGR seems to revert to some other less satisfactory emulation. I use this process to re-set Modem.MGR to VT220, and that’s generally enough to clean things up.

Press Return a few times, then run top again. Hopefully, the screen will redraw properly, if a little slower than you are used to. That’s life at 9600 bps, baby. Or Baud if you’re old sk00l. And wrong. (No I am not that pedantic, but some dork reading this will be. That is, if anyone reads this at all.)

Back: Table of Contents



Linux login prompt on Apple IIe
Linux Login Prompt on Apple IIeThe first thing you’ll see…
Apple IIe - configuring a kernel with<br /> menuconfig
make menuconfigConfiguring the Linux kernel.Lack of extended ASCII makes things a little messy, but usable.
Apple IIe - Connecting to the Late Night BBS ddial
telnet – ddialTelnetting to a real telnet-accessible ddial
running on original Apple 8 bit hardware.Unfortunately, this is now defunct.
Apple IIe - www.textfiles.com via links2 browser
Links2 – web browserViewing http://www.textfiles.comThis is one of the few web sites to display
gracefully in console-based web browsers.
Apple IIe - nano
nanoDefault text editor in Gentoo.Clone of pine’s pico
Apple IIe - linux_logo - Gentoo Logo
Linux Logow/ -L3 argument (Gentoo logo)
This has been changed to -L2 in
subsequent versions.
Apple IIe - top
topApple displays process data for Gentoo box
Apple IIe - standard directory listing
Directory listing
Apple IIe - irc via Rhapsody client -<br /> Undernet
IRCRhapsody IRC client on some ghetto
Undernet piracy channel
Apple IIe - Editing /etc/inittab with vim
vimPopular text editor
Apple IIe - www.gentoo.org via links2 browser
links2 – web browserViewing http://www.gentoo.org
Apple IIe - pine
pineThe famous console-based e-mail clientThe first internet e-mail I ever received,
I read in pine.
Apple IIe - Connected to Monochrome<br /> BBS
telnetTelnetting to the UK’s unique Monochrome BBSTelnet to: mono.org
Apple IIe - VNStat monthly bandwidth report
VNStat monthly bandwidth reportMonthly bandwidth usage measured on
router by VNStat
Apple IIe - Output of tty and w commands
tty and w outputShows which tty is in use +
who is connected to the system
Apple IIe - Cottonwood BBS login screen (Apple connecting to a telnettable Commodore board)
Cottonwood BBS login screenTelnetting to a BBS running on
original Commodore hardware.Telnet to: cottonwood.servebbs.com
Apple IIe - IRC via weechat
IRC via weechatweechat works particularly well as a
console-based IRC client.
Apple IIe - slurm realtime bandwidth monitor
slurm realtime bandwidth monitorYou can see “ghosts” of the cursor in the photograph as it
continuously redraws the screen at 9600 bps.
Apple IIe - running linux_logo
Running linux_logo next to its
little Commodore buddy.Commodore 128 serial terminal – COMING SOON!
Apple IIe - linux_logo
Apple IIe - IRC via weechat
IRC via weechat


Other wastes of time and bandwidth

Well, now you’re using your Apple IIe as a Linux terminal. The only major drawbacks are 9600 bps refresh, which is not really much of a hindrance for most applications, and extended ASCII characters won’t draw properly, but that’s a minor nuisance. You might also miss having a numeric keypad and Page Up/Page Down keys. The arrow keys on the Apple IIe are positioned…oddly. If you started out as a hobbyist on 8 bit computers, however, you may find yourself reverting to old habits which work around these problems pretty well.

There’s more you can do with your old Apple. For example, there is the Contiki operating system with a TCP/IP stack. This includes a web browser, telnet client, rudimentary IRC client, and proof-of-concept web server. You might find theWikipedia article interesting. To use this, you’ll want to get this network card. I have this hooked up and it works, but, due to the primitive nature of Contiki’s offerings on the Apple platform (for example, the IRC client cannot handle private messages), you will probably find your old Apple is far more useful as a serial terminal running Linux’s myriad console offerings.

I would also add, for those of you who might get a kick out of running a website on your old Apple, the web server provided by Contiki does work, but it has hard-coded content. There’s no interface for Apple I/O, so you can’t, for example, serve your own HTML off of a floppy. There’s no reason someone couldn’t code this if they knew what they were doing, but no such thing yet exists.

Huge bundles of Apple software are available in the usual …places… on the internet. Many of them are available asTOSEC packs, properly named and cataloged according to that standard (Note that TOSEC itself does not release these – they simply maintain a database and naming scheme for old software). The status of software in these packages ranges from freeware, to gray-area abandonware, to status unknown, to OMFG warez. I’m not going to make a statement about how I feel about this, but it would be nice if software developers of that period who don’t mind their software being used by retrocomputing hobbyists would step forward and explicitly say so. Nevertheless, emulation enthusiasts have done a remarkable job of preserving a great deal of software from the old days, thoughtfully packaging much of it up as ADTPro-transferrable DSK images. Download and use it at your own peril (and/or conscience, where matters of conscience apply).

Lastly, there are a variety of Apple hobbyist sites on the internet. I should mention A2Central which maintains a lot of information and hosts a BBS (by which I mean a real BBS, not a web board).

Speaking of Bulletin Board Systems, where are the Apple 8 bit retro-boards? There are several telnet-accessible BBSes running on Commodores, and even some on old Ataris, but only one running on an Apple: The Age of Reason, Gene Buckle’s board. You can check out The Age of Reason by telnetting to:aor.retroarchive.org

If you run, or know of someone running a BBS on an old Apple, please mail me at the address at the bottom of this page so I can mention it here.

Tune in next time when I build a supercomputing cluster out of TI-99/4a systems running a h4x0r3d version of CP/M that can predict the weather for the next thousand years and dynamically generate printable 80 column ASCII pornography via images captured realtime from from Britain’s growing Orwellian Big Brother camera network.

Actually, I’ve done this serial terminal project with a Commodore 128, and that procedure is coming soon, though it’s a little more complicated.

Back: Table of Contents


Photos of the Apple //e as a serial term sent by others

Kaleb Wurr:

A 15 year old from the Mojave desert named Kaleb Wurr logged on to IRC with an Apple he’d obtained from a junk store. He told me that he had an interest in vintage computing and had hacked together his own null modem cable and hooked it up to his Ubuntu machine. While I expected a few very bored GenX and GenY types to try this as a weekend project, I didn’t expect that someone born after the Apple 8 bit line was completely obsolete would have any interest in doing this. It goes to show that these old systems still have a kind of weird charm to them:

Kaleb Wurr - IRC Kaleb Wurr - Text EditorBack: Table of Contents

The CFFA Flash or USB Storage card for the Apple 2

This card will enable your Apple 2 to essentially act as if it has a 32MB (or multiple 32MB) hard drives. You can use either Compact Flash media or USB sticks. However, you not only can emulate ProDOS hard disk volumes, but also become a virtual floppy disk. This becomes really handy for those many DSK image files you might want to run. For example, you could copy the entire DSK collection from asimov or similar onto a USB stick and boot straight any of those images straight from it. The below video explains how.

You can order your own CFFA card over at Dreher.net