http://www.c64.cz/literatura/kluby/FUN_7_cervenec_1993.pdf
obdobna sekvence v clanku obnovuje program v pameti po resetu.
Jestli jsem to dobře přepsal, tak by to mělo být:
POKE 2050,1:SYS 4229:POKE 46,PEEK(35):POKE 45,PEEK(781)+2:CLR
POKE 46,PEEK(35)+1:POKE 45,PEEK(781)-254
Na emulátoru to nic nedělá https://stigc.dk/c64/basic/
Perplexity AI tvrdí:
Tento program na C64 opravuje systémové proměnné určující začátek a konec BASIC programu v paměti po nestandardním načtení nebo přesunu programu.
Používá se například při práci s některými cracky, loadery, nebo při ruční manipulaci s pamětí.
tipuji, že dotyčný si to dokonce možná z toho článku opsal... :)
asi by stačilo zapsat zkráceně (u klasického začátku na 0001): POKE 44,1:POKE 45,8:SYS 42291 a pak LIST na výpis původního programu... proto si myslím, že si to opsal z časáku :))
každopádně ten první řádek na lístečku obsahuje správnou systémovou rutinu (SYS 42291) pro záchranu BASIC programu po příkazu NEW (nebo resetu)
obnoví to původní kód (bez proměnných - viz dál CLR, které je vymaže...), za předpokladu samozřejmě že jsi mezitím neprovedl žádné další zápisy do paměti...
ten druhý řádek je jen korekce délky programu, u dolního bajtu pointeru přidává jeden navíc a u horního bajtu je -254 (srovnej s prvním řádkem kde naopak u horního dva bajty přidáváš)