Expanding RAM, Philips VG 8010

Pagina 1/2
| 2

Door zPasi

Champion (474)

afbeelding van zPasi

02-01-2014, 00:07

I bought an old cheap MSX1 (without clarifying the specs properly...)

There stands 48K RAM on the case, but in reality that means 32K RAM (+ 16K VRAM). So, how do I expand or replace that RAM? In the internet, there are plenty of docs how to make memory mappers, "ROM" cartridges and everything, but they seem to be for storing games and programs, not extending the internal RAM. Or are they?

But even this 32K seems like an extension: it is built on a "doughter-card" with D41416C-15 chips and a 74LS74A. This little card sits in place of two mem chips, with 3 additional jumper wire connections. (Why three? If you double the memory, you'll just need one additional address wire, right?)

I guess I could add four more D41416C's to the "doughter-card" or replace the whole thing with something like SRAM, but I'm not sure if I need another jumper wire and where?

Here are pictures:

Aangemeld of registreer om reacties te plaatsen

Van l_oliveira

Hero (529)

afbeelding van l_oliveira

09-01-2014, 05:24

I love MSX computers that are made of discrete parts ... Basically you can do anything you want with them easily, from adding memory to transform to MSX2+. The only catch is you will have to add everything that makes a expanded computer, including the two slot expanders MSX computers with engines have ... (or you can skimp and get a Frankenstein MSX. A friend of mine was famous here in my town for making a frankenstein MSX ... haha)

Anyway, your MSX seems to be using a simplified circuitry and refreshing only 16KB of RAM. I suggest you ditch the daughterboard with the DRAMs and fit a single 64KB SRAM chip. Connect it's /CE to the RAM /SLTSEL signal (since the DRAM daughterboard is removed there will be no conflict), the /OE pin goes to Z80 /RD and /WE from RAM goes to /WR from Z80. All the D and A pins are connected straight to the respective slot connector pins (don't connect it straight to the Z80 chip without confirm if this MSX model has a buffer or not on the Z80 bus.

The slotselect for the RAM slot should be very easy to find... It will be on the same 74LS139 chip that generates slots 0 (bios), 1 and 2 which are easily found by tracing the board with a continuity meter.

Have fun expanding your msx. With 64KB you will be able to use MSX DOS ! Cool

Van zPasi

Champion (474)

afbeelding van zPasi

11-01-2014, 22:44

Thanks, man! I already figured out that the "extra" wires and the 74ls47 must be for the slot selection mechanism. And one of the wires must be one address bit needed to double the RAM, I think.

So, I'll try to trace which one is the SLTSEL signal, and if there is a buffer you mentioned.

I purchased a proto card and some components, and built a ram "cartridge" with 64K sram in it (actually 128K but a16 wired on the gnd for now). It seems to work, I was able to load Le Mans, but that is a 48K program if my memory serves me. So I am nor sure if the lower 16K (0000-3fff) works. Some of my old home-made programs try to use it and there seems to be something wrong.

But if I succeed to build the ram inside the machine, will be much better a solution.

Van zPasi

Champion (474)

afbeelding van zPasi

13-01-2014, 00:20

Wow, I found the service manual: http://www.msxarchive.nl/pub/msx/mirrors/hanso/service_manua...
Actually, the link was right here, in msx-talk/hardware, the year was 2006 ;)

It seems that the black wire leads right to the chip/slot selection IC (a 74LS139). Other two wires lead to a 74LS74 discribed as "MUX, CAS". The "buffer" is also there, a 74LS244N.

But there is a problem there: there seems to be only one internal slot! The ROM and 32K RAM are on the same slot! Indeed, in BASIC ?inp(&ha8) gives 0. I've never seen an MSX configuration like this. This is the reason my old program failed. Le Mans, however, finds my "cartridge". I wonder if every 48K / 64K game does.

So, obviosly I can't just expand the RAM in slot 0, unless I throw away the BIOS ;) Damn!

Van l_oliveira

Hero (529)

