Pokloni za geek-a | PC Press

USB interfejs za Galaksiju

Na talasu obnovljenog interesovanja za Galaksiju, čiji je vrhunac bio novi projekat samogradnje kojim je obeležena četrdesetogodišnjica od predstavljanja računara, osim novih programa pojavljuju se i novi hardverski dodaci. Zahvaljujući Vitomiru Spasojeviću, originalni računar iz 1984 i nova Galaksija 2024, dobili su podršku za USB fleš-memoriju.

PCPress.rs Image
USB proširenje za originalnu Galaksiju
(foto: Damir Perec)

Daleko od glavnih tokova globalne IT scene živi i radi mala ali ništa manje inovativna industrija koja razvija novi hardver i softver za retro računare. Male kompanije i pojedinci-entuzijasti neprestano nalaze nove načine da moderne tehnologije primene na stare računare, pa je tako danas moguće povezati Commodore 64 na Internet, koristiti SD kartice sa ZX Spectrum-om, pa i igrati nove igre za ove računare.

Datalab serveri

Iako se po broju noviteta Galaksija ne može meriti sa svojim slavnim savremenicima, ona je daleko od toga da bude zaboravljena. Nove mogućnosti Galaksija je dobila kroz projekat hardverskog proširenja čiji je autor inženjer elektrotehnike Vitomir Spasojević: novi interfejs omogućava povezivanje USB fleš-drajva na Galaksiju.

USB fleš na Galaksiji

Projekat Galaxy Flash Expansion omogućava da se USB fleš-drajv, formatiran u FAT32 fajl sistemu, koristi na originalnoj Galaksiji ili na novoj verziji ovog računara iz 2024. Između verzija za originalni i novi računar postoje male razlike, prevashodno u načinu na koji su hardverski realizovane, ali je suština u oba slučaja ista: korisnik može da priključi USB fleš-drajv na Galaksiju, i na njemu u dobro poznatoj strukturi direktorijuma smešta bejzik i mašinske programe u nekoliko različitih formata, uključujući i najpopularniji .gtp.

PCPress.rs Image
Igra Superšah na Galaksiji sa USB interfejsom
(foto: Damir Perec)

Za rad sa USB drajvom potrebne su nove komande. CAT će izlistati sadržaj drajva, FLOAD će učitati program sa fleš-diska u memoriju, FSAVE će program iz memorije snimiti na fleš-drajv, a REMOVE će ga obrisati sa fleša. Komandama CD, MKDIR i RMDIR se kreće po stablu direktorijuma, oni se kreiraju, odnosno brišu. Logika upotrebe i sintaksa komandi je slična MS-DOS-u ili Linux-u.

Da bi se nove komande realizovale, u ROM Galaksije dodate su nove sistemske rutine ukupne dužine oko 4 KB. U slučaju originalnog računara, za tu svrhu je bilo potrebno dodati još jedan EPROM čip, jer su EPROM-i u osnovnoj konfiguraciji potpuno popunjeni, dok je na Galaksiji 2024 iskorišćen slobodan prostor u EPROM čipu kapaciteta 32 KB koji se već nalazi u računaru.

PCPress.rs Image
Nove komande

Hardverska realizacija na originalnoj…

Originalna Galaksija iz 1984. ima port za ekspanziju na koji su izvedene kontrolna, adresna i magistrala podataka procesora Z80, pa tako procesor može da komunicira s dodatnim hardverom na pločici koja je na ovaj port priključena. Pločica sa USB interfejsom priključuje se na ovaj port i na njoj se nalaze CH376S kontroler za fleš-memoriju, EPROM čip u kome se nalaze dodatne sistemske rutine za realizaciju novih komandi, ali i dodatna 32 KB statičke memorije, tako da će originalna Galaksija, proširena ovom pločicom, imati ukupno 38 KB RAM. Tu su, naravno, USB-A priključak i konektor kojim se ploča povezuje na Galaksiju, kao i kvarc kristal, logička kola i pasivne komponente – još jedan mali računar.

PCPress.rs Image
Edge konektor na koji se povezuje USB interfejs
(foto: Vitomir Spasojević)

Pošto na originalni ekspanzioni port Galaksije nije dovedena +5 V linija za napajanje (Vcc), kao ni RD i RESET signali s procesora, a USB interfejs ih zahteva, neophodno je da se ove linije povežu na računar lemljenjem nekoliko dodatnih provodnika. Projekat predviđa izradu dodatne edge kartice koja se povezuje na port za proširenje Galaksije, a USB interfejs se onda povezuje na nju. Edge kartica na sebi ima označene pozicije za lemljenje ove tri dodatne linije i te pozicije treba povezati provodnicima s linijama koje vode odgovarajuće signale na osnovnoj ploči računara kao što je prikazano na slici.

Projekat Galaxy Flash Expansion omogućava da se USB fleš-drajv, formatiran u FAT32 fajl sistemu, koristi na originalnoj Galaksiji ili na novoj verziji ovog računara iz 2024

