Üdv,
Öröm a háznál, ügyes vagy
A memória használata a programod méretétől függ. A CLEAR paranccsal "levéded" a memória tartalmát attól a címtől kezdve a BASIC-től, tehát annyit használsz, amennyit csak akarsz, max. egyre rövidebb BASIC programot írhatsz.
Ha csak a karaktereknek akarsz helyet hagyni, elég 768 byte, vagyis a CLEAR 65368-768 cím tökéletes lenne (lásd miért ennyi később), de a példám azért mutatta a 64000 címet, mert akkor elég csak a 23607 rendszerváltozó értékét állítani, a másikhoz nem kell nyúlni (ergo nem kell 2 POKE, elég csak 1, gyorsabb, szebb, takarékosabb, stb.).
A BASIC programod számára elérhető memória pillanatnyi állapotát a PRINT 65536-USR 7962 utasítással irathatod ki.
Ha kezdesz túl nagyra nőni, akkor bizony szükséged lesz jópár memória-spórolási trükkre, de ez legyen majd leendő kérdés
Ha már itt vagyunk, a memória-térkép:
0-16383 ROM program
16384-22527 képernyő bitmap
22528-23295 képernyő szín
23296-23551 printer buffer
23552-23754 rendszerváltozók a BASIC működéséhez
23755- BASIC program
-65367 stack
65368-65535 UDG karakterek
Ez az ALAP Spectrum memória-felépítése indulás után. A CLEAR parancs a stack címét állítja át, de az UDG a helyén marad (ezért annyi a cím feljebb). A probléma ott rejtőzik a Spectrumban, azaz csodálatos tervezői ezt szúrták el, de nagyon, hogy az Interface I esetén a rendszerváltozóknak több hely kell, így a BASIC memória kezdőcíme feljebb csúszik. Ez persze nem érinti a BASIC programot, de sok problémát jelent(het). Egyelőre Téged nem érint
Csak így tovább ...
Pgyuri
ui: Pgyuri egyben
