Autore Topic: Problema reindirizzamento video ram  (Letto 2654 volte)

pasquale_frega

  • Neo-iscritto
  • *
  • Post: 13
  • Gioco Preferito: Pang
Problema reindirizzamento video ram
« il: 22 Aprile 2015, 11:12:31 »
Il seguente pezzo di codice crea un bel effetto granito sullo schermo:

Codice: [Seleziona]
10 rem * effetto granito *
20 rem passa alla modalità bitmap hires e reindirizza la video ram
30 poke 53265,59:poke 53272,24
40 for c=8192 to 16192:poke c,int(rnd(0)*256):next
50 get a$:if a$=¨¨ then 50
60 rem ritorna alle modalità di default
70 poke 53265,27:poke 53272,21
80 end

Se voglio lo stesso effetto in bitmap lowres multicolor basta aggiungere:

Codice: [Seleziona]
35 poke 53270,208
e

Codice: [Seleziona]
75 poke 53270,200
Fino a qui nessun problema ma nel caso di programmi lunghi più di 25 blocchi
la ram che va da 8192 a 16192 viene usata dal programma stesso ed è impossibile
usarla come video ram. In pratica non sono capace di spostarla più in la nonostante
abbia letto molti post a riguardo.
Qualche delucidazione a riguardo? Grazie!

eregil

  • Administrator
  • Utente
  • *****
  • Post: 714
  • Gioco Preferito: Impossible Mission
Re:Problema reindirizzamento video ram
« Risposta #1 il: 22 Aprile 2015, 19:50:41 »
Ci saranno problemi non solo se il programma è più lungo, ma anche se usa variabili o fa manipolazione di stringhe in maniera insistente fino a occupare l'area relativa allo schermo.

Di solito se si lavora in BASIC si taglia la testa al toro spostando l'inizio del BASIC a 16385 (16384+1), tramite puntatore 43-44.

Se invece vuoi a tutti i costi spostare l'area video oltre i primi 16K devi agire su $DD00 oltre a $D018, e ci sono alcune particolarità di cui tenere conto.

Trovi una trattazione qui: http://codebase64.org/doku.php?id=base:vicii_memory_organizing

Sul forum se ne è parlato a più riprese, ad esempio qui: http://ready64.org/smf/index.php?topic=3361.0
Non rispondo a richieste private, di qualunque genere esse siano.
Per domande tecniche leggete le FAQ e usate l'apposito forum.
Per questioni amministrative contattate lo staff tramite il form Contatti sul sito.

pasquale_frega

  • Neo-iscritto
  • *
  • Post: 13
  • Gioco Preferito: Pang
Re:Problema reindirizzamento video ram
« Risposta #2 il: 23 Aprile 2015, 14:06:55 »
Ci saranno problemi non solo se il programma è più lungo, ma anche se usa variabili o fa manipolazione di stringhe in maniera insistente fino a occupare l'area relativa allo schermo.

Di solito se si lavora in BASIC si taglia la testa al toro spostando l'inizio del BASIC a 16385 (16384+1), tramite puntatore 43-44.

Se invece vuoi a tutti i costi spostare l'area video oltre i primi 16K devi agire su $DD00 oltre a $D018, e ci sono alcune particolarità di cui tenere conto.

Trovi una trattazione qui: http://codebase64.org/doku.php?id=base:vicii_memory_organizing

Sul forum se ne è parlato a più riprese, ad esempio qui: http://ready64.org/smf/index.php?topic=3361.0

Ok, grazie, ne tratta anche il manuale di riferimento per l'utente, era una cosa che sapevo ma me ne ero dimenticato:

Codice: [Seleziona]
POKE 44,64: POKE 64*256,0:NEW