Previous | Next
| From: Crown (all posts)
Date: 1998-05-21
Subject: TED state change positions
|
Hi,
Here are some internal timing event positions of the TED.
All events occur in response to certain values of both the horizontal dot counter register and the vertical line register.
$ff1e contains the actual value of the horizontal dot counter divided by
2, while $ff1c-$ff1d contains the actual value of the vertical line register.
You have to look this table with a wide screen setting...
I've just typed in the values which I found in a doc, and I think that the Horizontal events are shifted left by 4 clock cycles,
so to get the real data you have to add 16 to the horizontal dot counter values given here, and $08 to the $ff1e values.
(At least the Increment Line counter, and Refresh Start events suggest this)
Anyway this needs verification, so use with caution.
I guess some more events are exists, and this list should and could be expanded.
Actually all TED tricks do someway, manipulate either the position of these events, or they disable or enable certain events to happen.
As both of these registers are writable by the CPU, this gives a lot of freedom to experiment. :)
Horizontal events: Horizontal dot counter $ff1e Horizontal Sync Start 358 $B3
End 390 $C3
Horizontal Equilization Pulse 1 Start 152 $4C
Stop 170 $55
Pulse 2 Start 380 $BE
Stop 398 $C7
Horizontal Blanking Start 344 $AC
Stop 416 $D0
Burst Start 384 $C0
Stop 408 $CC Character Window Start 432 $D8
Stop 296 $94
External Fetch Window Start 400 $C8
Stop 288 $90
Refresh Single Clock Start 288 $90
Stop 328 $A4
Character Window Single Clock Start 432 $D8
Stop 296 $94
40 Column Screen Start 451 $E1
Stop 315 $9D
38 Column Screen Start 3 $01
Stop 307 $99
Video Shift Register Start 440 $DC
Stop 304 $98
Increment Blink 336 $A8
Increment Vertsub Counter Increment Refresh Start 296 $94
Stop 336 $A8
Increment Character Position Reload 424 $D4
Increment Character Position Start 432 $D8
Stop 288 $90
Latch Character Position to Reload 290 $91
End of Screen - Clear Vertical Line, Vertical Sub
and Character Reload Registers 384 $C0
Increment Vertical Line 376 $BC
The vertical events are happening in the first cycle of the particular line, so for example if you not allow cycle $C4 in line $FE then the Vertical Retrace Sygnal will never start. (I reference to the cycle by its $ff1e value, and I guess this should be accepted as a standard reference method... ? )
Vertical Events: Line number: $ff1c-$ff1d End of Screen PAL 311 $137
End of Screen NTSC 261 $105
Vertical Sync PAL Start 254 $FE
Stop 257 $101
NTSC Start 229 $E5
Stop 232 $E8
Vertical Equalize PAL Start 251 $FB
Stop 260 $104
NTSC Start 226 $E2
Stop 235 $EB Vertical Blanking PAL Start 251 $FB
Stop 269 $10D
NTSC Start 226 $E2
Stop 244 $F4
Attribute Fetch Start 0 $00
Stop 203 $CB Frame Window Stop 204 $CC Vertical Screen Window 25 Row Start 4 $04
Stop 204 $CC
24 Row Start 8 $08
Stop 200 $C8
Corrections are welcome. :)
Tibor Biczo / Crown of GOTU
|
| |
Copyright © Plus/4 World Team, 2001-2024. Support Plus/4 World on Patreon |