Galaksija 2 iza scene | PC Press

Iza svake priče koja se nudi publici odvija se i njena paralelna verzija, daleko od očiju onih za koje je glavna priča napisana. Pošto 40 godina stara priča o originalnoj verziji računara Galaksija već odavno nije nikakva ekskluziva, evo sada i priče koja prati novu verziju…

PCPress.rs Image
Stara i nova Galaksija

Priprema reprinta prvog broja časopisa „Računari u vašoj kući“, koji je krajem 1983. izašao kao specijalno izdanje časopisa „Galaksija“, tekla je nekoliko godina. U početku polako, bez puno žurbe, ali kako je vremena do zacrtane 40-godišnjice ostajalo sve manje, ekipi je bilo jasno da posla ima mnogo više nego što se očekivalo. Ja sam se u međuvremenu preselio u Kaliforniju, takoreći na kraj sveta. Srećom, ovo je 21. vek, u kome je lako ostvariti komunikaciju i razmeniti podatke, pa sam bez problema mogao da ostanem u ekipi koja je radila na pripremi. Tako se deset hiljada kilometara udaljenosti pretvorilo u trideseti deo sekunde, koliko je potrebno da svetlost u optičkim vlaknima ili radio-talasi pređu taj put.

Tokom poslednjih nekoliko meseci pripreme reprinta, Dejan Ristanović i ja smo svakih nekoliko dana komunicirali preko Zoom-a. Devet sati razlike između naših vremenskih zona nije bio veliki problem, jer je Dejan, kao i svaki kompjuterski geek, pomerio svoju satnicu tako da je sačuvao aktivnost preko cele noći, često do svitanja u Beogradu. Za mene je to uglavnom bio period od kasnog popodneva pa do blizu ponoći.

A krenulo je od štampane ploče…

U novembru prošle godine, Dejan je pomenuo svoju ideju da uz reprint priključi i štampanu ploču originalne Galaksije. I to je pokrenulo lavinu: prvi korak je bio da umesto jednoslojne ploče to bude dvoslojna, sa vodovima koji imitiraju kratkospojnike na gornjem sloju, jer ko će danas ručno lemiti 120 žičanih „džampera“! Oko toga smo se lako složili, ali šta ćemo sa kasetofonom? Ko još danas drži tu stvar u kući? Flash memorija je bila sledeća logična izmena, a to je podrazumevalo i izmene u firmveru Galaksije. A onda i memorije – u vreme prve Galaksije EPROM-i kapaciteta 4 kilobajta i statičke RAM memorije kapaciteta 2 kilobajta bili su poslednja reč tehnike, a danas su tako zastareli da ih je teško pronaći na tržištu.

PCPress.rs Image
Emulator koji Galaksija vidi kao EPROM, a razvojni kompjuter kao serijski port

Problema je, dakle, bilo napretek. Pokušali smo da uz sve neophodne izmene sačuvamo funkcionalnost, tako da nova Galaksija bude maksimalno kompatibilna sa starom, i to na način poznat kao backward compatibility. To znači da su poboljšanja dozvoljena, ali da svi stari programi moraju da funkcionišu na novoj verziji hardvera i operativnog sistema.

EPROM-i se i danas proizvode, ali ne ispod kapaciteta od 32 KB. Isto je i sa RAM memorijama, pa je tako stvoren uslov da se popuni skoro ceo adresni prostor od 64 KB, kakav inače nudi mikroprocesor Z80. Da bi se sačuvala puna kompatibilnost, taj prostor je organizovan na pomalo „uvrnut“ način: prvih 8 KB je dodeljeno EPROM-u, posle čega je sledilo 2 KB za tastaturu i neke ulazno-izlazne funkcije, isto kao i na originalnoj Galaksiji. Onda dolazi RAM, koji je na prvoj Galaksiji bio do 16 KB, ali se u novoj pruža sve do 40 KB. Početak je u adresnoj mapi na istom mestu kao i u originalnoj Galaksiji, ali je količina RAM-a povećana sa 6 na 30 KB. Preostalih 2 KB RAM-a je žrtvovano, jer za to nije bilo prostora, pošto je opseg od osmog do desetog kilobajta u adresnoj mapi bio zauzet tastaturom.

