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 / 4FDCBIOS.DOC < prev    next >
Text File  |  1984-04-29  |  4KB  |  82 lines

  1.     CBIOS for Cromemco 4FDC or CCS 2422 disk controller
  2.  
  3.     4FDCBIOS.Z80  and  4FDCBOOT.Z80 are the bootstrap and Cbios
  4. for running CP/M 2.x with a Cromemco 4FDC controller  board,  a
  5. Z80*  cpu,  and  minimum  20K  of  RAM.   CP/M  1.4  can also be
  6. supported if some of the 2.x-only code is removed. This code is
  7. also applicable to,  and tested upon,  the California Computer
  8. Systems disk controller board model 2422, if a serial port at 0
  9. compatible with CDOS is used (a 3P + S, or a Cromemco TUART, or
  10. the serial port on a Cromemco Single Card Computer.)
  11.  
  12.     This source is capable of supporting three types of  disks:
  13. 5  inch  (such  as  Wangco),  8  inch  (such  as  Shugart), and
  14. single-arm voice-coil 8 inch (such as Persci).  Between one and
  15. four  drives  are supportable, but no intermixing.  There is no
  16. current support for  double-sided  drives,  but  it  should  be
  17. easily addable.
  18.  
  19.     There is no support for the double density mode in the Cro-
  20. memco 16FDC, or the CCS 2422. This bios is limited to 128 byte
  21. sectors.
  22.  
  23.     The  8  inch  format  is  compatable with all CP/M and CDOS
  24. versions currently known.  The 5 inch format  (skew  of  5)  is
  25. compatable with all 5 inch CDOS formats currently used.
  26.  
  27.     It  is  assumed  that  the  main  console, at port zero, is
  28. already initialized by RDOS or some other program.  If not, you
  29. can insert the necessary code into 4FDCBOOT.Z80.
  30.  
  31.     As additional features, the routine  contains  an  optional
  32. reader-punch  and  printer  support  routine, via TUART and PRI
  33. boards, and a standard  missing  memory  check.   The  external
  34. interrupt  of the TMS 5501 is enabled on the 4FDC, which causes
  35. a 0FF interrupt, which is the same as a missing  memory  board.
  36. I  like  to use this to break out of loops without losing CP/M.
  37. If this is not desired, it is easily removed from the code.
  38.     Also, in a commented section is a small modification so the
  39. DEL key (07FH) is changed to a Control-U by the  CBIOS,  for
  40. those who have Backspace on the terminal.  I do not like to use
  41. two  hands  just to be able to erase a mistake.
  42.     The source is for Cromemco Z80  assembler,  and  there  are
  43. five  constants  in  the  front to be changed to select various
  44. options.
  45.  
  46.     First, select the type of drive: If  5  inch,  LARGESW  and
  47. PERSCISW  should be 0.  If 8 inch Shugart, LARGESW should be 1,
  48. PERSCISW 0.  If Persci, PERSCISW should be 1.   LARGESW  should
  49. also be altered in 4FDCBOOT.Z80.
  50.  
  51.     Next, NUMDRIVES should be 1 to 4 for 5" and 8" drives, and
  52. 2 or 4 for Persci double-disk drives.
  53.  
  54.     Then, to have support for printer and TUART, BIGIOSW should
  55. be  1,  otherwise 0.  You might also wish to change BAUDRATE to
  56. the desired value for the reader-punch (110 baud is supplied).
  57. Note: if the CCS 2422 is used, it may be necessary to supply an
  58. initialization and bootstrap routine for the console port, if
  59. that is on a TUART addressed at zero. The current code does not
  60. initialize the port at zero, assuming that has been done before
  61. the disk was booted. The code for the TUART referred to here is
  62. for an additional TUART port, not the console port, but it is
  63. easy to add the necessary code to initialize the console port
  64. also.
  65.  
  66.     Finally, set BEGINADR to the start of  the  CBIOS.   It  is
  67. supplied as 0E400, which is for a 64K system.  This should also
  68. be altered in 4FDCBOOT.Z80.
  69.  
  70.     The  switches  on  the 4FDC are set exactly as described in
  71. the board manual.  For a system  over  48K,  the  ROM  must  be
  72. disabled  upon  bootstrapping.   For a smaller system, the RDOS
  73. can stay in, or not, as you desire.  For a CCS 2422 controller,
  74. the same statement applies, except the 2422 ROM need not be dis-
  75. abled unless the system memory exceeds 60K.
  76.  
  77.     4FDCBOOT.HEX and 4FDCBIOS.HEX are supplied, assembled from 
  78. the source files. They are set for a 64K version of CP/M. You
  79. can use them in another system if you can put about 8K at the
  80. upper end of memory (E000) and maybe 16K at the low end (0000)
  81. to be able to re-assemble the files.
  82.