afbeelding van l_oliveira

13-01-2014, 00:58

I downloaded that service manual and I can tell you this:

No no, There's FOUR primary slots there:
"IC 896" It should be the only 74LS139 on the computer board.

Pin 12 = Slot 0 (Bios and 32K RAM in original config)
Pin 11 = Slot 1
Pin 10 = Slot 2
Pin 9 = Slot 3

So connect your 64KB RAM at pin 9 of "IC896" (it's disconnected originally) and you will have your MSX computer capable of running MSX DOS, while keeping the connectors free for cartridges. Cool

Van zPasi

Champion (474)

afbeelding van zPasi

14-01-2014, 01:47

Quote:

No no, There's FOUR primary slots there:

I am relieved Smile

Quote:

"IC 896" It should be the only 74LS139 on the computer board.
Pin 12 = Slot 0 (Bios and 32K RAM in original config)

Actually, its IC 696. I know, it's hard to tell apart 6 and 8 in these scans Tongue
(But the black wire goes to pin 2.) Cartridge slots go to pins 10 and 11 alright.
Ok, so the black wire is not slot select, must be a CS. The real SLTSL0 is pin 12 indeed, traced from the BIOS.

BTW, now I'm sure my RAM cartridge works. I made a test program that scans the slots. And when I disconnect the internal 32K, BIOS finds my RAM, so do the games I tried Smile

Van l_oliveira

Hero (529)

afbeelding van l_oliveira

14-01-2014, 01:58

Pin 1 should be /RD + /MREQ (/CSMEM), Pin 2 should be A14 and pin 3 should be A15. 1st half of 74LS139 is used to generate ROM /OE pins for 16 and 32KB carts:

/CS1, /CS2 and /CS12 which are respectively for 0x4000, 0x8000 (16KB) and 0x4000 32KB games respectively.

2nd half does generate slot selects as you noticed.

So that black wire is there to fit the RAM at 0x8000-0xFFFF

Just shove a 64KB 5V SRAM chip in it (with the DRAM board removed) and have fun. Wink

Van zPasi

Champion (474)

afbeelding van zPasi

15-01-2014, 15:22

Quote:

Pin 1 should be /RD + /MREQ (/CSMEM), Pin 2 should be A14 and pin 3 should be A15.

So, I could take pin 9 (/SLTSL3), A14 and A15 from the 74LS139, /RD-D and /WR-D from Buffer (IC 708), and the rest of the address and data lines from anywhere, eg from BIOS ROM socket?

BTW, for MSX-DOS, I would need a DISK BIOS and additional hardware. Maybe I'll grab Nextor and build some device on that? It should work on MSX1 too.

Van l_oliveira

Hero (529)

afbeelding van l_oliveira

15-01-2014, 15:40

Just take all address/data lines from slot connector. You can directly connect /OE and /WE from SRAM to slot connector /RD and /WR.

To generate the SLOT select signals, /MREQ and /RFSH are combined using a OR port at the 74LS139 enable input. So any SLOT signal will already have /MREQ encoded in it.

That allows you to skip some "logic" and connect the SRAM /CE pin straight to the /SLTSL3 without any guilt... Cool

Basically you only need to wire the SRAM right and it will work correctly. No additional parts are needed. LOL!

Van zPasi

Champion (474)

afbeelding van zPasi

15-01-2014, 16:09

Quote:

Just take all address/data lines from slot connector. You can directly connect /OE and /WE from SRAM to slot connector /RD and /WR

That would work. I just thought it might be easier to connect the wires to the BIOS socket. It really sits on a socket, not directly soldered on the board.

Quote:

Basically you only need to wire the SRAM right and it will work correctly. No additional parts are needed.

Yes. Thanks for the info!

Van l_oliveira

Hero (529)

afbeelding van l_oliveira

15-01-2014, 16:33

You can cut the SRAM pins and solder it upside down under the BIOS connector. Like this:

Just leave the pins that aren't parallel unconnected.

Pagina 1/2
| 2