He understandably couldn't remember what was used for syncing, but it probably wasn't the stock vblank. For a game that runs buttery smooth on a stock Spectrum with all that going on, it's an amazing bit of coding!
Very insightful mini-chat with Mike Lamb about Renegade. Sprites all pre-shifted for walk cycles, but auto-scrolled to next character block so that the fight moves don't need to be. All 8 sprites processed/drawn in one loop (Jeez!) Standard background rectangle copy/paste for pixel clearing.
Going to try chopping up a snapshot file today and try to see how some games store graphics. FUSE's Z80 snapshot files have a header and then the memory dump, so shouldn't be too hard in theory. Surprised there's not something like this already. Amiga had Maptapper which did that job. #ZXSpectrum
I'm grateful even for that, mate. I'm quite new to the Speccy myself. Only ever made an Amiga and PC game before, so the primitive tech is tricky to navigate.
Thanks for the link. A good source code is worth 10 bits of documentation. Must take a lot of memory to store those tiles if they are pre-shifted. Mike Lamb was a very clever guy.
Very interesting. Thanks! A lot of old games seem to run at 50fps with no real issue throwing sizeable sprites around the screen. Robocop seems to manage smooth scrolling too, which suggests the whole background is being refreshed every frame (stack probably) as well as sprite rendering.
50fps Speccy games with lots of sprites: There seems to be a render list where say only 4 out of 8 sprites move in any one frame, and the inactive sprites are likely not drawn. The list likely changes every frame so it's unnoticeable. Can any seasoned coders confirm if this was common? #ZXSpectrum
Was cutting sprite sheets to the bone in order to save RAM, but I have an abundance of memory now that I've got the hang of bank swapping Good thing too, as I had a bunch of ideas that I thought would need cut, though best not go crazy until I see the size of the music files. #ZXSpectrum
Got my +3 disk loader up and running (it didn't help that the documentation was wrong in several places and omitted vital details). Made good progress in just a day setting up loaders for levels and the like. Next task is try other banks for sprite info tables. #ZXSpectrum
Battling with the +3 disk system today. File isn't being opened. No header, so setting the pointer to the start of the file, but no luck. Try again tomorrow. Spent most of the day wondering why it was crashing before realising I had to manually switch to ROM bank 2. 😣 #ZXSpectrum