DIY / ROM-programmering

Programmér en 27C512 (og andre EPROM'er/EEPROM'er) med RURP

En EPROM rummer de første instruktioner, en retrocomputer kører, programmet i en arkademaskine eller koden i et spilmodul. Denne guide viser, hvordan du lægger dine egne data ind i en med Relatively Universal ROM Programmer (RURP), Anders Nielsens open source-Arduino-shield. Eksemplet er en chip af typen 27C512, fra tom sokkel til verificeret kopi.

Først: hvad en EPROM er, og hvorfor man programmerer en

ROM betyder read-only memory: en chip, der beholder sit indhold, når strømmen er slukket. En computer læser den som al anden hukommelse. Den lægger en adresse på adressebenene (A0-A15 på en 27C512) og får én byte tilbage på databenene (D0-D7). P'et i EPROM står for programmerbar: du kan selv skrive den, men kun i en programmer og ved en højere spænding end de 5 V, chippen kører på. I den færdige computer bliver chippen kun læst.

En 24-bens ST M2732A-EPROM med rundt kvartsvindue, fastspændt i en sort 32-bens ZIF-sokkel på et RURP-board.
En EPROM i RURP: en ST M2732A, en 24-bens UV-EPROM mærket 21V, i en 32-bens ZIF-sokkel. Det runde kvartsvindue er kendetegnet for en UV-EPROM. Foto: iMania-produktbillede.

En 6502-computer er den klassiske grund til at programmere en. Ved opstart henter CPU'en sin startadresse fra reset-vektoren på $FFFC-$FFFD, helt øverst i adresserummet, så der skal ligge ROM dér med et gyldigt program. Vores 6502-guide forklarer hvorfor, og guiden til 6502 og SRAM viser, hvordan RAM og ROM deler det 64 KB store adressekort. Den samme slags chip rummer firmwaren i hjemmecomputere, arkademaskiner, synthesizere og industriudstyr fra 1980'erne og 1990'erne. Typiske opgaver er at brænde din egen firmware til et byggesæt som 65uino, at gemme en sikkerhedskopi af en gammel ROM eller at erstatte en, der er gået i stykker.

En 27C512 rummer 512 kbit, altså 64 KB: 65.536 adresser med 8 bit hver. Det er præcis ét 6502-adresserum, og derfor dukker typenummeret op i så mange retroprojekter.

Et ubestykket RURP Rev 2.1-board set ovenfra: et lilla Arduino-shield-print med forpåloddede SMD-komponenter, det tomme fodaftryk til 32-bens soklen, en række lysdioder og knapperne RST og USR.
RURP Rev 2.1, som den leveres: SMD-komponenterne er forpåloddede; sokkel og pinheaders lodder du selv.
Pinheader-sættet: en knækbar stikliste med 40 ben, et 4-bens hunstik og to jumpere.
Pinheaders og jumpere til programmeren.

Sletning: UV-lys, højspænding eller 5 V

Programmering kan kun ændre bit fra 1 til 0. For at få 1-tallerne tilbage skal chippen slettes, og hvordan den slettes, afgør, hvad du skal have på arbejdsbordet.

  • UV-EPROM'er (27C512, 27C256, 2764, 2732, 2716 og de fleste andre i 27-serien) har et kvartsvindue over siliciummet. Kun kortbølget ultraviolet lys sletter dem. Databladet for ST's M27C512 kræver UV-lys på 253,7 nm og en dosis på mindst 15 W·s/cm²: omkring 15 til 20 minutter under en lampe på 12 mW/cm² med chippen højst 2,5 cm fra rørene. Det kan RURP ikke. Den læser og programmerer UV-EPROM'er, men sletningen kræver en separat UV-sletter. Dæk bagefter vinduet med en uigennemsigtig label: ifølge samme datablad kan direkte sollys slette chippen på cirka en uge. Versioner uden vindue ("OTP") kan slet ikke slettes.
  • Elektrisk sletbare EPROM'er som Winbond W27C512 og W27C020 har samme pinout og programmeres på samme måde som en 27C512 eller 27C020, med 12 V på programmeringsbenet. Men de slettes elektrisk: 14 V på OE/VPP og på A9, mens CE pulses lav i 100 ms (databladet for W27C512). Det klarer RURP selv, så der skal ingen UV-lampe til. Butikker, også vores, kalder ofte W27C512 for en EEPROM; Winbond kalder den en "electrically erasable EPROM". Under alle omstændigheder kræver den de høje spændinger og kan derfor ikke omskrives inde i en 5 V-computer.
  • 5 V-EEPROM'er (28C-familien, fx AT28C64 og AT28C256) og 5 V-flash (SST39SF010A, SST39SF020A, SST39SF040) skal slet ikke have højspænding. De slettes og skrives ved 5 V med kommandosekvenser. SST39SF-chippene slettes i sektorer på 4 KB eller som hel chip, typisk på 18 ms og 70 ms (databladet for SST39SF0x0A). Softwaren nedenfor understøtter begge familier.
