emailler/doc/apple_dos_33_memory_layout.txt

46 lines
1022 B
Plaintext

DOS 3.3 MEMORY LAYOUT
$C000 --- TOP OF RAM
$B600 --- RWTS
$AAC9 --- FILE MANAGER
$9D00 --- MAIN DOS ROUTINES
$9600 -- DOS FILE BUFFERS (MAXFILES 3)
BD00 - RWTS main entry
- call with AY pointing at IOB
Input/Output Control Block
OFFSET DESCRIPTION
$00 Table Type (must be 1)
$01 Slot Number times 0x10
$02 Drive Number ($01 or $02)
$03 Volume Number ($00 matches any volume)
$04 Track Number
$05 Sector Number
$06/$07 Address (lo/hi) of Device Characteristics Table
$08/$09 Address (lo/hi) of 256 byte buffer for READ/WRITE
$0A Not Used
$0B byte count for partial sector
$0c Command Code
$00 = SEEK
$01 = READ
$02 = WRITE
$04 = FORMAT
$0d Return Code (if non zero, carry flag should be set)
$00 = no error
$08 = error during initialization
$10 = write protect error
$20 = volume mismatch error
$40 = drive error
$80 = read error (obsolete)
$0e volume number of last access
$0f slot number of last acces * 16
$10 drive number of last access