Author Archives: ivanx

A2CLOUD: browse & download

If you want to get new Apple II software, there are a few ways to go about it.

You could try a desktop browser on the Pi, such as the included Epiphany (a.k.a. Web), Midori, or Netsurf, or install an alternative such as Chromium, the open-source cousin of Google Chrome, or Iceweasel, which is a rebranded Firefox.

You can also download with a modern computer, and copy to your Pi over your network. If you don’t want to immediately create a real floppy, see the next post for what to do with your downloads.

Or, for maximum fun, you can browse and download with your Apple II, because A2CLOUD provides you with the stuff on your Pi that you need. My general advice here is to just dive in and try these out if you’re not familiar with them. You’ll find no shortage of help for most of these if you search for it.

Unless you’re using ProTERM or Spectrum on an Apple IIgs, remember to hold down solidApple when pressing the arrow keys when you’re using these programs.


lynx: a text-only web browser which can access simply laid out sites. Examples: lynx, or a download site, like lynx ProTERM and Spectrum work better for lynx than Z-Link does. (You can also try out alternative text-only web browsers.)

links: another text-only web browser you might, or might not, prefer to Lynx. If you see only a black screen when you start it, press the ESC key to see the menu.

cftp: What you’ll probably spend a lot of time using if you want new Apple II software. It’s for logging into FTP (File Transfer Protocol) servers. Unlike the traditional command line FTP program, cftp is full-screen, uses the arrow keys, and is easy. Example: cftp

ftp: The traditional command line FTP program. Example: ftp It uses (mostly) typical Unix commands. When asked for username, enter “anonymous” and then anything for the password. Use the usual directory listing and navigation commands (cdpwdls), to browse the site, then get filename to download a file from a site, or put filename to upload a file to a site. To see the current local directory (the one you’ll be downloading into or uploading from), type !pwd, and to change it, type lcd directoryPath. You can see all commands by typing help.

wget: a simple program that can download a full URL from an FTP or web site in a single command, e.g: wget


A2CLOUD: connect with other people

Once you’ve logged into your Pi — that could be from your Apple II using ProTERM or Z-Link or Spectrum, or with a directly attached keyboard and screen, or via SSH from another computer — you can start communicating on the internet.

Unless you’re using ProTERM or Spectrum on an Apple IIgs, remember to hold down solidApple when pressing the arrow keys when you’re using these programs.


IRC (Internet Relay Chat)

If you want to chat live with other Apple II people, all you need to do is type a2chat. It will launch an IRC program called Irssi and connect you directly to the channel. (If you want to connect to other channels, instead type irssi.) Type /quit when you’re done. You might want to check out more detailed instructions for IRC generally or Irssi specifically.


Usenet newsgroups (discussion boards)

To access the Apple II discussion boards on Usenet (often referred to as comp.sys.apple2.*), type a2news and it will start the Tin newsreader. You will be subscribed to only the Apple II newsgroups by default; to access all the other ones, type Y (for “yank”) and subscribe to the ones you like. (If you have a preferred NNTP server you would like to use, you can set it by typing a2news -s your.server.address.)



You can indeed tweet from your Apple II, if you can believe it. Type ttytter and follow the instructions. For initial setup, you’ll need to sign in to your Twitter account from a web browser, which, if you don’t want to leave your Apple II, could be Lynx, as I will explain in the next post. If you need help, an extensive manual is available for TTYtter. You can also try starting it by typing ttytter -readline for enhanced input, though it is beta and may have problems.



There are email programs you can use, but they can be challenging to set up, so they have not formally been made a part of A2CLOUD for the moment. If you want to give it a go, see this comment to get started, and look for help on Linux forums if you need it.

A2CLOUD: “insert” a disk image

To make things easy, A2CLOUD has commands to “insert” disk image files into the virtual drives:

vsd1 imageFileName will “insert” imageFileName into S2,D1

vsd2 imageFileName will “insert” imageFileName into S2,D2

vsd1 or vsd2 by itself will show you the path to the disk image currently “in” the drive

Note that the disk image you “insert” can be either DOS-ordered or ProDOS-ordered. VSDRIVE will figure it out. The disk doesn’t need to even contain ProDOS, as long as you’re using ProDOS software which can access it — for example, System Utilities can copy files from a DOS 3.3 or Pascal image.

