content:retrocomputing:vice
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
content:retrocomputing:vice [2023/08/25 15:18] – [Hello World] admin | content:retrocomputing:vice [2023/08/27 15:20] (current) – [Apple] admin | ||
---|---|---|---|
Line 41: | Line 41: | ||
// | // | ||
+ | |||
+ | //Insert//: vedi **[[https:// | ||
**Altri tasti** sono disponibili **[[https:// | **Altri tasti** sono disponibili **[[https:// | ||
Line 407: | Line 409: | ||
{{: | {{: | ||
- | Poi basta cambiare l' | + | Poi basta cambiare l' |
{{: | {{: | ||
+ | Il codice è stato cambiato, ed è stato necessario modificare **sia la mappa schermo che la mappa colore (in rosso)**, altrimenti le scritte non sarebbero comparse; inoltre, a causa dello **// | ||
+ | |||
+ | ==== Mappa della memoria ==== | ||
+ | |||
+ | Programmando il VIC 20 in assembly, si va direttamente ad utilizzare/ | ||
+ | |||
+ | === Reset vector === | ||
+ | |||
+ | L' | ||
+ | |||
+ | {{: | ||
+ | |||
+ | che è l' | ||
+ | |||
+ | {{: | ||
+ | |||
+ | La routine Kernal vera e propria presente in $FD22 è abbastanza complessa; incollo qui di seguito le prime istruzioni: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | === Start-of-Basic RAM === | ||
+ | |||
+ | L' | ||
+ | |||
+ | {{: | ||
+ | |||
+ | tratto da **[[https:// | ||
+ | |||
+ | {{: | ||
+ | |||
+ | <note tip> | ||
+ | Quasi tutta la memoria RAM del VIC 20 è assegnata al BASIC; questo consente di scrivere programmi quanto più grandi possibile. **Per ottenere più spazio per i programmi in linguaggio macchina bisogna quindi riassegnare la memoria assegnata al BASIC** | ||
+ | </ | ||
+ | |||
+ | Questo valore e i successivi, potrebbero interferire con il codice assembly che scriviamo; fino ad adesso per questo abbiamo utilizzato $1100 - 4352: un programma Basic potrebbe andare a sovrascriverlo. E' consigliabile quindi **spostare in avanti il vettore di Start-of-Basic**; | ||
+ | |||
+ | - settare a ' | ||
+ | - impostare i valori della nuova area Basic al valore delle prima locazione + 1 | ||
+ | - dare ' | ||
+ | |||
+ | Per la nuova locazione dello Start-of-Basic prendiamo l' | ||
+ | |||
+ | < | ||
+ | POKE 5120,0 | ||
+ | POKE 43,1:POKE 44,20:NEW | ||
+ | </ | ||
+ | |||
+ | Infatti 5121=1+20*256. | ||
+ | |||
+ | <note tip> | ||
+ | Questo consente di avere uno **spazio sufficiente per l' | ||
+ | </ | ||
+ | |||
+ | Per conferma, si può provare a digitare il seguente programma in BASIC e verificare dove viene memorizzato: | ||
+ | |||
+ | < | ||
+ | 1234PRINT" | ||
+ | </ | ||
+ | |||
+ | e controllare quello che viene memorizzato nel nuovo // | ||
+ | |||
+ | {{: | ||
+ | |||
+ | dove: | ||
+ | |||
+ | * ' | ||
+ | * ' | ||
+ | * ' | ||
+ | * ' | ||
+ | * poi seguono i PETSCII di " | ||
+ | * ' | ||
+ | * la prossima riga inizia, come da indicazioni sopra (//Next link link//), a ' |
content/retrocomputing/vice.1692969510.txt.gz · Last modified: 2023/08/25 15:18 by admin