home *** CD-ROM | disk | FTP | other *** search
/ Amiga Elysian Archive / AmigaElysianArchive.iso / emulate / qdos4ami.lha / docs / MoreChanges.doc < prev    next >
Text File  |  1990-06-24  |  5KB  |  109 lines

  1.  
  2. QL <--> AMIGA DISK ACCESS.
  3.  
  4. My brother and I have now completed all the routines necessary to read QL
  5. disks on the Amiga side and we are working on a routine to allow you to
  6. write to QL disks from Amiga DOS at this very moment. The routines are as
  7. follows:
  8.  
  9. QLdir [-d<devicename>] <QL drive>    Displays the directory of the QL disk
  10.                                      in the specified drive.
  11.                                      i.e. 'QLdir flp2_'.
  12.  
  13. QLtoAM [-d<devicename>] <QL filespec> <Amiga filespec>
  14.                                      Copies   a file from a QL disk to an
  15.                                      Amiga drive, directory or file.
  16.                                      i.e. 'QLtoAM flp2_QDOS_asm ram:'
  17.  
  18. QLdiskcopy [-d<devicename>] <QL drive src.> <QL drive dest.>
  19.                                      Makes an exact copy of a QL disk,
  20.                                      i.e. 'QLdiskcopy flp1_ flp2_' makes a
  21.                                      duplicate copy of the disk in the first
  22.                                      drive to the disk in the second.
  23.                                      The second disk does not need to be
  24.                                      formatted.
  25.  
  26. If the the devicename is omitted 'messydisk.device' is assumed.
  27.  
  28. It  should be emphasised that for these routines to work, 'messydisk.device'
  29. must be in the current 'devs:' directory.
  30.  
  31. When you insert a QL disk into an Amiga drive the Amiga will examine the disk,
  32. and if the WorkBench is loaded will show the disk as BAD: You should always
  33. wait until the Amiga is completely finished with the disk before trying any
  34. of the routines - if you do not wait, the routines will simply not work.
  35.  
  36. We initially had problems getting the messydisk.device to read QL disks. This
  37. was tracked down to a tenth sector header having been written on the first
  38. track of every QL formatted disk . Consequently the messydisk.device assumed
  39. QL disks to have been formatted with ten sectors per track. We patched the
  40. device driver so that if no data block follows a sector header, the sector is
  41. assumed not to be valid.
  42.  
  43. A68K COMPATIBLE QDOS SOURCE
  44.  
  45. Also included on disk is a program written by my brother called 'StripCode'.
  46. This literally strips the code out of an Amiga assembled file so that you can
  47. run it in the QDOS environment. This has allowed us to convert all of your
  48. QDOS source files, to enable them to be assembled using the A68K amiga
  49. assembler.
  50.  
  51. You'll find an execute file for each rom on the main directory of the disk
  52. labelled 'QDOS source - A68K compatible'. If you decide to re-assemble a
  53. particular rom, you will need to 'CD' to this disk and then 'execute' the
  54. relevant '.x' file i.e.
  55.  
  56. CD df1:
  57. execute FLOPPY.x
  58.  
  59. The result of this assembly will be placed in the roms directory on the same
  60. disk.
  61.  
  62. There are a few problems with a68k that you should be aware of.
  63.  
  64. 1. Mode 6 addressing has to have the byte offset before the brackets i.e.
  65.  
  66.    USE     MOVE 0(a6,d1),d2          and NOT          MOVE (a6,d1),d2
  67.  
  68. 2. MOVEP.W is only allowed on even addresses. This seems to be a fault with
  69.    A68k. As a result I had to comment out 2 MOVEP instructions in the QDOS
  70.    source. I assumed that they were no longer used - being left over from the
  71.    QL rom. You may know different.
  72.  
  73.  
  74. In order to fit all these routines on the QDOS startup disk, it was necessary
  75. to move all source files onto the other disk.
  76.  
  77. MORE BUGS
  78.  
  79. We have not made any more alterations to QDOS as we've been busy with the
  80. transfer programs, however there are a few bugs that need attention.
  81.  
  82. Direct sector access does not seem to work fully. I wrote a basic program to
  83. copy a disk sector by sector from one drive to another, but as soon as the
  84. second side of the disk was accessed, QDOS bombed spectacularly. Suspecting
  85. some aspect of BASIC to be at fault, I tried the DiskCopy routine built into
  86. the DISK_ED program - the same fault ocurred. I have no idea what the
  87. problem is.
  88.  
  89. We had great difficulty reading your QL source and utilitiy disks in the QDOS
  90. environment on the Amiga. Certain sectors consistently failed to read
  91. properly, causing corruption on one or two files. The disks worked fine on
  92. a real QL and read OK using QLdir, QLtoAM etc. This seems to imply that the
  93. FLOPPY2_cde is not as good at reading QL disks as either a real QL or the
  94. messydisk.device. Eventually I used my own QL to make new copies of the two
  95. disks, after which the problem disappeared.
  96.  
  97. As a consequence Frank and I are now looking at re-writing certain sections
  98. of the FLOPPY2_cde to make them more like messydisk.device. In particular the
  99. messydisk.device uses disk SYNC mode to align itself to every sector; the
  100. hardware disk controller on the QL also presumably works this way.
  101.  
  102. Therefore if we change FLOPPY2_cde to use SYNC mode and the patch we devised
  103. for the messydisk.device, all three ways of accessing a QL disk will be
  104. compatible.
  105.  
  106. MARK J SWIFT - 25 JUNE 1990
  107.  
  108.  
  109.