home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ARM Club 3
/
TheARMClub_PDCD3.iso
/
hensa
/
hd
/
b192_1
/
h
/
Head
< prev
next >
Wrap
Text File
|
1993-12-21
|
3KB
|
124 lines
; > s.MapManager
;
;
; notes:
; • DAd means disk address
; • table not discarded
; • only uses drive 4
;
; 04 Dec 1993
; 19 Dec 1993 added DiscName terminator & TableEnd variable
GBLL debug
debug SETL {FALSE}
GBLL debug2
debug2 SETL {TRUE} ; {FALSE} ;
GBLL MapIO
MapIO SETL {FALSE} ; {TRUE} ;
GBLL Modify
Modify SETL {FALSE} ; {TRUE} ;
KEEP
BufferSize * &0E00 ; total RMA space should be 4k= &1000
PathSize * &0134 ; Acorn recommends >&100
TableChunk * 4096 ; room for 256 fragments for a start
TableOffset * &0C ; for better performance
SmallBufferSize * 80
SharedBit * &80000000
wb RN r12
^ 0,wb
Start # 4
FSPrivateWord # 4 ; to fake calls to FileCore
ZoneSize # 4 ; in map bits
Zone0Size # 4 ; dto
MapDAd # 4 ; where the map can be found on the disc
MapSize # 4 ; again in bytes
MapEnd # 4 ; number of useful bits in map
MapLocation # 4 ; address of memory buffer, or 0 if none loaded
; ...always on a sector boundary!
Table # 4 ; address of table
TableSize # 4 ; size
TableEnd # 4 ; points to end marker
MapClaimedSpace # 4 ; 'real' adddress of claimed space
IDsPerZone # 4 ; look left
IDFieldMask # 4 ;
SectorSize # 4 ; in bytes
BitSize # 4 ; in bytes per map bit
Granularity # 4 ; in bytes
UnusedBits # 4
DriveNumber # 1
gibberish # 3 ; put your secret EC card PIN here
Dictionary # 4
DiscRecord # 0
;------------------
LogSectorSize # 1
SectorsPerTrack # 1
Heads # 1
Density # 1
IDFieldLength # 1
LogBitSize # 1
TrackSkew # 1 ; vots zis eneevey?
BootOption # 1
reserved009 # 1
Zones # 1
UnusedBits16 # 2 ; 16 bit 'word' - yeuch!
RootDAd # 4 ; disc address of root dir
DiscSize # 4 ; in bytes
DiscID # 2
DiscName # 10
terminateDN # 1
reserved010 # 31 ; we have to waste this space because the OS might want to write to it
GBPBuffer # 0
;------------------
GBPB_LoadAddr # 4
GBPB_ExecAddr # 4
GBPB_Length # 4
GBPB_Attributes # 4
GBPB_ObjectType # 4
GBPB_SIN # 4
GBPB_Time # 5
GBPB_Name # 11
GBPB_Allocated # 4 ; not really GBPB but rather Args
GBPBufferEnd # 0
Flags # 4
Flag_CDir * 1
Flag_Written * 2
;temporary variables
;-------------------
fragmentStart # 4
fragmentLength # 4
fragmentID # 4
;******************************************************************************
Path # PathSize
SmallBuffer # 0
[ debug
# SmallBufferSize
Buffer # BufferSize-SmallBufferSize
|
Buffer # BufferSize
]
RMAEnd # 0
RMAspace * RMAEnd-Start
END