Neophodno je da računar bude isključen kada se ovo proširenje priključuje na njega, a potrebno ga je i inicijalizovati pri svakom pokretanju računara komandom A=USR(&C000).

Pročitajte i:  C kompajler za Galaksiju

…i na Galaksiji 2024

Nova Galaksija nema port za ekspanziju, tako da se do magistrala procesora moralo doći na drugi način, koji je, srećom, vrlo jednostavan. USB interfejs za Galaksiju 2024 realizovan je na pločici koja se priključuje u podnožje predviđeno za procesor Z80. Zato pre ugradnje treba izvaditi procesor iz računara, zatim na njegovo mesto staviti pločicu sa USB interfejsom, a onda Z80 ugraditi u procesorsko podnožje na samoj pločici USB interfejsa. Tako procesor ostaje povezan sa ostatkom računara isto kako je i bio, a USB interfejs dobija pristup njegovim magistralama.

PCPress.rs Image
USB interfejs za Galaksiju 2024
(foto: Vitomir Spasojević)

U verziji pločice za Galaksiju 2024 nalaze se samo kontroler CH376S za USB fleš, logička kola, kvarc kristal, pasivne komponente i USB-A konektor. Za dodatnim RAM-om ovde nema potrebe (Galaksija 2024 već ima 32 KB), kao ni za dodatnim EPROM-om. Kod se u ovom slučaju upisuje u postojeći EPROM čip na matičnoj ploči. Činjenica da je EPROM čip potrebno ponovo programirati može predstavljati izvesnu neugodnost, ali ona istovremeno donosi i dodatni komfor, pošto se onda osnovni sadržaj EPROM-a može izmeniti tako da se novi sadržaj ROM-a automatski inicijalizuje, pa u ovom slučaju nije potrebno izvršavati A=USR(&C000) pri svakom pokretanju računara.

Kako je tekao razvoj

U razgovoru sa autorom projekta saznajemo da je na ideju za njegov razvoj došao 2023, kada je napravio svoj primerak Galaksije po originalnom projektu. Za razliku od novog projekta iz 2024, gde je zahvaljujući ugrađenom EEPROM-u smeštanje i učitavanje programa vrlo elegantno, „žongliranje“ različitim programima na originalnoj Galaksiji nije nimalo lako. Kasetofone i kasete retko ko ima, a korišćenje audio-izlaza računara ili telefona je sve samo ne brzo i jednostavno. Problem je bio očigledan, a inspiracija za njegovo rešenje bili su slični projekti USB interfejsa za druge osmobitne računare.

Prvi korak je bio analiza datasheet-a čipa CH376S na kome su svi oni bili zasnovani. I pored slabosti u dokumentaciji, bilo je jasno da se ovaj čip dobro uklapa u arhitekturu i mogućnosti Galaksije. Recimo, nije potrebno koristiti interapte, što je vrlo važno za njegovu upotrebu na Galaksiji, a interni regulator napona mu omogućava da radi na 5 V. Pre početka pisanja sistemskih rutina, autor projekta je napravio dibager, a zatim emulator EPROM-a koji je za ovakve projekte neophodan.

PCPress.rs Image
Prototip
(foto: Vitomir Spasojević)

Nakon što je završeno programiranje PLD (programmable logic device) čipa kojim je realizovan adresni dekoder (koji se, srećom, programira istim programatorom kao EPROM), sve je bilo spremno za prototip i testna ploča prekrivena šumom kablova priključena je na port za proširenje.

Pročitajte i:  C kompajler za Galaksiju

Dobra vest nakon uključenja računara bila je da nije bilo nikakvog dima, a loša da – nešto ne radi. Brzo je ustanovljeno da računar ne prepoznaje dodatnu RAM memoriju, a ni ostale čipove. Primećeno je da PLD čip RAM-u po chip select liniji šalje signal koji je suprotan od očekivanog, da bi se nakon dodatne analize i pregleda dokumentacije ispostavilo da se na izlazu PLD čipa zapravo nalaze invertori, a ne baferi, tako da je problem lako rešen (pouka ove priče je da uvek treba čitati datasheet-ove). Nakon korekcije, PRINT MEM prijavljuje očekivanu vrednost (računar „vidi“ dodatni RAM), uspostavljena je i komunikacija sa EPROM-om, a do CH376S počeli su da stižu ispravni signali. Komunikacija sa CH376S je ispravno funkcionisala i na softverskom nivou, komanda za čitanje verzije čipa iz prve je vratila ispravnu vrednost.

Tada je na red došlo implementiranje korisničkih komandi. Početak je bio težak, pošto čip nije ispravno odgovarao na sve komande niskog nivoa, a poruke o greškama koje su se vraćale nisu bile previše informativne. Na kraju se pokazalo da u slučaju kada je USB fleš formatiran na Linux računaru ovi problemi nisu postojali, i da je uzrok tome bila stara verzija CH376S koja ne radi dobro sa USB drajvovima formatiranim na Windows računarima.

Na originalnoj Galaksiji pločica sa USB interfejsom priključuje se na ekspanzioni port. Na Galaksiji 2024 ona se postavlja „ispod“ procesora

