Autore Topic: Curiosità sulla RAM del VIC=20  (Letto 2487 volte)

Koji74

  • Neo-iscritto
  • *
  • Post: 19
  • Gioco Preferito: Dead Zone
Curiosità sulla RAM del VIC=20
« il: 19 Aprile 2019, 11:55:50 »
Ciao ragazzi, porgo una domandina che spero non vi risulti stupida:
Il limite di ram per un 8 bit è 64k, Memorie maggiori vanno gestite con il ram switching, giusto?
Come mai, e sicuramente un motivo ci sarà, non è mai stata realizzata un espansione da 64k per il piccolo vic20 Ma si è arrivati solo a 32/35k?
Grazie a tutti.

eregil

  • Administrator
  • Utente
  • *****
  • Post: 706
  • Gioco Preferito: Impossible Mission
Re:Curiosità sulla RAM del VIC=20
« Risposta #1 il: 19 Aprile 2019, 18:29:12 »
Per essere più precisi, la maggior parte delle CPU a 8 bit utilizzano 16 bit per l'indirizzamento, col risultato che il massimo numero di byte indirizzabili direttamente era 2^16 = 65536 (i famosi 64 KB). Dentro questi 64 KB è necessario far rientrare RAM, ROM e zone in cui rendere visibili i registri dei chip di I/O.

Se il totale di questi tre componenti supera 64 KB, è necessario applicare una forma di bank switching per far sì che in una determinata gamma di indirizzi sia possibile rendere accessibile alternativamente un banco di RAM o uno di ROM o I/O (come avviene nel C64), o anche un banco di RAM piuttosto che un altro (come avviene nel C128).

Perché il bank switching sia possibile, è necessario che un apposito componente hardware si occupi di rendere visibile al processore il banco selezionato di volta in volta. Questo apposito componente hardware può essere esterno rispetto al processore, oppure essere integrato in esso.

Venendo al dunque, se il processore 6510 (presente sul C64) è già di per sé predisposto ad operare una forma di bank switching sufficiente a montare 64 KB di RAM (alcuni banchi di RAM sono abilitati alternativamente a ROM o registri di I/O), le funzionalità del processore 6502 presente sul Vic 20 sono più limitate e lo stesso "trucco" di avere la cosiddetta "RAM sotto la ROM" non è applicabile.

Stando a wikipedia (en), sono esistite espansioni "non ufficiali" da 64 KB per Vic 20, tuttavia l'accesso all'espansione di memoria doveva avvenire tramite artifizi software, non troppo diversamente da quanto avveniva nel C64 con l'espansione 1764 da 256 KB. Non era possibile, quindi, ospitare in questa memoria un ipotetico programma BASIC le cui dimensioni superassero quelle disponibili nella memoria "convenzionale". Solo le espansioni fino a 32 KB (ufficiali e non) consentivano l'accesso diretto a tutta la memoria presente sull'espansione tramite lo spazio di indirizzamento del 6502.

Inoltre, non sono al corrente dei prezzi ai quali tale espansione sia stata offerta al pubblico, ma non mi sorprenderebbe se un'espansione "grande" per il Vic 20 avesse un prezzo talmente vicino a quello di un C64, da far sì che l'acquisto di quest'ultimo fosse decisamente più sensato per la maggior parte dei potenziali acquirenti.
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.

Koji74

  • Neo-iscritto
  • *
  • Post: 19
  • Gioco Preferito: Dead Zone
Re:Curiosità sulla RAM del VIC=20
« Risposta #2 il: 23 Aprile 2019, 09:10:45 »
Scusa se rispondo solo adesso ma ero via da casa un paio di giorni ;)
Grazie mille, sei stato gentilissimo e hai chiarito tutto!
A presto!