home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / cpm / gendoc / ccs-disk.lbr / CCS-DISK.DZC / CCS-DISK.DOC
Text File  |  1988-11-09  |  8KB  |  210 lines

  1. Date: 12 Jan 1982 13:40:58-PST
  2. From: Ben Goldfarb
  3. To:   Lauren Weinstein
  4. Subject: California Computer System Disk Problems
  5.  
  6.         Following is a compendium of Bob Tate's experiences and
  7. frustrations with CCS products, including remedies for same.
  8.  
  9. Bob Tate's text follows:
  10. --------------------------------------------------------------------------
  11.  
  12.  
  13.         I have a IMSAI mainframe with the 2810 Z80 CPU, 2422A Floppy disk
  14. controller, and 2065 64K Dynamic RAM cards (The Expandable 1 from 
  15. Priority One). I have had a lot of trouble with the system, done a lot
  16. of work on it and talked to a lot of people about it. It seems to be
  17. working ok as of now.
  18.         The documentation is not that good, but it is better then Digital
  19. Researchs'. The section called "CCS'S CONTROLLER-UNIQUE SOFTWARE" is 
  20. where most of the info is. Application note 5 and 7 are of the most help.
  21. App. note 5 is how to Sysgen a system and create a system disk for other
  22. then single sided, single density disks. App note 7 is about 'RLOCBIOS.COM'.
  23. They do tell you how to calulate the DDT/Sysgen offsets. 
  24.         The BIOS software is worse than a shambles! It makes assumptions
  25. about the drives and operating enviroment that may not be right for your
  26. system or usage. It took a lot of looking to find a lot (BUT NOT ALL) of
  27. them.
  28. e.g.:   o BIOS  assumes that Double Sided drives will operate at 3 ms. 
  29.          step rate.
  30.         o If a drive is not ready it will lock up the system until it is,
  31.          or the operator resets the system.
  32.         o That the settling time after a step is not variable for different
  33.          drives ( I have MFE 700's which step fast, but settle slowly).
  34.         o That the owner doesn't have to understand what is going on in
  35.          the BIOS (because of a lack of commenting in the CCBIOS.ASM).
  36.         o Does not deselect the drive after it is finished with it. ( my
  37.          doors lock when the drive is selected!).
  38.  
  39.         Several of us have reworked the BIOS and added a lot of the
  40. comments that were missing (we are still working on it). The file has 
  41. grown from 33 K to 60 K so far (some for our custom drivers, most for
  42. the added comments). We also plan to convert it to Z-80 code after we
  43. have ironed all the bugs out.
  44.  
  45. SOFTWARE CHANGES:
  46. (This has helped on my system)
  47. ; FROM: LEWIS MOSELEY, JR.      11/8/81
  48. ;
  49. ; TO:   CCS DISK CONTROLLER USERS
  50. ;
  51. ; SUBJECT: FIX FOR SPURIOUS SELECT ERROR PROBLEM
  52. ;
  53. ; Most users of the CCS Disk System (and the CCS Deblocking
  54. ; BIOS known as CCBIOS.ASM) have run into the problem of
  55. ; receiving spurious "BDOS ERROR ON A: SELECT" messages, when
  56. ; drive A: is a legitimate drive and should not give the error.
  57. ; After putting up with ths for a year or so, I decided to fix
  58. ; it.  Some experimemtation defined the problem a little more
  59. ; specifically:  the spurious SELECT error occurred when:
  60. ;   1.  a drive had been running a double-density disk, and
  61. ;   2.  a single-density disk was inserted, and
  62. ;   3.  a call to the BDOS RESET function was made.  (Note: RESETs
  63. ;       result in the error; REBOOTs do not.), and
  64. ;   4.  the drive was re-selected
  65. ;
  66. ; So, the response to the RESET command failed to recognize the
  67. ; change from double- to single-density.  The problem was traced
  68. ; to the IDRD subroutine, and the code was added to correct the
  69. ; problem.  The following IDRD subroutine should be inserted in
  70. ; place of the existing one:
  71. ;
  72. ;
  73. IDRD5:  MVI     B,STEPI ;BUILD A STEP-IN COMMAND
  74.         CALL    EOJA
  75. IDRD:   LHLD    LUNIT
  76.         MOV     A,H     ;GET THE CUNIT VALUE
  77.         CMP     L       ;SEE IF SAME AS LUNIT
  78.         RZ              ;RETURN IF SO
  79. IDRD1:
  80. ;
  81. ;MODIFICATION LM6 OF 11/8/81, PART 1 (ADDITION TO EXISTING CODE)
  82. ;
  83. ;TRY EACH DENSITY TWICE BEFORE GIVING UP
  84. ;
  85.         LXI     H,IDTRY
  86.         MVI     M,3             ;TWO DENSITIES, TWICE EACH
  87.                                 ;(AND, YES, 3 IS CORRECT)
  88. IDRD0:                          ;LOOP REENTRY POINT
  89. ;
  90. ;END LM6 MODS, PART 1
  91. ;
  92.         MVI     C,80H   ;SET THE AUTO-WAIT BIT
  93.         CALL    SETUP
  94.         PUSH    H       ;SAVE POINTER
  95.         LXI     H,HLWAIT  ;WAIT FOR HEADS TO SETTLE
  96. IDRD3:  DCX     H
  97.         MOV     A,H
  98.         ORA     A
  99.         JNZ     IDRD3
  100.         LXI     H,IDSV  ;SET UP TO READ ADDRESS
  101.         MVI     B,2     ;SET UP TO READ 6(8) BYTES OF DATA
  102.         MVI     A,RDADD ;READ ADDRESS COMMAND
  103.         DI
  104.         CALL    RDAT
  105.         POP     H       ;RESTORE POINTER
  106.         JZ      IDRD2   ;JUMP IF GOOD READ
  107. ;
  108. ;MODIFICATION LM6, PART 2, OF 11/81  (REPLACES EXISTING CODE)
  109. ;
  110.         LDA     IDTRY
  111.         DCR     A               ;TRIED 4 TIMES YET?
  112.         RM                      ;ERROR RETURN IF SO, Z-FLAG RESET
  113.         STA     IDTRY           ;ELSE PUT BACK COUNTER
  114.         MVI     A,40H
  115.         XRA     M               ;TOGGLE DENSITY BIT (TO REG A)
  116.         MOV     M,A             ;PUT IT BACK IN MEMORY
  117.         JMP     IDRD0           ;AND TRY AGAIN
  118. ;
  119. ;END OF LM6, PART 2
  120. ;
  121. IDRD2:  IN      DSCTR   ;GET THE TRACK NUMBER
  122.         OUT     DTRCK   ;SET THE TRACK REGISTER
  123.         CPI     2       ;INSURE NOT ON TRACK 0 OR 1
  124.         JC      IDRD5   ;JUMP IF SO
  125.         MOV     A,M     ;REGET SELBITS
  126.         STA     LUNIT   ;UPDATE LAST USED UNIT
  127.         STA     CUNIT
  128.         INX     H       ;SET THE SECTOR SIZE
  129.         LDA     IDSV+3
  130.         MOV     M,A
  131.         CMP     A       ;SET Z-FLAG FOR GOOD RETURN
  132.         RET
  133. ;
  134. ;
  135. ;
  136. ;
  137. ;
  138. ; NOTE: IN THE DATA AREA AT THE END OF THE BIOS, ADD:
  139. ;
  140. IDTRY:  DS      1               ;TRIES TO LOG IN DISK
  141. ;
  142.         END OF MODS
  143. ----
  144.  
  145. HARDWARE CHANGES:
  146.         These are some of the things I found, so far.
  147. CCS 2422A FDC:
  148. If you are having trouble with baud rate changes in the monitor
  149. at high rates, remove the U40 (74LS30), the ROM 'FF' detection logic. I
  150. haven't tried this, but I was told that is screws up the timing for
  151. detecting the baud rate.
  152.  
  153. WRITE PROBLEMS WITH 2422 CONTROLER
  154.  
  155.         In a conversation with Martin Johnson of CCS on 22 June
  156. he said that by changing U10 (a 75468) to a 74LS06[sic -- see note] the write
  157. problem should be fixed. The 75468 does not reach TTL levels and
  158. so does not drive the TTL in the disk drives. 
  159.  
  160. NOTE: There is no such chip as the 74LS06 CCS recommended.  Use a 7406.
  161.  
  162. BIG N O T E !!!! The 75468 is NOT pin compatable with the 7406!!!!
  163.  Use a header to adapt the '06 to the socket and get 5v from an IC
  164.  near it. Make sure you get the pinouts correct!
  165.  
  166.         The new Rev. B board has this change on it, as well as
  167. a lot of the jumpers removed. Some of the new boards got out
  168. with out the new DOC. Request for updated DOC should be in 
  169. writing.
  170.  
  171. ----    This is from Paul Golobish in North Huntingdon, Pa. He is a CCS
  172. dealer and knows the hardware. I have done this and my system is more
  173. reliable now.
  174.  
  175. CCS 2065 RAM:
  176.         Set the pot to 6.5K for better results.
  177.         Turn Phantom off. Set the last (C0-FF) Bank to "BE" and the rest
  178. to "ME". Use the fastest RAM chips you can get.
  179. CCS 2810 CPU:
  180.         Boot enable & Mirror should be OFF. Look out for MWRT on the buss.
  181. If you have a front pannel, it generates it also.
  182.  
  183. ---- The following are from ROYAL OAK RCPM (Keith Petersen (W8SDZ))
  184.  
  185.         CCS 2422A DISK CONTROLLER FIX
  186.  
  187.                 Chuck Weingart
  188.                 2152 W Iowa
  189.                 Chicago IL 60622
  190.                 5/14/81
  191.  
  192. The California Computer Systems 2422 disk controller is claimed
  193. to be IEE 696 compatible, but it isnt quite, and it does not
  194. work with several good Z80 CPU boards, like the Cromemco SCC or
  195. the Vector Graphics Z80 Cpu. Here is the fix for that:
  196.  
  197. Break the connection to U36 Pin 12 (I did it under the 1793
  198. chip, where it is invisible). Connect a 400pf cap. between U36
  199. P12 and ground. Connect a 220 ohm resistor between U36 P12 and
  200. U6 Pin 6. This will delay the PWR* signal from the CPU until
  201. the 1793 has been selected and performed internal operations.
  202. The CCS CPU card has a delay of 62ns on the PWR signal, but
  203. that delay is quite longer than the IEEE specs, and other IEEE
  204. compatible boards do not have the delay necessary to make the
  205. 1793 chip work right.
  206.  
  207.         I hope some of this helps. If there is anything else I can do
  208. to help, contact me through Keith Petersen or Ben Goldfarb
  209.                 Robert B. Tate
  210.