To make new image files, you can transfer real floppy disks from your Apple II using ADTPro. These will arrive in /usr/local/adtpro/disks, which you can also refer to as $ADTDISKS for short; if you have A2SERVER installed, this folder is also available on your network to other computers, so you can use the images you create with an emulator.

Also from another computer, you can copy an image into the ADTDISKS network folder and then insert it into a virtual drive by typing vsd1 $ADTDISKS/imageFileName. (For virtual drive 2, use vsd2 instead.) Or you can download disk images from the internet directly on your Pi, which I’ll explain in a later post.

You can always put the A2CLOUD disk image back in virtual drive 2 with:

vsd2 $A2CLOUD

(The vsd1 and vsd2 commands create a symbolic link, which is like a Windows shortcut or Mac alias, to whatever file you specify as imageFileName. The symlinks are in /usr/local/adtpro/disks, and are called Virtual.po or Virtual2.po, respectively.)

A2CLOUD: learn some Unix

Once you’re logged into your Raspberry Pi, you can download disk images and use them with VSDRIVE or transfer them with ADTPro.

To do so, you’ll need to know some Unix. Everything you type at a prompt is a Unix command, either built-in, or a program that gets executed. Most commands can take additional arguments (parameters) separated by spaces to modify how they operate. Note that everything in Unix is (usually) case-sensitive — that is, “ls” is not the same thing as “LS”.

Here’s some basics:

pwd will print the path of the current directory (like PREFIX)

cd /path/name will change the directory to /path/name (like PREFIX /PATH/NAME)

ls will list the files in the current directory (like CAT)

ls -lp will list the files in the current directory in long format (like CATALOG)

cp sourceFilePath targetFilePath will copy a file

mv filePath newFilePath will move or rename a file (like RENAME)

rm filePath will delete a file (like DELETE)

mkdir dirPath will create a subdirectory (like CREATE)

rmdir dirPath will delete a subdirectory (like DELETE)

logout logs you out

sudo shutdown -h now will shut down your Pi

sudo shutdown -r now will restart your Pi


There are also three “special” directories, indicated by a single or double period, or a tilde:

. means the current directory

.. means the parent (enclosing) directory

~ means your home directory (on the Pi’s default user, it’s /home/pi)


A couple of tips:

pressing up-arrow (or solidApple-up-arrow in ProTERM on a IIe/IIc, or in Z-Link)  at the command prompt will display previously typed commands

pressing ctrl-A while editing a command will take you to the beginning of a line

pressing ctrl-E while editing will take you to the end of a line


A2CLOUD provides some specialized commands as well, some of which will be covered in upcoming posts. To see a full list, type a2cloud-help.

If you need additional explanation of a command and its arguments, you can sometimes type “command -h” or “command –help”, and for most commands, extensive help is available by typing “man command”.

This is just the tip of the iceberg. There are lots and lots of Unix commands for every purpose imaginable. If you think there are others which should be included here, please mention them in the comments.


A2CLOUD: make a floppy or image

If you have A2SERVER installed — which you do if you installed A2CLOUD with Raspple II — it’s easy to download software with your modern computer and turn it into a floppy disk with your Apple II, or use it as a virtual drive. And it’s just as easy to make an image from an Apple II floppy that you can use in an emulator on your modern computer.

(If you don’t have A2SERVER installed, you can start over with Raspple II, or you can, at your Raspberry Pi’s prompt, type wget; source setup to install it. If you’re not sure, type a2server-help; if you get a help screen, you’ve got A2SERVER.)

On your newer computer, you can browse your network and you should see  “raspberrypi” as a server you can connect to. You can log in as Guest if asked.

On Mac OS X, it should appear under Shared in the sidebar of a Finder window, or under “Network” from the “Go” menu of the Finder. On Windows, it should appear under Network. On Mac OS 7 through 9, open Chooser from the Apple menu and click on AppleShare.

(If you can’t browse to the server on your network, try typing a2server-setup to update it, and if that doesn’t work, type showip to get your Pi’s IP address. On Mac OS X, enter the IP address under “Connect To Server…” from the Go menu of the Finder; on Windows, type the IP address following \\ in an Explorer window.)

Open the ADTDISKS shared volume and copy any disk images you want to make into disks in there.

Then run ADTPro on your Apple II, which is on your A2CLOUD boot disk. Type R to receive, and type the name of the image file (case matters), and then choose the drive containing the disk you want to put the image onto. The disk will be erased, so be careful. Also, if you were using VSDRIVE before you ran ADTPro, you might not have access to slot 6; if you need it, reboot and then run ADTPro.

