[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: $C00B location



pererasanjaya@gmail.com writes:
>can someone explain SETSLOTC3ROM?
>thanks

Here goes:

The Apple II and II+ allocate 256 bytes to each of
slots 1 through 7 for use by onboard ROM code.
The Apple IIe introduced onboard 80 column support
so Apple had to find some way of providing this in
a way that was compatible with existing programs
(such as Apple Pascal). This they achieved by
expanding the motherboard ROM from 12KB to 16KB.
This extra ROM is bank switched into the C100..CFFF
address space using two extra soft-switches.

SLOTC3ROM	When set allows the ROM on a card
		in slot 3 to be used.
		When cleared forces the motherboard
		80 col ROM code to be used.

INTCXROM	When set all slot ROM space accesses
		read from the motherboard ROM.
		When clear slot ROM space accesses
		the cards in slots (except for slot 3
		if overridden by SLOTC3ROM).

SETSLOTCXROM (or CLRINTCXROM) = write to $C006
SETINTCXROM = write to $C007
SETINTC3ROM (or CLRSLOTC3ROM) = write to $C00A
SETSLOTC3ROM = write to $C00B

[Using CLR/SET names makes more sense as it shows there
are only two soft-switches and matches the other
labels like CLR80VID/SET80VID etc].

Note that the Apple IIe Technical Reference manual
(at least the spiral bound one I have) manages to get
some of the above addresses round the wrong way.
-- 
David Wilson  School of IT & CS, Uni of Wollongong, Australia