[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ADT for the Comm Card, plus a new utility for .DSK image files
In article <392511D4.CDA57EBA@swbell.net>,
Rubywand <rubywand@swbell.net> wrote:
> Paul Schlyter writes ...
>
>> Some new stuff is now available for download at
>>
>> http://hotel04.ausys.se/pausch/apple2/dsk.html
> ....
>> ADT (Apple Disk Transfer) for Apple Comm Card
>> http://hotel04.ausys.se/pausch/apple2/ADT_SC.ZIP
>>
>> ADT for Apple Communications Card
>>
>> This is an adaptation of Paul Guertin's ADT (Apple Disk Transfer) utility
>> so it runs on the older Apple Communications Card.bit rate.
> ....
>>
>> ADT_SC.ZIP contains the files below:
>>
>>
>> ADT_SC.DSK .DSK image of S-C Asm source for ADT:
>> Super Serial & Comm Card versions
>> Text files:
>> ADT_SS.ASM ADT for Super Serial Card: S-C Assembler source
>> ADT_CC.ASM ADT for Comm Card (hi speed only): S-C Assembler source
>> ADT.DIF Differences between ADT_SS.ASM and ADT_CC.ASM
>> ADT_SS.BIN ADT for Super Serial Card: hex dump of executable
>> ADT_CC.BIN ADT Comm Card (hi speed only): hex dump of executable
> ....
>
> Finally got a chance to try out your new modified ADT on our II+. It has
> a 1983 Computer Associates J13 serial card. The card would not work with
> regular ADT because it is not SSC-compatible.
>
> The text of the dump you included in your 27 April posting was copied and
> saved as a (PC) Text file. Using Hyperterm (set to screen out LF's in line
> enders), the dump was sent to the II+ at 300 baud. It seemed to arrive okay
> and saved itself as ADT.CC on the DOS 3.3 diskette.
>
> At 19,200 baud, ADT.CC worked like a champ! There was no problem getting
> a PC directory; and, both received and sent disk images checked out.
Could you please share how you patched your CommCard to get 19200 bps?
I'm running my own CommCard at only 4800 bps.
> The same test was done with the ADT.CC from the ADT_SC.DSK included in the
> ADT_SC.ZIP file mentioned above. It checked out fine, too (at 19,200 baud).
>
> A checksum run on the two ADT.CC files showed a difference. What I'm
> wonder is whether the difference between the files is important. Like,
> is there a bug in the original April 27 version or did you make just
> cosmetic changes to get the newer ADT.CC?
There's no bug in either of them I know about. Here's the story of why
I produced two different ADT.CC:
Paul Guertin's assembly source file for ADT was written for the Merlin
assembler, which I didn't have - and I couldn't transfer it to my
Apple II without a working ADT for the CommCard. So I wanted to
convert it to S-C Assembler syntax: on my PC I added line numbers in
ascending order to the Merlin assembler source, then I transferred
that text file to an Apple II floppy using ASCII Express. There were
really four text files, which I transferred one by one. When they
were transferred to the Apple II floppies, I EXEC'ed them, one after
another, while in the S-C Assembler, then I SAVE'd it as an S-C
Assembler source file (file type "I").
Then I assembled it, and got many syntax errors, all of them being
due to different sytax between the Merlin and the S-C assemblers. I
corrected the errors, one by one, and finally the source assembled
cleanly. Then I compared the binary I got with Paul Guertin's
binary. Unforutnately they didn't match.. :-( ... so I had to locate
a few other small incompatibilities between the Merlin and S-C
assemblers. I didn't have to change much though, and after a little
while my assembly source didn't just assemble cleanly, but it
also produced a binary identical to Paul Guertin's.
Next, I examined the assembler code and decided where I needed to
make changes. My first aim was minimal changes: only get it to work
on the CommCard, and only at the hi speed of the CommCard. After
a few hours I had a working ADT.CC binary. I tested it by
transferring disks, and it worked flawlessly.
Now I wanted to get fancy: I started modifying the user interface,
and I added conditional assembly so that the same assembly source
could generate both SuperSerial and CommCard versions of ADT. But
at some point something went wrong: suddenly my assembly source
generated tons of assembly errors. Upon examining it I found that
it had been partially thrashed. I don't know if this was due to
a bug in the S-C Assembler or a hardware glitch in my 20-year old
Apple II+. Unfortunately, I had no backups, so now I had a
working ADT.CC but no working source code.
I put this project aside for awhile, and started transferring disk
images. I had promised to make a Commcard version of ADT availabe,
which I did by posting a hex dump of it in Apple II Monitor format.
And I transferred more disk images.... and more and more and more,
until I had transferred all my 16-sector disk images. Then I decided
to recreate that missing source file: I still had my original notes
on paper, so it didn't take very long to reproduce this. But this
time I was careful to make backups regularly.
After having produced what I believe is a copy of my earlier, lost,
source of ADT-CC, I decided to be a little fancy: on the setup screen
I changed an ocurrences of "SSC" to " CC", and I also made an
indication that the CC always ran at its hi speed -- that cosmetic
change didn't exist in the earlier ADT.CC.
Using FID (my new utility writtne in C, not the classical Apple II
program of the same name) I extracted hex dumps of the two versions
of ADT.CC, then I ran a text comparison utility. They are of the
same length, and only 7 bytes differ:
0803: 4C 0E 08 05 00 01 05 03 00 00 00 D8 20 84 FE 20
0803: 4C 0E 08 05 00 01 05 01 00 00 00 D8 20 84 FE 20
^^
0853: 88 C0 C9 D3 D0 06 20 6D 0B 4C 48 08 C9 D2 D0 06
0853: 8F C0 C9 D3 D0 06 20 6D 0B 4C 48 08 C9 D2 D0 06
^^
0F03: D3 D3 C3 A0 D3 CC CF D4 8D D3 D3 C3 A0 D3 D0 C5
0F03: A0 C3 C3 A0 D3 CC CF D4 8D A0 C8 C9 A0 D3 D0 C5
^^ ^^ ^^ ^^ ^^
And they're both working, as both you and I have noticed. Yyes, I
tested transferring some disks with the new version, comarping the
transfers to transfers made with the old version, before I posted
the source of ADT.CC
------------------------------------------------------------------------
My only Apple II disks which remain to be transferred are a few
13-sector disks, plus some "copy protected" disks. They'd probably
work fine as "nib" disk images -- but does anyone know a piece of
software which works like ADT but which transfers any kind of disk,
and produces a "nib" disk image on the PC side? Yes, I expect that
it'll require the Super Serial card, and will need modification to
work with the Comm Card, so it's preferable if assembly source
code is available on the Apple II side.
--
----------------------------------------------------------------
Paul Schlyter, Swedish Amateur Astronomer's Society (SAAF)
Grev Turegatan 40, S-114 38 Stockholm, SWEDEN
e-mail: pausch at saaf dot se or paul.schlyter at ausys dot se
WWW: http://hotel04.ausys.se/pausch http://welcome.to/pausch