TMS9929(ANL) vs TMS9129NL

Page 1/2
| 2

By Manuel

Ascended (15763)

Manuel's picture

11-06-2008, 21:34

Hi,

Can anyone tell me the difference between the TMS9929(ANL) and the TMS9129NL?

The former is e.g. in the Yashica YC-64 (which does not run the VDP Pirates demo correctly) and the latter in the Sony HB-201P (which runs that demo fine). Both are PAL. But what's the diff???

Login or register to post comments

By pitpan

Prophet (3131)

pitpan's picture

12-06-2008, 09:29

I guess that the problem with "mixed mode" is related to the different VDP implementations. Most MSX1 computers do support the mixed mode (screen 2 with just one bank of tiles), whereas some other MSX1 models do not support such mode. This prevents us from producing fast scrolling games for MSX1, 'cause any screen update has to write to three tile banks.

By jltursan

Prophet (2180)

jltursan's picture

12-06-2008, 10:54

I'm not sure what's causing the slight desynch between machines. The demo doesn't use VDP tricks or mixed modes so it must work on every machine. I've detected that the same MSX with interfaces connected (a FDC for example) changes its timing trashing the demo; but with bare machines I don't see any reason to fail. Maybe it's something related to some VDP/CPU tight timings differences. Are the M1 wait state present on all the machines?, is it the Z80 clocked the same on every machine?

About the TMS versions, I've been looking for their datasheets with no luck until now...

By dvik

Prophet (2200)

dvik's picture

12-06-2008, 21:18

It depends on how the demo syncs to VBLANK and what bios hooks its using if any. The same or similar trick was used in the multi color screen 0 part in MSX Unleashed, and its basically just a matter of adding delay between a fixed sync point (i.e. VBLANK) and when you want to update the foreground color. FDC and other things may interfere with this well timed code.

Another fun demo part to test VDP timing is the last part in Utopia. Also screen 0 playing with bg and fg colors. It works as intended on most MSX1 and MSX2 machines, but not on my VG-8020 for some reason.

By Gakubuchi

Expert (90)

Gakubuchi's picture

13-06-2008, 17:18

I'm not sure what's causing the slight desynch between machines. The demo doesn't use VDP tricks or mixed modes so it must work on every machine. I've detected that the same MSX with interfaces connected (a FDC for example) changes its timing trashing the demo; but with bare machines I don't see any reason to fail. Maybe it's something related to some VDP/CPU tight timings differences. Are the M1 wait state present on all the machines?, is it the Z80 clocked the same on every machine?
About the TMS versions, I've been looking for their datasheets with no luck until now...

About the M1 wait state, as far as I know it is present in ALL MSX machines (at least first generation).

For the TMS9918A, TMS9928A and TMS9929A DataSheets you can go to the wikipedia en.wikipedia.org/wiki/Texas_Instruments_TMS9918 and scroll down. At the end there is a link to it.

If you are too lazy, here is the direct link :P
emu-docs.org/VDP%20TMS9918/Datasheets/TMS9918.pdf

Hope this helps!

Gakubuchi "Marc"

By dvik

Prophet (2200)

dvik's picture

13-06-2008, 17:23

Does any MSX1 machines have a separate clock for the Z80 and the VDP? In some cases it seems like it, e.g. the VG-8020, because one scanline on most MSXes takes 228 CPU cycles, but on my VG it seems to take 227 cycles (thats at least what it looks like in the end part of Utopia). Or can there be other reasons for scanlines to take different amount of time on MSX1 machines.

By Gakubuchi

Expert (90)

Gakubuchi's picture

13-06-2008, 17:43

Does any MSX1 machines have a separate clock for the Z80 and the VDP? In some cases it seems like it, e.g. the VG-8020, because one scanline on most MSXes takes 228 CPU cycles, but on my VG it seems to take 227 cycles (thats at least what it looks like in the end part of Utopia). Or can there be other reasons for scanlines to take different amount of time on MSX1 machines.

I have the PHILIPS VG8020 Service Manual and the TMS9929A VDP has an external clock of 10,6875MHz connected to pins X1 and X2.
personales.ya.com/marcus/imatges/TMS9929ACLK.png

The VG8000/8010 has a "master clock" of 10.738635MHz linked to the CPU clock of 3.58MHz (i guess it uses a /3 divider because 10.738635/3=3,579545)

The TMS9918 Datasheet also suggests using an external clock of 10.738635MHz and a CPU clock of 3,58MHz

---
Gakubuchi "Marc"

By dvik

Prophet (2200)

dvik's picture

13-06-2008, 18:27

Then thats probably why the Utopia demo part doesn't show as intended. I guess the clocks aren't in sync. Its been a while since I did anything with old clock chips, but I vaguely remember that the accuracy isn't that good and its not uncommon to have a 0.5% difference between crystals.

It would be interesting to know which MSX1 machines has a master clock that drives both VDP and Z80 and what MSX1 machines have two clocks.

By Manuel

Ascended (15763)

Manuel's picture

13-06-2008, 23:25

dvik, many service manuals are online, I guess it's a matter of checking those out.

By hap

Paragon (2021)

hap's picture

14-06-2008, 00:16

About the original topic, manuel and me did some tests yesterday. So far the only observable difference is that the 4K/16K selection bit has no effect on 91xx, and fucks up the VDP address on 99xx. Both models support mixed screenmodes and have the sprite cloning glitch.

By dvik

Prophet (2200)

dvik's picture

14-06-2008, 01:32

Thats really cool. blueMSX implements the 4K VRAM decay when the screen is disabled, but I commented out that feature becase some games seemed to not work correctly. Perhaps for next release we can re-add that feature as well as the sprite mirroring and add configuration options for the different MSX1 VDP's.

Page 1/2
| 2