home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / EFFO / forum3.lzh / EXAMPL / rbfdesc.a < prev    next >
Text File  |  1987-01-29  |  5KB  |  195 lines

  1.  
  2.  ttl Device Descriptor for Floppy disk controller
  3.  
  4. * Copyright 1984, 1985 by Microware Systems Corporation.
  5. * Reproduced Under License.
  6.  
  7. * This source code is the proprietary confidential property of
  8. * Microware Systems Corporation, and is provided to licensee
  9. * solely for documentation and educational purposes. Reproduction,
  10. * publication, or distribution in any form to any party other
  11. * than the licensee is prohibited.
  12.  
  13. ********************************
  14. * Edition History
  15. *  #   date    comments                                         by
  16. * -- -------- ------------------------------------------------- ---
  17. * 00 12-05-83 Converted to 68000 from 6809 edition 1.           res
  18. * 00 04-06-84 Added FlpyName macro usage                        WGP
  19. * 00 04-06-84 Added defs for some variable opts                 WGP
  20. * 01 10-12-84 Added IRQ Level & resesrved bytes.                rfd
  21. * 02 11-07-85 Split into seperate files                         res
  22. * 03 06-27-85 Added mode byte.rfd
  23. * 04 06-25-85 Added sector size, format control, retry control.res
  24. * 05 09-15-86 Added write precomp, reduced write current, park
  25. *             cylinder, scsi unit number, scsi controller id,
  26. *             total number of cylinders and offset.             djl
  27. * 5G 01/23/87 Added LUN defs for hard disks                      MM
  28.  
  29. Edition equ 5 current edition number
  30.  
  31. Single   equ 0
  32. Double   equ 1
  33. Five     equ 0
  34. Eight    equ 1
  35. Hard     equ $80
  36. ON       equ 1
  37. OFF      equ 0
  38.  
  39. d877     equ 1 single density 8"
  40. dd877    equ 4 double density 8"
  41. d540     equ 2 single density 5" 40 trk
  42. dd540    equ 5 double density 5" 40 trk
  43. d580     equ 3 single density 5" 80 trk
  44. dd580    equ 6 double density 5" 80 trk
  45.  
  46. Density  set BitDns+(TrkDns<<1)
  47. DiskType set DiskKind+(DnsTrk0<<5)
  48.  
  49. TypeLang set (Devic<<8)+0
  50. *Attr_Rev set (ReEnt<<8)+0
  51. Attr_Rev set (ReEnt<<8)+3
  52.  
  53.  psect RBFDesc,TypeLang,Attr_Rev,Edition,0,0
  54.  
  55.  dc.l Port port address
  56.  dc.b Vector auto-vector trap assignment
  57.  dc.b IRQLevel IRQ hardware interrupt level
  58.  dc.b Priority irq polling priority
  59.  dc.b Mode device mode capabilities
  60.  dc.w FileMgr file manager name offset
  61.  dc.w DevDrv device driver name offset
  62.  dc.w DevCon (reserved)
  63.  dc.w 0,0,0,0 reserved
  64.  dc.w OptLen
  65.  
  66. * Default Parameters
  67. OptTbl
  68.  dc.b DT_RBF device type
  69.  dc.b DrvNum drive number
  70.  dc.b StepRate step rate
  71.  dc.b DiskType type of disk 8"/5"/Hard
  72.  dc.b Density Bit Density and track density
  73.  dc.w Cylnders-TrkOffs number of cylinders
  74.  dc.b Heads Number of Sides (Floppy) Heads(Hard Disk)
  75.  dc.b NoVerify OFF = disk verify ON = no verify
  76.  dc.w SectTrk default sectors/track
  77.  dc.w SectTrk0 default sectors/track track 0
  78.  dc.w SegAlloc segment allocation size
  79.  dc.b Intrleav sector interleave factor
  80.  dc.b DMAMode DMA mode (none)
  81.  dc.b TrkOffs track base offset
  82.  dc.b SectOffs sector base offset
  83.  dc.w SectSize # of bytes/sector
  84.  dc.w Control format control byte
  85.  dc.b Trys number of retrys 0 = no retrys/error correction
  86.  dc.b ScsiLun scsi logical unit number
  87.  dc.w WrtPrecomp write precomp cylinder
  88.  dc.w RedWrtCrnt reduce write current cylinder
  89.  dc.w ParkCyl cylinder to park head for hard disk
  90.  dc.l LSNOffset logical sector offset
  91.  dc.w TotalCyls total cylinders on drive
  92.  dc.b CtrlrID scsi controller id
  93. OptLen equ *-OptTbl
  94.  
  95. FileMgr dc.b "RBF",0 Random block file manager
  96. RBFDesc macro
  97.  
  98. Port     equ \1 Port address
  99. Vector   equ \2 autovector number
  100. IRQLevel equ \3 hardware interrupt level
  101. Priority equ \4 polling priority
  102. DevDrv   dc.b "\5",0 driver module name
  103.  ifgt \#-5 standard device setup requested?
  104.  
  105.  
  106.  ifeq \6-d877  8", 77 track drive
  107. DiskKind  set Eight
  108. Cylnders  set 77
  109. TrkDns    set Single
  110. SectTrk   set 16
  111. SectTrk0  set 16
  112.  endc
  113.  ifeq \6-dd877  8", 77 track, double density
  114. DiskKind  set Eight
  115. Cylnders  set 77
  116. BitDns    set Double
  117. TrkDns    set Single
  118. SectTrk   set 28
  119. SectTrk0  set 16
  120.  endc
  121.  
  122.  ifeq \6-d540 5", 40 track drive
  123. DiskKind  set Five
  124. Cylnders  set 40
  125. BitDns    set Single
  126. TrkDns    set Single
  127. SectTrk   set 10
  128. SectTrk0  set 10 
  129.  endc
  130.  
  131.  ifeq \6-dd540 5", 40 track, double density drive
  132. DiskKind  set Five
  133. Cylnders  set 40
  134. BitDns    set Double
  135. TrkDns    set Single
  136. SectTrk   set 16
  137. SectTrk0  set 10 
  138.  endc
  139.  
  140.  ifeq \6-d580 5", 80 track, double density drive
  141. DiskKind  set Five
  142. Cylnders  set 80 
  143. BitDns    set Single
  144. TrkDns    set Double
  145. SectTrk   set 10
  146. SectTrk0  set 10 
  147.  endc
  148.  
  149.  ifeq \6-dd580 5", 80 track drive
  150. DiskKind  set Five
  151. Cylnders  set 80
  152. BitDns    set Double
  153. TrkDns    set Double
  154. SectTrk   set 16
  155. SectTrk0  set 10
  156.  endc
  157.  
  158.  endc
  159.  endm
  160.  
  161. ****************
  162. * Descriptor Defaults
  163. Mode     set Dir_+ISize_+Exec_+Updat_
  164. BitDns   set Single
  165. Heads    set 2 
  166. StepRate set 2
  167. Intrleav set 3
  168. NoVerify set OFF
  169. DnsTrk0  set Single
  170. DMAMode  set 0 non dma device
  171. SegAlloc set 8 minimum segment allocation size
  172. TrkOffs  set 0
  173. SectOffs set 0
  174. SectSize set 256 default sector size  256 bytes.
  175.  
  176. * The following seven values are ignored by current
  177. * GMX hard disk drivers
  178.  
  179. WrtPrecomp set 0 no write precomp
  180. RedWrtCrnt set 0 no reduced write current
  181. ParkCyl set 0 where to park the head for hard disk
  182. ScsiLun set 0 scsi logical unit number
  183. CtrlrID set 0 controller id
  184. LSNOffset set 0 logical sector offset for scsi hard disks
  185. TotalCyls set 0 number of actual cylinders on disk
  186.  
  187.  
  188. FmtEnabl set 0 enable formatting
  189. FmtDsabl set 1 disable formatting
  190. MultDsabl set 0 disable multi-sectors
  191. MultEnabl set 2 enable multi-sectors
  192. Control set MultDsabl+FmtEnabl enable formatting, disable multi-sectors
  193.  
  194. Trys set 0  use default retry count
  195.