Am gasit un proiect interesant cu o placa de dezvoltare cu STM32F411 (sau STM32F401) si anume un emulator de calculator ZX Spectrum 48k. Proiectul original este prezentat in filmuletul Эмулятор ZX Spectrum c выходом VGA на STM32F401(411) si apartine lui Andrey Pastukhov.
M-am apucat de proiect dupa ce am gasit cablajul pentru acesta ce include si butoane miniatura: ZX Spectrum clone based at STM32F401/BlackPill Din pacate dupa ce am asamblat un minim de componente pe placa (cele SMD au fost lipite de colegul meu Virgil)Un blog ce completeaza site-ul www.arduinotehniq.com (www.tehnic.go.ro); o parte din articole sunt (si vor fi) postate si in engleza pe arduinotehniq.blogspot.com. Filmuletele tehnice se gasesc pe canalul de youtube...
marți, 15 aprilie 2025
Emulator calculator ZX Spectrum 48k cu STM32F411(401)
si am scris fisierul (se gaseste in descrierea videoului) in microcontroler cu programul dedicat STM32CubeProgrammer
am constatat o eroare de initializare card
Dupa ce am comparat cu schema care am gasit-o in descrierea filmuletului, am descoperit ca problema era din conectarea pinului 1 in loc de 3 de la cardul SD la pinul C13si pentru a corecta, am taiat un traseu si am lipit un firicel (port-cardul din dreapta nu l-am montat, fiind dublarea celui din stanga). Dupa discutii pe email cu Andrey Pastukhov, autorul proiectului si filmuletului de pe youtube, am dat de cap la partea de incarcare si salvare programe pe cardul SD, fiind necesar sa fie unul de maxim 8Gb si formatat FAT32 cu sectoare de 4096b (4kb). Altfel se salveaza doar programele proprii undeva in memoria interna a microcontrolerului STM32F411(401).
Dupa aceasta am copiat niste jocuri in format TAP de pe site-ul https://zxart.ee pot vedea jocurile, inclusiv programiorul salvat de mine QWW
Pentru incarcare programe (jocuri, utilitae, etc) se da comanda clasica LOAD "" si salvare cu SAVE "nume" ulterior mai trebuie scris un nume ce va apare ulterior pe meniul de incarcare si apoi se apasa simultan ENTER si SYMBOL SHIFT. Mai multe detalii se vad in filmuletele: 17.04.2025
Nu a fost de acolo, ci o omisiune a unui traseu pe schema de la PCBway, traseul fiind chiar cel pentru culoarea verde, de la pinul A2 al placii cu STM32F4xx la pinul 6 (IN2) al integratului 74VHC244.
A fost conectat un firicel, pentru traseul lipsa Un program modificat de Andrey special pentru a avea informatii scrise cu alb la initializare card (ca cel original afisa cu verde) se vedea anterior tot mov, iar dupa corectie alb:
apoi cum aparea textul de la la Sinclair si cum e acumMeniul de incarcare programe, inainte si acum:si jocul TOP GUN Deci schema si cablajul de pe PCBWay are 2 erori, una la SD card si cealalta la partea de video (verde), am atentionat deja autorul materialului pentru a-l corecta. Am masurat consumul total al emulatorului de ZX Spe48k si este foarte mic, la initializare si redare fisiere de pe card SD cam 67mA, apoi sub 50mA.
18.04.2025
Am mai facut 2 filmulete, ca functioneaza corect acum
luni, 31 martie 2025
Volum digital la sistem Genius 5.1 model SW-5.1 HOME THEATER
Ca de obicei, Bogdan Argatu ne prezinta un alt proiect interesant, si anume reglajul digital pentru un sistem Genius 5.1.
Dupa cum se observa, afisarea informatiilor se fac pe afisaj din 6 matrici de 8x8 leduri cu MAX7219. Schema folosita de Bogdan este
iar programul scris de el si testat este Volum_digital_cu_afisaje_8x8_V6.ino.
Intrarile de STAND-BY si MUTE sunt preluate de pe ledurile sistemului prin relee solid state SPST model LH1540. La fel si intrarea de nivel volum, tot cu LH1540, preluata de pe iesirea de comanda pentru motorul potentiometrului analogic. Am folosit 7 potentiometre digitale X9C102 cu 100 pasi originale (luate de pe TME pentru cele de la magazinele on-line de hobby erau chinezarii cu 33 pasi si vroiam precizie mai buna), dintre care 6 care inlocuiesc potentiometrul analogic master pentru cele 6 canale si unul pentru citirea nivelului real.
Despre controlul unui potentiometru digital X9C103 puteti citi in articlul meu Salvare pozitie cursor la potentiometrul digital X9C103 (10kΩ).
O versiune, nefinalizata a softului, este prezentata in filmuletul Digital Volume for Genius SW-5.1 HOME THEATER (test)
iar una finalizata este prezentata in filmuletul 2:27 Digital Volume for Genius SW-5.1 HOME THEATER
vineri, 28 februarie 2025
Interfata 8-bit IDE pentru calculatorul CoBra
Ivindu-se ocazia sa pot obtine niste cablaje de la PCBWay, m-am gandit ca pentru cei pasionati de calculatoare vechi pe 8 biti, in special CoBra, sa apelez la Aurel I., care are mereu un proiect interesant, asa ca am ales din lista lui mare de asteptare o interfata CF card pentru calculatorul CoBra.
Va recomand sa cititi discutiile de pe elforum in zona Nebunia numita Cobra (nu aveti nevoie de cont acolo pentru asta).
Dupa primirea lotului de cablaje, Aurel a asamblat foarte rapid o placuta:
O privire de ansamblu a fisierelor gerber arata asa Privind filmuletul de mai jos, este mult mai usor de inteles cat de rapid se incarca programele fata de versiunea originala, de pe caseta (aici este aratata incarcarea pe o CoBra de 80K cu basic Pera 48K modificat pe adresele A3 A6 A7 de prietenul si colegul nostru Stefan P.):
Interfata este conceputa sa lucreze pe o CoBra de 128K RAM, compatibila Spectrum +3, in 2 moduri: Basic Spectrum +3 128K ( basic SM8 ) si Basic Pera 48K, cu 2 carduri separate, cate unul pentru fiecare sistem in parte, datorita modului diferit de formatare si gestionare al fisierelor.
Comutarea adreselor de accesare al cardului (A3 A6 A7 pentru Basic 48K si A8 A12 A13 pentru Basic 128K) se face automat, de catre multiplexorul 74LS157, comandat de semnalul SEL128, specific doar CoBrei de 128K. In cazul in care se foloseste interfata pe o CoBra de 64K sau 80K, acest semnal nu exista la conector, si automat acest semnal este tras in sus prin rezistenta spre Vcc, multiplexorul mergand numai cu adresele A3 A6 A7. Deci o CoBra de 64K sau 80K poate merge cu card doar in Basic Pera 48K. La CoBra de 128K trebuie dus un fir la pinii b9-c9 ai conectorului de extensie de pe placa de baza.
Mai jos sunt poze cu aceasta CoBra de 128K, prototip in teste, echipat aici cu Gotek si CF-card, unde se face o instalare a programului Workbench 2.3 pe un card de 4 GB, de pe dischetele de instalare lansate din Gotek (se lucreaza si la un cablaj de CoBra 128K, total diferit de placa cunoscuta, dar mai avem pana va fi gata, momentan avem in teste cablajul CoBraXP, facut de prietenul si colegul nostru Vasile C.).
Aceasta este schema:
A scapat totusi o mica hiba, asa ca avem nevoie de o mica reparare la cablaj, pentru a functiona corect bufferul 74LS245, atat la scriere cat si la citire (a fost nevoie de el datorita faptului ca unele carduri sunt “zgomotoase“, adica baga semnale perturbatorii pe magistrala de date). Sunt 3 versiuni pentru aceasta mica reparare, fiecare o face pe cea pe care o doreste:
varianta nr 1 de reparatie - se taie langa pin 3 U4/74LS32 traseul spre pin 1 U5/74LS245 si se duce un fir subtire intre pin 2 U4/74LS32 si traseul spre pin 1 U5/74LS245
varianta nr 2 de reparatie - se taie semnalul BNM1 care ajunge la pin 1 U4/74LS32 , se uneste pin 1 cu pin 2 si se inlocuieste 74LS32 cu 74LS08
varianta nr 3 de reparatie - se scoate U4/74LS32 si se uneste pin 2 cu pin 3 pentru ca semnalul NIORD sa ajunga la pin 1 U5/74LS245
Varianta 1 implica o taietura si un fir scurt, varianta 2 implica o taietura si nici un fir, dar trebuie inlocuit circuitul, varianta 3 implica un soclu de circuit ramas gol, dar nici o taietura. Fiecare alege ce-i place si/sau ce-i convine.
Mai apar pe schema si niste jumperi, foarte necesari pentru CF-carduri (sunt 4 variante de mutare a jumperilor, si in functie de modelul cardului pe care il aveti, potriviti jumperii sa va functioneze cardul, caci altfel nu va functiona, pur si simplu nu va merge daca nu-i dati cardului ce vrea el acolo, cu sau fara filtru RC, cu sau fara BNIORQ).
A fost nevoie si de o decodare suplimentara cu acel 74LS138, ca sa nu apara influente intre aceasta interfata de CF-card si interfata de floppy disc, cea standard pentru CoBra de 80K, care mergea in CP/M si in Basic-ul specific DEVIL. Pe CoBra de 128K floppy-ul lucreaza si in Basic-ul de Spectrum +3, cu unitatea normala de PC, cea care mergea pana acum in CP/M si in DEVIL (cu modificarea necesara si specifica Cobrei, la pinul 34 al unitati, unde trebuie sa apara semnal READY). Automat aici se pot folosi si emulatoarele de floppy, GOTEK-ul si HXCemulator-ul, in functie de ce are fiecare.
Aici avem o incarcare a unui joc in CP/M, de pe Gotek :
Alte filmulete :
Mii de multumiri celor de unde au plecat aceste proiecte!
Ideile si inspiratia conceptiei interfetei au fost, ca de obicei, bazate si pe surse si proiecte publicate de amatori binevoitori care au descris si rezolvat din incompatibilitatile cu carduri CF de diverse tipuri.
De mentionat in special sunt proiectul Simple80 al lui Bill Shen’s https://www.retrobrewcomputers.org/doku.php?id=builderpages:plasmo:simple80r1 si Interfata CF-card pentru RC2014 publicata de PickledDog https://github.com/PickledDog/rc-cfcard. Mentionez aici si https://worldofspectrum.org/zxplus3e/interface.html, respectiv https://piters.tripod.com/simpif.htm al lui Pera Putnik.
Si nu in ultimul rand, aducem multumiri creatorului minunatului nostru site de unde avem de invatat o gramada despre acest minunat calculator numit CoBra: https://cobrasov.com/CoBra%20Project/index.html.
PS: poze cu prima versiune de reparatie
Nu am fost prea explicit cand am scris ca s-a ivit ocazia sa fac niste cablaje la PCBway.com.
De fapt, toate costurile pentru producerea, taxe si transport au fost suportate de ei prin furnizarea unui cupon valoric. Cablajele realizate la ei sunt de calitate si meritata sa fie facute fie pentru proiecte simple sau complexe, de asemenea exista optiunea PCBA, care inseamna asamblare completa a unui montaj, care include componente SMD. Tot pe site gasiti si sectiunea de proiecte ale altor utilizatori, Shared Projects .
04.03.2025
Aurel a postat la Shared Projects o versiune scurta a proiectului, dar care contine fisierele gerber.
Abonați-vă la:
Postări (Atom)
-
rezumat articol Avand o situatie in care am o masina de spalat automata veche (AEG Lavamat Regina 804), pe care am reusit s-o reconditi...
-
Motorasele de curent continuu, schimba sensul de rotatie in functie de "sensul" de alimentare, asa ca se pot folosi pentru a de...
-
Pentru cazuri cand trebuie sa alimentam un montaj sau un consumator (radio portabil, beculet, etc) de la o sursa de tensiune continua fix...