ZX LCD

Besitvarkant daiktus (čia retas reiškinys), radau savo seną eksperimentą su FPGA/CPLD ir LCD (tik ekranas jau buvo kitas). Tas eksperimentas buvo nedabaigtas dėl žinių, noro ir kantrybės stokos. Dabar visko kiek daugiau, tai nudraskiau nereikalingas detales ir pridėjau naujų:
ZX Spectrum in CPLD LCD mode
Tai labai panaši sistema kaip ir paprastam ZX Spectrum CPLD/VGA. Tik pasikeitė keletas esminių koncepcijų:
Senesnėje versijoje atmintis buvo bendra- procesorius ir VGA buferis naudojosi ta pačia atminties mikroschemą, todėl CPLD stengėsi atlikti atminties arbitro (MMU) darbą ir laiko rėžiais (time slot) prileisdavo tai CPU tai VGA prie tos pačios atminties. Ši schema kiek kitokia- pirmiausia, naudojama atskira atmintis procesoriui- Toshiba TC551001BPL-85. Tai žymiai lėtesnė atmintis, tačiau ji skirta tik procesoriui. VGA ar LCD kontroleris visiškai nesikreipia į ją. LCD/VGA kontroleris tik sėdi ant duomenų ir adreso linijų ir stebi jam reikiamas kombinacijas- jei pastebimas rašymas į video atminties plotą, duomenys dubliuojami ir LCD/VGA atmintyje. Taip pat stebim Z80 IN/OUT veiksmus, nes mums reikia vaizduoti pajungta klavietūrą, magnetofoną ir garsiakalbį.

ZX Spectrum in CPLD LCD mode
Tačiau tai vienspalvis LCD monitorius, 320 x 240 taškelių. Duomenys pumpuojami po 4 bitus iš karto, todėl sistemos dažnis netgi kiek lėtesnis. Tačiau labai lėtinti negalima, nes kažkur prie 40Hz kadrų dažnio labai matosi vaizdo mirgėjimas. Dabar LCD veikia virš 60Hz dažniu. Deja, jis labai inertiškas- “border” efektai susilieja…

ZX Spectrum in CPLD LCD mode
O judantys objektai beveik nesimato.

Aišku šiame variante visiškai ignoruojami spalvų atributai (“flash” veikia), todėl žaidimų vaizdeliai keistoki. O borderį padariau dryžuota, kad kiek nors skirtusi “spalvos”.

Šis antras maketas buvo surinktas ne dėl ZX spectrum. Aš galvoju čia sudėti kokį nors kitą retro kompiuterį, bet ZX yra vienas iš paprasčiausių, tai testavimui suėjo.
Schemotechnika visiškai paprasta- adresų šyna po stiprintuvo 2x SN74HCT541N (nelabai jis reikalingas) eina į CPLD, ROM, RAM. Tas pats, tik be buferio, padaryta su duomenų šyna. Viskas “sumontuota” CPLD mikroschemoje. Ten aišku tebeliko keletas klaidų, tačiau sistema veikia.

Ir aišku visi failai:
Intel-Altera Quartus CPLD source code for ZX Spectrum LCD version.

Jei jums nepasileido, tai atminkite, kad kai kurie Z80 CPU reikalauja, kad jų clock būtų 5Vpp, o ne TTL lygio.

LCD ekranas iš senoviško dauginimo aparato: EDMMPU3BDF, jo pinout:


1. ON/OFF
2. n.c.
3. VS
4. HS
5. pix CLK
6. Vcc, +5V
7. GND
8. Vee, -25V
9. D3, pixel data
10. D2
11. D1
12. D0
13. Vee, same as 8.
14. contrast.

C64 kartridžas