If you want to turn a disk into an image, do the reverse process: type S to send in ADTPro, and then choose the drive you wish. The image will appear in the ADTDISKS network volume on your newer computer.

You can type D for directory in ADTPro to get a listing, but characters are sometimes missing, so you might need to do it a few times, or refer to the ADTDISKS network volume on your newer computer.

Unix-type computers can also use scp to copy files to and from A2SERVER; Windows computers can also do so in the command window by using pscp in PuTTY. The shared volume is at /media/A2SHARED/ADTDISKS.

A2CLOUD: log in from your Apple II

If you’re happy enough controlling your Pi with a screen or keyboard attached, or by logging into it from another computer, then you don’t really need to read any of this post. But it’s more fun to log into it from your Apple II. You try it.

To do that, you’ll need terminal communications software which supports VT-100 emulation. The A2CLOUD installer provides both ProTERM and Z-Link for IIc, IIgs, and enhanced IIe; GS/OS users can also download and use Spectrum for color and graphic text. Apple II Plus and unenhanced IIe users have some options too.

Once you’ve connected with your terminal program — specifics are below — press return a couple of times, and you should see the Raspberry Pi login prompt. Log in with username pi and password apple2 (or raspberry, if you installed standard Raspbian). You should be taken to the Linux prompt. If you quit your terminal program, and then run it later, you’ll be right where you left off — you won’t have to log in again unless you restart your Pi.

Then you can download files and transfer them into your disk images or to your Apple II, and do other stuff on the internet. More on how in a future post. (Once you’ve got one of the below terminal programs working, you may also want to try out a faster serial port rate than the default 4800 baud.)

Once you get comfortable with logging in, you might want multiple terminal screens you can switch freely between. To do this, type screen. Then, whenever you need a new screen, type ctrl-A followed by C. You can go back to a previous screen with ctrl-A followed by P, or forward to the next screen by typing ctrl-A followed by N.  To close a screen, type exit or ctrl-A followed by K. When you close the last screen, Screen quits. All Screen commands start with ctrl-A; for a full list of commands, type ctrl-A followed by a question mark. A well-written, easy-to-follow guide on how to get the most out of Screen is here.



ProTERM is a robust and recommended terminal program, but it does not fit on the 140K A2CLOUD disk, and it needs to stay in the drive (or virtual drive) while being used. You’ll find it on the 800K disk, or the S2,D2 virtual drive. When ProTERM runs, select the “Null Modem (CTS/RTS)” driver and the IIgs/IIc/IIc+ printer port, or a Super Serial Card in slot 2. (Note that if you use your own copy of ProTERM, the IIc/IIc+ printer port is not listed, so for that machine you’d need to use the copy that A2CLOUD provides; thanks to Hugh Hood for this patch.) For printer, select No Printer In System. When you’re ready to connect, choose Parameters from the Online menu, choose 4800 baud and VT-100 emulation, hide the status bar, and select Line Status: Online. (Thanks to Tony Diaz and Intrec Software for making ProTERM free to the community.)



Spectrum, for the Apple IIgs, is not provided on the A2CLOUD disk, but is freely available for download. From the Settings menu, choose Port and select the printer port at 4800 baud. Then in the Settings menu, choose Online Display and select VT-100 (monochrome text), or ANSI (color and graphic text, though slower). Then from the Show menu, choose Online Display. If you are using ANSI, type term color after logging in, or term -d color if you don’t want to do it every time. You can also type term mono if you want to switch it back for use with other terminal programs. When you’re done, type Apple-W to “close” the display. (Thanks to Ewen Wannop for making Spectrum free to the community.)



Z-Link is provided on both the 5.25″ and 3.5″ versions of the A2CLOUD disk. While not quite as capable as ProTERM, it is able to fit on a 5.25″ disk and is self-contained in memory without needing further disk access. When you first run Z-Link, you need to configure it by pressing openApple-W and choosing 4800 baud, slot 1 (or slot 2 on a IIe). Then press openApple-T until VT-100 emulation is enabled. Finally, press open-apple-S and type the file name Z.LINK.CONFIG to save the configuration and have it be loaded whenever you run Z.LINK.

