view level3/ReadMe.l3 @ 2986:6a83842642ad

sierra: Update King's Quest 4 resource files This adds the now fixed up set.pri.base from mnln.asm There are 4 types of resources in AGI games: logics (the game scripts), pictures, sound and views (animated objects). These are binary files and they are packaged in the "vol.x" files. The "dir" files (logDir, picDir, sndDir and viewDir) are index files used to locate the resources within the vol files. To add the "set.pri.base" command back, I used WinAGI, an AGI game editor, to modify the script and recompile it to a binary resource. I then rebuilt the vol files using my "buildvol" utility. Also, I've made other changes to KQ4 recently, so many vol files have changed: - fixed background picture in room with the cemetary and the stone crypt - fixed garbled dialogs in the sequence just before Rosella's wedding with Edgar - added the "beam me" and "rap kq" easter eggs from KQ4 version 2.0
author Guillaume Major <guillaume.major@gmail.com>
date Sat, 12 Apr 2014 16:58:07 +0200
parents f506d1905781
children
line wrap: on
line source

  My version of Level III!

  The file 'LevelIII.lzh' has a previous (8k block) version, along with
much documentation as to how to set it up.

  Quick theory:

The system map has 64k available, of which memory can be mapped in and out
in 8k blocks.

SCF and RBF (and all other file managers) are completely independent.  You
can boot OS-9 without ANY SCF modules, and likewise without any RBF modules.

Next idea: map SCF and RBF in and out of the system map dynamically, so that
only one of them is in the map at a time.

The memory map looks like this:

$0000-$1FFF  block 0, system direct page, etc.
$2000-$3FFF  File Manager Local memory.  Mapped in and out as appropriate.
$4000-$ECFF  Process/path/device descriptors, Clock, IOMan, etc.
$ED00-$FEFF  Kernel track: REL Boot OS9p1

  On every system call and IRQ, the 16k block starting at $2000 is mapped
in or out, and the system DAT image changed also.

  On boot up, the module 'NitrOS-9'  (nitro.a here) sets up the various
maps, and moves up to 16k of SCF or RBF modules into the FM local memory.

  Once the system is running, IOMan intercepts F$SRqMem and F$SRtMem calls
from all modules, and allocates FM local memory if the call originates from
there.  i.e. RBF allocates a drive buffer, and IOMan gives it local memory,
so a 'smap' would show no change in the number of free pages.

  One problem:  CC3IO and Windint CANNOT be in FM local memory, as they are
both called via tha D.AltIRQ vector.  Every time I try to put them in local
memory, the system crashes, despite all precautions I take.  So don't.

  The version of OS9p1 here is Level II OR Level III compliant.

  IOMan is ONLY Level III, and Nitro.a is the Level 3 File Manager setup
module.  '_end' is a dummy module, just a place-holder.

  I've just discovered that CC3Disk11 will crash on trying to format a floppy
disk under Level III.  It's probably the memory extensions I made to CC3Disk,
and I'm checking it out.