home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / programming / oslib / oslib_1 / OSLib / Computer / Hdr / SCSIFS < prev    next >
Encoding:
Text File  |  1995-06-27  |  4.3 KB  |  165 lines

  1. ;Assembler header file for SCSIFS
  2. ;written by DefMod (Jun 12 1995) on Tue Jun 27 16:36:01 1995
  3. ;Jonathan Coxhead, Acorn Computers Ltd
  4.  
  5.         [       :LNOT: :DEF: Get_Types
  6.         GBLS    Get_Types
  7.         ]
  8.         [       :LNOT: :DEF: Types_Hdr
  9. Get_Types                       SETS    "GET OS:Hdr.Types"
  10.         |
  11. Get_Types                       SETS    ""
  12.         ]
  13.         $Get_Types
  14.  
  15.         [       :LNOT: :DEF: Get_OS
  16.         GBLS    Get_OS
  17.         ]
  18.         [       :LNOT: :DEF: OS_Hdr
  19. Get_OS                          SETS    "GET OS:Hdr.OS"
  20.         |
  21. Get_OS                          SETS    ""
  22.         ]
  23.         $Get_OS
  24.  
  25.         [       :LNOT: :DEF: Get_FileCore
  26.         GBLS    Get_FileCore
  27.         ]
  28.         [       :LNOT: :DEF: FileCore_Hdr
  29. Get_FileCore                    SETS    "GET OS:Hdr.FileCore"
  30.         |
  31. Get_FileCore                    SETS    ""
  32.         ]
  33.         $Get_FileCore
  34.  
  35.         [       :LNOT: :DEF: SCSIFS_Hdr
  36.         GBLS    SCSIFS_Hdr
  37.  
  38. ;Symbols for constants
  39. SCSIFS_DriveAbsent              *       &0
  40. SCSIFS_DriveUnready             *       &1
  41. SCSIFS_DriveReady               *       &2
  42.  
  43. ;Symbols for structure offsets and sizes
  44. SCSIFS_DriveStatus              *       Int
  45.  
  46.  
  47. ;Symbols for SWI's and SWI reason codes
  48. XSCSIFS_DiscOp                  *       &60980
  49. SCSIFS_DiscOp                   *       &40980
  50.  
  51. SCSIFSDiscOp_Verify             *       &0
  52.    ;Entry
  53.    ;  R1 = &0 :OR: flags (Bits)
  54.    ;  R2 = disc_addr (FileCore_DiscAddress)
  55.    ;  R4 = size (Int)
  56.    ;Exit
  57.    ;  R2 = next_disc_addr (FileCore_DiscAddress)
  58.    ;  R4 = unverified (Int)
  59.  
  60. SCSIFSDiscOp_ReadSectors        *       &1
  61.    ;Entry
  62.    ;  R1 = &1 :OR: flags (Bits)
  63.    ;  R2 = disc_addr (FileCore_DiscAddress)
  64.    ;  R3 = data (pointer to data)
  65.    ;  R4 = size (Int)
  66.    ;Exit
  67.    ;  R2 = next_disc_addr (FileCore_DiscAddress)
  68.    ;  R3 = next_data (pointer to data)
  69.    ;  R4 = unread (Int)
  70.  
  71. SCSIFSDiscOp_WriteSectors       *       &2
  72.    ;Entry
  73.    ;  R1 = &2 :OR: flags (Bits)
  74.    ;  R2 = disc_addr (FileCore_DiscAddress)
  75.    ;  R3 -> data (data)
  76.    ;  R4 = size (Int)
  77.    ;Exit
  78.    ;  R2 = next_disc_addr (FileCore_DiscAddress)
  79.    ;  R3 -> next_data (data)
  80.    ;  R4 = unwritten (Int)
  81.  
  82. SCSIFSDiscOp_ReadTrack          *       &3
  83.    ;Entry
  84.    ;  R1 = &3 :OR: flags (Bits)
  85.    ;  R2 = disc_addr (FileCore_DiscAddress)
  86.    ;  R3 = data (pointer to data)
  87.  
  88. SCSIFSDiscOp_ReadId             *       &3
  89.    ;Entry
  90.    ;  R1 = &3 :OR: flags (Bits)
  91.    ;  R2 = disc_addr (FileCore_DiscAddress)
  92.    ;  R3 = data (pointer to data)
  93.  
  94. SCSIFSDiscOp_WriteTrack         *       &4
  95.    ;Entry
  96.    ;  R1 = &4 :OR: flags (Bits)
  97.    ;  R2 = disc_addr (FileCore_DiscAddress)
  98.    ;  R3 -> data (data)
  99.  
  100. SCSIFSDiscOp_FormatTrack        *       &4
  101.    ;Entry
  102.    ;  R1 = &4 :OR: flags (Bits)
  103.    ;  R2 = disc_addr (FileCore_DiscAddress)
  104.    ;  R3 = &0
  105.    ;  R4 -> format (FileCore_TrackFormat)
  106.  
  107. SCSIFSDiscOp_Seek               *       &5
  108.    ;Entry
  109.    ;  R1 = &5 :OR: flags (Bits)
  110.    ;  R2 = disc_addr (FileCore_DiscAddress)
  111.  
  112. SCSIFSDiscOp_Restore            *       &6
  113.    ;Entry
  114.    ;  R1 = &6 :OR: flags (Bits)
  115.    ;  R2 = disc_addr (FileCore_DiscAddress)
  116.  
  117. SCSIFSDiscOp_ReadSectorsViaCache *       &9
  118.    ;Entry
  119.    ;  R1 = &9 :OR: flags (Bits)
  120.    ;  R2 = disc_addr (FileCore_DiscAddress)
  121.    ;  R3 = data (pointer to data)
  122.    ;  R4 = size (Int)
  123.    ;  R6 = cache_handle (Int)
  124.    ;Exit
  125.    ;  R2 = next_disc_addr (FileCore_DiscAddress)
  126.    ;  R3 = next_data (pointer to data)
  127.    ;  R4 = unread (Int)
  128.    ;  R6 = cache_handle (Int)
  129.  
  130. SCSIFSDiscOp_Specify            *       &F
  131.    ;Entry
  132.    ;  R1 = &F :OR: flags (Bits)
  133.    ;  R2 = disc_addr (FileCore_DiscAddress)
  134.  
  135. XSCSIFS_Drives                  *       &60982
  136. SCSIFS_Drives                   *       &40982
  137.    ;Exit
  138.    ;  R0 = default_drive (Int)
  139.    ;  R1 = floppy_count (Int)
  140.    ;  R2 = hard_disc_count (Int)
  141.  
  142. XSCSIFS_FreeSpace               *       &60983
  143. SCSIFS_FreeSpace                *       &40983
  144.    ;Entry
  145.    ;  R0 -> disc_name (String)
  146.    ;Exit
  147.    ;  R0 = free (Int)
  148.    ;  R1 = max (Int)
  149.  
  150. XSCSIFS_DescribeDisc            *       &60985
  151. SCSIFS_DescribeDisc             *       &40985
  152.    ;Entry
  153.    ;  R0 -> disc_name (String)
  154.    ;  R1 = disc (pointer to FileCore_Disc)
  155.  
  156. XSCSIFS_TestReady               *       &60986
  157. SCSIFS_TestReady                *       &40986
  158.    ;Entry
  159.    ;  R1 = drive_no (Int)
  160.    ;Exit
  161.    ;  R0 = status (SCSIFS_DriveStatus)
  162.  
  163.         ]
  164.         END
  165.