If you want to run Z-Link from a virtual drive on a IIc or IIgs, you need to first copy Z.LINK.CONFIG from your floppy, because otherwise it will go online immediately using slot 2, which makes the virtual drive stop working. Boot your A2CLOUD disk and set it up as above. Then, at the Applesoft prompt, type -VSDRIVE.LOW followed by -FILER. Once in Filer, rename the volume of your A2CLOUD floppy to A2CLOUD.DISK, then copy /A2CLOUD.DISK/Z.LINK.CONFIG to /A2CLOUD/Z.LINK.CONFIG. (This process isn’t necessary on a IIe.)


Apple II Plus and unenhanced IIe 

If you have an Apple II Plus or unehnanced IIe, there have been reports of success with using Kermit 3.87, or DCOM 3.3, for terminal access to your Raspberry Pi. They need to be set for VT-100 emulation, and on an Apple II Plus you need a Videx VideoTerm (but not UltraTerm) for 80 column support. I haven’t tried them, but here’s the relevant discussion thread.

A2CLOUD: use virtual drives!

Ok, almost there. Fire up your A2CLOUD floppy, and at the welcome screen, type V. (If you are at an Applesoft prompt, you can instead type -VSDRIVE.)

Once you’ve done this, you can access your blank virtual disk on slot 2 drive 1, and the 800K version of the A2CLOUD disk on slot 2 drive 2. Check it out by typing CAT,S2,D2. After specifying the slot and drive, they will stick for subsequent ProDOS commands (that’s a quick list; here’s a full manual). You will no longer have access to slot 6. To regain access to slot 6, do a full reset of your Apple II and boot any ProDOS disk as usual.

You can also run VSDRIVE from a ProDOS 8 program launcher (e.g. the BYE command). Nothing will appear to happen, but your virtual drives will become available. (If you don’t see VSDRIVE when you’re not in BASIC.SYSTEM, update ADTPro by typing a2cloud-update.)

If you need access to both slot 6 and the virtual drives at the same time, you can, after booting, type:


However, this version of the driver for the virtual disks is easily overwritten by other software, especially if you exit BASIC.SYSTEM. However, ProDOS Filer works ok, so it is included on the A2CLOUD disk if you need to transfer files from slot 6 to a virtual drive. Just type -FILER to use it. Note that if you’re transferring from the A2CLOUD floppy disk to the virtual A2CLOUD disk (in S2,D2 by default), you’ll first need to rename the volume of your boot floppy to something like A2CLOUD.DISK, so Filer can tell it apart from the volume named A2CLOUD in the virtual drive.

If you think Filer sucks, because it does, you can instead use ADTPro to transfer your entire 5.25″ disk to a new disk image on your Pi that you can use with VSDRIVE, or experiment with other copy programs.

You can also change the virtual drives to use different images, which I’ll explain in a later post.

A2CLOUD: make your boot disk

You’re almost ready to use virtual drives, courtesy of David Schmidt’s VSDRIVE, which is included with ADTPro. You can also use ADTPro itself to transfer disk images to actual disks, and vice versa.

To access the virtual drives, you need to boot from the A2CLOUD disk. To get that, you need ADTPro to transfer it to an Apple II floppy. If you’ve already got ADTPro on an Apple II disk, boot it (choose Serial if prompted), and skip the video and the paragraph which follows it. Or, if you’ve got some other means of turning disk image files into floppies, you can download the 140K A2CLOUD boot disk or the 800K A2CLOUD boot disk, and skip the rest of this post.

If you don’t have ADTPro on an Apple II disk already, you need to get it running on your Apple II via a process called bootstrapping. Here’s a video to show you how to do that, or you can read the instructions below it.


First, turn on your Apple II and press ctrl-RESET before DOS or ProDOS can load. Next, if you have a screen, keyboard, and mouse attached to your Pi, type startx. Otherwise, log in with Remote Desktop Connection (as described in A2CLOUD: go headless) from another computer. Once you see the desktop, double-click ADTPro Server, and when the ADTPro server window appears, choose Bootstrapping->ProDOS->SpeediBoot and follow the instructions which pop up. When you get to the “LOADING MLI” phase on your Apple II, nothing may appear to happen for several minutes; just be patient and it will eventually kick in. (You can alternatively choose VSDRIVE+SpeediBoot to immediately gain access to the virtual drives, but as soon as you reboot, you’ll need to bootstrap again. It’s much more convenient to have a boot floppy.)

