Timex 2000 series: Difference between revisions

Jump to navigation Jump to search
m
(Three separate infoboxes, for the three separate machines. Mostly empty right now though)
Line 76: Line 76:
With careful timing it is possible to mix screen modes so you could have a screen where the top half is hi-colour and the bottom half is hi-res - perfect for text adventures with graphics. Using a similar technique it is also possible to have more than two colours on a hi-res screen. However, it is believed that no commercial software ever actually did this.
With careful timing it is possible to mix screen modes so you could have a screen where the top half is hi-colour and the bottom half is hi-res - perfect for text adventures with graphics. Using a similar technique it is also possible to have more than two colours on a hi-res screen. However, it is believed that no commercial software ever actually did this.
== Memory ==
== Memory ==
{| class="wikitable" style="text-align: center; float:right; margin:0px 0px 0.5em 1em; clear:right; "
|+ Memory Map
!
! style="width: 5em;" | EX-ROM
! style="width: 5em;" | HOME
! style="width: 5em;" | DOCK
|- style="height: 3em;"
! 0xFFFF <br />0xE000
| Bank 7' || rowspan="4" | 32k RAM || Bank 7
|- style="height: 3em;"
! 0xDFFF <br />0xC000
| Bank 6' || Bank 6
|- style="height: 3em;"
! 0xBFFF <br />0xA000
| Bank 5' || Bank 5
|- style="height: 3em;"
! 0x9FFF <br />0x8000
| Bank 4' || Bank 4
|- style="height: 3em;"
! 0x7FFF <br />0x6000
| Bank 3' || Screen 1 || Bank 3
|- style="height: 3em;"
! 0x5FFF <br />0x4000
| Bank 2' || Screen 0 || Bank 2
|- style="height: 3em;"
! 0x3FFF <br />0x2000
| Bank 1' || rowspan="2" | 16k ROM || Bank 1
|- style="height: 3em;"
!0x1FFF <br />0x0000
| Bank 0' || Bank 0
|-
|}
The Timex machines feature a horizontal memory management unit. In the TS2068 and TC2068 it is used to support the extended BASIC and cartridges plugged into the dock. It is present in the TC2048 but there is no direct way to connect anything to it (although the refresh signals are available to connect an additional 128K of RAM to the horizontal MMU).
The Timex machines feature a horizontal memory management unit. In the TS2068 and TC2068 it is used to support the extended BASIC and cartridges plugged into the dock. It is present in the TC2048 but there is no direct way to connect anything to it (although the refresh signals are available to connect an additional 128K of RAM to the horizontal MMU).


The memory map of these computers is:
          EX-ROM      HOME      DOCK
0xffff +----------+----------+----------+
        |  Bank 7' | 32K RAM  |  Bank 7  |
        |          |          |          |
0xe000 +----------+          +----------+
        |  Bank 6' |          |  Bank 6  |
        |          |          |          |   
0xc000 +----------+          +----------+
        |  Bank 5' |          |  Bank 5  |
        |          |          |          |
0xa000 +----------+          +----------+
        |  Bank 4' |          |  Bank 4  |
        |          |          |          |
0x8000 +----------+----------+----------+
        |  Bank 3' | Screen 1 |  Bank 3  |
        |          |          |          |
0x6000 +----------+----------+----------+
        |  Bank 2' | Screen 0 |  Bank 2  |
        |          |          |          |
0x4000 +----------+----------+----------+
        |  Bank 1' | 16K ROM  |  Bank 1  |
        |          |          |          |
0x2000 +----------+          +----------+
        |  Bank 0' |          |  Bank 0  |
        |          |          |          |
0x0000 +----------+----------+----------+
Memory is paged in 8K banks from either the DOCK or the EX-ROM, but these banks are mutually exclusive - you cannot page in a bank from both simultaneously. Bit 7 of port 0xff determines which bank to use (0=DOCK, 1=EX-ROM). Port 0xf4 determines which banks are to be paged in with each bit referring to the relevant bank (0-7 or 0'-7'). When memory is being paged, interrupts should be disabled and the stack should be in an area which is not going to change.
Memory is paged in 8K banks from either the DOCK or the EX-ROM, but these banks are mutually exclusive - you cannot page in a bank from both simultaneously. Bit 7 of port 0xff determines which bank to use (0=DOCK, 1=EX-ROM). Port 0xf4 determines which banks are to be paged in with each bit referring to the relevant bank (0-7 or 0'-7'). When memory is being paged, interrupts should be disabled and the stack should be in an area which is not going to change.


Navigation menu