Programiranje u mašinskom jeziku na osmobitnom procesoru s malim brojem registara nije jednostavno i u takvom okruženju uvek je pomalo tesno. Trebalo je uložiti vreme i pažnju da se sve uradi kako treba, da se ne poremeti stek, ne „pregazi“ sadržaj registra koji će kasnije biti potreban i slično.

Kada je projekat uspešno priveden kraju, autor je shvatio da se on relativno lako može prilagoditi i za Galaksiju 2024. Nove štampane ploče poručene su bez izrade prototipa, i tu su Marfi i njegov zakon poslednji put umešali svoje prste u ovaj projekat: zahtev za izradu ploča je poslat sa podnožjem za Z80 rotiranim za 180 stepeni. Što je brzo to je kuso, ploče su naručene ponovo, i verzija za Galaksiju 2024 uspešno je realizovana.

Primena USB interfejsa

Upotreba interfejsa je krajnje jednostavna: USB fleš-drajv koji je prethodno formatiran na računaru (i na njega eventualno prebačeni programi za Galaksiju, poput onih raspoloživih na racunari.com/galaksija) poveže se na USB konektor na pločici. Korišćenjem prethodno opisanih komandi, programi se mogu snimiti na USB drajv ili učitati s njega u memoriju. U praksi je, kao što je rečeno, uočeno da starije verzije čipa CH376S imaju problema da čitaju drajvove formatirane na Windows-u, naročito njegovoj, trenutno najrasprostranjenijoj, verziji 10. U tom slučaju, rešenje je zamena čipa za noviju verziju ili formatiranje USB drajva na Linux računaru ili Macintosh-u.

PCPress.rs Image
Iz drugog ugla
(foto: Damir Perec)

Korisnici Galaksije 2024 koji su računar smestili u kućište moraće da ga prerade ili naprave novo (ili da od njega odustanu), jer pločica sa USB interfejsom izlazi izvan gabarita ploče. U odsustvu porta za ekspanziju na računaru, ovakvo rešenje bilo je neminovno. Na originalnoj Galaksiji ovaj problem ne postoji.

Pročitajte i:  Džojstik za Galaksiju

Napraviti ili nabaviti?

Čitav projekat detaljno je opisan na https://github.com/DigitalVS/Galaxy-Flash-Expansion i tu se mogu naći sve šeme, Gerber fajlovi za izradu štampanih ploča, spisak potrebnih komponenti i detaljne informacije na osnovu kojih možete sami da sastavite interfejs. Oni koji nisu raspoloženi za lemljenje, mogu da se o poručivanju gotovog interfejsa dogovore sa autorom projekta, tako što će mu pisati na e-mail vitomir.spasojevic@gmail.com.

U trenutku pisanja ovog teksta, interfejs za originalnu Galaksiju košta 3000, a za novu 2500 dinara (u oba slučaja treba dodati troškove poštarine), ali s obzirom na promenljive cene komponenti na tržištu, proverite pre poručivanja. U cenu interfejsa za novu Galaksiju uračunat je i novi EPROM čip sa unetim dodatnim kodom, koji treba ugraditi u računar umesto postojećeg.

Šlag na torti

USB interfejs omogućava unapređenje korisničkog iskustva i komfora u radu sa obe verzije Galaksije. Njegove prednosti više dolaze do izražaja na originalnom računaru iz 1984, koji na ovaj način postaje zaokružena celina prilagođena upotrebi u modernom okruženju i rad s njim postaje mnogo komforniji.

Čitav projekat je u javnom vlasništvu i možete preuzeti Gerber fajlove za izradu ploče sa Github-a. Ili možete da kupite gotov sklop od autora Vitomira Spasojevića

Može se postaviti i pitanje zašto slično rešenje nije primenjeno na Galaksiji 2024, a odgovor na njega verovatno treba tražiti u nameri konstruktora Voje Antonića koju iznosi u svom članku „Projekat Galaksija 2024“ u publikaciji Računari u vašoj kući – 40 godina: da se sačuvaju karakteristike i šarm originalnog računara starog 40 godina. Galaksija 2024 je dobila EEPROM na koji se mogu smeštati programi i čije povezivanje na PC računar jeste manje komforno nego prosto priključenje USB fleš-drajva, ali je s druge strane, zahvaljujući takvom rešenju, nova Galaksija ostala ono što je bila i stara: računar koji osim procesora i memorije sadrži samo osnovna logička kola, i čiji rad možete razumeti do zadnjeg čipa i bajta u ROM-u. Kontroler USB-a, koji je sam za sebe gotovo čitav mali računar (koji uz to i nije sasvim precizno dokumentovan), narušio bi takav koncept.

Zato se može reći da je projekat dodatnog USB interfejsa odlično koncipiran: on je omogućio da koris­nici koji žele komfor korišćenja USB fleš-memorije mogu da ga dobiju, a da istovremeno autentičnost samog računara ostane potpuno očuvana.

Facebook komentari:
Tagovi: , , , ,