comparison level3/ReadMe.l3 @ 2349:f506d1905781

Added Level 3
author boisy
date Sun, 17 Jan 2010 21:35:51 +0000
parents
children
comparison
equal deleted inserted replaced
2348:8132c03a36cf 2349:f506d1905781
1 My version of Level III!
2
3 The file 'LevelIII.lzh' has a previous (8k block) version, along with
4 much documentation as to how to set it up.
5
6 Quick theory:
7
8 The system map has 64k available, of which memory can be mapped in and out
9 in 8k blocks.
10
11 SCF and RBF (and all other file managers) are completely independent. You
12 can boot OS-9 without ANY SCF modules, and likewise without any RBF modules.
13
14 Next idea: map SCF and RBF in and out of the system map dynamically, so that
15 only one of them is in the map at a time.
16
17 The memory map looks like this:
18
19 $0000-$1FFF block 0, system direct page, etc.
20 $2000-$3FFF File Manager Local memory. Mapped in and out as appropriate.
21 $4000-$ECFF Process/path/device descriptors, Clock, IOMan, etc.
22 $ED00-$FEFF Kernel track: REL Boot OS9p1
23
24 On every system call and IRQ, the 16k block starting at $2000 is mapped
25 in or out, and the system DAT image changed also.
26
27 On boot up, the module 'NitrOS-9' (nitro.a here) sets up the various
28 maps, and moves up to 16k of SCF or RBF modules into the FM local memory.
29
30 Once the system is running, IOMan intercepts F$SRqMem and F$SRtMem calls
31 from all modules, and allocates FM local memory if the call originates from
32 there. i.e. RBF allocates a drive buffer, and IOMan gives it local memory,
33 so a 'smap' would show no change in the number of free pages.
34
35 One problem: CC3IO and Windint CANNOT be in FM local memory, as they are
36 both called via tha D.AltIRQ vector. Every time I try to put them in local
37 memory, the system crashes, despite all precautions I take. So don't.
38
39 The version of OS9p1 here is Level II OR Level III compliant.
40
41 IOMan is ONLY Level III, and Nitro.a is the Level 3 File Manager setup
42 module. '_end' is a dummy module, just a place-holder.
43
44 I've just discovered that CC3Disk11 will crash on trying to format a floppy
45 disk under Level III. It's probably the memory extensions I made to CC3Disk,
46 and I'm checking it out.