Apple IIc

Me and the Apple IIc

photo d'un apple IIc When I was young (12 or 13 years old), someone gave me an Apple IIc computer. It became the only computer I could access anytime at home. I was already a computer addicted, and I had a lot of fun progamming in basic with this computer. One day, my family bought a 386, and the Apple IIc went into a closet and dust started to gather on it. I did not use the Apple for the next 8 years.

This year (2003), after discovering by mistake a big archive of software for the Apple IIc, I decided to get it out of the closet, and to find a way to play games directly on it (without an emulator). Unfortunately, the Apple IIc did not work anymore. When I turned it on, the floppy drive would not start, and the screen was being filled with random garbage. (I think that a few memory chips could have gone bad..)

Because I could not rely on my old Apple IIc, I decided to start searching for another Apple IIc for sale. This has taken a lot of time. After a few months, I found one on lespac.com. It cost me 20$ Can. And it works perfectly!



Disks

This computer has a built-in floppy disk drive which uses 5"1/4 floppy disks. The way the Apple IIc stores data on those disks is absolutely incompatible with the way the PC floppy disk drives does it. However, disks sold for PCs work well with the Apple IIc (at least for me).

I bought for a very small price 200 360k disks, so I use those disks with the Apple IIc (after backuping the old games and software they contained).

If you never saw a 5"1/4 floppy disk, here's what it look like:


Operating System

The Apple IIc does not need an operating to be usable. It has a basic interpreter in his rom. That means that you can manually type basic code and run your programs. Also, because there is no hard disk in the Apple IIc, many games and programs boot directly from the floppy disk drive, without needing to be installed. They take full control of the computer.

If you use an operating system, you can do more things. On the Apple IIc, an operating system simply provides new commands you can type at the basic command line. Some commands: INIT and CATALOG.

I tried dos 3.3 from apple. There are other options (Prodos, Prontodos, etc...), but I have not tried them yet. The commands I will describe works with dos 3.3, and probably with other systems.

The INIT command (observe case) is used to format a disk, install the os on it and make the disk bootable. The Syntax is as follows:
INIT name_of_start_program
So, if you type INIT hello, it will format the disk in the floppy drive, and will create an empty program (named hello in this case), that will be started automatically when the computer boots this disk. This is useful to create simple menu programs(in basic) so you can launch other programs contained in the same disk easily.

CATALOG usage example The CATALOG command (observe case) will list the files stored in the floppy disk.

In the list at the right, files which have an A at their right are ASCII files (in this case a basic program). Files with a B are in binary format.

Here are some operations that can be done on files:

To run an ascii file: RUN filename
To run a binary file: BRUN filename
To load a basic progam into memory: LOAD filename
To save the current basic program to the floppy disk: SAVE filename



Null Modem cable

My goal was to be able to download from the net games that I could play on my Apple IIc, so I had to find a way to connect my PC and the Apple. After seeking a way to do this, I discovered that the simplest way was to use a NULL modem cable.

The Apple IIc use a 5 pin DIN connector (identical to the MIDI or AT keyboard connectors). The cable has to be home built since it is not a standard cable nowadays. It also cost less to do it yourself.

I decided to cut the cable of an old keyboard, and to solder a female DB25 on the other end. I was in luck, the required pins were wired in this cable.


If you want to make one, here is the pinout of the Apple IIc serial port:
#Nom
1Data Terminal Ready (DTR)
2Transmit Data (TD)
3Ground (GND)
4Receive Data (RD)
5Data Set Ready (DSR)

And here are standard rs232 pinouts:
"pinout" rs232 standard.

Building the cable is simple. Basically, all you need to do is connect the Ground pins of both ends together, and the TX of on end with the RX of the other. No need to worry about the other signals, since the software used to transfer disk images does not use them.

Here is a quick review of the connections:
Apple         DB9			   
2  (td)       2  (rd)
3  (gnd)      5  (gnd)
4  (rd)       3  (td)				   
				


Power supply

