The lower 8 bits of Timex ports are fully decoded
Timings appear close to 48K spectrum despite the higher clock speed
Keyboard reads (port FE) are different to other spectrum models,  bits 5 & 7 are
always reset
Reading unattached ports gives 255. There are no floating ULA values.
Joystick ports are all over the shop!
Machine is silent during loading (eerie!)
Colours are always bright in hires mode
Border always matches hires colour in hires mode

Short information about graphics modes of Timex.

Modes are switched by port 255.
They are:
0 - standard Spectrum
1 - the same in nature as 0, but using second display file
2 - extended colours (data taken from first screen,
    attributes 1x8 taken from second display.
3 - similar to 2, but data is taken from second screen
4 - hires mode, data in odd columns is taken from first screen
in standard way, data in even columns is made from attributes data (8x8)
5 - similar to 4, but data taken from second display
6 - true hires mode, odd columns from first screen, even columns from
    second screen.  I mean columns numbered from 1.
7 - data taken only from second screen, columns are doubled

Hires mode (4,5,6,7) are monochrome.  Ink, paper (border the same as paper)
depends on bits 3,4,5 of data sent to port 255, eg.

OUT 255,6  WHITE & BLACK
OUT 255,14 YELLOW & BLUE
OUT 255,22 CYAN & RED

and so on.

The problem of accurate Timex SCLD (ULA) emulation
--------------------------------------------------

The Timex machines produce displays that are almost, but not quite, the same as
those produced by a 48K Spectrum. Aquaplane has a perfectly aligned border
effect, Academy's menu border effect is out one border line on one side only.

The Timex Sinclair 2068 Technical Reference Manual describes the detailed
operation of the SCLD[1]. In the NTSC TS2068 models the 14.112MHz clock is
divided by 896 to give a 15.75KHz "horizontal sweep" clock which in turn divided
by 262 to give a 60.1145Hz clock for Vertical Sync. This implies that 262 lines
are generated per frame as the counters driven by the clock produce the
addresses used to read from the display memory for screen generation. The
breakdown of visible lines versus vertical retrace lines is not known.

I think that in the PAL TC20[46]8 models the 14.112MHz clock is also divided by
896 to give a 15.75KHz "horizontal sweep" clock (as NTSC and PAL have the same
horizontal resolution AFAIK) which is in turn divided by 315 to give a 50Hz
clock for Vertical Sync. This implies that there are 315 lines in the screen
generated by the PAL SCLD. Otherwise it is the same as the NTSC version.

Applying a value of 315 lines instead of the 48K's 312 lines to the TC2048
timings by adding 3 lines to the vertical retrace lines produces authentic
TC2048 border effects for Aquaplane and Academy.
 
[1] Timex Sinclair 2068 Reference Manual pp41-42
