Memoria: come gestirla? / Commodore 64

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 ธ.ค. 2024

ความคิดเห็น •

  • @marcobergomi4334
    @marcobergomi4334 ปีที่แล้ว +1

    Finalmente vedo come fare queste operazioni, che fino ad ora erano solo miti e leggende. Grazie Prof. spero di vedere altre applicazioni che sfruttano queste modalità di programmazione. Grazie ancora

    • @1001avventura
      @1001avventura  ปีที่แล้ว +1

      Grazie a voi per l'interesse in questi argomenti

  • @Triss482
    @Triss482 ปีที่แล้ว +1

    Grande, Prof! Grazie anche questa volta!😊

  • @giuseppeazzarello8426
    @giuseppeazzarello8426 ปีที่แล้ว +1

    buongiorno professore, il video come sempre spiegazione impeccabile, è utile, anche questa volta ho arricchito la mia conoscenza sul c64 grazie a lei

    • @1001avventura
      @1001avventura  ปีที่แล้ว

      Grazie per il continuo interesse!

  • @kraftwerk974
    @kraftwerk974 ปีที่แล้ว +1

    Molt interessant gràcies. 👏

  • @agpxnet
    @agpxnet ปีที่แล้ว +3

    Esattamente, nel mio gioco Newsstand, uso gli interi 64Kb, inclusi quelli sotto il VIC-II, SID e CIA.
    Agendo sulla locazione 1, si può per un istante ripristinare il VIC-II, impostare gli sprites e poi ripristinare la RAM, quindi tutti i 64Kb sono sfruttabili in assembly.
    Ripristino il Kernal solo al momento che mi serve caricare il livello successivo (essendo il gioco in multiload).
    A proposito di memoria, si noti che il VIC-II ha un bus indirizzi a 14-bit e può quindi vedere solo 16Kb alla volta. Pertanto, vede i 64Kb suddivisi in 4 banchi da 16Kb (tale banco può essere selezionato dalla locazione $DD00). Attraverso i suoi registri, è possibile cambiare dove si trova la memoria video (non è fisso a 1024), i caratteri, le bitmap e gli sprites (questo ci permette ad esempio di implementare tecniche di double buffering). Nel C64 Graphics Maker c'è il "VIC-II Calculator" nel menù tool, che aiuta ad impostare queste cose per il VIC-II (indica quali registri settare e come).

    • @1001avventura
      @1001avventura  ปีที่แล้ว +2

      Grazie! Come sempre un commento interessante. Non vediamo l'ora di giocare a Newsstand!

    • @andreal2023
      @andreal2023 ปีที่แล้ว +1

      La cosa che non capivo da ragazzino sul VIC20 era proprio l'utilizzo di questa RAM "aggiuntiva". E sul VIC20 sì che avevi necessità di trovarla !!! L'errore che facevo era di pensare che la ROM potesse essere in qualche modo utilizzata come RAM. Invece andava capito che al momento dell'accensione, le ROM necessarie vengono trasferite sulle RAM disponibili. Quindi il trucchetto era di andare ad utilizzare le porzioni di RAM usualmente dedicate ad ospitare i dati contenuti nelle ROM. All'epoca furono entusiasmanti sia questa "scoperta" che come dimezzare i tempi di lettura dei programmi su musicassetta. Infatti l'I/O registrava 2 copie consecutive del programma: la seconda era per verifica. Quindi eliminando la seconda lettura di verifica, ottenevi il dimezzamento dei tempi ! Certo, ci perdevi un po' in sicurezza...

  • @Chiavaccio
    @Chiavaccio ปีที่แล้ว +1

    Bel video!!👏👍

  • @Archetip0
    @Archetip0 ปีที่แล้ว +1

    Tra i giochi capaci di sfruttare la ram "nascosta" sotto la rom c'è Impossible Mission. Nei computer Commodore successivi al C64 (C16, +4, C128) è stato implementato il bank switching hardware che permette di utilizzare quasi tutta la ram complessivamente disponibile all'accensione del dispositivo.