Z80 · 2 gennaio 2019 0

LM80C, un computer a colori ad 8 bit basato sullo Zilog Z80

Sono cresciuto durante l’epoca d’oro dei computer ad 8 bit, ho vissuto gli anni ’80 digitando “listati” e caricando giochi da cassette comprate in edicola, scambiando programmi con i miei amici e programmando scrivendo software con carta e penna. Ho avuto un Commodore 16, il fratello minore di quel mostro sacro che era il C64: mi è comunque bastato per divertirmi e fare tanta esperienza con il BASIC e l’assembly.

Poi sono passato alle piattaforme a 16 bit (PC XT e Amiga) e infine ai PC degli anni ’90 e 2000. Ma gli 8 bit sono come un marchio, ti restano dentro. Prima ho cercato di ritrovare quelle sensazioni con l’Arduino ed i microcontrollori poi è arrivato il grande passo! Quello che tutti gli smanettoni prima o poi tentano di fare: costruirsi un proprio computer ad 8 bit!  E’ così che ho iniziato a comprare componenti, a scaricarmi datasheet di integrati vecchi di più di 30 anni e ad assemblare il tutto per vedere fin dove potevo spingermi. Mi sono spinto fino a questo punto:

LM80C - proto

LM80C – proto

Vedo che la cosa è diventata abbastanza complessa e, se riuscirò a terminarla, anche interessante per cui ho deciso di condividere il percorso che sto facendo: questo servirà prima di tutto a me come diario e per organizzare un po’ le informazioni ma anche a chi fosse interessato all’argomento per trarne informazioni varie.

Caratteristiche principali

Il mio computer si chiamerà LM80C: “LM” perché sono le mie iniziali, “80” perché sto usando una CPU Zilog Z80, e “C” perché dovrebbe (se tutto funziona) visualizzare grafica a colori. Ecco i componenti principali (al momento):

  • CPU: Zilog Z80B
  • Frequenza CPU: 4 MHz
  • Memoria:
    • RAM: 32 KB di tipo SRAM
    • ROM: 32 KB di tipo EEPROM
  • Grafica:
    • processore grafico TMS9929A di Texas Instruments
    • VRAM: 16 KB di tipo SRAM
    • risoluzione: 256×192 pixel
    • colori: 16
    • sprite: 32 monocromatici
    • uscita video: PAL RGB
  • Audio: Yamaha YM2149F a 3 voci
  • I/O: MOS 6522 (VIA)
    • Z80 SIO:
      • periferica seriale con 2 porte UART
    • Z80 PIO:
      • periferica parallela con 2 porte da 8 bit ciascuna
    • Z80 CTC:
      • timer/contatore programmabile

Ho dovuto affrontare diverse problematiche, che vi illustrerò strada facendo. Per ora sto riorganizzando le informazioni e aggiungerò nuovi articoli per seguire passo passo la costruzione del computer.