Zanimljivo je da je baš usred rada na razvoju nove Galaksije Zilog objavio informaciju da prestaje s proizvodnjom osnovne verzije mikroprocesora Z80. Tako se može reći da je ova akcija pokrenuta zaista u poslednjem trenutku

Adresni prostor od 40 do 64 KB popunjava preostala količina EPROM-a. Tako sada ima puno prostora za nove funkcije i potprograme, ali adresna mapa za EPROM više nije kontinualna, nego je prekinuta i podeljena na dva fragmenta, od 8 KB i od 24 KB. Ako ste se pitali da li je moguće napraviti adresni dekoder tako da se delovi istog memorijskog čipa podele tako da ih procesor „vidi“ na različitim lokacijama, eto vam odgovora: moguće je. Ovakve manipulacije između fizičkog i logičkog adresnog prostora su posebna poslastica za hardveraše pri izradi projekata.

Zanimljivo je da je baš usred rada na razvoju nove Galaksije Zilog objavio informaciju da prestaje s proizvodnjom osnovne verzije mikro­pro­cesora Z80. Tako se može reći da je ova akcija pokrenuta zaista u poslednjem trenutku.

Poslednja izmena tiče se porta za komunikaciju sa PC-jem. Izbor je pao na serijski port, jer je on najjednostavniji i ima najbolje izglede da proradi u samogradnji. Istina je da današnji računari više ne podržavaju serijski port, ali postoje jeftini konvertori koji od USB porta prave serijski. On nije baš RS232, jer ne koristi naponske nivoe od -12 i +12 V nego normalne TTL nivoe od 0 do 5 V, ali to je u ovom slučaju prednost, jer Galaksija za napajanje i tako ne koristi napone van standardnih TTL nivoa.

Transport kao najskuplja stavka

Tako smo dobili novu Galaksiju, sa proširenim mogućnostima, ali sa praktično istim spiskom upotrebljenih čipova. Postoje samo par izuzetaka, koji su bili neizbežni: umesto dva EPROM-a kapaciteta 4 KB i jednog od 2 KB za karakter generator, korišćena su dva EPROM-a od po 32 KB, umesto tri RAM-a od po 2 KB korišćen je jedan od 32 KB i dodat je jedan flash čip kapaciteta 4 megabita (512 kilobajta). Formalno gledano, to nije flash nego EEPROM (ili E2PROM), jer se flash memorije ne prave za napajanje 5 V.

PCPress.rs Image
Umesto u dva EPROM-a, firmver je ovoga puta upisan samo u jedan, ali osam puta većeg kapaciteta

Sve ove izmene su pravljene u više koraka, kroz opširne online diskusije između Dejana i mene. A onda je došla na red stvar koju smo nekako do početka podrazumevali kao unapred dogovorenu: štampana ploča je trebalo da bude ista kao kod prve verzije Galaksije. To je bila logična odluka, ali tek kad smo počeli da pravimo kalkulacije troškova, shvatili smo da moramo da unesemo još neke izmene. Danas skoro ceo svet poručuje štampane ploče u Kini, jer su cene veoma niske a kvalitet vrhunski. Međutim, da bi se one dopremile do Srbije, treba angažovati DHL, čiji cenovnik je takav da transport košta više nego same ploče.

Ponovili smo računicu više puta, pa zabune nije moglo da bude: prva količina od 300 komada imala bi težinu od 66 kilograma plus ambalaža, što znači da bi cena bila neprihvatljivo visoka. Šta učiniti?
Pa, logično, smanjiti dimenzije štampane ploče! Tako je površina ploče nove Galaksije jednaka polovini površine stare, što se na kraju pokazalo kao dobro. Ploča je kompaktnija, manja, zgodnija za rukovanje, a mora se priznati i da je lepša.

Greška koja se provukla kroz sedam verzija

