Sunday 22 December 2019

A Minstrel 3 based clone of the Lambda 8300 ZX81 clone - Part 2

This is an old post, preserved for reference.
The products and services mentioned within are no longer available.

This is the second part of the investigations into running the Minstrel 3 as a clone of a 1980s Lambda 8300, itself a clone of the ZX81.
The first part concentrated on running the Lamdba 8300 in it's native mode. This was a partly ZX81 compatible machine, with a modified character set, fixed in ROM (or to be more precise, in a ROM inside the ULA).
That pretty much worked, with a small temporary modification to the Minstrel 3, and a custom ROM with the Lambda 8300 ROM and a recreation of it's character ROM. This version of BASIC started with a READY prompt at the top of the screen, and instead of the inverse K, has a flashing black square. (or rather a flashing white square, since it's default mode was white text on a black background, but I've not been able to take very good pictures of that, so have used the jumper on the Minstrel to change to black text on a white background, which is more photogenic).
There was another ROM available for the 8300, one that claimed to be more ZX81 compatible, and was actually the thing which fired off this investigation.
Trying this out, it also worked. This time, no ready prompt, and the familiar inverse K, but oddly it flashes the inverse attribute. Since someone asked last time, K stands for 'Keyword', indicating it's ready for you to type a keyword. It can also be E for 'Extended', G for 'Graphics' and L for 'Letter'. I think that's all of them.
Other than the cursor, the rest of the machine behaves like a ZX81, so pressing P brings up PRINT, rather than having to type the individual characters on the standard Lambda 8300 BASIC.
And it runs pretty much like a ZX81. Typing in and loading up some BASIC programs, they ran as expected. Some games ran, but with some distortion on the top line and a second about two thirds of the way down the screen, seen here with Tut-Tut.
Interesting to note that the real Lambda 8300 exhibited the same behaviour on the top line, but not the second one. (Picture courtesy of @loudscotsbloke).
The same issue, in the same place, on 3D Monster Maze.
Note that although most of the character set is the same, the different characters on the Lambda character set do confuse things occasionally, such as the walls which are meant to be 50% grey, but Rex has been redecorating with some race car wallpaper.
However, one thing the Minstrel 3 can do that the Lambda cannot, is use the real ZX81 font, and non-inverted pictures.
That's better, it's the correct colours and characters, but still with the two distorted lines which make it not really a practical option.
You can see the two lines of distortion better with the grey border option turned on.
This does not occur with the standard ZX81 ROM on the same hardware so it must be something different in the timing in the Lambda ROM. There's a thought.
This is a ZX81 speed test, which I think was part of a ZX81 emulator suite. I'm pleased to say the Minstrel 3 scores 100% of the speed of a ZX81, that's what I was after. So how does the Lambda 8300 ZX81 ROM do?
Interesting, so there is a definite slow down, 88.3% and also some distortion on the top line and the wrong characters for the half grey underline and colon. Again, this is all running on the same hardware, just a different ROM image. (wonder if this is because it is in NTSC mode?)
So it has been interesting to try this out, I don't think it is good enough to include as an option with the Minstrel 3. I wonder what other ROMs I can try?