From 5641dc5ea04226be2690a85458d75c1331e0a751 Mon Sep 17 00:00:00 2001 From: Kelvin Sherlock Date: Tue, 11 Aug 2015 20:04:47 -0400 Subject: [PATCH] move records around --- get_file_info.aii | 47 +--------- records.equ | 93 ++++++++++++++++++++ tables.aii | 216 +++++++++++++++++++++++----------------------- volume.aii | 44 +--------- 4 files changed, 207 insertions(+), 193 deletions(-) create mode 100644 records.equ diff --git a/get_file_info.aii b/get_file_info.aii index fdbaf58..73d0da7 100644 --- a/get_file_info.aii +++ b/get_file_info.aii @@ -8,52 +8,13 @@ include 'M16.Debug' + include 'records.equ' -TimeRec RECORD 0 -second DS.B 1 -minute DS.B 1 -hour DS.B 1 -year DS.B 1 -day DS.B 1 -month DS.B 1 -extra DS.B 1 -weekDay DS.B 1 - ENDR -FileInfoRecGS RECORD 0 -pCount DS.W 1 -pathname DS.L 1 -access DS.W 1 -fileType DS.W 1 -auxType DS.L 1 -storageType DS.W 1 -createDateTime DS TimeRec -modDateTime DS TimeRec -optionList DS.L 1 -eof DS.L 1 -blocksUsed DS.L 1 -resourceEOF DS.L 1 -resourceBlocks DS.L 1 - ENDR - - -FileRec RECORD 0 -pathname DS.B 4 -fAccess DS.B 2 -fileType DS.B 2 -auxType DS.B 4 -storageType DS.B 2 -createDate DS.B 2 -createTime DS.B 2 -modDate DS.B 2 -modTime DS.B 2 -blocksUsed DS.B 4 - ENDR - - entry path_to_inode - import id_disk - import device_read + entry path_to_inode + import id_disk + import device_read get_file_info procname export diff --git a/records.equ b/records.equ new file mode 100644 index 0000000..ffefc66 --- /dev/null +++ b/records.equ @@ -0,0 +1,93 @@ + + + + +TimeRec RECORD 0 +second DS.B 1 +minute DS.B 1 +hour DS.B 1 +year DS.B 1 +day DS.B 1 +month DS.B 1 +extra DS.B 1 +weekDay DS.B 1 + ENDR + +FileInfoRecGS RECORD 0 +pCount DS.W 1 +pathname DS.L 1 +access DS.W 1 +fileType DS.W 1 +auxType DS.L 1 +storageType DS.W 1 +createDateTime DS TimeRec +modDateTime DS TimeRec +optionList DS.L 1 +eof DS.L 1 +blocksUsed DS.L 1 +resourceEOF DS.L 1 +resourceBlocks DS.L 1 + ENDR + + +FileRec RECORD 0 +pathname DS.B 4 +fAccess DS.B 2 +fileType DS.B 2 +auxType DS.B 4 +storageType DS.B 2 +createDate DS.B 2 +createTime DS.B 2 +modDate DS.B 2 +modTime DS.B 2 +blocksUsed DS.B 4 + ENDR + +OpenRecGS RECORD 0 +pCount DS.W 1 +refNum DS.W 1 +pathname DS.L 1 +requestAccess DS.W 1 +resourceNumber DS.W 1 +access DS.W 1 +fileType DS.W 1 +auxType DS.L 1 +storageType DS.W 1 +createDateTime DS TimeRec +modDateTime DS TimeRec +optionList DS.L 1 +eof DS.L 1 +blocksUsed DS.L 1 +resourceEOF DS.L 1 +resourceBlocks DS.L 1 + ENDR + +OpenRec RECORD 0 +openRefNum DS.B 2 +openPathname DS.B 4 +ioBuffer DS.B 4 + ENDR + + +VolumeRecGS RECORD 0 +pCount DS.W 1 +devName DS.L 1 +volName DS.L 1 +totalBlocks DS.L 1 +freeBlocks DS.L 1 +fileSysID DS.W 1 +blockSize DS.W 1 +characteristics ds.w 1 +deviceID ds.w 1 +sizeof equ * + ENDR + + +VolumeRec RECORD 0 +deviceName DS.B 4 +volName DS.B 4 +totalBlocks DS.B 4 +freeBlocks DS.B 4 +fileSysID DS.B 2 +sizeof equ * + ENDR diff --git a/tables.aii b/tables.aii index c3d533c..7c4c4b6 100644 --- a/tables.aii +++ b/tables.aii @@ -4,119 +4,119 @@ tables record - export min_pcount - export max_pcount + export min_pcount + export max_pcount max_pcount - dc.w 0 - dc.w 8 ; ($01) Create - dc.w 2 ; ($02) Destroy - dc.w 0 ; ($03) OS Shutdown - dc.w 4 ; ($04) Change Path - dc.w 13 ; ($05) Set File Info - dc.w 13 ; ($06) Get File Info - dc.w 0 ; ($07) - dc.w 7 ; ($08) Volume - dc.w 0 ; ($09) Set Prefix - dc.w 0 ; ($0A) Get Prefix - dc.w 2 ; ($0B) Clear Backup Bit - dc.w 0 ; ($0C) Set Sys Prefs - dc.w 0 ; ($0D) Null - dc.w 0 ; ($0E) Expand Path - dc.w 0 ; ($0F) Get Sys Prefs - dc.w 16 ; ($10) Open - dc.w 0 ; ($11) NewLine - dc.w 6 ; ($12) Read - dc.w 6 ; ($13) Write - dc.w 2 ; ($14) Close - dc.w 2 ; ($15) Flush - dc.w 4 ; ($16) Set Mark - dc.w 3 ; ($17) Get Mark - dc.w 4 ; ($18) Set EOF - dc.w 3 ; ($19) Get EOF - dc.w 0 ; ($1A) Set Level - dc.w 0 ; ($1B) Get Level - dc.w 18 ; ($1C) Get Dir Entry - dc.w 0 ; ($1D) - dc.w 0 ; ($1E) - dc.w 0 ; ($1F) - dc.w 3 ; ($20) Get Dev Num - dc.w 0 ; ($21) Get Last Dev - dc.w 0 ; ($22) Read Block - dc.w 0 ; ($23) Write Block - dc.w 5 ; ($24) Format - dc.w 5 ; ($25) Erase Disk - dc.w 0 ; ($26) - dc.w 0 ; ($27) Get Name - dc.w 0 ; ($28) Get Boot Vol - dc.w 0 ; ($29) Quit - dc.w 0 ; ($2A) Get Version - dc.w 0 ; ($2B) Get FST Info - dc.w 0 ; ($2C) D_INFO - dc.w 0 ; ($2D) D_STATUS - dc.w 0 ; ($2E) D_CONTROL - dc.w 0 ; ($2F) D_READ - dc.w 0 ; ($30) D_WRITE - dc.w 0 ; ($31) Alloc Interrupt - dc.w 0 ; ($32) Dealloc Interrupt - dc.w 4 ; ($33) FST Specific + dc.w 0 + dc.w 8 ; ($01) Create + dc.w 2 ; ($02) Destroy + dc.w 0 ; ($03) OS Shutdown + dc.w 4 ; ($04) Change Path + dc.w 13 ; ($05) Set File Info + dc.w 13 ; ($06) Get File Info + dc.w 0 ; ($07) + dc.w 7 ; ($08) Volume + dc.w 0 ; ($09) Set Prefix + dc.w 0 ; ($0A) Get Prefix + dc.w 2 ; ($0B) Clear Backup Bit + dc.w 0 ; ($0C) Set Sys Prefs + dc.w 0 ; ($0D) Null + dc.w 0 ; ($0E) Expand Path + dc.w 0 ; ($0F) Get Sys Prefs + dc.w 16 ; ($10) Open + dc.w 0 ; ($11) NewLine + dc.w 6 ; ($12) Read + dc.w 6 ; ($13) Write + dc.w 2 ; ($14) Close + dc.w 2 ; ($15) Flush + dc.w 4 ; ($16) Set Mark + dc.w 3 ; ($17) Get Mark + dc.w 4 ; ($18) Set EOF + dc.w 3 ; ($19) Get EOF + dc.w 0 ; ($1A) Set Level + dc.w 0 ; ($1B) Get Level + dc.w 18 ; ($1C) Get Dir Entry + dc.w 0 ; ($1D) + dc.w 0 ; ($1E) + dc.w 0 ; ($1F) + dc.w 3 ; ($20) Get Dev Num + dc.w 0 ; ($21) Get Last Dev + dc.w 0 ; ($22) Read Block + dc.w 0 ; ($23) Write Block + dc.w 5 ; ($24) Format + dc.w 5 ; ($25) Erase Disk + dc.w 0 ; ($26) + dc.w 0 ; ($27) Get Name + dc.w 0 ; ($28) Get Boot Vol + dc.w 0 ; ($29) Quit + dc.w 0 ; ($2A) Get Version + dc.w 0 ; ($2B) Get FST Info + dc.w 0 ; ($2C) D_INFO + dc.w 0 ; ($2D) D_STATUS + dc.w 0 ; ($2E) D_CONTROL + dc.w 0 ; ($2F) D_READ + dc.w 0 ; ($30) D_WRITE + dc.w 0 ; ($31) Alloc Interrupt + dc.w 0 ; ($32) Dealloc Interrupt + dc.w 4 ; ($33) FST Specific min_pcount - dc.w 0 - dc.w 1 ; ($01) Create - dc.w 1 ; ($02) Destroy - dc.w 0 ; ($03) OS Shutdown - dc.w 2 ; ($04) Change Path - dc.w 2 ; ($05) Set File Info - dc.w 2 ; ($06) Get File Info - dc.w 0 ; ($07) - dc.w 2 ; ($08) Volume - dc.w 0 ; ($09) Set Prefix - dc.w 0 ; ($0A) Get Prefix - dc.w 1 ; ($0B) Clear Backup Bit - dc.w 0 ; ($0C) Set Sys Prefs - dc.w 0 ; ($0D) Null - dc.w 0 ; ($0E) Expand Path - dc.w 0 ; ($0F) Get Sys Prefs - dc.w 2 ; ($10) Open - dc.w 0 ; ($11) NewLine - dc.w 4 ; ($12) Read - dc.w 4 ; ($13) Write - dc.w 1 ; ($14) Close - dc.w 1 ; ($15) Flush - dc.w 3 ; ($16) Set Mark - dc.w 2 ; ($17) Get Mark - dc.w 3 ; ($18) Set EOF - dc.w 2 ; ($19) Get EOF - dc.w 0 ; ($1A) Set Level - dc.w 0 ; ($1B) Get Level - dc.w 5 ; ($1C) Get Dir Entry - dc.w 0 ; ($1D) - dc.w 0 ; ($1E) - dc.w 0 ; ($1F) - dc.w 2 ; ($20) Get Dev Num - dc.w 0 ; ($21) Get Last Dev - dc.w 0 ; ($22) Read Block - dc.w 0 ; ($23) Write Block - dc.w 3 ; ($24) Format - dc.w 3 ; ($25) Erase Disk - dc.w 0 ; ($26) - dc.w 0 ; ($27) Get Name - dc.w 0 ; ($28) Get Boot Vol - dc.w 0 ; ($29) Quit - dc.w 0 ; ($2A) Get Version - dc.w 0 ; ($2B) Get FST Info - dc.w 0 ; ($2C) D_INFO - dc.w 0 ; ($2D) D_STATUS - dc.w 0 ; ($2E) D_CONTROL - dc.w 0 ; ($2F) D_READ - dc.w 0 ; ($30) D_WRITE - dc.w 0 ; ($31) Alloc Interrupt - dc.w 0 ; ($32) Dealloc Interrupt - dc.w 1 ; ($33) FST Specific + dc.w 0 + dc.w 1 ; ($01) Create + dc.w 1 ; ($02) Destroy + dc.w 0 ; ($03) OS Shutdown + dc.w 2 ; ($04) Change Path + dc.w 2 ; ($05) Set File Info + dc.w 2 ; ($06) Get File Info + dc.w 0 ; ($07) + dc.w 2 ; ($08) Volume + dc.w 0 ; ($09) Set Prefix + dc.w 0 ; ($0A) Get Prefix + dc.w 1 ; ($0B) Clear Backup Bit + dc.w 0 ; ($0C) Set Sys Prefs + dc.w 0 ; ($0D) Null + dc.w 0 ; ($0E) Expand Path + dc.w 0 ; ($0F) Get Sys Prefs + dc.w 2 ; ($10) Open + dc.w 0 ; ($11) NewLine + dc.w 4 ; ($12) Read + dc.w 4 ; ($13) Write + dc.w 1 ; ($14) Close + dc.w 1 ; ($15) Flush + dc.w 3 ; ($16) Set Mark + dc.w 2 ; ($17) Get Mark + dc.w 3 ; ($18) Set EOF + dc.w 2 ; ($19) Get EOF + dc.w 0 ; ($1A) Set Level + dc.w 0 ; ($1B) Get Level + dc.w 5 ; ($1C) Get Dir Entry + dc.w 0 ; ($1D) + dc.w 0 ; ($1E) + dc.w 0 ; ($1F) + dc.w 2 ; ($20) Get Dev Num + dc.w 0 ; ($21) Get Last Dev + dc.w 0 ; ($22) Read Block + dc.w 0 ; ($23) Write Block + dc.w 3 ; ($24) Format + dc.w 3 ; ($25) Erase Disk + dc.w 0 ; ($26) + dc.w 0 ; ($27) Get Name + dc.w 0 ; ($28) Get Boot Vol + dc.w 0 ; ($29) Quit + dc.w 0 ; ($2A) Get Version + dc.w 0 ; ($2B) Get FST Info + dc.w 0 ; ($2C) D_INFO + dc.w 0 ; ($2D) D_STATUS + dc.w 0 ; ($2E) D_CONTROL + dc.w 0 ; ($2F) D_READ + dc.w 0 ; ($30) D_WRITE + dc.w 0 ; ($31) Alloc Interrupt + dc.w 0 ; ($32) Dealloc Interrupt + dc.w 1 ; ($33) FST Specific - endr + endr - end + end diff --git a/volume.aii b/volume.aii index 4e33176..2bf2ad0 100644 --- a/volume.aii +++ b/volume.aii @@ -6,57 +6,17 @@ include 'M16.Debug' + include 'records.equ' + ; ; VolumeGS / Volume call. ; ; check if the disk is ours. create a VCR or mark it active. ; - ; P16 - ; devName - ; volName - ; totalBlocks - ; freeBlocks - ; fileSysID - ; - ; GS/OS - ; Word pCount; - ; GSString32Ptr devName; - ; ResultBuf255Ptr volName; - ; LongWord totalBlocks; - ; LongWord freeBlocks; - ; Word fileSysID; - ; Word blockSize; - ; [handled by gs/os:] - ; Word characteristics; - ; Word deviceID; - ; import id_disk -VolumeRecGS RECORD 0 -pCount DS.W 1 -devName DS.L 1 ; GSString32Ptr -volName DS.L 1 ; ResultBuf255Ptr -totalBlocks DS.L 1 -freeBlocks DS.L 1 -fileSysID DS.W 1 -blockSize DS.W 1 -characteristics ds.w 1 -deviceID ds.w 1 -sizeof equ * - ENDR - - -VolumeRec RECORD 0 ; ProDOS -deviceName DS.B 4 ; Ptr - -volName DS.B 4 ; Ptr - -totalBlocks DS.B 4 ; Long - -freeBlocks DS.B 4 ; Long - -fileSysID DS.B 2 ; Word - -sizeof equ * - ENDR - entry do_block_size entry do_file_sys_id