Hi,
I remember a "speed poke" which made calculating loops i.e. about 20% faster in BASIC, for the price of ... dunno -
no interrupts ?
No screen refresh ?
Can't find it but it was really usefull those days ...
Hi, there's an article in the Amstrad International Issue 1988/1 about tuning BASIC by deactivating interrupts. Just quickly saw the headline, but I didn't read it...., maybe.
The two threads that spring to mind is my "16bit Poke in [whatever Language you prefer] ! :) (http://www.cpcwiki.eu/forum/programming/16bit-poke-in-(whatever-language-you-prefer)!-)/msg11691/#msg11691)", but a while ago I was asking about some routines to POKE a series of values and I got a set of RSX routines, one to handle bytes and the other for 16bit numbers which is here (http://www.cpcwiki.eu/forum/programming/poking-values-through-an-rsx-to-somewhere-in-memory/msg60175/#msg60175).
I found it, I found it :)
Clearing up my place there was a hardcopy of the "3D-Apfelmaennchen" which uses it ...
It's "POKE &B939,&c9" for activating and "POKE &b939,&F3" for deactivating on CPC464
and "&B941" for 664/6128.
Also see: https://cpcrulez.fr/applications_graphic-3d-apfelmannchen-schneider_magazin.htm (https://cpcrulez.fr/applications_graphic-3d-apfelmannchen-schneider_magazin.htm)
Interesting ....
Having a quick look at it, I would say it's deactivating the 300Hz interrupt. Keyboard press is no longer recognized and the timer doesn't count any more.
So this does not make the loop faster but frees up the resources usually consumed during interrupt. I tested it with a stop watch (as TIME didn't work anymore) and the program got about 10% faster.
Fine for such a calculation but might be problematic if you need user input ;-)