I'm posting here a little 1K demo that I wrote to help me get to grips with true hi-res display techniques on the ZX81. Chesszoom 1K presents a bouncing chessboard animation, with smooth movement in all three dimensions.
This should work on any ZX81 which is capable of true hi-res (including all un-expanded machines, plus those fitted with compatible RAM packs). From the link below you can download a ZIP file containing the tape image, source code and readme file. I hope you enjoy the demo and/or find the source code useful.
Hi, @PROSM, I've just tried this with the emulator called EightyOne, and I just can see a black screen, and some text scrolling in the botton. Should I press any key to start the hi-res demo?
If something works, don't touch it !!!! at all !!!
Hi @Bubu, to get this working properly on EightyOne you must open the Hardware configuration dialog (either press F6 or "Options > Hardware..." on the menu), and then change the "High Resolution" option to WRX. This enables the true hi-res compatibility necessary for this demo to run correctly.
Nice! I'm impressed, and if I knew more about the ZX81 I'd probably be even more so. This quote from the instructions is enough to terrify even a 16K Spectrum coder:
I managed to fit the entire program into the 1K RAM, with 2 spare bytes in the system variable area.
As you say you stopped when you'd done enough, but still
PROSM wrote: ↑Sun Aug 20, 2023 5:54 pm
Hi @Bubu, to get this working properly on EightyOne you must open the Hardware configuration dialog (either press F6 or "Options > Hardware..." on the menu), and then change the "High Resolution" option to WRX. This enables the true hi-res compatibility necessary for this demo to run correctly.
Great, @PROSM , and that hi-res compatibility was real, in the real ZX81, or it's only a emulator matter? I mean, if I load that in my ZX81 computer, it won't work, will it?
If something works, don't touch it !!!! at all !!!
Bubu wrote: ↑Sun Aug 20, 2023 11:49 pm
Great, @PROSM , and that hi-res compatibility was real, in the real ZX81, or it's only a emulator matter? I mean, if I load that in my ZX81 computer, it won't work, will it?
Yes, but you might disconnect the RAM-pack if not hires capable.
R-Tape wrote: ↑Sun Aug 20, 2023 8:43 pm
Nice! I'm impressed, and if I knew more about the ZX81 I'd probably be even more so. This quote from the instructions is enough to terrify even a 16K Spectrum coder:
As you say you stopped when you'd done enough, but still
Thanks! In a way, it was easier to pull this off on the ZX81 than it would be on the Spectrum - on the former, I only have to draw four unique rows (plus a fifth row which controls which row is selected on each scanline) and then the display driver can selectively repeat those rows to build up the whole display, whereas with the latter I'd have to copy those lines down the whole display - it's the difference between manipulating about 160 bytes and 6144 bytes.
Bubu wrote: ↑Sun Aug 20, 2023 11:49 pm
Great, @PROSM , and that hi-res compatibility was real, in the real ZX81, or it's only a emulator matter? I mean, if I load that in my ZX81 computer, it won't work, will it?
As @Dr beep has said, this works on a real ZX81, as long as the RAM being used is true hi-res compatible (the easiest way to do this is just remove the RAM pack, as the internal 1K RAM is guaranteed to be compatible). I've put up two recordings on my YouTube channel showing both real hardware and emulator recordings of the demo, for the benefit of those who haven't the time or resources to run the program themselves.
PROSM wrote: ↑Mon Aug 21, 2023 2:15 pm
as long as the RAM being used is true hi-res compatible
As well as the incompatibility of most 80s RAM-packs, I read something suggesting that some individual Z80 chips are also not WRX-compatible, and might need swapping out for another Z80. Is this true, and why? What is wrong with the ones that don't work? Bad address line which isn't used anywhere else in a vanilla ZX81?
Maybe this is a question for @1024MAK or @Dr beep.
Seven.FFF wrote: ↑Mon Aug 21, 2023 3:20 pm
As well as the incompatibility of most 80s RAM-packs, I read something suggesting that some individual Z80 chips are also not WRX-compatible, and might need swapping out for another Z80. Is this true, and why? What is wrong with the ones that don't work? Bad address line which isn't used anywhere else in a vanilla ZX81?
Maybe this is a question for @1024MAK or @Dr beep.
This is true. Some ZX81's have problems in the display. This could also be an ULA issue.
This is also the reason why the hires games are not released on tape.
PROSM wrote: ↑Mon Aug 21, 2023 2:15 pm
Thanks! In a way, it was easier to pull this off on the ZX81 than it would be on the Spectrum - on the former, I only have to draw four unique rows (plus a fifth row which controls which row is selected on each scanline) and then the display driver can selectively repeat those rows to build up the whole display, whereas with the latter I'd have to copy those lines down the whole display - it's the difference between manipulating about 160 bytes and 6144 bytes.
I had the same with my MINITAURUS game.
I had the idea since 1983 but it never was working on the ZX Spectrum and in 1K on the ZX81 it worked.
PROSM wrote: ↑Mon Aug 21, 2023 2:15 pm
As @Dr beep has said, this works on a real ZX81, as long as the RAM being used is true hi-res compatible (the easiest way to do this is just remove the RAM pack, as the internal 1K RAM is guaranteed to be compatible). I've put up two recordings on my YouTube channel showing both real hardware and emulator recordings of the demo, for the benefit of those who haven't the time or resources to run the program themselves.
OK, I've got a ZX81 here, as soon as I have some time I'll turn it on and load your program, let's see how things go. Thanx a lot!!
If something works, don't touch it !!!! at all !!!
Bubu wrote: ↑Tue Aug 22, 2023 7:57 pm
OK, I've got a ZX81 here, as soon as I have some time I'll turn it on and load your program, let's see how things go. Thanx a lot!!
And why not try my 81 1K hires games as well?
Since each game is less than 1K each game loads within 30 sec.