VPP-værdier fra databladene under Kilder; værdien for M2732A er fra produktsiden og chipdatabasen i programmeringssoftwaren, der beskrives nedenfor.
ChipBenTypeSlettes afProgrammeringsspænding
W27C51228Elektrisk sletbar EPROMRURP (14 V)12 V på ben 22
M27C512 (ST)28UV-EPROMUV-sletter12,75 V ±0,25 V på ben 22
27C256 (Microchip)28UV-EPROMUV-sletter13,0 V ±0,25 V på ben 1
W27C02032Elektrisk sletbar EPROMRURP (14 V)12 V
M2732A (ST)24UV-EPROMUV-sletter21 V
SST39SF010A/020A/040325 V-flashRURP (5 V-kommandoer)Ingen
AT28C64, AT28C256285 V-EEPROMRURP (5 V-kommandoer)Ingen

Hvad RURP er, og hvad du ellers skal bruge

Relatively Universal ROM Programmer er et Arduino-shield. SMD-komponenterne er forpåloddede: tre 74HC573-latches, der holder adressen, en boost-regulator, der laver programmeringsspændingen, og transistorkontakter, der lægger spændingen på det rigtige sokkelben under softwarestyring. Soklen og pinheaderne lodder du selv. Et lille trimpotentiometer indstiller programmeringsspændingen; README'en angiver 12-27 V. Rev 2 og senere vælger chips med 24, 28 eller 32 ben med transistorer i stedet for jumpere, og Rev 2.1 fik en polyfuse på 200 mA foran regulatoren. Rev 2.2 og Rev 2.3, den nuværende version, har en JP4 med tre positioner, hvor den ekstra position er til chips af typen 2716.

Firestarter er den open source-software, der anbefales til RURP. Den er skrevet af Henrik Olsson og udgivet under MIT-licensen på GitHub. Den består af to dele: firmware, der kører på Arduinoen under RURP-shieldet og styrer chipsoklen, og kommandolinjeværktøjet firestarter på din computer, som sender den kommandoer gennem USB-kablet. Du installerer værktøjet med pip install firestarter, og værktøjet installerer derefter selv firmwaren på Arduinoen (se nedenfor).

