Het beperkte geheugen en de capaciteit van het inlezen via de cassettebandjes daarvan, gevolgd door programmeerwerk, zorgde er weleens voor dat de startadressen in het geheugen elkaar overlapten. Het gevolg was dat de computer crashte en vastliep. Erg frustrerend, want daardoor werkte een aantal spellen niet of kon je niet verder werken in een programma.
Om dit op te lossen heb ik een programma geschreven, dat het startadres en aantal bytes omzet naar een nieuwe positie, zodat ze niet langer overschrijven en dus niet meer vastlopen in het geheugen.
ZX Spectrum: Startadres Van Data En Codes Omzetten
rem startadres omzetten
input "Naam van de code:"; n$
if len n$<1 or len n$ >10 then go to 2
input "Wat is nu het oude startadres?"; oude start
if oude start<16384 or oude start>65535 then go to 4
input "Wat wordt het nieuwe startadres?"; nieuwe start
if nieuwe start<16384 or nieuwe start>65535 then go to 6
input "Hoe lang is het aantal bytes?"; lengte code
if nieuwe start > oude start then go to 14
for f=oude start to oude start + lengte code
poke (f-(oude start-nieuwe start)),peek f
next f
go to 17
for f=oude start to oude start + lengte code
poke (f-(nieuwe start-oude start)),peek f
next f
print n$;" "; nieuwe start;",";lengte code
save n$ code nieuwe start,lengte code
Dit artikel stond op 18 september 1986 in de krant.