home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols000 / vol041 / fdcbios.doc < prev    next >
Text File  |  1985-02-09  |  6KB  |  134 lines

  1.     CBIOS for Cromemco 4FDC/16FDC or CCS 2422 disk controller
  2.  
  3. FDCBIOS.Z8░ anΣ FDCBOOT.Z8░ arσ modification≤ oµ 4FDCBIOS.Z8░ anΣ ì
  4. 4FDCBOOT.Z8░ respectivel∙ froφ thσ CPMU╟ Use≥ Grou≡ Library« The∙ ì
  5. havσá beeεá modifieΣ t∩ correc⌠ problem≤ iε thσ origina∞á versioε ì
  6. witΦá respec⌠á t∩ usσ oµ thσ PerscΘ singlσ arφá voicσá coi∞á disδ ì
  7. drives« Thσ name≤ werσ als∩ changeΣ t∩ indicatσ tha⌠ thσ program≤ ì
  8. havσá beeεá additionall∙ checkeΣ ou⌠ witΦ thσá 16FDC«á Thσá majo≥ ì
  9. change≤ t∩ thσ origina∞ codσ werσ a≤ follows:
  10.  
  11.      a) corrected PIP A:=B:filename.ext
  12.         the original code improperly accessed the Persci 277/299 
  13.         single arm voice coil drives
  14.      b) corrected current drive assignment on a warm boot
  15.         the original code always reference drive A: after a
  16.         warm boot
  17.  
  18. FDCBIOS.Z8░á  anΣá  FDCBOOT.Z8░ arσ thσ bootstra≡ anΣá Cbio≤á fo≥ ì
  19. runninτ CP/═ 2.° witΦ ß Cromemc∩ 4FDC/16FD├ controlle≥  board¼  ß ì
  20. Z8░  CPU¼á  anΣ  minimuφ  20╦  oµ  RAM«á   CP/═  1.┤  caε als∩ bσ ì
  21. supporteΣá iµ somσ oµ thσ 2.x-onl∙ codσ i≤ removed«á Thi≤ codσ i≤ ì
  22. als∩ applicablσ to¼á  anΣ testeΣ upon¼á  thσ Californißá Compute≥ ì
  23. System≤á disδ controlle≥ boarΣ mode∞ 2422¼á iµ ß seria∞ por⌠ a⌠ ░ ì
  24. compatiblσ witΦ CDO╙ i≤ useΣ (ß 3╨ ½ S¼á o≥ ß Cromemc∩ TUART¼á o≥ ì
  25. thσ seria∞ por⌠ oε ß Cromemc∩ Singlσ CarΣ Computer.)
  26.  
  27. Thi≤á sourcσ i≤ capablσ oµ supportinτ threσ type≤á oµá  disks║á ╡  ì
  28. incΦá  (sucΦá  a≤  Wangco)¼á  ╕  incΦ  (sucΦ  a≤á  Shugart)¼á anΣ ì
  29. single-arφ voice-coi∞ ╕ incΦ (sucΦ a≤ Persci)«á  Betweeε onσá anΣ ì
  30. fou≥  drive≤  arσ supportable¼á bu⌠ n∩ intermixing«á  Therσ i≤ n∩ ì
  31. curren⌠á suppor⌠ fo≥  double-sideΣ  drives¼á  bu⌠  i⌠  shoulΣ  bσ ì
  32. easil∙ addable«á Therσ i≤ n∩ suppor⌠ fo≥ thσ doublσ densit∙á modσ ì
  33. iε thσ Cromemc∩ 16FDC¼á o≥ thσ CC╙ 2422«á Thi≤ bio≤ i≤ limiteΣ t∩ ì
  34. 12╕ bytσ sectors.
  35.  
  36. Thσá  ╕á  incΦá  forma⌠  i≤  compatablσ witΦ al∞á CP/═á anΣá CDO╙ ì
  37. version≤á currentl∙ known«á  Thσ ╡ incΦ forma⌠  (ske≈  oµ  5⌐  i≤ ì
  38. compatablσ witΦ al∞ ╡ incΦ CDO╙ format≤ currentl∙ used.
  39.  
  40. I⌠á  i≤á  assumeΣ  tha⌠  thσ  maiε  console¼á a⌠á por⌠á zero¼á i≤ ì
  41. alread∙ initializeΣ b∙ RDO╙ o≥ somσ othe≥ program«á  Iµ not¼á yo⌡ ì
  42. caεá inser⌠ thσ necessar∙ codσ int∩á FDCBOOT.Z80«á A≤á additiona∞ ì
  43. features¼á thσá routinσ  contain≤  aε  optiona∞ reader-puncΦ  anΣ  ì
  44. printe≥  suppor⌠  routine¼ viß TUAR╘ anΣ PR╔ boards«   Also¼ iε ß ì
  45. commenteΣá sectioε i≤ ß smal∞ modificatioε s∩ thσ DE╠ ke∙á (07FH⌐ ì
  46. i≤á changeΣá t∩ ß Control-╒ b∙ thσ  CBIOS¼á  fo≥ thosσá wh∩á havσ ì
  47. Backspacσ oε thσ terminal«  ╔ d∩ no⌠ likσ t∩ usσ tw∩  hand≤  jus⌠ ì
  48. t∩ bσ ablσ t∩ erasσ ß mistake«     Thσ sourcσ i≤ fo≥ Cromemc∩ Z8░  ì
  49. assembler¼  anΣ  therσ  arσ fivσ  constant≤  iε  thσ  fron⌠ t∩ bσ ì
  50. changeΣ t∩ selec⌠ variou≤ options.
  51.  
  52.     First¼á selec⌠ thσ typσ oµ drive║á Iµ  ╡  inch¼  LARGES╫  anΣ ì
  53. PERSCIS╫  shoulΣ bσ 0«á  Iµ ╕ incΦ Shugart¼á LARGES╫ shoulΣ bσ 1¼ ì
  54. PERSCIS╫ 0«á  Iµ Persci¼á PERSCIS╫ shoulΣ bσ 1«   LARGES╫  shoulΣ ì
  55. als∩ bσ altereΣ iε FDCBOOT.Z80.è
  56.     Next¼á NUMDRIVE╙ shoulΣ bσ ▒ t∩ ┤ fo≥ 5ó anΣ 8ó drives¼ anΣ ▓ ì
  57. o≥ ┤ fo≥ PerscΘ double-disδ drives.
  58.  
  59.     Then¼á t∩ havσ suppor⌠ fo≥ printe≥ anΣ TUART¼á BIGIOS╫ shoulΣ ì
  60. bσ  1¼á  otherwisσ 0«á  Yo⌡ migh⌠ als∩ wisΦ t∩ changσ BAUDRAT┼ t∩ ì
  61. thσá desireΣ valuσ fo≥ thσ reader-puncΦ (11░ bauΣá i≤á supplied)« ì
  62. Note║á iµ thσ CC╙ 242▓ i≤ used¼á i⌠ ma∙ bσ necessar∙ t∩ suppl∙ aε ì
  63. initializatioεá anΣá bootstra≡ routinσ fo≥ thσ consolσá port¼á iµ ì
  64. tha⌠ i≤ oε ß TUAR╘ addresseΣ a⌠ zero«á Thσ curren⌠ codσ doe≤á no⌠ ì
  65. initializσá thσ por⌠ a⌠ zero¼á assuminτ tha⌠ ha≤ beeε donσ beforσ ì
  66. thσ disδ wa≤ booted«á Thσ codσ fo≥ thσ TUAR╘ referreΣ t∩ herσá i≤ ì
  67. fo≥á aε additiona∞ TUAR╘ port¼á no⌠ thσ consolσ port¼á bu⌠ i⌠á i≤ ì
  68. eas∙á t∩á adΣ thσ necessar∙ codσ t∩ initializσ thσá consolσá por⌠ ì
  69. also.
  70.  
  71.     Finally¼á se⌠ BEGINAD╥ t∩ thσ star⌠ oµ  thσ  CBIOS«á   I⌠  i≤ ì
  72. supplieΣ a≤ 0E400¼á whicΦ i≤ fo≥ ß 64╦ system«á  Thi≤ shoulΣ als∩ ì
  73. bσ altereΣ iε FDCBOOT.Z80.
  74.  
  75.     Thσáá  switche≤á  oεá  thσá 4FDC/16FD├á arσá se⌠á exactl∙á a≤ ì
  76. describeΣá iε thσ boarΣ manual«á  Fo≥ ß systeφ  ove≥á  48K¼á  thσ  ì
  77. RO═á  mus⌠á  bσ disableΣ  upoε  bootstrapping«á   Fo≥á ßá smalle≥ ì
  78. system¼á thσ RDO╙ caε sta∙ in¼á o≥ not¼ a≤ yo⌡ desire«  Fo≥ ß CC╙ ì
  79. 242▓ controller¼á thσ samσ statemen⌠ applies¼ excep⌠ thσ 242▓ RO═ ì
  80. neeΣ no⌠ bσ disableΣ unles≤ thσ systeφ memor∙ exceed≤ 60K.
  81.  
  82.     FDCBOOT.HE╪ anΣ FDCBIOS.HE╪ arσ supplied¼á assembleΣ froφ thσ ì
  83. sourcσ files« The∙ arσ se⌠ fo≥ ß 64╦ versioε oµ CP/M« Yo⌡ caε usσ ì
  84. theφá iε anothe≥ systeφ iµ yo⌡ caε pu⌠ abou⌠ 8╦ a⌠ thσ uppe≥á enΣ ì
  85. oµá memor∙ (E000⌐ anΣ maybσ 16╦ a⌠ thσ lo≈ enΣ (0000⌐ t∩ bσá ablσ ì
  86. t∩ re-assemblσ thσ files.
  87.  
  88.     Thσá followinτá instruction≤á shoulΣ assis⌠á iεá thσá initia∞ ì
  89. start-up for a 64K CP/M system:
  90.  
  91.           1) modify FDCBIOS.Z80 where appropriate
  92.           2) create a copy of CPM64.COM from MOVCPM
  93.           3) reboot with CDOS generated at 48K
  94.           4) ASMB FDCBIOS HEX=F200
  95.              do not continue past this point if there are errors
  96.           5) DEBUG CPM64.COM
  97.           6⌐ ╞ FDCBIOS.HEX
  98.           7) R 4000
  99.           8) M 3200 34xx 1F80
  100.           9) M 980 2500 DC00
  101.          10) G F200
  102.          11) SYSGEN
  103.  
  104.      subsequent updates
  105.  
  106.           1) modify FDCBIOS.Z80 where appropriate
  107.           2) reboot CDOS
  108.           3) ASMB FDCBIOS HEX=F200
  109.           4) reboot CP/Mè          5) MOVCPM 64 *
  110.           6) SAVE 36 CPM64.COM
  111.           7) DDT CPM64.COM
  112.           8) IFDCBIOS.HEX
  113.           9) R4000
  114.           10⌐ M320░ 34x° 1F80
  115.                pls note the value 34xx will vary
  116.           11) IFDCBOOT.HEX
  117.           12) R4000
  118.           13) M4000 404F 900
  119.            control ^C 
  120.           14) SAVE 36 CP/M64.COM
  121.           15) DDT CP/M64.COM
  122.           16) control ^C 
  123.           17) SYSGEN
  124.  
  125.      for other memory size systems
  126.  
  127.           1) ED FDCBIOS.Z80
  128.           2) modify MEMSIZE
  129.           3) ED FDCBOOT.Z80
  130.                    modify MEMSIZE
  131.           4) reboot CDOS
  132.           5) ASMB FDCBIOS HEX=(top of memory-E00)
  133.           6) ASMB FDCBOOT HEX=0
  134.