home *** CD-ROM | disk | FTP | other *** search
- ;AAsm header file for FileCore
- ;written by DefMod (Aug 8 1994) on Thu Sep 22 15:28:42 1994
-
- [ :LNOT: :DEF: Get_Types
- GBLS Get_Types
- Get_Types SETS "GET OS:Hdr.Types"
- |
- Get_Types SETS ""
- ]
- $Get_Types
-
- [ :LNOT: :DEF: Get_OS
- GBLS Get_OS
- Get_OS SETS "GET OS:Hdr.OS"
- |
- Get_OS SETS ""
- ]
- $Get_OS
-
- [ :LNOT: :DEF: FileCore_Hdr
- GBLS FileCore_Hdr
-
- ;Symbols for constants
- FileCore_HardDiscsNeedFIQ * &1
- FileCore_FloppiesNeedFIQ * &2
- FileCore_UseScratchForTemporary * &8
- FileCore_HardDiscsCanMount * &10
- FileCore_HardDiscsCanPollChange * &20
- FileCore_FloppiesCanEject * &40
- FileCore_HardDiscsCanEject * &100
- FileCore_LowSectorSequenceSides * &40
- FileCore_LowSectorDoubleStep * &80
- FileCore_DiscAddressOffset * &1FFFFFFF
- FileCore_DiscAddressDrive * &E0000000
- FileCore_DiscAddressOffsetShift * 0
- FileCore_DiscAddressDriveShift * 29
- FileCore_DiscOpGivenAlternativeDefectList * &10
- FileCore_DiscOpGivenSectorList * &20
- FileCore_DiscOpIgnoreEscape * &40
- FileCore_DiscOpIgnoreTimeout * &80
- FileCore_DiscOpAlternativeRecord * &FFFFFF00
- FileCore_DiscOpAlternativeRecordShift * 6
- FileCore_CreateFloppyCount * &FF
- FileCore_CreateFloppyCountShift * 0
- FileCore_CreateHardDiscCount * &FF00
- FileCore_CreateHardDiscCountShift * 8
- FileCore_CreateDefaultDrive * &FF0000
- FileCore_CreateDefaultDriveShift * 16
- FileCore_CreateNoDirState * &40000000
- FileCore_FloppyOldStructure * &80
- FileCore_FloppyOldMap * &100
- FileCore_FormatL * 128
- FileCore_FormatD * 129
- FileCore_FormatE * 130
- FileCore_FormatF * 131
- FileCore_PollNotChanged * &1
- FileCore_PollMayBeChanged * &2
- FileCore_PollChanged * &4
- FileCore_PollEmpty * &8
- FileCore_PollReady * &10
- FileCore_PollFortyTrack * &20
- FileCore_PollEmptyWorks * &40
- FileCore_PollChangedWorks * &80
- FileCore_PollHighDensity * &100
- FileCore_PollDensitySenseWorks * &200
- FileCore_PollReadyWorks * &400
-
- ;Symbols for structure offsets and sizes
- ^ 0
- FileCore_Descriptor_flags # 3*Byte
- FileCore_Descriptor_fs_no # Byte
- FileCore_Descriptor_title_offset # Int
- FileCore_Descriptor_boot_text_offset # Int
- FileCore_Descriptor_disc_op_offset # Int
- FileCore_Descriptor_misc_op_offset # Int
- FileCore_Descriptor * @
-
- ^ 0
- FileCore_Disc_log2secsize # Byte
- FileCore_Disc_secspertrack # Byte
- FileCore_Disc_heads # Byte
- FileCore_Disc_density # Byte
- FileCore_Disc_idlen # Byte
- FileCore_Disc_log2bpmb # Byte
- FileCore_Disc_skew # Byte
- FileCore_Disc_bootoption # Byte
- FileCore_Disc_lowsector # Byte
- FileCore_Disc_nzones # Byte
- FileCore_Disc_zone_spare # Short
- FileCore_Disc_root # Int
- FileCore_Disc_disc_size # Int
- FileCore_Disc_disc_id # Short
- FileCore_Disc_disc_name # 10*Char
- FileCore_Disc_disctype # Int
- FileCore_Disc_reserved # 24*Byte
- FileCore_Disc * @
-
- FileCore_DiscAddress * Bits
-
- ^ 0
- FileCore_Format_sector_size # Int
- FileCore_Format_gap1_side0 # Int
- FileCore_Format_gap1_side1 # Int
- FileCore_Format_gap3 # Int
- FileCore_Format_secspertrack # Byte
- FileCore_Format_density # Byte
- FileCore_Format_options # Byte
- FileCore_Format_lowsector # Byte
- FileCore_Format_interleave # Byte
- FileCore_Format_side_skew # Byte
- FileCore_Format_track_skew # Byte
- FileCore_Format_sector_fill # Byte
- FileCore_Format_track_count # Int
- FileCore_Format_reserved # 36*Byte
- FileCore_Format * @
-
- ^ 0
- FileCore_TrackFormat_sector_size # Int
- FileCore_TrackFormat_gap1_side0 # Int
- FileCore_TrackFormat_gap1_side1 # Int
- FileCore_TrackFormat_gap3 # Int
- FileCore_TrackFormat_secspertrack # Byte
- FileCore_TrackFormat_density # Byte
- FileCore_TrackFormat_options # Byte
- FileCore_TrackFormat_sector_fill # Byte
- FileCore_TrackFormat_track_count # Int
- FileCore_TrackFormat_reserved # 12*Byte
- FileCore_TrackFormat_sectors # Bits
- FileCore_TrackFormat * @
-
- ^ 0
- FileCore_DefectList_defect # Int
- FileCore_DefectList * @
-
-
- ;Symbols for SWI's and SWI reason codes
- XFileCore_DiscOp * &60540
- FileCore_DiscOp * &40540
-
- FileCoreDiscOp_Verify * &0
- ;Entry
- ; R1 = &0 :OR: flags (Bits)
- ; R2 = disc_addr (FileCore_DiscAddress)
- ; R4 = size (Int)
- ; R8 = instance (pointer to Void)
- ;Exit
- ; R2 = next_disc_addr (FileCore_DiscAddress)
- ; R4 = unverified (Int)
-
- FileCoreDiscOp_ReadSectors * &1
- ;Entry
- ; R1 = &1 :OR: flags (Bits)
- ; R2 = disc_addr (FileCore_DiscAddress)
- ; R3 -> data (data)
- ; R4 = size (Int)
- ; R8 = instance (pointer to Void)
- ;Exit
- ; R2 = next_disc_addr (FileCore_DiscAddress)
- ; R3 -> next_data (data)
- ; R4 = unread (Int)
-
- FileCoreDiscOp_WriteSectors * &2
- ;Entry
- ; R1 = &2 :OR: flags (Bits)
- ; R2 = disc_addr (FileCore_DiscAddress)
- ; R3 -> data (data)
- ; R4 = size (Int)
- ; R8 = instance (pointer to Void)
- ;Exit
- ; R2 = next_disc_addr (FileCore_DiscAddress)
- ; R3 -> next_data (data)
- ; R4 = unwritten (Int)
-
- FileCoreDiscOp_ReadTrack * &3
- ;Entry
- ; R1 = &3 :OR: flags (Bits)
- ; R2 = disc_addr (FileCore_DiscAddress)
- ; R3 -> data (data)
- ; R8 = instance (pointer to Void)
-
- FileCoreDiscOp_ReadId * &3
- ;Entry
- ; R1 = &3 :OR: flags (Bits)
- ; R2 = disc_addr (FileCore_DiscAddress)
- ; R3 -> data (data)
- ; R8 = instance (pointer to Void)
-
- FileCoreDiscOp_WriteTrack * &4
- ;Entry
- ; R1 = &4 :OR: flags (Bits)
- ; R2 = disc_addr (FileCore_DiscAddress)
- ; R3 -> data (data)
- ; R8 = instance (pointer to Void)
-
- FileCoreDiscOp_FormatTrack * &4
- ;Entry
- ; R1 = &4 :OR: flags (Bits)
- ; R2 = disc_addr (FileCore_DiscAddress)
- ; R3 = &0
- ; R4 -> track_format (FileCore_TrackFormat)
- ; R8 = instance (pointer to Void)
-
- FileCoreDiscOp_Seek * &5
- ;Entry
- ; R1 = &5 :OR: flags (Bits)
- ; R2 = disc_addr (FileCore_DiscAddress)
- ; R8 = instance (pointer to Void)
-
- FileCoreDiscOp_Restore * &6
- ;Entry
- ; R1 = &6 :OR: flags (Bits)
- ; R2 = disc_addr (FileCore_DiscAddress)
- ; R8 = instance (pointer to Void)
-
- FileCoreDiscOp_StepIn * &7
- ;Entry
- ; R1 = &7 :OR: flags (Bits)
- ; R8 = instance (pointer to Void)
-
- FileCoreDiscOp_StepOut * &8
- ;Entry
- ; R1 = &8 :OR: flags (Bits)
- ; R8 = instance (pointer to Void)
-
- FileCoreDiscOp_ReadSectorsViaCache * &9
- ;Entry
- ; R1 = &9 :OR: flags (Bits)
- ; R2 = disc_addr (FileCore_DiscAddress)
- ; R3 -> data (data)
- ; R4 = size (Int)
- ; R6 = cache_handle (Int)
- ; R8 = instance (pointer to Void)
- ;Exit
- ; R2 = next_disc_addr (FileCore_DiscAddress)
- ; R3 -> next_data (data)
- ; R4 = unread (Int)
- ; R6 = cache_handle_out (Int)
-
- FileCoreDiscOp_Specify * &F
- ;Entry
- ; R1 = &F :OR: flags (Bits)
- ; R2 = disc_addr (FileCore_DiscAddress)
- ; R8 = instance (pointer to Void)
-
- XFileCore_Create * &60541
- FileCore_Create * &40541
- ;Entry
- ; R0 -> descriptor (FileCore_Descriptor)
- ; R1 -> module_base (data)
- ; R2 = word (pointer to data)
- ; R3 = options (Bits)
- ; R4 = dir_cache_size (Int)
- ; R5 = file_cache_buffer_count (Int)
- ; R6 = map_sizes (Bits)
- ;Exit
- ; R0 = instance (pointer to Void)
- ; R1 -> floppy_done (code)
- ; R2 -> hard_disc_done (code)
- ; R3 -> release_fiq (code)
-
- XFileCore_Drives * &60542
- FileCore_Drives * &40542
- ;Entry
- ; R8 = instance (pointer to Void)
- ;Exit
- ; R0 = default_drive (Int)
- ; R1 = floppy_count (Int)
- ; R2 = hard_disc_count (Int)
-
- XFileCore_FreeSpace * &60543
- FileCore_FreeSpace * &40543
- ;Entry
- ; R0 -> disc_name (String)
- ; R8 = instance (pointer to Void)
- ;Exit
- ; R0 = free (Int)
- ; R1 = max (Int)
-
- XFileCore_FloppyStructure * &60544
- FileCore_FloppyStructure * &40544
- ;Entry
- ; R0 = buffer (pointer to data)
- ; R1 -> disc (FileCore_Disc)
- ; R2 = flags (Bits)
- ; R3 -> defect_list (FileCore_DefectList)
- ;Exit
- ; R3 = used (Int)
-
- XFileCore_DescribeDisc * &60545
- FileCore_DescribeDisc * &40545
- ;Entry
- ; R0 -> disc_name (String)
- ; R1 = disc (pointer to FileCore_Disc)
- ; R8 = instance (pointer to Void)
-
- XFileCore_DiscardReadSectorsCache * &60546
- FileCore_DiscardReadSectorsCache * &40546
- ;Entry
- ; R6 = cache_handle (Int)
-
- XFileCore_DiscFormat * &60547
- FileCore_DiscFormat * &40547
- ;Entry
- ; R0 = buffer (pointer to FileCore_Format)
- ; R1 = vet_format_swi (Int)
- ; R2 = vet_format_handle (Int)
- ; R3 = format (Int)
-
- XFileCore_LayoutStructure * &60548
- FileCore_LayoutStructure * &40548
- ;Entry
- ; R0 -> disc (FileCore_Disc)
- ; R1 -> defect_list (FileCore_DefectList)
- ; R2 -> disc_name (String)
- ; R3 = image_file (OS_F)
-
- XFileCore_MiscOp * &60549
- FileCore_MiscOp * &40549
-
- FileCoreMiscOp_Mount * &0
- ;Entry
- ; R0 = &0
- ; R1 = drive_no (Int)
- ; R2 = disc_addr (FileCore_DiscAddress)
- ; R3 = buffer (pointer to data)
- ; R4 = size (Int)
- ; R5 = disc (pointer to FileCore_Disc)
- ; R8 = instance (pointer to Void)
-
- FileCoreMiscOp_PollChanged * &1
- ;Entry
- ; R0 = &1
- ; R1 = drive_no (Int)
- ; R2 = sequence_no (Int)
- ; R8 = instance (pointer to Void)
- ;Exit
- ; R2 = sequence_no_out (Int)
- ; R3 = result (Bits)
-
- FileCoreMiscOp_LockDrive * &2
- ;Entry
- ; R0 = &2
- ; R1 = drive_no (Int)
- ; R8 = instance (pointer to Void)
-
- FileCoreMiscOp_UnlockDrive * &3
- ;Entry
- ; R0 = &3
- ; R1 = drive_no (Int)
- ; R8 = instance (pointer to Void)
-
- FileCoreMiscOp_PollPeriod * &4
- ;Entry
- ; R0 = &4
- ; R1 -> disc_name (String)
- ; R8 = instance (pointer to Void)
- ;Exit
- ; R5 = poll_period (Int)
- ; R6 -> media_type (String)
-
- FileCoreMiscOp_EjectDisc * &5
- ;Entry
- ; R0 = &5
- ; R1 = drive_no (Int)
- ; R8 = instance (pointer to Void)
-
- Service_IdentifyDisc * &69
- ;Entry
- ; R1 = &69
- ; R2 = format_name (pointer to String)
- ; R3 = size (Int)
- ; R5 -> disc (FileCore_Disc)
- ; R6 = cache_handle (Int)
- ; R8 = instance (pointer to Void)
- ;Exit
- ; R1 = unclaimed (Bool)
- ; R2 = file_type (Bits)
- ; R6 = cache_handle_out (Int)
-
- ]
- END
-