Jei norisi parodyti n00bams kaip kompiuterių aušroje atrodė žaidimai reikia pasiruošti- gal vienam žaidimui ir tinka koks magnetofonas, bet tolimesnei demonstracijai nėra nieko geresnio už ROM kasetę- cartridge ar kartridžą. Šiais, pigių PCB laikais galima pasidaryti “desietką” kartridžų ir susirašyti keletą žaidimų. Kodėl ne vienas, universalus su kokia SD kortele? Todėl, kad paberti ant stalo kalną hardwarės atrodo žymiai prabangiau, nei vienas vienišelis. O ir dėl to, kad šiaip sau. Norėjau ir padariau.
Commodore 64 cartridge PCB and schematic
O ir veikimo greitis- tik inkiši ir vsio. Gali gaudyti su mašinyte kažką. Šitas žaidimas niekada nepatiko.
Continue reading →

ZX Spectrum sukištas į CPLD

Šiuo metu kiek tvarkau senų kompų kolekciją ir nutariau suremontuoti savo Santaką (baltik versija). Pirmiausia nurinkau visus laidus, pasilikau pliką PCB, atstačiau ROM čipus ir pajungiau. Aišku niekas neveikia. Todėl pradėjau nagrinėtis- pirmas stepas, nėra RESET signalo. Pašalinom rusišką mikroschemą К155ЛН1 nauja SN74LS04. Pradėjo veikti procesorius ir netgi bandė formuotis vaizdas. Bet jis dingo. Pastebėjau, kad dar kaista К555ИЕ10- kol šalta, signalai praeina. Poto pakaista ir signalai dingsta. Čia jau rankos kiek nusuleido- supratau, kad tarybinė kokybė man nepadės. PCB padaryta ant snarglių ir beveik negalima perlituoti. Net blogiau už kiniškas popierines PCB iš 1980-tųjų metų.

ZX Spectrum CPLD Altera
Užtenka tik ką nors pakaitinti ir takeliai atsiklijuoja.
Continue reading →

Dailusis litavimas

Gerasis žmogus Algis papildė mano kolekciją nauju eksponatu- Sharp PC-2500. Viena bėda, kompiuteryje buvo šarminiai akumuliatoriai kurie ištekėjo. O jų elektrolitas turi vieną įdomią sąvybę- jis ėda takelius ir keliauja po apsauginiu laku išilgai takelio. Ko pasekoje kompiuteriukas neįsijungė. Teko remontuoti…

Sharp PC-2500
Nuotraukoje kompiuteriukas biški jau veikia. Dar neveikia vienas mygtukas, dalis ekrano ir tikriausiai yra problemų su RAM/ROM. Čia keista, CMOS ar panaši technologija, kur visi rezistoriai 100K – 1M ribose. Todėl bet koks PCB pažeidimas kompiuteriukui vaidenasi kaip papildomi rezistoriai ir jis neveikia. Teko biški plauti. Tačiau ne visur tai galima, nes pati PCB pagaminta iš popieriaus ir fenolio dervos- šarmai iš elektrolito susigėrė vidun.
Continue reading →

Commodore 6526/8520 kopija CPLD

Yra tokia deficitinė senoviška mikroschema- CIA (complex interface adapter) skirta 680x ir 68000 čipsetams – 6526 / 6526A ir 8520. Naudojo ir gamino šias mikroschemas Commodore (jos čipų gamykla MOS). Naudojami šie čipai Commodore 64, 128 ir Amiga serijos kompiuteriuose. Tikriausiai buvo naudojama ir plačiau, bet man nepapuolė plokštės, kurios turėtu šiuos čipus. Šie čipukai tai interfeisiniai, jie visaip programuojami ir paprastai bendrauja su periferija. O kadangi kojyčių apsauga pas senas mikroschemas labai silpna, tai šios mikroschemos miršta vienos iš pirmųjų. Kiek supaprastinta, 8520 versija užlenkė mano Amiga 500 netgi keliems metams.
Dabartiniais laikas šios mikroschemos nebegaminamos, tačiau jos tebemiršta. Ir jų kainą pradėjo kilti- dabar viena mikroschema kainuoja kažkur apie 25€ (be atsiuntimo ir mokesčių). O kompiuteriuose dažnai stovi po dvi. Man netgi susidarė nuomonė, kad apsimoka pirkti kai kuriuos senus kompus, lupti lauk čipus ir parduoti- kaip auto šrote. Palaidos detalės kainuoja daugau nei visas komplektas. O ir nusipirkti galima neveikiančia.