For at bruge RURP med Firestarter skal du også bruge:

  • En Arduino Uno, en Arduino Leonardo eller et Uno-formet board med ATmega328PB. (Anders' 65uino kan også styre shieldet, men med hans oprindelige 6502-kode og Python-scriptene i RURP-repositoriet, ikke med Firestarter.)
  • En sokkel med 32 ben. En 32-bens ZIF-sokkel er det behagelige valg: chippen falder på plads, og et håndtag klemmer den fast. En almindelig 32-bens DIP-sokkel er budgetvalget. Fodaftrykket med 32 ben tager også chips med 24 og 28 ben.
  • Pinheaders og jumpere til Arduino-forbindelsen og JP4.
  • En computer med Python 3.11 eller nyere og avrdude, og et USB-kabel til Arduinoen.
Anders' tre regler, fra boardet og README'en. Sæt ikke shieldet på, mens der er strøm på. Tænd ikke for shieldet, før Arduinoen har den rigtige firmware, så installér firmwaren først og sæt shieldet på bagefter. Sæt ikke en ROM i soklen, før du er klar til at skrive den, og lad den ikke sidde der, mens Arduinoen nulstilles eller får installeret firmware: nogle boards lægger programmeringsspændingen på flere ben under en reset.

Installér Firestarter

RURP's README anbefaler Firestarter, hvis du bare vil programmere ROM'er. Kommandoerne nedenfor er fra den nuværende stabile udgave, 3.1.0.

  1. Installér avrdude: brew install avrdude på macOS eller sudo apt install avrdude på Debian og Ubuntu. Arduino IDE indeholder den også.
  2. Installér kommandolinjeværktøjet, og tjek versionen:
    pip install firestarter
    firestarter --version
  3. Tilslut den bare Arduino med USB, og installér firmwaren. Brug -b leonardo eller -b uno328pb til de boards. Stopper avrdude med en signaturfejl, er board-flaget forkert.
    firestarter fw -i -b uno
  4. Tag USB-kablet ud, tryk shieldet ned på Arduinoen, og sæt kablet i igen. Spørg så boardet om firmwareversion og shieldets revision. Ingen af kommandoerne rører soklen.
    firestarter fw
    firestarter hw

Værktøjet og firmwaren skal have de samme to første versionsnumre (3.1 med 3.1). Når du opgraderer, så opgradér værktøjet først og firmwaren bagefter.

Sådan sættes chippen i soklen

Foto af et RURP Rev 2.1-board fra komponentsiden med en 28-bens Winbond W27E257 i 32-bens soklen. Nummererede markeringer: 1, hakket i chippens venstre ende, der peger mod JP4; 2, chippens ben 1 i soklens hul 3; 3, de tomme sokkelhuller 1 og 2 nederst til venstre og 31 og 32 øverst til venstre; 4, den blå JP4-jumper ved boardets venstre kant.
Et rigtigt board med markeringer: en 28-bens Winbond W27E257 (27C256-pinout, altså VPP på ben 1) i den almindelige 32-bens sokkel på en RURP Rev 2.1, set fra komponentsiden med teksterne på rette køl. Hakket peger mod venstre, mod JP4 (1); chippens ben 1 sidder i soklens hul 3 (2); hul 1, 2, 31 og 32 er tomme (3); og JP4 er sat på, fordi chippen har VPP på ben 1 (4). Foto: iMania-produktbillede med markeringer tilføjet til denne guide - JPG.
RURP-soklen med 32 ben set ovenfra, tegnet i målestok med 600 mil DIP-kapsler. Den store tegning viser en 28-bens chip med ben 1 i soklens hul 3, så hul 1, 2, 31 og 32 er tomme; to små tegninger viser en 32-bens chip, der fylder alle huller, og en 24-bens chip med ben 1 i hul 5, så hul 1 til 4 og 29 til 32 er tomme. På alle tegninger peger chippens hak mod soklens ben 1.
Sådan sidder chips med 32, 28 og 24 ben i RURP-soklen med 32 ben, ud fra Firestarters pin-map-tabel. Tegnet i målestok til denne guide (600 mil DIP: 2,54 mm benafstand, 15,24 mm mellem rækkerne) - SVG.
  1. Find chippens ben 1. Et hak eller en prik markerer enden med ben 1. Med hakket mod venstre er ben 1 det nederste ben til venstre.
  2. Find soklens ben 1. Det sidder på den firkantede loddeø, og bagsiden af boardet har "Pin1->"-pile for chips med 24, 28 og 32 ben. På Rev 2.1- og Rev 2.3-boards, med komponenterne vendt mod dig og teksterne RST, USR og OLED på rette køl, er soklens ben 1 hullet nederst til venstre, i enden ved jumper JP4.
  3. Peg hakket mod soklens ben 1-ende, og skub chippen helt ud i den modsatte ende. En 32-bens chip fylder soklen. En 28-bens chip sætter sit ben 1 i soklens hul 3, så hul 1, 2, 31 og 32 er tomme. En 24-bens chip sætter sit ben 1 i hul 5, så hul 1-4 og 29-32 er tomme.
  4. På en ZIF-sokkel løfter du håndtaget for at åbne kontakterne, lader chippen falde i uden at trykke og trykker håndtaget ned for at klemme den fast. Løft håndtaget igen, før du tager chippen op.

Tjek retningen to gange. Anders påpeger, at sikringen på Rev 2.1 ikke er nogen garanti: en ROM, der sættes omvendt i, kan stadig tage skade.

Programmeringsspænding og jumpere

firestarter info <chip> viser alt om én chip: størrelse, type, om den kan slettes elektrisk, dens VPP, pinout og jumperindstillingen for hver shield-revision. Den bruger ikke programmeren. Kør den for hver ny chiptype.

Indstil spændingen. Shieldet har én justerbar regulator. Dens fulde udgang hedder VPE. Til EPROM'er med 28 og 32 ben tager firmwaren VPP fra den gennem en faldmodstand. Du indstiller begge med det samme trimpotentiometer, men måler den skinne, chippen får:

ChipMål med
EPROM'er med 28 og 32 ben, også W27C512 og W27C020firestarter vpp
EPROM'er med 24 ben (2716, 2732) og Intel 28F-flashfirestarter vpe
5 V-EEPROM'er og 5 V-flashIntet at indstille

Kør kommandoen med tom sokkel; den viser spændingen igen og igen, men forbinder den ikke til soklen. Drej langsomt på trimpotentiometeret med en lille skruetrækker, til aflæsningen passer med VPP-linjen fra info, og tryk Ctrl+C. Før hver skrivning måler firmwaren igen. Mere end 0,5 V for højt stopper skrivningen; under 95 % af målet giver en advarsel.

Til en W27C512 er målet 12 V. Skyd ikke over: databladets absolutte maksimum på OE/VPP og på A9 er 14,5 V. Sletnings-spændingen på 14 V indstiller du ikke separat; ved sletning lægger firmwaren den ikke-reducerede VPE-skinne på A9 og OE/VPP i 100 ms.

Pinout for 27C512 og 27C256 side om side, set ovenfra. De er ens bortset fra ben 1, som er A15 på 27C512 og VPP på 27C256, og ben 22, som er /OE og VPP på 27C512, men kun /OE på 27C256. Ben 24, A9, er markeret på begge, fordi det får højspænding ved chip-ID og ved sletning af en W27C512.
Pinout for 27C512 og 27C256 fra databladene for Winbond W27C512, ST M27C512 og Microchip 27C256. Tegnet til denne guide - SVG.

JP4 sender programmeringsspændingen til ben 1 på chips, der skal have den dér. 27C512 har A15 på ben 1 og deler VPP med /OE på ben 22, så den skal have ingen jumper. 27C256 og 2764 har VPP på ben 1, så på Rev 2.2 og 2.3 sættes jumperen på 28-bens-polen (mod soklen), og på Rev 2.0 og 2.1 er JP4 lukket. 24-bens-polen (mod boardkanten) er kun til chips af typen 2716 med VPP på ben 21. Den forbinder soklens ben 1 med soklens ben 25, så fjern den til alle chips med 28 og 32 ben. Lad aldrig JP4 sidde på til en 32-bens chip: README'en advarer om, at det højst sandsynligt skader ROM'en, programmeren eller begge.

JP5 er en loddejumper på bagsiden, som er forbundet, når boardet er nyt. Skær den kun over til chips med adresselinjen A19 på ben 1, fx 27C080 og M27C801. Firestarter beder dig bekræfte, at JP5 er skåret over, før den skriver til eller sletter en af dem. Rev 0- og Rev 1-boards bruger i stedet jumperne JP1-JP3; info viser også deres indstillinger.

Gennemgået eksempel: et ROM-image i en W27C512, derefter verificering

  1. Find imaget. En 27C512 rummer 65.536 bytes. En mindre fil er fint: skrivningen starter på adresse 0 (eller den adresse, du angiver med -a) og stopper ved filens slutning. Til en 65uino er imaget build/abn6507rom.bin, som laves af scriptet assemble.sh i 65uino-repositoriet. Scriptets eget sidste trin er firestarter write w27c512 build/abn6507rom.bin. Du kan prøve imaget i 65uino-emulatoren først; den åbner en rå ROM-fil lokalt i din browser (se vores guide til 6502-emulatorerne i browseren).
  2. Find det præcise chipnavn, og læs dens data:
    firestarter search 27C512
    firestarter info W27C512
    Søgningen viser alle 27C512-varianter med producent og VPP. Brug navnet på den chip, du har i hånden; for Winbond-chippen er det W27C512. info viser VPP: 12.0v, Can be erased: yes (electrically erasable) og "No jumper" for JP4.
  3. Fjern jumperen på JP4, og indstil spændingen med tom sokkel. Drej på trimpotentiometeret, til aflæsningen siger 12,0 V, og tryk Ctrl+C:
    firestarter vpp
  4. Sæt chippen i: hakket mod ben 1-enden, chippens ben 1 i soklens hul 3, håndtaget ned.
  5. Valgfrie tjek. id læser chippens elektroniske signatur; databladet angiver DA (Winbond) og 08 (W27C512), så den skal passe med 0xDA08. Den lægger højspænding på A9, og derfor indstilles spændingen først. Rummer chippen noget, du vil beholde, så læs det ud i en fil, før du overskriver den:
    firestarter id W27C512
    firestarter read W27C512 backup.bin
  6. Skriv og verificér i ét trin:
    firestarter write W27C512 build/abn6507rom.bin --verify
    En elektrisk sletbar chip sletter Firestarter først, programmerer den så byte for byte med 12 V-pulser og tjekker hver byte, og til sidst læser den hele området tilbage og sammenligner med filen. Lykkes det, slutter den med Write to W27C512: verified -- the read-back matches. og exitkode 0.
  7. Tjek igen, når du vil. verify sammenligner chippen med filen (exitkode 0 betyder ens), og blank fortæller, om en chip er tom:
    firestarter verify W27C512 build/abn6507rom.bin
    firestarter blank W27C512
  8. Løft håndtaget, og tag chippen op, før du tager strømmen fra eller nulstiller Arduinoen. Chippen er klar til sin sokkel i computeren.

Samme opgave med en UV-27C512, fx M27C512: kør firestarter blank M27C512 først. En UV-chip slettes aldrig af programmeren, så write afviser en chip, der ikke er tom, med en linje som Refusing write to M27C512: not blank at 0x000123, v: 0x4F. Slet den med UV-lys, og prøv igen. info M27C512 viser VPP: 13.0v og Can be erased: no (UV erase only), så indstil spændingen til 13,0 V før firestarter write M27C512 rom.bin --verify.

Firestarter fører en liste over chips, der er valideret på rigtig hardware. I 27C512-familien står W27C512, som bestod på to opstillinger (en Leonardo med et Rev 2.0-shield og en Uno med et Rev 2.2-shield), TMS27C512 og SST27SF512. De øvrige 27C512-varianter er i databasen, men endnu ikke validerede.

Hvad med 27C256?

Ja, RURP programmerer den. firestarter search 27C256 viser 26 databaseposter fra producenter som AMD, Atmel, Intel, Microchip, ST og TI, alle på samme 28-bens EPROM-protokol som 27C512. Tre ting er anderledes:

  • VPP sidder på ben 1, ikke ben 22 (se figuren ovenfor). Sæt JP4 på 28-bens-polen på Rev 2.2/2.3, eller luk den på Rev 2.0/2.1; firestarter info AM27C256 siger det samme. Fjern jumperen igen, før du programmerer en 27C512 eller en 32-bens chip.
  • VPP afhænger af producenten. Databasen har 12,0 V for Intels og Atmels 27C256 og 13,0 V for AMD's, Microchips og ST's M27C256B. Microchips datablad angiver 13,0 V ±0,25 V. Brug posten for den producent, der står på din chip.
  • Det er en UV-EPROM med den halve kapacitet: 32.768 bytes. Sletning kræver en UV-sletter som ovenfor.

Kan en 27C512 erstatte en 27C256? Ofte, men det afhænger af boardet. Pinouts er ens bortset fra ben 1. En 27C256 skal have ben 1 (VPP) på forsyningsspændingen, når den læses (Microchips datablad), så boards binder som regel det ben til 5 V, og en 27C512 ser så A15 = 1 og svarer fra sin øverste halvdel. Et almindeligt trick er at skrive det 32 KB store image to gange i én fil på 64 KB, så chippen virker, uanset hvilket niveau ben 1 har:

# macOS, Linux
cat rom32k.bin rom32k.bin > rom64k.bin
# Windows
copy /b rom32k.bin+rom32k.bin rom64k.bin

Tjek dit boards diagram først. Styres ben 1 af noget andet, gælder tricket ikke.

Almindelige fejl, og hvad de betyder

Du serSandsynlig årsagHvad du gør
Ingen programmer fundet, eller den forkerte svarerFlere serielle enheder, eller boardet er optagetTilslut kun én programmer, eller angiv porten: firestarter -p /dev/ttyACM0 fw
avrdude-signaturfejl under fw -iForkert board-flagBrug -b uno, -b leonardo eller -b uno328pb efter chippen på dit board
hw viser rev_unknownRevisionen blev ikke genkendt; firmwaren tænder ikke for programmeringsspændingenAngiv den med nummer: firestarter config --rev 5 for Rev 2.3 (4 = Rev 2.2, 3 = 2.1, 2 = 2.0)
VPP is high: 12.9V > 12.0VTrimpotentiometeret står for højt; skrivningen stopperKør firestarter vpp, og skru ned
VPP is low: …Trimpotentiometeret står for lavtSkru op. Kan du ikke nå værdien (nogle 24-bens chips vil have op til 25 V), kan shieldet ikke programmere den chip
Chip ID … does not match expected ID …Forkert chipnavn, chippen vendt forkert eller i de forkerte huller, håndtaget åbent, eller en anden producents chipTjek påskriften på chippen og dens placering. id viser chips med det ID, den fandt. Brug kun -f, når du er sikker
Refusing write … not blank at …En UV-EPROM, der stadig rummer dataSlet den med UV-lys. Til en W27C512: kør firestarter erase W27C512 -b
Byte at … failed to program within 25 pulsesVPP for lav, VPP på det forkerte ben (JP4) eller en slidt chipTjek spænding og JP4 mod info, og prøv så en anden chip
landed, but the read-back did not verifyDårlig kontakt eller et adresseproblemKør firestarter verify <chip> <fil> --full. blank/contact betyder, at næsten alle bytes blev læst som FF: chippen er tom eller rører ikke kontakterne. address-line peger på et bøjet ben eller de forkerte huller. Brugte chips kan have brug for at få renset oxidering af benene
erase gør intet på en 27C512UV-EPROM'er kan ikke slettes elektriskBrug en UV-sletter
Søgningen viser ét typenummer fra flere producenter med forskellig VPPinfo og write bruger det første match. M2732A finder fx Intels post på 25 V før ST's på 21 VSammenlign VPP med databladet for din chip, før du skriver. Programmér ikke, før de stemmer overens

Begrænsninger

  • Den sletter ikke UV-EPROM'er.
  • Den tager parallelle DIP-chips med 24, 28 og 32 ben. Denne guide dækker ikke adaptere til andre kapsler.
  • Du indstiller spændingen med håndkraft på trimpotentiometeret, og JP4 og JP5 sætter du også selv. Shieldet kan ikke mærke sine jumpere, så softwaren kan ikke tjekke dem.
  • Shieldets forsyning til chippen er fast på 5 V. Nogle datablade for UV-EPROM'er beder om en hævet forsyning under programmering (6,25 V for M27C512, 6,5 V for Microchips "express"-algoritme til 27C256). Firestarter viser en programmerings-VCC i info for sådanne chips og programmerer dem ved 5 V.
  • Kommercielle programmere som TL866II eller T48 kan være hurtigere til nogle opgaver. RURP handler om pris, åbenhed og muligheden for selv at reparere.

Ofte stillede spørgsmål

Skal jeg have en UV-sletter? Kun til UV-EPROM'er med vindue, som M27C512, 27C256, 2764 og 2732. W27C512 og W27C020, 28C-EEPROM'er og SST39SF-flash slettes i RURP.

Hvilken Arduino? En Uno, en Leonardo eller et Uno-formet board med ATmega328PB, til Firestarter. Se på chippens påskrift for at vælge det rigtige -b-flag.

Skal mit image have præcis samme størrelse som chippen? Nej. write skriver filen fra adresse 0 (eller fra -a), og verify sammenligner så mange bytes, som filen rummer.

Kan jeg tage en sikkerhedskopi af en gammel ROM? Ja: firestarter read <chip> backup.bin og derefter firestarter verify <chip> backup.bin. Indstil jumpere og spænding til chippen først, som ved en skrivning.

Programmerer den 28C64- og 28C256-EEPROM'er? Ja, ved 5 V uden programmeringsspænding. Firestarter låser deres software-skrivebeskyttelse op før hver skrivning. Ingen 28C-chip var på valideringslisten for udgave 3.1.0, så betragt din første som en test.

Hvad står RURP for? Relatively Universal ROM Programmer.

Hvor kan jeg se den i brug? I Anders' video Open $9 ROM Burner just got even better and easier to use! (engelsk), som installerer Firestarter og brænder en chip, og i Open Source ROM Burner Just Keeps Getting Better! om Rev 2.1.

Dele brugt i denne guide

Programmeren og det, du lodder på den:

Til computeren, som ROM'en skal sidde i:

Chips fra denne guide, som iMania fører. Det er brugte dele, så se lagerstatus på hver side:

Se derefter, hvordan en ROM får sin plads i adressekortet, i guiden til adressedekodning.

Kilder. RURP-repositoriet og README (jumpere, spænding, sikkerhedsregler) · projektloggen på Hackaday (74HC573-latches, sikringen på Rev 2.1) · Firestarter-wikien: Install, Shield Revisions, Reading Chips, Writing and Verifying, Pin Maps samt Firestarter 3.1.0-værktøjet og dets chipdatabase (output fra search og info) · Datablade: Winbond W27C512 (slette- og programmeringsspændinger, pinout, signatur), ST M27C512 (VPP, UV-sletning), Microchip 27C256 (pinout, VPP), Winbond W27C020, SST39SF010A/020A/040. Begge diagrammer er tegnet til denne guide.