Page 4 of 23

Re: Resurrecting an MTX500.

Posted: 12 Apr 2019 08:45
by stephen_usher
1024MAK wrote: 12 Apr 2019 00:12 If you adapt the PCB (cut some tracks and add some modification wires) it is possible to use EPROMs.

But first, try removing all the ROM chips and see what happens to the data bus. If all the data bus lines float to logic high, the Z80 will execute RST 38h repeatedly. If all the data bus lines float to logic low, it will execute NOPs repeatedly. Well, while in the address range of the ROM...

Mark
All the data lines float to 1.32 volts, which should be “low”.

Re: Resurrecting an MTX500.

Posted: 12 Apr 2019 11:06
by stephen_usher
Martin A wrote: 12 Apr 2019 00:31 For testing, an external ROM board with a 32k EPROM containing all 3 OS roms and a GAL for decoding shouldn't be too hard to design. If you want I'll have a bash at putting one together.
That sounds like an excellent diagnostic tool, maybe something useful for the whole community to pass around if they need to check machines.

I wonder if that modified version of the MTXplus diagnostic ROM would be a good addition too, with the ROMs being switchable? This would make an excellent diagnostic "cartridge" for resurrecting Memotechs in future.

Re: Resurrecting an MTX500.

Posted: 12 Apr 2019 11:33
by 1024MAK
For 5V TTL based systems like the MTX, logic low is 0V to 0.8V.
Logic high is 2V to 5V.
Anything inbetween is undefined and not valid.
More info here.

If all the data bus lines float to such a value, you can add either ‘pull-up’ resistors (to +5V) or ‘pull-down’ resistors (to 0V).
Each data line should have its own resistor. So you need eight altogether. The values are non critical, but should be between 680 ohms to 4.7k. 1k being preferred. Pulling up to +5V is generally easier, and the FF opcode for RST 38h will keep the Z80 program counter in the ROM address range, while the Z80 repeatedly pushes the program counter to the stack. As the stack only ever gets values pushed to it, it will just keep growing downwards in memory and hence will try to fill all of memory. Then it will cycle around again...

Mark

Re: Resurrecting an MTX500.

Posted: 12 Apr 2019 11:45
by stephen_usher
Hmm. OK. I'll have to have a look into this after Easter. I've run out of time now as I'm away for the next fortnight.

Seeing as I've socketed the 74LS244 chips I could get another socket and modify it to add the pull-up resistors and see what happens.

Re: Resurrecting an MTX500.

Posted: 12 Apr 2019 12:53
by stephen_usher
The external ROM board idea has got me thinking.

How easy would it be to make an adapter board to fit the 3 chip ROM sockets to use a single, modern EEPROM such as an AT28C010E-12JU?

All the data lines and most of the address lines etc. could be taken from one socket. I'm guessing that the lines which select the chip can be used as extra address lines for the EEPROM?

This may be my first hardware project. I'd probably have to do it as wirewrap initially.

Re: Resurrecting an MTX500.

Posted: 12 Apr 2019 15:04
by 1024MAK
Electrically it is easy to replace each ROM chip with EPROM or EEPROM/flash ROM chip if the only requirement is to only allow read access. The problem is a one of a mechanical / size nature as some of the signals are on different pins and mask ROM chips have a lower pin count compared to the equivalent size EPROM/EEPROM/flash ROM chip. There is also the issue of not exceeding the available height in the case.

To combine all three into one chip (again, EPROM or EEPROM/flash ROM chip) is also electrically straight forward. But you will require mod. wires unless a custom PCB is designed that will correctly line up with the three existing sockets. Depending on if you are using mod. wires or not and which board also determines if a 74xxx logic chip will be needed for sorting out the bank switching signals and converting to address lines for the new chip.

Keep in mind there are a number of variations of the MTX boards. Issue 4000-04, 4000-05 and 4000-06 are shown here.

The 4000-04 board uses only two physical ROM chips. One M3864 8k byte ROM and one M38128A 16k byte ROM.

The 4000-05 board uses three TMS4764 8k ROMs.

The 4000-06 board also uses three TMS4764 8k ROMs.

Any of them may have been modified with the “Memotech yellow wires”. Either because they were originally supplied with EPROMs with the U.K. ROM code in, or maybe another language version of the ROM code.

More details on the ROMs here.

Mark

Re: Resurrecting an MTX500.

Posted: 12 Apr 2019 15:10
by stephen_usher
There should be enough room at the rear of the case, next to the video board riser, possibly above the video RAM to fit a board with a PLCC socket. Other than the data lines from 4000-05/06 ROM A socket it shouldn't need many from the other two should it?

Re: Resurrecting an MTX500.

Posted: 12 Apr 2019 15:10
by 1024MAK
Also you will find this old post of mine useful. Although please don’t reply in that thread until I have sorted out the missing photos in the last post...

Mark

Re: Resurrecting an MTX500.

Posted: 12 Apr 2019 15:14
by 1024MAK
stephen_usher wrote: 12 Apr 2019 15:10 There should be enough room at the rear of the case, next to the video board riser, possibly above the video RAM to fit a board with a PLCC socket. Other than the data lines from 4000-05/06 ROM A socket it shouldn't need many from the other two should it?
Data and address lines are all the same for each ROM socket. The difference between ROM sockets is each has its own individual /CE (or /CS) control line.

Mark

Re: Resurrecting an MTX500.

Posted: 12 Apr 2019 15:54
by stephen_usher
1024MAK wrote: 12 Apr 2019 15:14
stephen_usher wrote: 12 Apr 2019 15:10 There should be enough room at the rear of the case, next to the video board riser, possibly above the video RAM to fit a board with a PLCC socket. Other than the data lines from 4000-05/06 ROM A socket it shouldn't need many from the other two should it?
Data and address lines are all the same for each ROM socket. The difference between ROM sockets is each has its own individual /CE (or /CS) control line.
So, it'd just need a couple of trailing lines with pins on the end pushed into the correct port on the sockets.

I s'pose the board could have jumpers to select different sets of ROM images by selecting the high address lines not supplied by the system. Different language ROMs plus a diagnostic ROM (which doesn't require working memory) all in the same EEPROM device?

Of course, you'd need a different board for the 4000-04 motherboard