Salvando un blocco di memoria contenente le variabili di sistema ed il
programma BASIC, il programma continua ad essere eseguito
dall'istruzione successiva al SAVE. Nel caso proposto, il programma
BASIC poteva essere qualcosa del genere:
10 SAVE "GAME" CODE 23552, <abbastanza da coprire tutto il programma> 20 RANDOMIZE USR <dopo il REM della prossima riga> 30 REM <turbo load routine>
In questi giorni mi è capitato di parlare di loader con Stefano Bodrato che mi ha spiegato chiaramente come funzionavano i famosi biturbo delle cassettine delle edicole e discutendo di cio' mi è venuto in mente che quand'ero piccino avevo il gioco originale Halls of the things il quale anzichè caricarsi col load normale andava caricato con un load "" code . Sembra quindi che non abbia alcun blocco basic. Nonostante cio' terminato il primo blocchetto di load code parte subito un turbo senza alcuna riga sul border e terminato lo "Screen$" il gioco è caricato. La cosa che non riuscivo a capire e che Stefano mi ha spiegato e' che dopo il load code non c'e' alcuna istruzione basic che faccia eseguire tale codice macchina ad un indirizzo ben preciso come potrebbe essere la classica chiamata Randomize usr <indirizzo iniziale l/m> ma in realtà tale codice contenete il turbo viene eseguita. Se ho ben capito questo è dovuto al fatto che la locazione del load code va a "interferire" col sinclair basic o qualcosa del genere.. e che quindi è come se la chiamata USR <indirizzo> esistesse davvero.