Re: Fast plotting (and unplotting) sprites / Q68
Posted: Fri Dec 08, 2017 12:54 pm
Just jumping in quickly on "arcade games": It would be nice if some of the very classics could get reproduced like Donkey Kong, Dig Dug, ...
RIP Sir Clive Sinclair 1940 - 2021
https://qlforum.co.uk/
Well, Peter, I am not that sure the Q68 won't need highly optimized sprites code, from day one.Peter wrote:My interest would be to see a new arcade game at all. As far I can remember, this has not happened for the QL in about 20 years.
The original QL was already fast enough for arcade games. So a machine which is roughly 20 times faster (Q-Top benchmark) does not technically need highly optimized sprites code for this. But working on such code could be a motivation, a starting point, to actually write a game.
As for the optimization itself: The Q68 "likes" loop unrolling. Branching is relatively slow.
The CPU cycle timer of the Q68 might help optimization. A simple way to measure delays in very high resolution. See User's Manual for details.
When I read that I can tell you definitively we'll need fast plotting and unplotting routines for the Q68, to get great and fast arcade games.Peter wrote:CPU access to the normal SDRAM memory is not particularly fast, as it is random access. You can expect about 100 ns per 16-bit word. (No CPU cache, therefore burst access only for video.)
My point is getting an arcade game at all, which has not happened for 20 years. Fast routines, but no game would be of little interest for me.Zarchos wrote:When I read that I can tell you definitively we'll need fast plotting and unplotting routines for the Q68, to get great and fast arcade games.
We'll have both.Peter wrote:My point is getting an arcade game at all, which has not happened for 20 years. Fast routines, but no game would be of little interest for me.Zarchos wrote:When I read that I can tell you definitively we'll need fast plotting and unplotting routines for the Q68, to get great and fast arcade games.
Please keep in mind that 1 cycle is only for register operands and fast RAM. External operands and slower memory will add additional cycles.Zarchos wrote:Btw this multiply in 1 cycle is great for a fast algo to plot sprites on a background