HART cartridge and the BBGRam cannot coexist
because they share
some common I/O registers. Suppose you
had HART cartridge
plugged in but not the BBGRam, and you
had the HART
serial driver
and internal
memory driver installed. Then, you decide to unplug
the HART and put the BBGRam in. You do
so, then load up
Novaterm again. It locks up! This is because
Novaterm is still
loading the HART
driver as specified in the configuration file. When it
loads the HART
driver, the function that tests for the presence of the
cartridge interferes with the BBGRam,
and the system locks up (or
does something else unpredictable). To
avoid these conflicts:
1. Unplug everything.
2. Load up Novaterm.
3. Change drivers and save the configuration.
(Novaterm will not
lock up if a device
it is looking for simply isn't present.)
4. Plug in the new hardware.
5. Start Novaterm again.
As you get used to switching things around,
you'll eventually
determine which cross-configured drivers
won't lock up the system.
The I/O registers used by common serial
and memory devices are
listed below. A device doesn't necessarily
use all registers it reserves,
but it occupies more address space due
to "mirroring" of registers.
Memory drivers
internal: No I/O registers used.
VDC+internal: Uses $D600-$D601.
REU: Uses $DF00-$DF0A, mirrored every
32 bytes.
BBG/GEORam: Uses $DE00-$DEFF and $DF80-$DFFF.
RAMLink: Uses $DE00-$DEFF and $DF10-$DFFF.
RAMDrive: Uses $DE00-$DEFF and $DF10-$DFFF.
Serial drivers
User port: CIA #2 registers used.
UP9600: CIA #1 and #2 registers used.
SwiftLink: Uses $DE00-$DEFF ($DE00-0F
with AddressFixer).
CommPort: Uses $DF00-$DFFF ($DF00-0F with
AddressFixer).
SL-DE20: Uses $DE20-$DE2F (with AddressFixer).
SL-DF20: Uses $DF20-$DF2F (with AddressFixer).
SL-D700: Uses $D700-$D7FF ($D700-0F with
AddressFixer).
HART: Uses $DE18-$DE1F and $DF18-$DF1F.