From: Fred <fr...@sp...> - 2004-03-10 14:30:17
|
Hi Alvin, [Apologies for the duplicate, the Fuse cc: was wrong...] alvin albrecht wrote: > Regarding the ts2068 and ntsc after reading the video > generation section in the tech manual you mentioned: > [snip timing info] > We can also get someone to find the time it takes before > the first screen byte is written to confirm the number of > top border lines guessed at above. Yep, sounds good. I'll plug these numbers into the Fuse TS2068 emulation and ask around for someone to confirm them (particularly the first byte delay)... > Have you checked if the tc2048 uses a 14.112MHz oscillator? I am worried that I'll stuff up the keyboard membrane if I open mine, so I have not checked it personally. [Googles] You are right! Johnny Red has a picture of a TC2048 circuit board at <http://members.fortunecity.com/johnnyred/tmxboards.html>, looks like a 14.000MHz crystal implying a 3.5MHz clock speed for the PAL Timex machines (the same crystal is visible on the TC2068 image on the same site). As the AY frequency on the TS2068 = 14.112MHz/8, I bet the real AY frequency on a TC2068 is 1.75MHz. > I would guess it's not the same as the ts2068! All the references I had found suggested that the TC2048 has the same 3.528MHz Z80 as the ts2068, looks like they were all wrong! > For PAL, each 50Hz frame will be composed of: > 6 lines of vertical sync > 17 lines of interval video (not picture but embedded info) > 287 lines of picture > 2 lines of sync leading to the next frame > = 312 lines > > Once we've confirmed the oscillator's freq, we can > probably do the same math to find precise video timing. It's late, but I'll give your sums a try: fo = 14.000MHz crystal is used to derive video timing. The cpu clock is derived as: fcpu = fo/4 = 3.5MHz The vertical frame rate is: fv = fo/896/312 = 50.0801Hz = 69888 T states The horizontal sweep determines the line rate: fh = fo/896 = 15.625kHz = 224 T states The TC2048 display is approximately centered, but I'll check that this weekend, so I would guess that each border is: (312-192-6-17-2)/2 = 47 lines tall (one of them is 48) So a single frame consists of: 25 lines of nothing 47 lines of top border 192 lines of picture 48 lines of bottom border = 312 lines total with each line 224 T states Within each line, we have info from the ts2068 tech manual that screen byte pairs (8 pixels + 1 attr) are read at a rate of: fo/16 = 875kHz = 4 T states So one line of 32 bytes are read in 128 of the 224 T states in a horizontal line. The 224 T states in a line will consist of: delay + left border + 128T for the 256 pixels + right border. I tried to have a look at the timing of the borders, but didn't see how to distinguish which is border vs. flyback time. How do you think these timing numbers correspond with the 14295 (+19+[1-20]) tstates figure I got from the timing program for the first screen byte to be measured? The 48k figure of 14336 is only 2ts more than 14295+19+20=14334 tstates... I plugged these numbers into fuse and still get authentic looking border effects for Aquaplane and Academy, plus the split program now also produces a value of 14295 just like the real thing! Thanks, Fred |