MSX1 RGB modification

Page 1/3
| 2 | 3

By mikoto

Supporter (16)

mikoto's picture

17-02-2015, 22:03

Greetings, I post here for some help. I have several MSX machines but none of them works to my satisfaction. I have one Mitsubishi MLF80, when I recieved it the composite encoder was broken so image was weak and without colour. I tested building this schematic: http://www.msxarchive.nl/pub/msx/mirrors/hanso/hwdoityoursel... for RGB conversion of the signal. The project was not a failure, it did produce an RGB image. But the contrast and brightness of the signal varied with the colours the games displayed so the image was unstable for this reason.

I still like this machine a lot though and wish to restore it to working order. My question is if it is possible to either replace the TMS9929 with a VDP9938 instead which is supposed to be software compatible and what would be required? Or if someone has another proved working RGB circuit I can test to build instead?

Anyone done this? Hard to find information now that two of the best hardware info sites for MSX seems to be down...

Login or register to post comments

By l_oliveira

Hero (532)

l_oliveira's picture

18-02-2015, 02:34

VG8020/20 with V9938 as VDP:

100% possible and you can even enjoy it as a MSX2 if you manage to replace the roms.

By Poltergeist

Champion (277)

Poltergeist's picture

18-02-2015, 06:59

is the F18A project (http://codehackcreate.com/archives/30) already ready?

By Buleste

Master (158)

Buleste's picture

18-02-2015, 11:28

Poltergeist wrote:

is the F18A project (http://codehackcreate.com/archives/30) already ready?

Looks like it's been ready for a while. The bigger question is is it still for sale? For that you should get in touch with the developer.

By mikoto

Supporter (16)

mikoto's picture

18-02-2015, 15:32

l_oliviera: Do you have any more information on this subject? What needs to be done?

It is an very interesting project.

On this subject I managed to find another YUV to RGB converter yesterday which is much simpler than the one I built. Part of the flaws in my previous circuit may be the sheer complexity of it since it was built on breadboard. A simpler circuit is interesting to do. Here is the doc: http://www.mikrocontroller.net/attachment/11797/rybyrgb.pdf Although converting the unit to a MSX2 is of course even more interesting...

By l_oliveira

Hero (532)

l_oliveira's picture

18-02-2015, 16:28

The MSX I/O ports are designed in a way each decoded I/O port address is mirrored eight times (A3 signal is ignored by the address decoder hardware) so the VDP decoded address spans from 98 through 9F.

Therefore if you try to access the VDP in a MSX1 computer (this does not apply to MSX computers using Toshiba chip engine though) you can access the VDP through ports 9E/9F the same way you would at 98/99.
What that have to do with expanding to MSX2, you ask ?

Well if you connect the V9938 chip at the exact signals the TMS9929 is connected to, you are required to add the A1 wire. That expands the registers of the VDP which from only two will become four registers.

So, all you need to do to add a V9938 in place of a TMS9929 is connect the data and control signals straight to the computer board after removing the TMS9929. You only need one extra wire for the A1 address signal.

Now for the ROMs, depending on the computer using a MSX-ENGINE chip or not, you might have to either give up from a slot connector for adding the subrom (if the computer is using a MSX-ENGINE chip it already contains a slot expander) or you can use any existing internal slot expander to add the SUBROM to the system without wasting a slot.

Usually the MSX2 ROM requires the real time clock chip, but ROMs that do not require the real time clock chip do exist. You can use those to complete your upgrade to a basic MSX2 configuration. (keep in mind that MSX2 requires 64KB RAM as minimum to operate)

By mikoto

Supporter (16)

mikoto's picture

19-02-2015, 00:17

I have compared the pinouts of 9928 and 9938. I ended up with this:

TMS9928 V9938
PIN Function PIN Function
01 RAS 62 RAS
02 CAS 61 CAS 0
03 AD7 56 AD7
04 AD6 55 AD6
05 AD5 54 AD5
06 AD4 53 AD4
07 AD3 52 AD3
08 AD2 51 AD2
09 AD1 50 AD1
10 AD0 49 AD0
11 R/W 57 R/W
12 VSS 01 GND
13 MODE 29 MODE 0
14 CSW 30 CSW
15 CSR 31 CSR
16 INT 25 INT
17 CD7 32 CD7
18 CD6 34 CD6
19 CD5 35 CD5
20 CD4 36 CD4
21 CD3 37 CD3
22 CD2 38 CD2
23 CD1 39 CD1
24 CD0 40 CD0
25 RD7 48 RD7
26 RD6 47 RD6
27 RD5 46 RD5
28 RD4 45 RD4
29 RD3 44 RD3
30 RD2 43 RD2
31 RD1 42 RD1
32 RD0 41 RD0
33 VCC 58 VDD
34 RESET/SYNC 09 RESET
35 B-Y No Need
36 Y No Need
37 GROMCLK Not Used?
38 R-Y No Need
39 XTAL1 63 XTAL 1
40 XTAL2 64 XTAL 2

Can I simply connect a 9938 instead of a 9928/9 like this and leave the rest of the pins floating? And this will work? Is it so compatible that I won't even need to change BIOS? Where would the A1 line connect to? I could not fint it on the pinout pages. This is the pinout I found for V 9938:

01 GND
02 DHCLK
03 DLCLK
04 VRESET
05 HSYNC
06 CSYNC
07 BLEO
08 CPUCLK/VDS
09 RESET
10 YS
11 CBDR
12 C7
13 C6
14 C5
15 C4
16 C3
17 C2
18 C1
19 C0
20 GND/DAC
21 VDD/DAC
22 G
23 R
24 B
25 INT
26 WAIT
27 HRESET
28 MODE 1
29 MODE 0
30 CSW
31 CSR
32 CD7
33 VBB
34 CD6
35 CD5
36 CD4
37 CD3
38 CD2
39 CD1
40 CD0
41 RD0
42 RD1
43 RD2
44 RD3
45 RD4
46 RD5
47 RD6
48 RD7
49 AD0
50 AD1
51 AD2
52 AD3
53 AD4
54 AD5
55 AD6
56 AD7
57 R/W
58 VDD
59 CAS X
60 CAS 1
61 CAS 0
62 RAS
63 XTAL 1
64 XTAL 2

By Grauw

Ascended (10159)

Grauw's picture

19-02-2015, 01:01

Formatting

mikoto wrote:

I have compared the pinouts of 9928 and 9938. I ended up with this:

TMS9928			V9938
PIN	Function	PIN	Function
01	RAS		62	RAS
02	CAS		61	CAS 0
03	AD7		56	AD7
04	AD6		55	AD6
05	AD5		54	AD5
06	AD4		53	AD4
07	AD3		52	AD3
08	AD2		51	AD2
09	AD1		50	AD1
10	AD0		49	AD0
11	R/W		57	R/W
12	VSS		01	GND
13	MODE		29	MODE 0
14	CSW		30	CSW
15	CSR		31	CSR
16	INT		25	INT
17	CD7		32	CD7
18	CD6		34	CD6
19	CD5		35	CD5
20	CD4		36	CD4
21	CD3		37	CD3
22	CD2		38	CD2
23	CD1		39	CD1
24	CD0		40	CD0
25	RD7		48	RD7
26	RD6		47	RD6
27	RD5		46	RD5
28	RD4		45	RD4
29	RD3		44	RD3
30	RD2		43	RD2
31	RD1		42	RD1
32	RD0		41	RD0
33	VCC		58	VDD
34	RESET/SYNC	09	RESET
35	B-Y		No Need
36	Y		No Need
37	GROMCLK		Not Used?
38	R-Y		No Need
39	XTAL1		63	XTAL 1
40	XTAL2		64	XTAL 2

Can I simply connect a 9938 instead of a 9928/9 like this and leave the rest of the pins floating? And this will work? Is it so compatible that I won't even need to change BIOS? Where would the A1 line connect to? I could not fint it on the pinout pages. This is the pinout I found for V 9938:

01	GND
02	DHCLK
03	DLCLK
04	VRESET
05	HSYNC
06	CSYNC
07	BLEO
08	CPUCLK/VDS
09	RESET
10	YS
11	CBDR
12	C7
13	C6
14	C5
15	C4
16	C3
17	C2
18	C1
19	C0
20	GND/DAC
21	VDD/DAC
22	G
23	R
24	B
25	INT
26	WAIT
27	HRESET
28	MODE 1
29	MODE 0
30	CSW
31	CSR
32	CD7
33	VBB
34	CD6
35	CD5
36	CD4
37	CD3
38	CD2
39	CD1
40	CD0
41	RD0
42	RD1
43	RD2
44	RD3
45	RD4
46	RD5
47	RD6
48	RD7
49	AD0
50	AD1
51	AD2
52	AD3
53	AD4
54	AD5
55	AD6
56	AD7
57	R/W
58	VDD
59	CAS X
60	CAS 1
61	CAS 0
62	RAS
63	XTAL 1
64	XTAL 2

By l_oliveira

Hero (532)

l_oliveira's picture

19-02-2015, 01:14

You don't connect the video ram stuff. You're supposed to remove the old VRAMs along with the old VDP.

The V9938 will only need D0-D7, /CSW, /CSR, /INT, MODE0, MODE1 (basically only the CPU control pins plus power.

V9938 is backwards compatible with TMS9918 so yes it will work properly. Sadly it won't work with the VRAM chips the TMS9929 you have uses. It need 4416/4464 (4bit) RAMs and may not work correctly with 1 bit DRAMS on the wiring required by the TMS9918/28/29. My suggestion was something like what I used on my MSX1, an breaker board (you can see it on the picture, the V9938 is soldered to it).

Grauw: That pinout is not V9938 but V9958.

By mikoto

Supporter (16)

mikoto's picture

19-02-2015, 09:56

Ah, I see! So I will build something like a new graphics card for my MSX complete with new videoram. That makes more sense now.

I have the Spectravideo SVI 738 Service Manual, I can use that as a base for wiring the videoram and such. That one also telss med About A1 and A0 that you are talking about. They are connected to pins 28 and 29, which are MODE1 and MODE0.

I see that you have a crystal on your board that seems to be connected to XTAL1 and XTAL2. Will this need to be added or can I reuse the one in my MSX1? Perhaps I can draw that conclusion on my own if I check what crystal is installed...

Where did you get that PCB your V9938 is installed on? It looks wonderful :-)

By Grauw

Ascended (10159)

Grauw's picture

19-02-2015, 21:10

l_oliveira I was simply quoting and re-formatting mikoto's post.

Page 1/3
| 2 | 3