System test rom/Board

Modern, Memotech inspired, hardware projects
stephen_usher
Posts: 325
Joined: 27 Nov 2016 19:58

Re: System test rom/Board

Post by stephen_usher »

I take it that the test ROM contents can go on an EEPROM and go into the ROM A socket?
Martin A
Posts: 797
Joined: 09 Nov 2013 21:03

Re: System test rom/Board

Post by Martin A »

stephen_usher wrote: 09 May 2019 22:51 I take it that the test ROM contents can go on an EEPROM and go into the ROM A socket?
It should work fine as a stand alone 8k image replacing the A rom. It's completely self contained.
stephen_usher
Posts: 325
Joined: 27 Nov 2016 19:58

Re: System test rom/Board

Post by stephen_usher »

May I suggest a change to the memory test?

When the test fails could the test stop at that location and print a map of which bits failed? This would allow the determination of which chip the fault is in.

Also, is there space for a memory decode test for paged RAM. Maybe fill the "lower" 32K with '1's, page in the upper 16K and write '0's, page it out again and test the 32K again for flipped bits? Maybe do this constantly until interrupted. This would check that the RAM paging sub-system is working properly.
Martin A
Posts: 797
Joined: 09 Nov 2013 21:03

Re: System test rom/Board

Post by Martin A »

The memory test could be re-written to stop at a failed read back, and then print something along the lines of "Value read :XX value expected :XX". at which point the test would have to stop. I don't think there's enough registers to do much more than that. Re-starting and only halting once the screen space runs out isn't an option.

If it's possible to print the diagnostic message without destroying the values needed to resume the test, then it probably also possible to add in a "press [a key] to resume or [a key] to exit" option too.

There's currently 3 of the EOR memory tests, but they use the same base code. It's the tweaking the input conditions that enables the testing of the 3 different area, which are the 32k of page 0, 48k of page 0 or 16k of page 1.

Before that last test is started, the equivalent area on page 0 is cleared. Though it can't be tested directly the memory dump function of the monitor can be used to check if any shadow writes occur on page 0 during the page 1 test.

Re-writing page 0 after page 1 is written, but before it's read back isn't an option with the current code, as the memory test itself doesn't use paging.

Reading OR Writing to the wrong bank should be picked up on the test, but not both. If, because of paging issues, read and write did go to different banks, the readback would fail. It's very unlikely though that the memory system could fail that way, as the PAL code doesn't use the *RD input in the RAM equations, just *MREQ.
stephen_usher
Posts: 325
Joined: 27 Nov 2016 19:58

Re: System test rom/Board

Post by stephen_usher »

Having it print the expected and obtained values would definitely be useful to identify the bad bit. I'm not sure that you'd want to restart if you've found a bad chip until after you'd replaced that chip anyway. After all, if you replace the chip with a known good one then you only have a maximum of eight tests if they're all bad in some way.

As for the page tests, surely once you know that you have a working unpaged 16K memory then you can then switch over to using memory for further tests? This should simplify things for the code.
Martin A
Posts: 797
Joined: 09 Nov 2013 21:03

Re: System test rom/Board

Post by Martin A »

Test rom updated to build 245.

the Ram test has been expanded to stop on read failure with a brief diagnostic as shown on this screen dump from the emulator. Since the emulator never actually fails the read back, this is actually fake, :D but it looks better than a photo of my 1980's green screen monitor would !
Expanded memory test
Expanded memory test
NEWTEST.JPG (136.61 KiB) Viewed 9661 times
The update has been made to the common code, so all memory 3 tests will halt on failure and update the diagnostic line.

At this point there is, I think, 6 bytes free in the data area and 8 in the code area, so not much scope for any further changes.

Dumps of the full 32k rom and just the 8k diagnostic rom are in the ZIP below.
roms245.zip
8 and 32k rom binaries
(28.26 KiB) Downloaded 555 times
stephen_usher
Posts: 325
Joined: 27 Nov 2016 19:58

Re: System test rom/Board

Post by stephen_usher »

Martin A wrote: 31 May 2019 18:14 Test rom updated to build 245.

the Ram test has been expanded to stop on read failure with a brief diagnostic as shown on this screen dump from the emulator. Since the emulator never actually fails the read back, this is actually fake, :D but it looks better than a photo of my 1980's green screen monitor would !

NEWTEST.JPG

The update has been made to the common code, so all memory 3 tests will halt on failure and update the diagnostic line.

At this point there is, I think, 6 bytes free in the data area and 8 in the code area, so not much scope for any further changes.

Dumps of the full 32k rom and just the 8k diagnostic rom are in the ZIP below.

roms245.zip
Excellent! Yeah, I'm not sure you'd be able to do much in 8 bytes. :-)
User avatar
gunrock
Posts: 244
Joined: 28 Oct 2020 21:17

Re: System test rom/Board

Post by gunrock »

Martin A wrote: 18 Apr 2019 19:58 Not shown on the wiring map, but present on the test board are a couple of 0.1uf 0805 SMD capacitors on the back for power supply smoothing. It's such a small board I've not included a bulk decoupling capacitor.
You say those are surface mount caps? How do you solder them on the veroboard? I can't picture it?
Steve G
Danish Memotech MTX 512, MFX and loving it
Martin A
Posts: 797
Joined: 09 Nov 2013 21:03

Re: System test rom/Board

Post by Martin A »

gunrock wrote: 06 Sep 2022 16:52
Martin A wrote: 18 Apr 2019 19:58 Not shown on the wiring map, but present on the test board are a couple of 0.1uf 0805 SMD capacitors on the back for power supply smoothing. It's such a small board I've not included a bulk decoupling capacitor.
You say those are surface mount caps? How do you solder them on the veroboard? I can't picture it?
With solder ??

0805 is a very convenient size for proto boards. The pad spacing of 0.10" gives sufficient space to fit the 0.08" lenghth of the surface mount part. Plus it leaves room for solder and 30awg hookup wire.

The photo is actually from the network socket of the MFX prorotype because I have that to hand. In shot are 2 4.7k resistors,a pull up and a pull down mounted flat, and couple of 100nf capacitors. One on edge in the foregrounf, one convenrional flat at the back, both for smothing. The ROM board has a couple of flat mounted caps because the were fitted before the wiring. Unlike the sideways one here, that was an "oops forgot something" addition.
Fine work.
Fine work.
SMD.jpg (83.25 KiB) Viewed 3952 times
NB the green wire is connected with a solder bridge to the ground it's another one of the later changes to the board.

I've tried other sizes 1206 fits OK if you go diagonally across 2 pads. at 0.12" its really a bit too long to fit straight. 0603 Is fiddly but workable. 0402 is too small for comfort it barely spans the gap between pads and tends to get pulled all over the place by the solder.
Post Reply