chippalippa
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
chippalippa [2020/08/08 11:59] – step 1 giuliof | chippalippa [2022/11/06 17:30] (versione attuale) – [ChippaLippa] aggiunta foto step3 giuliof | ||
---|---|---|---|
Linea 2: | Linea 2: | ||
Il progetto ChippaLippa nasce nella primavera 2018 in seguito all' | Il progetto ChippaLippa nasce nella primavera 2018 in seguito all' | ||
+ | Il ChippaLippa allo step3, attualmente l' | ||
+ | {{ : | ||
===== Materiali acquistati ed a disposizione ===== | ===== Materiali acquistati ed a disposizione ===== | ||
* WDC 65C02S //(versione statica del MOS 6502)// | * WDC 65C02S //(versione statica del MOS 6502)// | ||
Linea 13: | Linea 15: | ||
* HEF4551 (binary to sevseg) (6pz) | * HEF4551 (binary to sevseg) (6pz) | ||
- | ===== ToDo list ===== | + | ===== Schede realizzate |
- | * < | + | * [[http://github.com/glgprograms/urp|Über Retro Programmer]]: |
- | * Aggiungere reset all' | + | * [[# |
- | * Realizzare programmatore EEPROM/ | + | * [[#Stuzzica clock|Stuzzica clock]]: estensione al clocchino per generare impulsi opportuni (si vedano le note sul clock); |
- | * 2x74HC595 | + | * [[#Bus inspector|Bus inspector]]: |
- | * Zoccolo ZIF 32 pin wide; | + | |
- | * Fare PCB. | + | ===== Note sul clock ===== |
- | * <del> | + | |
- | * Costruire | + | I chip non statici (o farlocchi) permettono di mantenere il livello alto sul segnale di clock per un tempo indefinito. Per operare correttamente, |
+ | |||
+ | Fare riferimento allo " | ||
+ | |||
+ | ==== Clocchino ==== | ||
+ | |||
+ | Dovrebbe fare pressappoco quel che fa il clock di [[https://eater.net/8bit/clock|Ben Eater]], ma con meno chip. | ||
+ | |||
+ | Si tratta di un clock a duplice modalità: automatico | ||
+ | Le due modalità possono essere commutate "a caldo" senza la necessità di togliere l' | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ==== Stuzzica clock ==== | ||
+ | |||
+ | Necessario per adattare l' | ||
+ | Ripreso dal sito [[http:// | ||
+ | |||
+ | L' | ||
+ | Il circuito è tarato per generare impulsi inferiori ai 5μs. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | ==== Bus inspector ==== | ||
+ | |||
+ | TODO | ||
===== Step 1 - NOPNOPNOP ===== | ===== Step 1 - NOPNOPNOP ===== | ||
- | {{ : | + | {{ : |
- | * Clock con 555, periodo 1s, bloccabile manualmente; | + | * Clock con 555; |
- | * Bus dati bloccato a $EA (NOP) | + | * Bus dati bloccato a $EA (NOP); |
+ | * Segnali accessori bloccati a default (RDY, IRQB, NMIB, BE, SOB). | ||
- | **Verifica: | + | **Verifica: |
+ | * >=2 colpi di clock con reset; | ||
+ | * 6 colpi di clock per entrare a regime (:!: 7-1) | ||
+ | * A = 0xFFFC | ||
+ | * A = 0xFFFD (lettura vettore reset: 0xEAEA hardcoded) | ||
+ | * A = 0xEAEA | ||
+ | * A = 0xEAEB (legge NOP ed esegue) | ||
+ | * ... | ||
- | ===== Step 2 ===== | + | ===== Step 2 - ROM + RAM ===== |
- | ... | + | |
+ | * Clock con 555; | ||
+ | * una ROM; | ||
+ | * una RAM; | ||
+ | * logica di indirizzamento (74HC00 NAND, eventualmente 74HC04 NOT). | ||
- | ===== Step 3 ===== | + | * Dump della memoria ROM TODO |
- | ... | + | * Disassemblato TODO |
+ | |||
+ | ===== Step 3 - Tastiera e display | ||
- | ===== Mappa della memoria ===== | + | * Clock con 555; |
+ | * una ROM; | ||
+ | * una RAM; | ||
+ | * logica di indirizzamento (74HC00 NAND, 74HC04 NOT, 74HC139 decoder); | ||
+ | * controller tastiera 4x4 (es. 74C922); | ||
+ | * tastiera 4x4; | ||
+ | * display 16x02; | ||
+ | |||
+ | * Schematico TODO | ||
+ | * Sw di esempio TODO | ||
+ | * {{ : | ||
+ | |||
+ | ==== Mappa della memoria ==== | ||
+ | |||
+ | L' | ||
+ | |||
+ | +-------------+ | ||
+ | | | 0 | ||
+ | + + | ||
+ | | | 1 | ||
+ | + RAM 32K + | ||
+ | | | 2 | ||
+ | + + | ||
+ | | | 3 | ||
+ | +-------------+ | ||
+ | | Display | ||
+ | +-------------+ | ||
+ | | Keyboard | ||
+ | +-------------+ | ||
+ | | | 6 | ||
+ | +-------------+ | ||
+ | | ROM 8K | 7 | ||
+ | +-------------+ | ||
+ | |||
+ | |||
+ | * Display R/W command: 0x8000 (in realtà, qualsiasi indirizzo pari nel banco 0x8000-0x9FFF); | ||
+ | * Display R/W text: 0x8001 (in realtà, qualsiasi indirizzo dispari nel banco 0x8000-0x9FFF); | ||
+ | * Keyboard read: 0xA000 (qualsiasi indirizzo nel banco 0xA000-0xBFFF); | ||
+ | |||
+ | ===== Mappa della memoria | ||
+-------------+ | +-------------+ | ||
Linea 65: | Linea 145: | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
- | |||
chippalippa.1596887961.txt.gz · Ultima modifica: 2020/08/08 11:59 da giuliof