Quite often, even though the computer was carefully kept in a closet for years, the power supply is nowhere to be found. Or broken. In any case, I guess this might be why I have been asked a few times if I knew the pinout for the connector.
My original Apple IIc power suppply has the following label:
Apple Computer, Inc.
Cupertino, California
Model No. A2M4017
Made in Taiwan
Input: 120Vac 60Hz 25W 0.2A
Output: 15Vdc 1.2 AMps 18W

Using a multimeter, here's what I found:


Warning: This information is provided as-is. Use at your own risk.


Installing the operating system and disk transfer program

It may seem difficult to install an operating system on a computer that can only read it's own floppy disks (I mean that you cannot use another computer to create the installation floppy), but a way to do it easily has been found.

You just need to type the full code of the os directly on the Apple IIc. Of course, this can be done manually using the keyboard, but it would take a lot of time. Better let another computer do it for us ;)

If you type IN #2 on the Apple IIc, the input device becomes the serial port instead of the keyboard. This features allows us to install the operating system easily.

Unfortunately, most software you can download from the net for the Apple cannot be transferred using this technique, because they are disk images. (usually .dsk files). There exists a program specially designed to upload those disk images to the apple: ADT 1.22 (Apple Disk Transfer). You start the Apple version on the Apple, and the PC version on the PC, insert a blank floppy, and on the appleIIc, you type the file you want to transfer (filename of the file on the pc side), and then wait a few seconds and it's done.

Here is a file containing all you need to install dos 3.3 and adt 1.22 on your apple IIc. More detailed instruction are included.

dos33dmp.zip

Under Linux, I used minicom to transfer the file over the serial port. To do this, I configured minicom to work at 300 Bauds, 8N1, hardware and software flow control OFF.

Next, I typed IN #2 on the Apple IIc, and I confirmed that I could now control the Apple from the serial port.

Next, to send the file(or type it to the apple) named DOS33.DMP in ascii mode, it was necessary to change the command line minicom uses for ascii uploads to add a 300 milliseconds delay after it sends each line. The is necessary because the Apple IIc takes so much time to scroll the display that it would miss characters. Enter minicom's configuration dialog, go to the 'file transfer protocols' submenu, and add the option -l 300 to the ascii-xfr command. Here is the full line I used: /usr/bin/ascii-xfr -ndsv -l 300. If you have trouble, you can try raising the delay.

To start the transfer, do CTRL+A S, choose ascii, select the file and start the transfer.

Good luck!



Adt for Linux/Unix

Since I like to work in a well designed and efficient operating system, using something else (such as Dos or Windows) to tranfer games to the Apple IIc was out of the question. So I ported ADT1.22 from DOS to Linux. Fortunately, the guy who wrote ADT1.22 distributed it with the full source.

Porting old 16 bit code to 32 bit was very interesting. There were many small problems, such as the size of integers (int) which was different (I had to change all ints to shorts), the code used conio.h, and programmed the uart was accessed directly. Under linux, we cannot do that. We must use /dev/ttyS*, termios and ioctl's.

Here is my linux version. Right now, apple --> pc disk transfers do not work. I dont care since I dont need to do this. Also, I only used this code only on a PowerPC computer, so there may be indianness issues on x86. If you try it on a x86 and have troubles, please contact me.
adt122-unix-0.1.1.tar.gz.
Note: The original .zip file is included




Inside

I cannot resist to take a look at what's inside computers. Here are a few pictures:

Apple IIc cpu, rom, mmu... The Apple IIc has been released in march 1984. It uses a 8 bit processor of type 6502 (the same that is used in the NES) that runs a 1 Mhz, has 16 K of rom, and 128K of ram. This computer is also equipped with 2 serial ports, one for a printer, the other for a modem. There is a composite video output, and a DB15 video output (not compatible with more modern mac DB15 video) to connect an rgb monitor. It is possible to use an external floppy disk drive, a mouse or joystick. If you want a mouse for your Apple IIc, some MacPlus mice can be used. (they have a DB9 conector).

In my opinion, the Apple IIc is well designed internally. Not too much wires, and everything is modular (Keyboard, Disk drive, power supply and motherboard).
Apple IIc without cover Apple IIc without keyboard Apple IIc motherboard


Games

Here are pictures of a few games I have tried.


If you want games, go there:
ftp://ftp.apple.asimov.net/pub/apple_II/