[Coco] Data Modules

Jeff Teunissen deek at d2dc.net
Sun Sep 24 01:37:23 EDT 2023


On Sun, Sep 17, 2023, 1:35 PM Gregory Law via Coco <coco at maltedmedia.com>
wrote:

> The CRC is checked only when loading a module into memory with F$Load.
> Once the module is in memory, the CRC is never checked again so you can
> make all the modifications you want to a data module without worrying
> about the CRC. In theory you can persist a data module from memory back
> to disk if you recalculate the CRC before saving to disk but this is not
> very useful with OS-9 Level 2. The reason I say it's not very useful is
> because this requires loading a stand-alone data module into memory
> (e.g. F$Load Conf.dat) that eats an entire 8K memory block for a
> 316-byte data module. The more common scenario is to merge all the
> program modules and the data module into one file. This way the entire
> set of modules can load into the smallest number of 8K blocks possible
> and save a good chunk of memory.


This depends on the machine. NitrOS-9 boot disks usually default to having
CRC checking disabled (it's a setting in Init), so it's possible to link to
a module with a bad CRC. The same is not true for classic CoCo OS-9 boots.


More information about the Coco mailing list