		Moving Apple ][ DOS 3.3 disk images to MS-DOS

		   Warren Toomey, wkt@csadfa.cs.adfa.oz.au


In a recent Usenet article in alt.hackers, I wrote:

  My Apple ][ didn't have a serial port, but I wanted to move my disk images
  over to a PC so I could use the Apple ][ emulator. So I found the spot on
  the board which gave cassette output, but at 0/5V, and used that as the RS-232
  output wire. The casette input could cope with +/-12V, so I used it as is
  for RS-232 input. Then all I had to do was code up some 9600 baud character
  i/o routines in assembly.
   
  As an extra hack, I altered DOS 3.3 so that, when it was read/writing
  a block to/from any disk but the default, it went to a new section of code
  that acted as a `disk client' which asked to read/write sectors using my
  serial i/o code. I had a disk server running on the PC. Thus, I was able to
  not only move my disk images to the PC (a straight disk copy!), but also had
  another 12 virtual disks on my Apple, albeit only running at around 960 bytes
  per second transfer speed.


This archive contains the code described above. There is not a great deal of
program comments for either the client or the server, but anybody with some
idea of 6502 assembly, C programming and DOS 3.3 RWTS shouldn't have too much
trouble.


Connecting the Apple and the PC
-------------------------------

You first need to connect the Apple to a serial port. Done like this:

    Apple ][					PC


Cassette in     --------------|<|----------------  Pin 2
Cassette out 0-5V -------------------------------  Pin 3
Ground		---------------------------------  Pin 7

					     +---  Pin 4
				     	     |
					     +---  Pin 5

					     +---  Pin 6
				     	     |
					     +---  Pin 8
				     	     |
					     +---  Pin 20

On the PC side, you should join pins 4,5 together, and pins 6,8,20 together.
Pin 2 goes via a diode to CASSIN on the Apple. You need to find a 5V version
of CASSOUT on the Apple to connect to pin 3. I have an Apple ][ clone
(different motherboard), but I found a 5V spot near the real CASSOUT.

Next, you need to assemble the source code SERIAL8.SRC supplied. This goes
at $9B00 in the Apple, and gives 9600 baud i/o, plus a file client. Either
type the assembly in & assemble it, or type the hex in and check it with
9B00L. You should BSAVE SERIAL8.OBJ,A$9B00,L$160.

I've supplied the server code, plus a PC binary that runs as is, using COM2:.

Ok, boot the Apple, connect the PC & Apple together. BLOAD SERIAL8.OBJ,A$9B00.
Run Kermit on the PC, 8-bit, no parity, 9600 baud, Com2:. CALL -151. 9B03G.
You should get the monitor prompt `*' under Kermit. Type ^C RET to get back to
DOS 3.3 & play. You can list programs etc using this. This also tests to make
sure the 9600 baud routines work.

Ok, hit RESET on the Apple. Now, either do B7B9:9B, or POKE 47033,155 to
connect the client into DOS 3.3. Exit Kermit and start aplserv on the PC.
Now, you can INIT HELLO,S3 for example, & the server should show the
DOS 3.3 & HELLO being written to the file disk_3a.dsk. After this you should
be able to CATALOG etc. as per normal.

I suggest BLOAD SERIAL8.OBJ & the POKE in a HELLO program, to make it
automatic.

You can use slots 0-5 and 7, drives 1-2.

I use FILER or my own DISK COPY to copy disk images from the apple drives
to the PC server. Remember you have 14 pseudo-drives, so you can copy 14
sides before stopping the server. It takes about 3 mins a side, though.
You can use these 140K images with the Apple Emulator, you just have to
rename them as disk6a.dsk (to boot), or disk6b.dsk.

Also, before running FILER, do a CATALOG on any pseudo-drive, and RESET
before you get garbage back from the server. FILER for some reason doesn't
work unless you access the server before it is run.

Finally, shut down the server as follows:

	- go over to the server & type ctrl-break

	- go back to the apple & try & catalog a different disk than the
	  one you last used, e.g S1, D1 instead of S5, D1.

The server will fclose the current open disk, open the new one & try & print
out a message, then die because of the ctrl-break. Tacky but it works.


I also have all my apple disks as 140K images on the PC. I've included my
catalog `wktcatalog'. I am willing to make these 140K images available via
anonymous ftp on minnie.cs.adfa.oz.au, subdir apple2/images. However, disk
space is tight on minnie, and so I may remove images on a LRU basis. Also,
the images will archived using MS-DOS PKZIP 2.04. That shouldn't be a
problem as you'll probably want to use them under the Apple Emulator anyway.

Cheers,
	Warren Toomey, wkt@csadfa.cs.adfa.oz.au
