CommanderX16: ancora alla finestra

CommanderX16 e’un progetto di David Murray (8bitguy) di cui abbiamo gia’ parlato in passato, ed e’ interessante per molti aspetti, anche se ancora non e’ completato a distanza di quasi tre anni dal suo lancio.

La serie dei computer commodore a 8bit (Pet, Vic20, C/64, C/16+Plus/4, C128) condividevano una serie di aspetti comuni, tra cui

  1. Erano basati sulla stessa CPU o su sue varianti (6502)
  2. Avevano un “sistema operativo”, chiamato Kernal, che condivideva una serie di aspetti in comune e di compatibilita’; a tal proposito questo bellissimo articolo di Michael Steil entra nel dettaglio.
  3. Anche il loro BASIC aveva un certo grado di compatibilita’ in avanti, cosicche’ programmi scritti per il Vic20 potevano girare tranquillamente sulle versioni piu’ evolute.
  4. Il funzionamento hardware era quasi tutto memory mapped e anche le periferiche si sono mantenute identiche o quasi (nastri, dischi, stampanti) rispettando un progetto hardware che fu fin troppo lineare. Per es il bus seriale del disco del C/64 fu in realta’un errore di progetto che non si ebbe il tempo di migliorare.

Tali macchine condividevano anche un elevato grado di incompatibilità tra loro (se si eccettuano il C/16 e il Plus4, che in pratica erano la stessa macchina con differente quantitativo di memoria).

CommanderX16 e’ un retro-computer fatto con molte parti dell’hardware originale (ad esclusione del chip grafico che pero’ rispetta le idee di un VIC-x nello spirito e cioe’ risoluzone, colori ecc).

A fianco vedete la memorymap, che mostra lo scopo di creare un sistema che sia molto semplice da programmare ma estremamente versatile: il BASIC aggiunge tonnellate di comandi per semplificarsi la vita (dalla gestione del mouse a un piu’ modesto set di comandi per gestire i numeri esadecimali e binari), e il chip e’ OTTO  volte piu’ veloce di quello originariamente nel C/64.

Sul codice del Kernal e del basic e’ stato fatto un grande lavoro per mettere a posto le licenze, che quindi sono utilizzabili legalmente dal progetto.

Inoltre si e’ preferito estendere il BASIC V2 anziche’ trapiantare una versione di Basic piu’ evoluta.
Il Basic V2 e’ quasi completamente bug-free ed e’ molto veloce rispetto alle versioni successive, che usavano un banking super aggressivo per indirizzare piu’ memoria (es Plus/4 o C/128).

 

Ci sono ancora gli Sprite, ma la risoluzione e’ sempre contenuta, apposta per non “tradire” le idee sottese. Il Commander X16 non e’ cioe’ un SuperNES, ma un Commodore del 1990… o cio’ che sarebbe potuto essere se i chip a 8bit non fossero stati ritenuti oramai obsoleti, e non si fosse passati ad architetture piu’potenti, oppure se l’IBM PC non avesse avuto successo…