home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Elysian Archive
/
AmigaElysianArchive.iso
/
emulate
/
qdos4ami.lha
/
docs
/
MoreChanges.doc
< prev
next >
Wrap
Text File
|
1990-06-24
|
5KB
|
109 lines
QL <--> AMIGA DISK ACCESS.
My brother and I have now completed all the routines necessary to read QL
disks on the Amiga side and we are working on a routine to allow you to
write to QL disks from Amiga DOS at this very moment. The routines are as
follows:
QLdir [-d<devicename>] <QL drive> Displays the directory of the QL disk
in the specified drive.
i.e. 'QLdir flp2_'.
QLtoAM [-d<devicename>] <QL filespec> <Amiga filespec>
Copies a file from a QL disk to an
Amiga drive, directory or file.
i.e. 'QLtoAM flp2_QDOS_asm ram:'
QLdiskcopy [-d<devicename>] <QL drive src.> <QL drive dest.>
Makes an exact copy of a QL disk,
i.e. 'QLdiskcopy flp1_ flp2_' makes a
duplicate copy of the disk in the first
drive to the disk in the second.
The second disk does not need to be
formatted.
If the the devicename is omitted 'messydisk.device' is assumed.
It should be emphasised that for these routines to work, 'messydisk.device'
must be in the current 'devs:' directory.
When you insert a QL disk into an Amiga drive the Amiga will examine the disk,
and if the WorkBench is loaded will show the disk as BAD: You should always
wait until the Amiga is completely finished with the disk before trying any
of the routines - if you do not wait, the routines will simply not work.
We initially had problems getting the messydisk.device to read QL disks. This
was tracked down to a tenth sector header having been written on the first
track of every QL formatted disk . Consequently the messydisk.device assumed
QL disks to have been formatted with ten sectors per track. We patched the
device driver so that if no data block follows a sector header, the sector is
assumed not to be valid.
A68K COMPATIBLE QDOS SOURCE
Also included on disk is a program written by my brother called 'StripCode'.
This literally strips the code out of an Amiga assembled file so that you can
run it in the QDOS environment. This has allowed us to convert all of your
QDOS source files, to enable them to be assembled using the A68K amiga
assembler.
You'll find an execute file for each rom on the main directory of the disk
labelled 'QDOS source - A68K compatible'. If you decide to re-assemble a
particular rom, you will need to 'CD' to this disk and then 'execute' the
relevant '.x' file i.e.
CD df1:
execute FLOPPY.x
The result of this assembly will be placed in the roms directory on the same
disk.
There are a few problems with a68k that you should be aware of.
1. Mode 6 addressing has to have the byte offset before the brackets i.e.
USE MOVE 0(a6,d1),d2 and NOT MOVE (a6,d1),d2
2. MOVEP.W is only allowed on even addresses. This seems to be a fault with
A68k. As a result I had to comment out 2 MOVEP instructions in the QDOS
source. I assumed that they were no longer used - being left over from the
QL rom. You may know different.
In order to fit all these routines on the QDOS startup disk, it was necessary
to move all source files onto the other disk.
MORE BUGS
We have not made any more alterations to QDOS as we've been busy with the
transfer programs, however there are a few bugs that need attention.
Direct sector access does not seem to work fully. I wrote a basic program to
copy a disk sector by sector from one drive to another, but as soon as the
second side of the disk was accessed, QDOS bombed spectacularly. Suspecting
some aspect of BASIC to be at fault, I tried the DiskCopy routine built into
the DISK_ED program - the same fault ocurred. I have no idea what the
problem is.
We had great difficulty reading your QL source and utilitiy disks in the QDOS
environment on the Amiga. Certain sectors consistently failed to read
properly, causing corruption on one or two files. The disks worked fine on
a real QL and read OK using QLdir, QLtoAM etc. This seems to imply that the
FLOPPY2_cde is not as good at reading QL disks as either a real QL or the
messydisk.device. Eventually I used my own QL to make new copies of the two
disks, after which the problem disappeared.
As a consequence Frank and I are now looking at re-writing certain sections
of the FLOPPY2_cde to make them more like messydisk.device. In particular the
messydisk.device uses disk SYNC mode to align itself to every sector; the
hardware disk controller on the QL also presumably works this way.
Therefore if we change FLOPPY2_cde to use SYNC mode and the patch we devised
for the messydisk.device, all three ways of accessing a QL disk will be
compatible.
MARK J SWIFT - 25 JUNE 1990