[Coco] [Color Computer] Multi-Pak Question
snhirsch at gmail.com
Fri Jan 30 18:16:17 EST 2009
On Fri, 30 Jan 2009, Robert Gault wrote:
> My guess is that when you bought the unit you did not receive the user's
> manual. Because if you had read the manual, you would see that not only can
> you select the active slot by using the switch on the unit but also by
> POKEing a value to 65407 aka &HFF7F.
> The manual states to use the following values:
> Selected slot Value
> 1 $00
> 2 $11
> 3 $22
> 4 $33
> A more detailed explanation that supplied by the manual follows. The slots
> are actually numbered with base-0 notation; 0-3. The nominal value used is
> the slot value for both the msn and lsn nibbled of the byte, thus $00, $11,
> $22, $33.
> Actually there are two functions being controlled by the value. The msn
> selects ROM available to the Coco at $C000-$DFFF, while the lsn selects the
> I/O device responding to $FF40-$FF5F.
> It is not necessary to use the same value for both msn and lsn. So if you had
> a device (ex. RealTimeClock) in slot 1 and your disk controller in slot 4,
> you could POKE &HFF7F,&H30 and retain the Disk ROM in slot 4 while doing I/O
> through slot 1.
> This also means you could read a ROM in an auto-starting pak without starting
> the pak. Select the slot of the ROM pak using the msn while keeping the lsn
> at the default 3.
> Doing the above is a bit more complex. You would want to use a short ml
> program and be sure to clear the CART interrupt before returning to Basic.
Thanks, Robert, for the all-time most coherent explanation of the MP
programming model! I have read a number of others (won't point fingers)
that dance a complete circle around the specifics and leave me scratching
This one is getting saved, printed and stuck in the reference binder :-).
More information about the Coco