V9958 on an MTX

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

Re: V9958 on an MTX

Post by Crazyboss » 07 Oct 2014 13:52

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: 174
Joined: 14 Aug 2012 15:31

Re: V9958 on an MTX

Post by lezanderson » 07 Oct 2014 15:20

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: 414
Joined: 09 Nov 2013 21:03

Re: V9958 on an MTX

Post by Martin A » 07 Oct 2014 20:32

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: 414
Joined: 09 Nov 2013 21:03

Re: V9958 on an MTX

Post by Martin A » 09 Oct 2014 19:57

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 2562 times

User avatar
Crazyboss
Site Admin
Posts: 228
Joined: 09 Aug 2012 21:45
Location: Sweden
Contact:

Re: V9958 on an MTX

Post by Crazyboss » 10 Oct 2014 14:33

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: 414
Joined: 09 Nov 2013 21:03

Re: V9958 on an MTX

Post by Martin A » 01 Nov 2014 16:13

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.
Fullscreen.jpg
Full screen 256x 192 image
Fullscreen.jpg (831.86 KiB) Viewed 2541 times

Bill B
Posts: 172
Joined: 26 Jan 2014 16:31

Re: V9958 on an MTX

Post by Bill B » 06 Jun 2015 21:19

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 81 times

User avatar
1024MAK
Posts: 563
Joined: 24 Dec 2012 03:01
Location: Looking forward to summer, in Somerset, UK

Re: V9958 on an MTX

Post by 1024MAK » 06 Jun 2015 21:30

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

Thanks Bill :D

Mark

User avatar
Dave
Posts: 747
Joined: 11 Aug 2012 18:16
Contact:

Re: V9958 on an MTX

Post by Dave » 07 Jun 2015 01:54

Funnily enough,

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

regards
Dave

Bill B
Posts: 172
Joined: 26 Jan 2014 16:31

Re: V9958 on an MTX

Post by Bill B » 07 Jun 2015 10:45

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