
 Ok folks, here is a 'workable' version of a quick program that sends
 an Apple disk up to the IBM and comes out in the .DSK format.

The main disclaimer:
 It is com-port dependent (IBM) and slot-dependent (APPLE). Not a lot
 of fancy prompting, cool menus, error checking, options, etc.
 If used under the same conditions listed below (my setup), it works
 flawlessly - time providing maybe next month or so there will be a
 cleaner, better, and more efficient version.

Setup:
 PC - I'm using your basic cheapie 8-bit serial card (9-pin D connector)
      on COM1. Com port can be changed in the source but I have yet to
      make it prompt you for it. The PC program (GETDISK.PAS) is compiled
      for baud rates 1200-19200 respectively. Punch in the baud rate your 
      Apple is sending & it should work. If you are running a Super Serial
      Card in the Apple, 19200 baud works great and fast. I run on a 386-40
      so I don't know if an XT or whatnot will choke on high baud rates.

APPLE - Use a Super Serial Card in Slot 1. Disk controller must be in
        slot 6. The source code (sourcea.doc) expects a Super Serial
        and tries to initialize it at $C100.  If not using a Super Serial,
        change the ACIA masking for the tx register as appropriate and
        likewise the initialization. As I dig up more and more of my older
        Apple serial cards you can expect to find more versatile drivers
        later on sometime. I might also add reverse transfer capability.


Super Serial card DIP settings: (19200 baud)
SW1-1 off      SW2-1 on
  1-2 off        2-2 on
  1-3 off        2-3 off
  1-4 off        2-4 on
  1-5 on         2-5 off
  1-6 on         2-6 off
  1-7 on         2-7 off

Put the TERMINAL/MODEM jumper pointing up at 'MODEM'


Serial cable wiring
PC (DB-9)     Apple (DB-25)

        2 - 2
        3 - 3
        4 - 8
        5 - 7


The program SENDDISK is the B-file image from the Apple. Whip up your
modem program and file-transfer it to your Apple. If not possible then
send it up the serial cable !!   Otherwise as your last ditch effort
the source (sourcea.doc) does have all the hex bytes to punch in from
the monitor.

GETDISK.PAS is (sloppily) written in Turbo Pascal 7.0, but will compile
under earlier versions. It makes an initial (empty) output file, then
positions within the file top-down to write the tracks. The Apple reads in
descending order for speed reasons so the ambiguity on the PC side with the
file creation is worth it.  While this obviously could have happened
in a much simpler fashion, the PC can afford the time overhead for the
bullshit factor where the Apple certainly can not. So the Apple side was
written for raw speed whereas the PC side does the garbage collection,
clean-up, and the rest of the B.S. Also, to get the super turbo throughput,
use a souped-up dos on the Apple (e.g. GlitchDos, SchizoDos, Krack-Dos,
Z-Dos, Pig-Dos, Diversi-Dos, FastDos, NukeDos, David-Dos etc.).

It is best to run GETDISK on the PC-end first and then BRUN SENDISK on
the apple. This way the PC is prepared for the initial header byte sent
by the Apple. I have tried it the other way, but it seems if the Apple
end starts first it occasionally loses the first byte in the transmit
buffer. One of these days I will write in bidirectional negotiation
such that it can handle situations like this. The Apple sends totally blind
and expects to PC to be ready when it starts.

It's not fancy, but I have done over 100 disks with no errors so it will
get the job done and done fast provided you make the hardware requirements.

I know a lot of you folks out there are quite the kick-butt programmers
so definitely feel free to email me comments/suggestions/ideas/upgrades.
And thanks for participating in alt.emulators.ibmpc.apple2 - it's real cool
to see folks that can at least appreciate these true classics and still have
some fun with the software. I sure do!

Well good luck and watch for a finalized release someday!
(This is barely a beta-test as of yet).

- Rich Williamson (glitch@eskimo.com)









