Kazalo:
- Zaloge
- 1. korak: Koncept
- 2. korak: Zahteve
- 3. korak: Sestavite skupaj
- 4. korak: Preizkusite vezje
- 5. korak: Naslednji korak
- 6. korak: Program
- 7. korak: Zaključek
Video: 6502 Minimalni računalnik (z Arduino MEGA) 1. del: 7 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
Mikroprocesor 6502 se je prvič pojavil leta 1975 in ga je oblikovala majhna ekipa pod vodstvom Chucka Peddlea za tehnologijo MOS. Takrat so ga uporabljali v video konzolah in domačih računalnikih, vključno z Atari, Apple II, Nintendo Entertainment System, BBC Micro, Commodore VIC20 in 64. Takrat je bil eden najcenejših na trgu. Nikoli ni zares izginil, zdaj pa ga ljubitelji in strokovnjaki uporabljajo za številne aplikacije.
Različica, ki jo uporabljam, je W65C02S6TPG-14, ki jo izdeluje Western Design Center in porabi desetkrat manj energije kot izvirnik. Poseben je po tem, da mu ni treba delovati na 1 MHz kot prvotni čip. Lahko deluje veliko počasneje ali pa se uporablja za posamezen korak skozi program in celo poveča do 14 MHz. Podatkovni list za čip pojasnjuje njegove zmogljivosti. Drugi čipi 6502 nimajo te zmogljivosti in ne bodo delovali na ta način. Žetoni so trenutno na voljo na Ebayu in v drugih virih.
Zaloge
Vsi uporabljeni deli so trenutno na voljo na Ebayu, AliExpressu in drugih.
1. korak: Koncept
Navdih sem dobil pri Ben Eaterju, ki je na YouTubu izdelal vrsto videoposnetkov o 6502 in številnih drugih vidikih gradnje računalnikov in vezij. Program je napisal on prvotno in to in nekatere njegove zasnove sem spremenil, da sem prišel do tega Instructable. Še ena oseba, ki me je navdihnila, je Andrew Jacobs, ki ima razdelek na GitHubu, kjer uporablja mikrofon PIC za nadzor svojega 6502.
Tako kot Ben uporabljam Arduino MEGA za spremljanje 6502. Za razliko od Bena uporabljam tudi MEGA za zagotavljanje signala ure. Trenutno ne uporabljam niti EEPROM -ov niti RAM -a.
2. korak: Zahteve
Za izdelavo tega "računalnika" je seznam elementov naslednji:
1 x Arduino MEGA
1 x Western Design Center W65C02S6TPG-14
1 x 74HC00N IC (Quad 2-input NAND gate) ali podobno
1 x 74HC373N IC (oktalni prozorni zapah tipa D) ali podobno
2 x 830 luknjic za kruh (1 na ščepec)
Različni Dupont moški - moški kabli in žice za povezavo
2 x LED (uporabil sem 5 mm modro, saj se lahko izognete brez uporov)
1 x 12 -milimetrsko stikalno stikalo s pritiskom na gumb, SPST ali podobno
1 x 1K upor
2 x 0,1 uF keramični kondenzatorji
1 x 8 -milimetrska rdeča LED lučka (kot zgoraj) ali 8 LED in uporov
OPOMBA: Če dobite spajkani komplet, lahko LED napačno vstavite tako, da so skupne katode. Pritrdim muhovod (namesto zatiča), tako da se lahko enostavno poveže drugam. VCC zdaj postane Ground. LED diode lahko seveda obrnete (na sestavljenem predmetu) in jih ponovno spajkate, vendar je to veliko napake! Kompleti so trenutno na voljo na AliExpressu.
3. korak: Sestavite skupaj
Lažje sem uporabil nove žice DuPont, ki niso bile ločene od traku, za naslovna in podatkovna vodila.
Priključite pin 9 (A0) 6502 na pin 52 MEGA, nožica 10 (A1) 6502 na pin 50 itd …
dokler
Priključite pin 25 (A15) 6502 na pin 22 MEGA.
16 povezav do sedaj.
Prav tako
Priključite pin 26 (D7) 6502 na pin 39 MEGA, pin 27 (D6) of 6502 to pin 41 etc…
dokler
Priključite pin 33 (D0) 6502 na pin 53 MEGA.
Še 8 povezav.
Priključite pin 8 (VDD) na 5v na MEGA.
0,1uF kondenzator, povezan z zatičem 8 na Gnd plošče za kruh, je tukaj lahko uporaben, ni pa nujen.
Priključite pin 21 (VSS) na Gnd na MEGA.
Zatiči 2, 4, 6, 36 in 38 so lahko vezani na 5v
Priključite pin 37 (Ura) na pin 2 in pin 7 na MEGA.
Priključite pin 34 (RWB) na pin 3 MEGA.
Priključite pin 40 (ponastavitev), kot je prikazano zgoraj.
4. korak: Preizkusite vezje
Na tej stopnji bo 6502 deloval in lahko uporabljate program1. Če uporabljate 8 -smerno oznako (kot zgoraj), jo lahko vstavite naravnost v ploščo in muho povežete s tlemi ali pa uporabite 8 LED in uporov. LED diode bodo pokazale, kaj je na podatkovnem vodilu.
Na tej stopnji bi bilo prav tako nastaviti zamude v zanki () na 500 ali več, da bi spremljali dogajanje.
Na serijskem monitorju bi morali dobiti podoben izhod kot zgornji. Ko pritisnete Ponastavi, procesor opravi 7 ciklov in nato poišče zagon programa na lokacijah $ FFFC in $ FFFD. Ker za 6502 ni fizičnih naslovov za branje, jih moramo dostaviti iz MEGA.
V zgornjem izhodu 6502 bere $ FFFC in $ FFFD in dobi $ 00 in 10 (Low byte, High byte), kar je začetek programa pri 1000 $. Procesor nato začne izvajati program na lokaciji 1000 USD (kot zgoraj). V tem primeru se glasi A9 USD in 55 USD, to je LDA#55 USD (Naložite 85 v akumulator). Tudi če ni fizičnega pomnilnika, MEGA simulira prebrano iz podatkovnega vodila.
55 USD (85) daje binarni vzorec 01010101 in ko zavrtite 1 bit v levo, daje AA AA (170) 10101010.
Program pokaže, da procesor deluje pravilno, a kmalu postane malce dolgočasen, zato pojdimo na naslednji del.
5. korak: Naslednji korak
Zgornji "kup špagetov" je verjetno nekaj takega, kar boste imeli po tej stopnji.
Nato morate na vezje dodati integrirani vmesnik 74HC373N in 74HC00N.
Na žalost se zatiči 373 ne ujemajo s podatkovnim vodilom, zato jih bo treba priključiti na žice.
Priključite 5V na pin 20.
Ozemljitev priključite na pin 10.
Priključite pin 33 (D0) 6502 na pin 3 (D0) 74HC373N
in prav tako z zatiči D1 do D7.
Q0 do Q7 so izhodi, ki jih je treba priključiti na LED okvir ali posamezne LED in upore.
Pri 74HC00 sta potrebni le 2 vrata
Priključite 5V na pin 14.
Ozemljitev priključite na pin 7.
Priključite pin 17 (A8) 6502 na pin 1 (1A) 74HC00
Priključite pin 25 (A15) 6502 na pin 2 (1B) 74HC00
Priključite pin 34 (R/W) 6502 na pin 5 (2B) 74HC00
Priključite pin 3 (1Y) 74HC00 na pin 4 (2A) 74HC00
Priključite pin 6 (2Y) 74HC00 na pin 11 (LE) 74HC373N
Priključite pin 11 (LE) 74HC373N na pin 1 (OE) 74HC373N
Na 1Y in ozemljitev ter 2Y na maso lahko priključite modro LED, kar bo pokazalo, kdaj so vrata aktivna.
Končno spremenite vrstico v postopku onClock iz programa1 v program2
setDataPins (program2 [odmik]);
6. korak: Program
Program 6502-Monitor vsebuje dve zgoraj opisani rutini 6502.
Program se še razvija in je nekoliko neurejen.
Pri izvajanju programa2 so lahko zamude v zanki () 50 ali manj in se celo odstranijo. Komentiranje vrstic Serial.print () tudi pospeši delovanje 6502. Če ločite pin 1 (OE) 373 iz pin 11 (LE), dobite različne rezultate. Če odklopite zatič 1 in 11 za 373 iz vrat NAND, lahko vidite, kaj je na podatkovnem vodilu pri vsakem ciklu.
Morda boste morali OE priklopiti na tla, namesto da bi ga pustili plavajočega, saj je 8 izhodnih linij onemogočeno, če gre ta pin visoko. Ko je pin LE visok, so izhodni zatiči enaki kot vhodi. Če levi pin pripeljete nizko, se izhodi zaklenejo, torej če se vhodni zatiči spremenijo, izhodi ostanejo enaki.
Poskušal sem narediti program čim bolj preprost, da ga lažje razumem.
Eksperimentiranje s časovnimi zamiki vam omogoča, da natančno spremljate, kaj počne 6502.
Spodaj sta dva programa (oba tečeta na naslovu 1000 USD) v 6502 Assembler:
program1
LDA#55 USD
NOP
ROL
STA 1010 USD
1000 JMP
ROL vrti vsebino akumulatorja za en bit levo, kar pomeni, da 55 USD zdaj postane AA AA.
V strojni kodi (šestnajstiška): A9 55 EA 2A 8D 10 10 4C 00 10
program2
LDA#01 USD
STA 8100 USD
ADC#03 USD
STA 8100 USD
1005 JMP
V strojni kodi (šestnajstiška): A9 01 8D 00 81 69 03 8D 00 81 4C 05 10
V programu2 je zdaj fizični naslov 8100 USD, kjer je 74HC373 na naslovnem vodilu.
A15 iz 6502 je 32768 (8000 USD), A8 pa 256 (0100 USD) = 33024 (8100 USD).
Torej, ko 6502 zapiše 8100 USD (STA 8100 USD), je R/W 6502 nizka, podatki na podatkovnem vodilu 6502 pa zaklenjeni, ko 373 LE pade. Zaradi vrat 74HC00 NAND so signali obrnjeni.
V zgornjem sitotisku se je drugo pisanje povečalo za 3 (ADC#$ 03) - s 7F na 82 USD.
V resnici bi bili za določeno lokacijo 373. uporabljeni več kot 2 vrstici naslovnega vodila. Ker je to edini fizični naslov od možnih 65536, dokazuje, kako deluje naslovno vodilo. Lahko poskusite z različnimi zatiči naslova in jih postavite na drugo mesto. Seveda boste morali operande STA spremeniti na novo lokacijo. npr. Če bi uporabili naslovni vrstici A15 in A9, bi bil naslov 8200 USD (32768 + 512).
7. korak: Zaključek
Poskušal sem pokazati, kako enostavno je 6502 zagnati in zagnati.
Nisem strokovnjak na tem področju, zato bi bil dobrodošel kakršne koli konstruktivne pripombe ali informacije.
Vabljeni, da to še naprej razvijate in zanimalo bi me, kaj ste storili.
Projektu nameravam dodati EEPROM, SRAM in 6522 ter ga v prihodnje postaviti na trak.
Priporočena:
Kako pretvoriti star/poškodovan računalnik ali prenosni računalnik v medijsko škatlo: 9 korakov
Kako pretvoriti star/poškodovan računalnik ali prenosni računalnik v medijsko škatlo: V svetu, kjer tehnologija napreduje najhitreje kot mi, naša ljubljena elektronika prehitro zastara. Morda so vaše vedno ljubeče mačke na prenosni računalnik padle na mizo in zaslon se je zlomil. Ali pa morda želite medijsko škatlo za pametni televizor
6502 Minimalni računalnik (z Arduino MEGA) 3. del: 7 korakov
6502 Minimalni računalnik (z Arduino MEGA) 3. del: Če gremo še dlje, sem na glavno ploščo dodal oktalno zaponko, 8 pravokotnih LED in 220 ohmsko matriko uporov. Med skupnim zatičem matrike in maso je tudi mostiček, tako da lahko LED izklopite. Vrata 74HC00 NAND h
6502 in 6522 Minimalni računalnik (z Arduino MEGA) 2. del: 4 koraki
6502 in 6522 Minimalni računalnik (z Arduino MEGA) 2. del: V skladu z mojim prejšnjim Instructable -om sem zdaj 6502 namestil na ploščo za trakove in dodal vsestranski vmesnik 6522 (VIA). Še enkrat, uporabljam različico 6522 WDC, saj se odlično ujema z njihovimi 6502. Ne samo, da ti novi
Prenosni računalnik Pi-Berry-klasični prenosni računalnik: naredi 21 korakov (s slikami)
Prenosni računalnik Pi-Berry-klasični prenosni računalnik »naredi sam«: Prenosni računalnik, ki sem ga naredil »Prenosni računalnik Pi-Berry« je zgrajen okoli Raspberry Pi 2. Ima 1 GB RAM-a, štirijedrni procesor, 4 vhode USB in ena vrata Ethernet. Prenosni računalnik zadovoljuje vsakodnevne potrebe in brez težav izvaja programe, kot so predvajalnik VLC, Mozilla Firefox, Ardu
Pospešite prenosni računalnik / osebni računalnik: 8 korakov (s slikami)
Pospešite prenosni računalnik/osebni računalnik: Sledite nam na naši spletni strani:- http://www.creativitybuzz.org/ Pozdravljeni prijatelji, tukaj vam pokažem, kako pospešiti prenosni računalnik ali računalnik doma. Hitrost prenosnega računalnika se lahko poveča, če namesto njega namestite pogon SSD trdega diska