The ULA used by the Timex machines provides a number of additional screen modes. These are controlled using Port 0xff. An unfortunate side effect of this is that a few games, like Arkanoid, which expect reading 0xff to produce screen and ATTR data bytes when the ULA is reading the screen memory, will not work, since reading 0xff on the Timex returns the last byte sent to the port. It is not known if this port is fully decoded but it seems likely that it is partially decoded, as on the Spectrum. Port 0xff is also used to enable/disable the timer interrupt and select which bank of memory to use for the horizontal MMU. The byte to output will be interpreted thus:
Bits 0-2: Screen mode. 000=screen 0, 001=screen 1, 010=hi-colour, 110=hi-res
Bits 3-5: Sets the screen colour in hi-res mode.
000 - Black on White 100 - Green on Magenta
001 - Blue on Yellow 101 - Cyan on Red
010 - Red on Cyan 110 - Yellow on Blue
011 - Magenta on Green 111 - White on Black
Bit 6: If set disables the generation of the timer interrupt.
Bit 7: Selects which bank the horizontal MMU should use. 0=DOCK, 1=EX-ROM.
Screen 0 is the normal screen at 0x4000. Screen 1 uses the same format but at 0x6000.
The hi-colour screen uses the data area of screen 0 and screen 1 to create a 512x192 pixel screen. Columns are taken alternately from screen 0 and screen 1. The attribute area is not used. In this mode all colurs, including the BORDER, are BRIGHT, and the BORDER colour is the same as the PAPER colour.
The multi-colour screen uses the data area of screen 0 for its data and the data area of screen 1 for its attributes, giving 2 colours per 8x1 pixel block. The attribute area is in the same byte order as the data area, which means MLT files, which have the attribute are in series, must be converted to be displayed.
Bit 6 is the hardware equivalent of issuing a DI (disable interrupts) instruction in machine code, and is unaffected by the instruction EI (enable interrupts), so should be used with caution. Bit 6 can be useful for getting ROM routines which normally enable interrupts to run slightly faster.
TS-Labs wrote:Т.е. 6912, мультиколор, гигаскрин и монохром.
diver wrote:дак у этого тоже. 6 Кб пикселей с адреса 16384, 6 Кб атрибутов с адреса 24576
nyuk wrote:Ну и конечно часы Монтана, это лучшая часть. Пусть не такие как надо, и мелодия не та. Но блин! Монтана 16 мелодий 65 рублей в комиссионке!!!
Users browsing this forum: No registered users and 1 guest