V9958 on an MTX

Modern, Memotech inspired, hardware projects
User avatar
Crazyboss
Site Admin
Posts: 274
Joined: 09 Aug 2012 21:45
Location: Sweden
Contact:

Re: V9958 on an MTX

Post by Crazyboss »

is it a V9958 ?

Screen 8 (MSX2) is 256x192, 256 colours. bits for colors are RRRGGGBB, if its a 9958 (which was used in MSX2+) it can handle around 19000 colours
else the 9958 and 9938 are compatible with the 9918/9928

i have modes equal to MTX (VS 4). but also have modes allow multicolored sprites (each line each color), and allow 8 sprites per line.

Nice addon, but are we moving away for the original.?

Yamaha also made a 9990 vdp which can do more crazy stuff, and also an OPL4 chip (i guess) was released "MOONSOUND".

A danish GUY called Henrik Gilvad (Know him from the past). Was the brain behind those MSX addon's as I remember.

With MSX2 or better addon, we could play ported versions of MSX2 games at the MTX, if anyone wanted to spend the time doing it.
//CLAUS - Webmaster at www.mtxworld.dk
lezanderson
Posts: 186
Joined: 14 Aug 2012 15:31

Re: V9958 on an MTX

Post by lezanderson »

I've looked into the V9900 Graphics chip... quite easy to source but surface mount !! Used in the Kiwi Homebrew computer cost about $20 each.. Perhaps a bit overkill ?? The V9958 is cheaper to source than the TMS9929/18 , V9938 or V9900 and is probably good enough.

Sound Chips


YMZ284 DIP16
KC89C72 DIP
YM2413 DIP18
YM3812 DIP24

The YM3812 is by far the best.. with 18 voices ?? Used in MSX sound cards and some PC Sound Cards .. Sound blaster etc.. It is also bizarrely the cheapest !


YMZ284 DIP16 Never Version of YM2149 : AY-3-8910 compatible


KC89C72 DIP $1.5/ea: Same as AY-3-8910 / YM2149 which are quite popular


YM2413 DIP18 used in some MSX machines : Cut down version of YM3182


YM3812 DIP24 $1.5/ea : Powerful Sound Chip Used in synthesizers and top MSX machines



All these can still be easily sourced !!


These might be useful if someone is planning on building a Memotech MTX S3 ?
Martin A
Posts: 799
Joined: 09 Nov 2013 21:03

Re: V9958 on an MTX

Post by Martin A »

The original Kelly picture was a small JPEG, I converted that to 256 colours on an Acorn RiscPC. Then did some bit twiddling to convert it from Acorn's BGGRBRII format to RRRGGBB.

Using a full screen 256 x 212 would have been nice, but that's 53k long, far more than I can currently transfer using a Magrom.

The Math for the YUV 19k colour mode is scary, I plan on leaving that alone for now !
Martin A
Posts: 799
Joined: 09 Nov 2013 21:03

Re: V9958 on an MTX

Post by Martin A »

Another V9958 picture, this time the external board is set to respond to I/O ports 1 and 2, at the same time as the internal VDP.

The 9958 is set to PAL mode to maintain the same frame rate as the 9929.

You can't tell from the static shot, there were a couple a couple of glitches visible in game play on the externally generated screen. But that could just be down to the fact that the 2 chips are producing the picture independently. Any interrupt synchronised events that might be going on would only be correct for the internal VDP.

Bearings.jpg
Bearings.jpg (108.89 KiB) Viewed 10515 times
User avatar
Crazyboss
Site Admin
Posts: 274
Joined: 09 Aug 2012 21:45
Location: Sweden
Contact:

Re: V9958 on an MTX

Post by Crazyboss »

Looks good :) you should try to setup a 19k colour picture, there might a jpg to msx2+ screen converter around?
//CLAUS - Webmaster at www.mtxworld.dk
Martin A
Posts: 799
Joined: 09 Nov 2013 21:03

Re: V9958 on an MTX

Post by Martin A »

Here's the latest test image.

It's 256 x 192 in 256 colours, so 48k long.

I'm now using RGB output via the SCART socket, it's being displayed at NTSC frequencies as that eliminates some "Dot Crawl" that is apparent in PAL mode.

After adding 1 further patch wire, sound from the board is now working too, So the board is pretty much ready for the MTX+

Now we just need to get CPU and I/O boards made.
Full screen 256x 192 image
Full screen 256x 192 image
Fullscreen.jpg (831.86 KiB) Viewed 10494 times
Bill B
Posts: 593
Joined: 26 Jan 2014 16:31

Re: V9958 on an MTX

Post by Bill B »

Dave wrote (http://primrosebank.net/computers/mtx/p ... txplus.htm):
31/01/2015...trying to find (with help) a hardware solution to allow the VDP on the video board to be written to at any CPU speed...
Sounds to me like you need a wait state generator. Zilog publish a circuit using a 74xx74 for adding one wait state (Figs 21 & 22 of attached).

There is a more versatile circuit for producing 1-8 wait states included in http://www.s100computers.com/My%20Syste ... 0Board.htm. That uses a 74xx165 parallel load shift register. A sequence of 1-8 zeros are loaded into the shift register on a parallel load pulse, and then clocked out to the /WAIT bin by the CPU clock.

In either case you probably only want the wait states to be triggered by I/O to the VDP.
Attachments
um0080.pdf
Z80 CPU User Manual
(1.31 MiB) Downloaded 511 times
User avatar
1024MAK
Posts: 757
Joined: 24 Dec 2012 03:01
Location: Looking forward to summer, in Somerset, UK

Re: V9958 on an MTX

Post by 1024MAK »

I'm sure Dave's been waiting for that :lol:

Thanks Bill :D

Mark
:!: Standby alert :!:
“There are four lights!”
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :!:
Looking forward to summer in Somerset later in the year :D

Not as many MTXs as Dave! :lol:
User avatar
Dave
Posts: 1280
Joined: 11 Aug 2012 18:16
Contact:

Re: V9958 on an MTX

Post by Dave »

Funnily enough,

it's the wait state generator that's not working :roll:

regards
Dave
Bill B
Posts: 593
Joined: 26 Jan 2014 16:31

Re: V9958 on an MTX

Post by Bill B »

OK, so I was stating the obvious :oops:

However, assuming that I am looking at the latest version of the circuit diagram (Video Board 1.02.pdf) then it appears that at present the VDP wait output is just connected to the Z80 wait input. It is not clear to me from the data sheet of the V9958 (also from Dave's site) that this would have the effect of stretching I/O to the VDP registers (which I assume is the issue).

So, out of interest, is that circuit current, or is there now additional wait state circuitry that is not documented, or that I have just not spotted on the circuit diagrams. When you say that the wait state generator is "not working", do you mean: not generating a wait pulse, generating the pulse at the wrong time, being ignored by the Z80, other or don't know?
Post Reply