Ahilova peta originalne verzije Galaksije bila je kompatibilnost sa tajminzima video signala. Napravljena je za PAL standard, sa horizontalnom frekvencijom od 50 Hz i vertikalnom 15,625 kHz. Zbog nekih ušteda u hardveru, vertikalna je izmenjena i iznosi 16 kHz, što za monitore tog vremena nije bio nikakav problem. Sa pojavom modernih digitalnih monitora koji imaju strožije tolerancije signala, ovo je postajalo sve veći problem, koji je trebalo nekako rešiti u novoj verziji.

Čitav lanac delitelja frekvencije je prerađen, a takt oscilatora je smanjen sa 6,144 MHz na 6 MHz da bi se sve uklopilo u željeni standard. Na prvi pogled je to radilo kako treba. Poslao sam dva primerka Galaksije u Beograd, koji su u Redakciji PC Press testirani i svi digitalni monitori su se sinhronizovali bez greške. Istina je da je Dejan više puta tokom razgovora pomenuo da će prava proba biti tek s nekom od zahtevnijih igara, ali tada još nismo imali način da prebacimo neku od igara u novu Galaksiju, jer nije postojao interfejs za kasetofon. Nažalost, nervoza oko poručivanja i rokova je već počela da raste, pa sam ja olako tvrdio da će sve biti u redu i Redakcija je poručila prvu seriju od 300 štampanih ploča.

PCPress.rs Image
Serijski EEPROM koji zamenjuje kasetofon, jedini novi čip na ploči

A onda je konačno rešen problem konverzije postojećih igara i usledio je šok: igre ne rade kako treba. Da skratim priču, greška je bila u tome što je jedan od segmenata delitelja učestanosti delio sa 5 umesto sa 6, pa vertikalna učestanost nije bila 50 nego 60 Hz. Kako je onda išta radilo? Tako što, pukim slučajem, signal nije odgovarao PAL standardu, nego NTSC, koji važi u Americi. Svi današnji monitori se automatski prilagođavaju jednom ili drugom standardu, pa sve to možda i ne bi bilo nikakav problem da sada jedna poluslika ne traje 16,67 umesto 20 milisekundi (1/60 umesto 1/50 sekunde), pa igre nemaju vremena da opsluže celu sliku za to vreme.

Nije bilo druge nego da se prizna greška i da se objavi postupak prepravke štampane ploče. To je i urađeno, pa sada Galaksija ima dva presečena voda i dva „divlja“ kratkospojnika na donjoj strani. Barem na prvoj seriji – za sledeću seriju, koja će biti označena kao revizija 7 (V2R7), taj problem neće postojati.

Komponente za gradnju

Još u ranoj fazi projekta dogovoreno je da učinimo sve da organizujemo grupnu nabavku što većeg broja komponenata. Ovaj problem je rešen tek kad se uključio Željko Krstić, vlasnik poznate beogradske prodavnice KELCO. On je preuzeo na sebe zahtevan problem nabavke svih elektronskih komponenata i rešio to na najbolji mogući način. Naravno da je kod tako razuđenog spiska moralo da bude problematičnih delova, čije je dopremanje zahtevalo dosta nerava i takta, ali je na kraju sve rešeno bez posledica za naručioce.

Matična ploča nove Galaksije velika je kao polovina stare. Kompaktnija je, zgodnija za rukovanje, a mora se priznati i da je lepša

Tako smo dobili jedan deo priče o kome nema mnogo šta da se kaže. Ne zato što je bio jednostavan, nego zato što je rešen od strane profesionalca koji se ne žali mnogo kad naiđe na probleme nego zasuče rukave i reši ih. Hvala, Željko!

Dorada firmvera

Operativni sistem Galaksije je morao da pretrpi dosta izmena i dodataka. Prerađen je drajver koji generiše video signal, ROM B se automatski inicijalizuje, a dodat je i Monitor program, napisan još 1984. godine, kada je objavljen u „Svetu kompjutera“ i emitovan u „Ventilatoru“ Zorana Modlija. Tako sada u sistemskom EPROM-u postoji asembler, disasembler i monitor, dakle sve što je potrebno za razvoj softvera u asembleru i njegovo testiranje.

PCPress.rs Image
Izmene i ispravke šeme su deo procesa nastanka uređaja

