This is an old revision of the document!
Table of Contents
The 6846 is the main PIA chip in all machines for the TO range. It handles the tape drive, memory banks communations, 50Hz interrupt (actually programmable, it's generated using the timer), and a few extra things.
Register map
Address | Name | Comments |
---|---|---|
E7C0 | CSR | composite status register |
E7C1 | CRC | Port C control |
E7C2 | DDRC | Port C direction |
E7C3 | PRC | Port C data |
E7C4 | composite status register | |
E7C5 | TCR | timer control |
E7C6 | TMSB | timer most significant byte |
E7C7 | TLSB | timer least significant byte |
Ports
P4 and P5: Cartridge slot selection
On TO9 and later, these two bits are used to switch between different mappings for the cartridge area (0000-3FFF). It allows software (un)mapping of cartridges.
P4 | P5 | Bank 0 | Bank 1 | Bank 2 | Bank 3 |
---|---|---|---|---|---|
0 | 0 | BASIC 128 | Extramon | BASIC 1.0 | Icon DOS |
0 | 1 | Paragraphe | |||
1 | 0 | Fiches et Dossiers | |||
1 | 1 | External cartridge |
Each slot may have up to 4 banks, switching by the banks is done by writing anywhere between 0000 and 1FFF. The two low-order address bits define the bank number.
- Writing to 0000 selects bank 0
- Writing to 0001 selects bank 1
- Writing to 1F01 selects bank 1
- Writing to 1E02 selects bank 2
- …
Monitor entry EC03 (COMSLOT) allows calling code from one ROM bank to another.