home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / SIMTEL / CPMUG / CPMUG049.ARK / CDOS.DOC < prev    next >
Text File  |  1984-04-29  |  10KB  |  193 lines

  1.  
  2.           GENERAL NOTES ON CDOS' UNDOCUMENTED FEATURES
  3.  
  4. When  CDOSGEN asks you whether the drive is large [L] or  small 
  5. [S] try answering 'X'.  You will then get a menu for  Shugarts, 
  6. etc.
  7.  
  8. You  can  use  the  'SYS.DIR'  FCB  create call of CDOS 1.07 or
  9. higher to access  the  directory  regardless  of  its  size  or
  10. position  on the disk.  Although the FCB created with this call
  11. is write protected, you can reset that  attribute  bit and  can
  12. then write to the directory as well as read it.
  13.  
  14. Disk Labels.
  15. A directory label is written to the disk by STAT and is used to 
  16. ascertain  the  storage capacity of the disk and the number  of 
  17. directory entries (64 to 512).
  18. The last 8 bytes of the first boot loader sector (usually  side 
  19. 0  track 0 sector 1) are always recorded in single density  and 
  20. contain eight bytes indicating the type of disk to the BIOS, eg
  21.      LGSSSD
  22. for Large (8"), Single Sided, Single Density
  23. or   LGDSDD
  24. for 8" Double Sided, Double Density diskettes (1.2 MBytes)
  25.  
  26. STAT  2.15  was written for a WD1797 FDC chip (it  records  the 
  27. side  numbers  into the address fields) although a  WD1793  was 
  28. eventually used.  CDOS 2.36 does not support the 1797, however, 
  29. and this chip will not work instead of the 1793 on the 16FDC.
  30.  
  31. Double Density Recording Format:
  32. 16 sectors of 512 bytes are used per track.(MFM)
  33. A 12 interleave is used (1,C,7,2,D,8,3,E,9,4,F,A,5,10,B,6)
  34. Although  a 4 interleave can be read as COM files in my 4MHz no 
  35. wait state system a 6 interleave speeds throughput by a  factor 
  36. of  two.  (use 1,2,3,4,5,6,C,D,E,F,10,7,8,9,A,B).  INIT can  be 
  37. modified  to  do  this..  if  interested write me  and  I  will 
  38. disclose all....
  39.  
  40. Finally,  if  someone has deciphered how to call the 2.36  BIOS 
  41. directly without getting error returns I am all ears...
  42.  
  43. Trevor Marshall,
  44. 26 Mirrelia Way, Ferndale, Western Australia 6155
  45. phone International (619)4576049   or national (09)457 6059
  46. 14 December 1980
  47.  
  48. Notes added by:    Chuck Weingart        February 1, 1981
  49.         2152 W. Iowa
  50.         Chicago, Ill 60622
  51.  
  52. On the "X" feature of CDOSGEN, described above, you must respond
  53. to  several  questions,  such  as  "Fast  or  Slow",  "Single or
  54. Double".  All Shugart type drives are "slow".   "Double"  drives
  55. are  those like the Persci, that have one seek mechanism for two
  56. different disks, or when you are  using  a  Shugart  851  double
  57. sided  drive as two "drives" (one "drive" on each side, requires
  58. rewiring the cable).
  59.  
  60. In CDOSGEN 2.36, when you respond "S" to  the  drive  type,  you
  61. again  get  a "Fast or Slow?"  question.  MPI drives are "fast",
  62. and Shugart 400 and Wangco drives are "slow" in my experience.
  63.  
  64. It is easy to attach one of the new Shugart  801/851  drives  to
  65. the 4FDC, just use the "TS" data separator (install the jumper).
  66. If  you  are  trying  to use an old 800-1 or 801 drive, the data
  67. separator adjustments probably have to be changed to  work  with
  68. the 4FDC.
  69.  
  70. To attach the MPI model 52 double-sided 5" drive to a 4FDC, just
  71. add  a jumper on the 4FDC from J4 pin 21 to J2 pin 32, if one is
  72. not already there.  Then gen a 5"  double-sided  drive  at  that
  73. position  with 2.17 or greater, initialize some disks with INIT,
  74. and write a double-sided label with STAT, and you are  ready  to
  75. go. I converted to double-sided in one hour, and it's great!
  76.  
  77. To  attach  a  Shugart 851 to the 4FDC, install the TS jumper as
  78. noted above.  Disconnect the wires 2, 12, 18, and  32  from  the
  79. cable (at the drive end is easiest).  Connect the Shugart pin 12
  80. to  the 4FDC pin 2 (for side select), Shugart pin 30 to 4FDC pin
  81. 4 (for Drive select 3), and Shugart pin 32 to 4FDC pin  18  (for
  82. Drive select 4).  Connect a jumper from J4 pin 21 to J3 pin 2 if
  83. one  is  not  already  there.   Use  the "X" feature and 2.17 or
  84. greater, initialize disks with INIT, and label  the  disks  with
  85. STAT for double-sided operation.
  86.  
  87. CDOS  1.07  can  be  used  unchanged  on the California Computer
  88. Systems 2422 disk controller if there is a  Cromemco  compatible
  89. console  port  at  0,  such  as a 3P + S, Cromemco TUART, or the
  90. console on the Cromemco SCC.  The latter will have to  have  two
  91. modifications  made:  the  prom (U25) must be altered to put the
  92. parallel port at address 04 somewhere else  (such  as  0E),  and
  93. there  must  be  a 220 ohm resistor in series with U52 pin 6 (to
  94. delay PWR) and a 400pf capacitor from U52 pin 6 to  ground  (pin
  95. 8).
  96.  
  97. CDOS 2.17 can be used on  the  CCS  2422  controller  in  single
  98. density  if  one  uses  the  1.07  bootstrap  loader.   The 2.17
  99. bootstrap will not work without a hardware change  on  the  2422
  100. board,  and  it is somewhat lengthy.  There will be a persistent
  101. problem of read errors on track 2 sector 1, but this is  due  to
  102. the  WD1793 chip.  Just Retry the operation and it will clear up
  103. every time.
  104.  
  105. CDOS 2.17 has a command, VERIFY, with  one  of  three  operands.
  106. VERIFY ON will enable read-after-write verification on the disk.
  107. VERIFY  OFF will disable that, and just VERIFY will indicate the
  108. status of the feature.  VERIFY is not present in CDOS 2.36.
  109.  
  110. CDOS 2.17 and up has  several  undocumented  commands:  REM  and
  111. ATTR.   ATTR  is  the  same  as  ATRIB, and REM is for inserting
  112. remarks into your batch file, because the REM line is ignored.
  113.  
  114. Although  it  isnt  currently  stated  in  any   Cromemco   doc-
  115. umentation  that  I have seen (and I have written Cromemco twice
  116. about it with no answer),  all  versions  of  Cromemco  software
  117. shipped  since  about  February 1980 come with the system genned
  118. for 64K.  If you have a copy of CDOS 1.07, you can run the  2.17
  119. or  2.36  versions  of CDOSGEN under 1.07 in order to generate a
  120. smaller system.  The new versions of CDOSGEN will not run  in  a
  121. 32K system, tho, they are quite a bit bigger.
  122.  
  123. For users of non-Cromemco memory boards that want to get a "full
  124. house"  (64K),  here is how to add a Phantom signal to the 4FDC.
  125. Add a jumper from IC46(74367) pin 15 to IC31(2708) pin 20.   Add
  126. a  jumper from IC46 pin 12 to pin 8 (ground).  Add a jumper from
  127. IC46 pin 11 to S100 pin 67 (Phantom output).  The  memory  board
  128. addressed  at  C000H  must  respond  to  the  Phantom signal, of
  129. course.  The RES switch (SW2) must be set on.  This way, you can
  130. use the 4FDC RDOS program until CDOS is booted, then  the  EPROM
  131. will  be turned off and the memory board "behind" it can then be
  132. used.  This method must be used even in  many  boards  that  are
  133. advertised  as  "Cromemco banking compatible" because the boards
  134. do not have the feature of being bank-disabled upon power-up.
  135.  
  136. CDOS 2.17 now takes about 11K minimum for itself.  CDOS 2.36 now
  137. takes 14K minimum.
  138.  
  139. STAT for 2.36 has several undocumented switches: /M, /N, /E, and
  140. /EZ.   STAT/M  allows  you to change the "master" drive (the one
  141. that CDOS looks at if it cant find  a  program  on  the  current
  142. drive).   STAT/N  gives  a  5-up directory display.  STAT/E is a
  143. directory erase, with prompting.  STAT/EZ erases, and no prompts
  144. as I recall.
  145.  
  146. Jordan Siedband tells me that 2.36  will  not  read  CP/M  disks
  147. correctly,  cause  unknown.   Keep  a copy of 2.17 around if you
  148. want to continue to use CPMUG stuff.  There is one thing that is
  149. obvious to anyone who has looked: CP/M and CDOS directories  are
  150. compatable  only in  "1.4 mode", that is, no system flags of any
  151. kind set in the directories,  either  CP/M  2.2  flags  or  CDOS
  152. flags. When they  are  not  compatable, the one operating system
  153. will usually clobber directory entries in the  other  format  or
  154. refuse to work.
  155.  
  156. CDOS 1.07 and up have an  undocumented  error  message:  LOGICAL
  157. DISK ERROR n.  This message is produced if you do something like
  158. request  a  track that does not exist, or a sector that does not
  159. exist, or try an operation that is impossible for the  drive  to
  160. perform.   You will generally get these messages only if you are
  161. trying to do disk I/O thru the "BIOS" directly.
  162.  
  163. There is a small bug in the Divide Integers CDOS call  (8AH)  in
  164. 2.17  -  the BC register will be altered.  No problem in 1.07 or
  165. 2.36 as far as I can tell.
  166.  
  167. All  versions  of  CDOS have the CP/M "BIOS" jump table in them,
  168. but none of them use it.  That is, you can jump to  the  entries
  169. in this table, but cannot modify the jump addresses in the table
  170. and  expect it to work.  The first entry in the table, the "cold
  171. start" jump, is a jump to itself, because CDOS never  uses  this
  172. entry,  and  the  user  is not supposed to use it, either.  This
  173. makes routines like FAST rather difficult  to  use  under  CDOS.
  174. Some CPMUG programs set themselves below the operating system by
  175. changing the address at location 6, but that will not work under
  176. CDOS.   You  can use the CDOS call 97H to do the same thing, see
  177. the manual for details.
  178.  
  179. All  versions of CDOS I have used  try  to initialize all  TUART
  180. ports in the system.  That is, they will output to ports 12, 13,
  181. 22,  23,  52,  53,  62, ...  F2, and F3.  If you have some other
  182. hardware at those addresses, good luck.  CDOS will also zero out
  183. the Dazzler port at 0E every time it starts disk I/O.
  184.  
  185. CDOS 2.17 and up will disable all interrupts when doing disk I/O
  186. and never  re-enable.   This  means  you  can't  use  the  timer
  187. interrupts available in the TMS5501.
  188.  
  189. If anyone figures out what attributes S and U are, I would like
  190. to know.  They can be set, reset, and listed,  but dont seem to
  191. make any difference to the operating system. Could they be used
  192. for Hard disk files?
  193.