Todėl kilo iškreiptas projektas: Commodore 8526/8520 kopija CPLD. Jei viskas pavyks, tai galima mikroschemą emuliuoti ir greitesniu MCU. Bet kolkas buvo pasirinkta CPLD ir Altera Quartus 9. Kodėl? Todėl, kad aš turiu keleta CPLD suderinamu su 5V TTL lygiais ir softas nemokamas. Softas gana sudėtingas ir turi visokiausiu diagnostinių įrankių, o ir CPLD turi perteklinį kiekį kojelių, todėl galima išsivesti visokius vidinius registrus laukan ir tikrintis su osciloskopu.

Mano poros laisvų dienų darbo frontas atrodo taip:
Commodore CIA 6526/8520 CPLD-FPGA verilog copy
(Nuotrauka pasididina)
.
Continue reading →

Atari 800XL – finita

Po keletos metų nereguliariaus remonto, pagaliau pabaigiau Atari 800XL remontą. Apie remonto pradžią rašiau net 2016 metų pabaigoje. Aišku aš jo neremontuodavau kiekvieną dieną. Tačiau po truputi kaupėsi atsarginės detalės, žinios, dokumentacija, papildomi instrumentai.

atari 800xl
Kas gi buvo pakeista: RAM pilnai, net buvo išbandytas savadarbis statinės atminties modulis. Kitos mikroschemos, ne tik čipsetas, bet ir keletas smulkmių, kur buvo aplituota tarybiniais laikais. Perrašytas ROM (dabar OS sėdi EEPROMe), perrašytas MMU (vietoje sužalotos PAL panaudota GAL).
Continue reading →

Automatinis Defibriliatorius

Automatinis Defibriliatorius. Kas per daiGtas? Ogi toks, žmonius gelbėjantis prietaisas, kuris profilaktiškai sustabdo širdį tikintys, kad ji pradės veikti normaliu sinusiniu ritmu. Kartais, kai žmogui būna blogai su širdim, jam širdis nesustoja, bet nusimuša normalus ritmas- širdis pradeda labai greitai plakti, kartais netgi virpėti. O tada širdis nebeatlieka siurbliuko darbo ir automatiškai viskas sustoja ir numiršta. Todėl tokiu atveju reikia pistelti bent jau su kuloku per krutinės ląstą, atlikinėti dirbtinius kvėpavimus ir širdies masažą. Tačiau kartais gerai būtų, jei šalio stovėtu defibriliatorius kuris ir atlieka pistelėjimo darbą- duoda stiprų elektros impulsą, kurs “perkrauna” širdies raumens darbo režimą.

O kaip jis padarytas?

Lifepak 500 internal pictures
Tai Lifepak 500, automatinis, išorinis defibriliatorius. Nuotraukoje nėra elektrodų, kurie prilipinami prie nuogos krutinės ląstos. Poto užtenka beveik nieko nedaryti- aparatas parodo ir pasako ką reikia daryti. Dar jis patikrina ar tikrai reikia pistelti elektros srove ir jei reikia- pisteli.
Energijos šaltinis- nuotraukoje švino akumuliatorius. Būna ir ličio elementai (nepakraunami). Šis prietaisas nurašytas, akumai pilnai neveikia ir gal net ir blogas. Nelabai norisi jį ir išbandyti.
Continue reading →

Paprastas SIN generatorius

Nėra jis toks paprastas. Yra paprastesniu, su vienu tranzistorium. Tačiau aš turėjau dvipolį maitinimo šaltini ir universąlią PCB su dvigubu invertuojančiu operaciniu stiprintuvu.

OP AMP sin generator
Tai vienas iš fazių užsukinėjančių schemų. Pliusai- gana švarus sinusas. Minusas- vienas dažnis (nesireguliuoja paprasai).
Užtenka vieno trikampio kad paleisti generatorių, tačiau “tap point” labai jautrus ir be antro trikampio neprasisuksi.
Continue reading →