Najozbiljniji posao je urađen na implementaciji niza komandi za upravljanje flash memorijom koja zamenjuje kasetofon. Napravljena je nova struktura koja liči na FAT tabelu DOS-a i koja rukuje datotekama sa nazivima fajlova. Paralelno s tim, Dejan je napisao softver koji komunicira sa Galaksijom preko virtuelnog serijskog porta i koji omogućava da se programi upisuju na disk PC-ja i čitaju s njega. To je bila jedina tačka u kojoj je fizička razdvojenost tokom razrade projekta iskomplikovala rad. Nije bilo lako uhodati programe na Galaksiji i na PC-ju tako da komuniciraju pomoću niza protokola, jer su rađeni i ad hoc usaglašavani na dva kraja Zemljine kugle.

Novi emulator EPROM-a

Pri izradi projekata sa starim tipom mikroprocesora, kakav je Z80, postoji problem izrade firmvera koji se upisuje u spoljnu programsku memoriju, koju obično čini EPROM. Današnji mikrokontroleri već imaju internu programsku flash memoriju i interfejs za komunikaciju, ali je nekada trebalo imati jedinicu koja s jedne strane (ka procesoru) imitira EPROM, a s druge (ka razvojnom sistemu) serijski ulaz koji dozvoljava upis sadržaja. Takav uređaj se zove emulator i neophodan je ako ne želite da posle svake izmene programa brišete EPROM u brisaču sa ultraljubičastom lampom i iznova programirate taj čip.

Tako sada u sistemskom EPROM-u postoji asembler, disasembler i monitor, dakle sve što je potrebno za razvoj softvera u asembleru i njegovo testiranje

Mnogo godina je prošlo od poslednjeg emulatora koji sam napravio još krajem devedesetih godina prošlog veka. Tada sam prešao na savremene mikrokontrolere kojima to nije bilo potrebno, ali se sada, sa novom Galaksijom, ponovo pojavila potreba za emulatorom. Srećom, došlo je novo vreme u kome je to moguće rešiti na elegantniji način. Tako je ono što je nekada trebalo rešiti sa desetinama čipova, statičkim memorijama, baferima, brojačima i serijskim prijemnicima, sada moguće rešiti jednim mikrokontrolerom. Sve je simulirano u softveru novog emulatora: mikrokontroler očita adresu sa svojih ulaznih portova, pročita sadržaj te adrese iz svoje DATA memorije i postavi traženi bajt na izlazne portove. Sve to može da uradi brzinom dovoljnom da Galaksijin Z80A ne primeti zadršku.

Hardver je tako jednostavan da je ceo smešten na pločicu veličine samog EPROM-a. Dodat je samo još jedan 8-bitni izlazni bafer, i to za svaki slučaj, tek da odvoji izlazne signale od mikrokontrolera i prosledi ih do spoljnog mikroprocesora.

Sećam se da sam prvi emulator EPROM-a napravio krajem sedamdesetih godina, verovatno šest ili sedam godina pre Galaksije. Nije imao mikroprocesor i sve je radio hardverski, sa preko 40 čipova raspoređenih na nekoliko štampanih pločica u velikoj metalnoj kutiji, a sada sve to čine dva mala SMD čipa na pločici ne većoj od samog EPROM-a. Živela nova tehnologija!

PCPress.rs Image
Ovako su nastajale fotografije za PC i reprint Računara

Naručite komplet za samogradnju

Da biste sagradili svoju Galaksiju, najpre na sajtu pcpress.rs/galaksija/ naručite osnovni komplet. U njemu je profesionalno izrađena matična ploča, maska za tastaturu, podloga za računar od pleksiglasa i dva EPROM-a sa upisanim sistemskim softverom odnosno generatorom karaktera. Cena osnovnog kompleta je 8000 dinara, što uključuje PDV i troškove slanja kurirskom službom. Komplet ćete dobiti odmah po uplati. Ostale komponente možete da nabavite u firmi KELCO. Pišite im na adresu [email protected] ili pozovite 011/2403-376 ili 011/2403-387.

Source link

Iza svake priče koja se nudi publici odvija se i njena paralelna verzija, daleko od očiju onih za koje je glavna priča napisana. Pošto 40 godina stara priča o originalnoj verziji računara Galaksija već odavno…