Stefano Bodrato ha scritto:
E' una cosa un po' tecnica.. i primi zx erano concepiti per risparmiare tutta la RAM possibile.
Ooopsss... Scusate, credo di avere spedito due volte lo stesso messaggio... :-( In effetti è un discorso molto tecnico... :-D credevo che il riferimento fosse all'instabilità del video dovuta alla mancanza dell'NMI e del comando slow...
Quindi, considerato che il quadro video veniva generato utilizzando dei trucchi che combinano Hardware e Software, lo ZX80 non ha una memoria video assegnata a priori, ma alloca il solo spazio necessario. Considerato che il modello base era fornito di un solo K di RAM questo significa che volendo visualizzare una pagina intera di testo sarebbero rimasti circa 300 byte disponibili per il programma
Si, ti stai riferendo all'allocazione dinamica della ram video giusto? (correggimi se sbaglio)
La ROM dello ZX81 (grossa il doppio) ricalca questa tecnica ma è molto più evoluta e permette (a richiesta) di fare lo scroll in alto o di posizionare il cursore in qualsiasi punto dello schermo, ma il singolo K di memoria dei modelli europei risultava ancora + sacrificato.
si, ma superati i 4K la ram video non assume il valore di 736 byte (circa) posizionandosi sopra l'area basic?
Comunque, tornando a noi, la ROM dello zx80 è pensata per un output esclusivamente sequenziale.. non si torna 'in alto' nel testo a meno di usare trucchi pazzeschi o di fare.. CLS (che riporta la dimensione video a sole 2 righe di testo, rocambolescamente visualizzate in basso, fino alla prossima 'PRINT' ;)
Si adesso è tutto chiaro, in effetti lo ZX81 con 1k in caso di mancanza di memoria tende a spostare il cursore verso l'alto 'nascondendo' le righe in basso sullo schermo, cosa non possibile con lo ZX80
Compensare le carenze della ROM senza confonderla è molto difficile e non sono sicuro che alla fine si risparmierebbe molta RAM, quindi ho preferito costruire un display file 'espanso' e indirizzare i caratteri in questa nuova 'pagina video', molto più facile da gestire perchè ogni byte ha un suo posto definito.. anche se la pagina stessa si sposta in continuazione, essendo in coda al BASI e alle VARS, ma questa è un'altra storia. :D
...stratagemma per consentire la visualizzazione sullo schermo di tutte le righe senza troppi mal di testa... mi sembra abbastanza chiaro. Come sopra, correggimi se ho detto/scritto qualche fesseria... Adesso ti serve solo l'hardware per testare il tutto, comunque di nuovo ottimo lavoro.