Io vorrei vedere dove hai letto di sta cosa del doppio ":", in rete e' pieno di contenuti non verificati, per non parlare di leggende metropolitane e soprattutto balle grosse come case scritte da incompetenti messe tanto per riempire i siti.
Mi avevi fatto la stessa domanda via mail e ti avevo risposto di decompilare Austrospeed per verificarne il funzionamento. L'ho fatto io per te, prendi
QUESTO Rar ed espandilo.
DECOMPILERv2.BAS.prg e' la mia versione modificata di un decompilatore per supportare 4 diversi hack di austro/blitz.
AustroSpeed.bas e' il decompilato e detokenizzato di austrospeed88.prg
La parte interessante e' questa:
8726 IFc%<128GOTO8943
8733 c5%=c%-127
8738 IFc5%>35GOTO8833
8745 ONc5%GOTO9013,9094,9261,9322,9469,9499,9677,9778,8958,9857
8768 ONc5%-10GOTO9959,9984,9051,9863,9057,10091,9044,10385,10537,10683
8793 ONc5%-20GOTO10690,10697,10807,10623,10997,11070,9069,9069,9063,11003
8818 ONc5%-30GOTO10643,11239,11365,11396,9037
8833 c5%=c5%-75
8838 IFc5%<0GOTO9031
8844 ONc5%GOTO11498
8849 x1$="extensions"
8863 GOSUB15365
8866 i$=CHR$(71)+CHR$(c%)
8873 k2%=58
8877 SYSm%+3
8882 IFc%=k2%ORc%=0GOTO8911
8893 IFc%=34THENk2%=34
8903 i$=i$+CHR$(c%)
8908 GOTO8877
8911 IFc%=34THENk2%=58:GOTO8903
8924 i$=i$+":"+CHR$(158)+"2082:"
8940 GOTO9024
Con un po' di deduzione si capisce che e' la parte che si occupa di compilare i vari tokens (bytes > $80) mentre se incontra dei tokens con valore superiore a $CB, limite superiore dei tokens nel basic 2.0 vengono considerati appunto ESTENSIONI del Basic, e il compilatore emette del codice apposito (tokens+"SYS2082:") che verra' interpretato poi a runtime dall'interprete basic attivo in quel momento.
Io l'ho provato con uno stupidissimo oneliner in Simons basic:
10 HIRES 1,0
Austrospeed lo compila dicendo che alla linea #10 trova un estensione e in fondo al prg generato dopo la compilazione si nota il token e la sys in chiaro.
E funziona pure, caricato Simons, caricato il prg compilato, e va in pagina grafica.