Gå til innhold

Kommentartråd: Z80 Homebrew Datamaskin


Anbefalte innlegg

Videoannonse
Annonse

Morsomt. Z80 var min første datamaskin, kjøpt som komponenter i løsvekt fra USA basert på S-100 bus.

Hadde SRAM og frontpanel, kunne dermed stoppe klokken og single-steppe instruksjoner. CP/M kom etter hvert, og jeg lærte meg programmering i assembly. 

Interessen kom da jeg begynte å lese Byte magazine. Ble abonnent og fast leser av Ciarcia's Circuit Cellar artiklene. 

 

En ting må jeg arrestere deg på: dette er ingen RISC, men en CISC.

De fleste RISC har fast størrelse på instruksjonene, typisk 4 byte. Z80 har 1, 2 og 3 byte instruksjoner.

Lenke til kommentar

Takk for tilbakemelding. Du har helt rett i at det er CISC.

 

Det er Ciarcia som er mye av inspirasjonen bak dette prosjektet også, sammen med gamle utgivelser av Byte Magazine og Computer Chronicles. Skulle nesten til å si at jeg synes at det var dumt at jeg ikke kunne oppleve den tiden selv, men med tanke på hvor billig alt dette er, og hvor lett tilgjengelig det er med dokumentasjon og ressurser, så er det nok lettere å sette i gang i disse dager, og det er mange snarveier jeg kan ta i motsetning til hva de gjør i Build Your Own Z80 Computer.

 

Jeg bruker en assembler her også (som jeg skal skrive litt om i min neste post), men for øyeblikket så blir det mest å klokke inn maskinkode og se på adressebussen om det skjer ting.

 

edit: Rettet også en feil om SRAM/DRAM. Fordelen med DRAM er pris og størrelse, ikke hastighet.

Endret av Gavekort
Lenke til kommentar

Det er en morsom hobby ja. Kommer en ny oppdatering i løpet av noen få dager, der jeg skal ta en kjapp gjennomgang av oppsettet jeg har nå, samt gjøre en liten demo der jeg klokker inn noen jump-instrukser, adderer noen tall og hiver resultatet ut på adressebussen.

 

Så snart jeg får EPROM eraseren min så skal jeg også bli litt modigere med å bruke EPROM-chippene til å holde små programmer, men akkurat nå så har jeg bare 3 uskrevne EPROM-chipper for de neste ukene.

Lenke til kommentar
  • 4 uker senere...
  • 2 måneder senere...
  • 2 måneder senere...

Du gjør det jeg tenkte jeg skulle gjøre for noen måneder siden, men jeg glemte det visst x) 

Har du tenkt å få koblet opp en skjerm etterhvert? Hvordan vil du løse det i såfall? siden du bestilte flere Z80 kan du bruke en som kontroller i et "skjermkort".

CPM plus er vel det beste man kan kjøre på disse, har støtte for memory paging bla. Skal visst være noe ekstra med å få det til å fungere da CPM plus må ha tilgang til de samme adressene som z80 starter fra (tror jeg).

Endret av SVD
Lenke til kommentar

Skjerm står ikke akkurat på planene. Kanskje om jeg begynner å tukle med FPGA så kan jeg lage et enkelt skjermkort til den. Jeg er Linux-mann, så ser egentlig på en TTY-terminal som et tilstrekkelig mål, som er grunnen til at jeg har kjøpt meg en Z80 SIO, og fikk krystall oscillatorene mine i posten på Torsdag. Jeg venter på noen ZIF-sokkeler til EPROM-chippene mine, slik at jeg kan begynne å programmere prosessoren uten å måtte fysisk slite IO-pinnene til EPROM, og etter det så kommer jeg til å eksperimentere med seriell kommunikasjon.

 

Kunne vært kult å sett om jeg fikk den til å kjøre CP/M ja, men egentlig så er litt av moroa å programmere et enkelt operativsystem selv. Jeg har en bok som beskriver litt mer det du snakker om, om å lage en skikkelig datamaskin. Men så langt jeg planlegger så ser jeg ikke for meg at det blir noe mer enn Z80, RAM, EPROM og en TTY-terminal med det første, selv om det trolig er vanskeligere enn å pusle sammen en ferdigdesignet datamaskin med CP/M.

BuildYourOwnZ80.pdf

Lenke til kommentar

FPGA er juks! :p

 

Gleder meg derimot til å se om du får den serielle kommunikasjonen til å fungere.

 

Build your own z80 har jeg lest for lenge siden. Det virket egentlig ganske greit. Jeg er derimot ikke bygd for feilsøking så jeg lever nok lenger hvis jeg lar dette være. 

Lenke til kommentar
  • 5 måneder senere...

Kjempekult prosjekt! :)

 

I kretsskjemaet som du postet så har du koblet alle enable-signalene til 74LS138 til jord, burde ikke active high-pinnen (E3) være kobla til 5V?

 

Du bør også koble ubrukte innganger (f.eks. A2 på 74LS138) til jord i stedet for å la dem flyte (kan føre til rare glitcher som er lite morsomme å debugge). Databladene for LM7805 bruker også å anbefale en 0.33uF kondensator mellom inngangsspenningen og jord. Jeg har aldri hatt problemer med å ikke ha den med, men den er der for å hindre at regulatoren går inn i selv-oscillasjon (som kan skje under de rette forholdene).

Lenke til kommentar

Takk for tilbakemelding. Alle pinnene skal routes. Jeg har allerede gått på den smellen at adressebussen fløt, og det ga meg mange rare resultater.

 

Du har helt rett i at E3 skal være høy. Overså at den ikke var active low. Takk for tips.

 

Tenker du på decoupling kondensatoren til LM7805 som skal være 0,33µF?

Lenke til kommentar

Kunne vært moro å prøve det, men jeg har designet det for small batch produksjon. Det er litt vanskelig å lage så mange vias om du etser selv.

 

Kan hende jeg kan lage en variant som er litt lettere å lage selv, f.eks. ved å holde traces på en side av kortet om gangen.

Lenke til kommentar

Takk for tilbakemelding. Alle pinnene skal routes. Jeg har allerede gått på den smellen at adressebussen fløt, og det ga meg mange rare resultater.

 

Du har helt rett i at E3 skal være høy. Overså at den ikke var active low. Takk for tips.

 

Tenker du på decoupling kondensatoren til LM7805 som skal være 0,33µF?

 

Databladene anbefaler en 0.33uF kondensator mellom inngangen på LM7805 og jord og 0.1uF mellom utgangen og jord for decoupling (dette er altså i tillegg til den du allerede har på 1000uF). Figuren øverst på side 7 her er kanskje bedre på å forklare. Dette er for å hindre at regulatoren kan havne i en tilstand der den selv-oscillerer og ikke fungerer riktig.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...