[Coladam] SW roms

geoff at oltmansfamily.org geoff at oltmansfamily.org
Thu Apr 1 20:49:03 CEST 2010

On Thu, 1 Apr 2010 11:56:47 -0400 (EDT), "Rich Drushel" <drushel at apk.net>
> On Thu, April 1, 2010 8:54 am, Geoff Oltmans wrote:
>> In theory I don't see why it couldn't be loaded from disk onto a real
>> machine,
>> since you can set up the MIOC to use 32k of intrinsic RAM where the
>> SmartWriter ROM would normally go. Depending on how big the image is,
>> might
>> make the boot loader a little trickier, but otherwise it should be
>> possible.
>     IIRC, you need at least a 128K memory expander to do this, because
> SmartWriter detects and will use the 64K expander as workspace.  You
> to track down all the bank-switch code which expects SW to be in ROM,
> replace that with the configuration to select bank 1 of XRAM as the code
> segment.  This will require additional machine code to send the data to
> the bank select port (66 I think).

I'm not sure I agree. According to the Adam Technical Manual, the MIOC can
be set up where the Smartwriter ROM (in the low 32k address space) is
replaced with 32k system RAM. According to the documentation, this lower
32K bank can be:

2.1  Lower Memory Options

SmartWRITER Word Processor ROM - This memory option consists of 32K of
SmartWRITER ROM code. A small part of this code, EOS_BOOT, is responsible
for system initialization during power up and reset. EOS ROM can also be
accessed when this option is selected. See Subsection 4.1, EOS, for further

32K Intrinsic RAM - This option is the lower half of the 64K RAM included
with every ADAM. DMA transfers to AdamNet can take place only in intrinsic
RAM. SmartBASIC and most Programs stored on data pack reside in this

32K Expansion RAM - This option is the lower half of the 64K Memory
Expander, an optional feature not included with the ADAM system. The 64K
Memory Expander increases ADAM's memory to 144K of read/write memory (64K
intrinsic, 64K expansion, 16K VRAM).

OS-7 and 24K Intrinsic RAM - This option contains OS-7 and 24K of ADAM's
intrinsic RAM. OS-7 is the 8K ROM installed in ColecoVision and ADAM. In
Expansion Module #3, this ROM is in the ColecoVision. The description of
the 32K Intrinsic RAM also applies to this 24K intrinsic RAM.


Now the interesting part I see there that I hadn't considered is that it
appears that EOS is also selected along with SmartWriter, so you might also
have to supply a copy of the EOS code in this 32K RAM bank along with the
SmartWriter program. I'm not as privy to the details of how SmartWriter
drives the system as you are though, so there may be some bank switching
that is done in the SW code in order to take advantage of the whole 64k
expansion RAM (since it appears from the documentation that you can't
arbitrarily switch in low/high banks of the 64k ram expander into the upper
32k bank, just the upper one). There would have to be some sort of bank
switching code and/or a relocateable block copy program in place I would
imagine in order for it to make use of this, and I would think to do that
effectively might require copying parts of EOS/SW into RAM.

More information about the Coladam mailing list