marți, 15 aprilie 2025

Emulator calculator ZX Spectrum 48k cu STM32F411(401)

    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)
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 C13
si 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:
emulator calculator ZX Spectrum cu STM32F411(401)
   Au mai ramas mici probleme de afisare, la inceput si ulterior scrisul este verde, uneori cu verde combinat cu negru
si la meniu de incarcare/salvare sunt niste culori ciudate, dar Andrey mi-a sugerat sa verific partea incercuita si pe R8 sa-l inlocuiesc cu un semireglabil de 1kΩ.
    
   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 acum
Meniul 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