Once you’ve ADTPro running, put in a blank floppy disk and type F to format it (unless you know it’s already formatted). You can use any volume name. When it’s done, type R to receive, and then enter (in all caps) A2CLOUD.DSK for a 5.25″ drive or A2CLOUD.PO for a 3.5″ drive. The A2CLOUD disk will be copied from your Pi to your Apple II. (You can use ADTPro to transfer any other disk images to or from your Pi at any time.)

If you bootstrapped, once you’ve got your A2CLOUD disk, you can leave the ADTPro server window open, or reboot your Pi. If you close the window, or quit the Raspbian desktop without rebooting, ADTPro server will no longer be running; you can type adtpro-start at a prompt to get it going again, or reboot, or disconnect and then reconnect the USB-to-serial adapter on the lower USB port.

A2CLOUD: attach your cables

Figure out which of the following scenarios applies to you, and attach your USB-to-serial adapter(s) according to the options you see.

If you are using a Raspberry Pi with four USB ports, then use the pair of USB ports next to the Ethernet port, not the ones in the corner.

If you are using a Raspberry Pi model A or A+, consider its one USB port to be the “lower” port in the instructions below. If you have a USB hub attached to it, then port 2 on that hub is the “upper” port, and port 3 on that hub is the “lower” port. Since the physical ports these correspond to may vary by hub, you may need to try different ports to figure out which is which.

You’ll see mentioned below the “lowest-numbered” or “highest-numbered” port in a USB hub, which isn’t necessarily obvious. If you have a USB hub, try the leftmost or topmost port, and if that doesn’t work, try the rightmost or bottommost port. If you want to definitively know, see the note at the end.

If you have an Apple IIe with a single Super Serial Card, then “modem port” in these instructions refers to that card, and “printer port” is unavailable. If you have two Super Serial Cards, then the order is the reverse of what you might expect; “modem port” refers to slot 1, while “printer port” refers to slot 2. (Thanks to David Laffineuse for this report.)


You have one USB-to-serial adapter, and want to use it for virtual drives

You can use:

  • the lower USB port
  • any port in a hub on the lower USB port if it is the only USB-to-serial adapter in the hub
  • the lowest-numbered port on a hub with multiple USB-to-serial adapters

Connect the adapter to a serial cable attached to to your Apple II modem port.


You have one USB-to-serial adapter, and want to use it for internet

You can use:

  • the upper USB port
  • any port in a hub on the upper USB port if it is the only USB-to-serial adapter in the hub
  • the highest-numbered port on a hub with multiple USB-to-serial adapters

Connect the adapter to a serial cable attached to to your Apple II printer port.


You have two USB-to-serial adapters

Do both of the above.


How to figure out the lowest or highest numbered port on your USB hub

You can attach two USB-to-serial adapters to a USB hub attached to either USB port on the Pi. A2CLOUD tells them apart based on their being attached to a lower numbered port for virtual drives, and a higher numbered port for internet.

I did it this way so you can simply try the ports at either end of the USB hub and see if you get the results you expect. But If you want to know the actual port number, detach all of your USB-to-serial adapters, then plug in one adapter. Then type ls /dev/ttyUSBlower_hub* and see what it shows you. The number at the end is your USB port number. You can then move the adapter to a different port and repeat until you figure out which one is the lowest and which one is the highest.

A2CLOUD: install the software

If you used the Raspple II installation method, you’ve already installed the A2CLOUD software, and can skip the rest of this post.

If you don’t have A2CLOUD installed yet — because, for example, you installed vanilla NOOBS or Raspbian, rather than Raspple II — log in to your Pi, and at the Linux prompt type:

wget; source setup

A2CLOUD is confirmed to work on Debian 7 (“Wheezy”), all releases of Raspbian, and possibly earlier versions of both. It is believed to work on other Debian derivatives, such as Ubuntu 14.04 LTS. (A2CLOUD does not yet fully work on Debian 8 or Ubuntu 15.04, or other distributions that use systemd.)

Follow the prompts; I suggest you answer “yes” to all of them, and everything on these pages will assume that you have. When you are asked to specify the size of your virtual disk (in KB), keep in mind that the larger it is, the slower it will be; hopefully this will change in the future.

When it’s done, the A2CLOUD installer will ask you to reboot your Pi. Do so, and wait about two minutes for it to complete. (If you’ve got a screen attached, wait until it shows you the login prompt; you don’t actually need to log in.)

You’ve now got your Raspberry Pi providing virtual drives and internet access for your Apple II!