Page 4 of 5

Re: Wondering if a "dead test" ROM is feasible on the QL.

Posted: Sat Jun 07, 2025 8:05 pm
by stephen_usher
I've updated the Github repository: https://github.com/stephen-usher/Sincla ... l-Diag-ROM

It may be useful now... at least to do memory testing as it now detects RAM expansions, sizes them and then runs an "own address" test and March test on it. Still not sure about the lower RAM RAM failure output as I'm going to have to revisit that.

P.S. This is how it looks currently. The "serial port" output is being sent to the terminal window I used to start the emulator (along with some IPC diag messages)

DiagROM.jpg

Re: Wondering if a "dead test" ROM is feasible on the QL.

Posted: Sun Jun 08, 2025 3:07 pm
by stephen_usher
First test on real hardware... using the "let the Winbond W27C512 EEPROM overrule the system ROMs" trick.

Hack a ROM cartridge so that it passes all address lines through to the EEPROM and voila!

IMG_4446.jpeg

The masked ROMs must only pull down data lines but the Winbond EEPROM must actively drive them *HARD*.

Anyway, first test on a stock system shows that there's an issue with my expansion memory detection code due to sqlay3 looking like it has a bug where memory seems to be one byte too short.

IMG_4445.jpeg

With the Trump Card installed I have to hit the reset button to get the machine to boot but then it works fine, and verifies that my Trump Card's memory is good.

IMG_4447.jpeg

So, overall a success. I can dig a serial cable out now and see if that works.

Re: Wondering if a "dead test" ROM is feasible on the QL.

Posted: Sun Jun 08, 2025 4:23 pm
by stephen_usher
Memory test and byte-to-hex issues fixed... Onward!

Re: Wondering if a "dead test" ROM is feasible on the QL.

Posted: Sun Jun 08, 2025 9:20 pm
by stephen_usher
Serial port output now works.

A combination of my code having the incorrect sense when testing the transmit buffer full bit in the ZX8302 cstatus register and the ZX8302 documentation I have being wrong.

For the latter the document says that the baud rate bits are 000 for 75 baud going up to 111 for 19200 baud. In actual fact the bits are flipped. 4800 baud in the documentation is stated as '101' but that's actually 600 baud and it should be '010' instead.

All working now. I've swapped over to using ser2 as well as with the serial cables I have it was easier to verify the connection and, to be honest, it doesn't matter as long as it's documented.

IMG_4450.jpeg

Re: Wondering if a "dead test" ROM is feasible on the QL.

Posted: Mon Jun 09, 2025 5:48 am
by Dave
Pr0f wrote: Thu Apr 24, 2025 5:40 pm The ROM port is active for any address in the lower 64K
Not quite. All the signals except the ROM SELECT signal alias every 64K. So it repeats all the way through address space with an extra pin that lets you divine if the access is in the first 64. So the ROM port is ALWAYS active but not always selected.

Re: Wondering if a "dead test" ROM is feasible on the QL.

Posted: Mon Jun 09, 2025 7:09 pm
by stephen_usher
Well, that was an adventure.... The IPC documentation is wrong again.

To send data to the IPC you clock it in by writing 000011x0 to the IPC write register, checking that the IPC has got it vis the ZX8301 status register at $20(zx83base).

Once the IPC has got all the nibbles it thinks that it needs for the command it now goes into output mode.

You clock the bits in by writing 00001110 to the IPC write register and wait for the busy bit in the status register to go low, at which point bit 7 holds the data bit... but you'd better have copied the register into a CPU register first when you're checking the status.

The documentation (and the source comments in the emulator) state that you use 00001101 to clock the data out. This is not the case.

Anyway, I now have this working on real hardware but the emulator I'm using isn't putting anything into the status register at all, which threw me for a loop for most of the afternoon.

Re: Wondering if a "dead test" ROM is feasible on the QL.

Posted: Mon Jun 09, 2025 9:54 pm
by stephen_usher
It turned out that the emulator required the status register to be read twice to get the correct contents!

Now tests the beep and if a key on the keyboard has been held down. Github updated. The updated comments in the code can wait until tomorrow.

Re: Wondering if a "dead test" ROM is feasible on the QL.

Posted: Mon Jun 09, 2025 10:36 pm
by stephen_usher
Oh, and this is what it does so far...

https://youtu.be/Uvuj6TJSwe4?si=QIvUdCgJWScVfTcK

Re: Wondering if a "dead test" ROM is feasible on the QL.

Posted: Mon Jun 09, 2025 11:37 pm
by martyn_hill
This is a really useful utility, Stephen - well done for persevering!

Re: Wondering if a "dead test" ROM is feasible on the QL.

Posted: Tue Jun 10, 2025 8:35 am
by Derek_Stewart
Hi,

Looks great, I will get a test bed setup and try it on non-working QLs