Domaći inženjer izradio retro Pong kao nekada, samo na temelju hardvera

Nedavno nam je za oko zapela priča jednog domaćeg softverskog inženjera, objavljena na društvenim mrežama, pa smo odlučili saznati nešto više o njoj – i nismo požalili. Svestrani kreativac koji stoji iza ovog projekta je Daniel Belle, softverski inženjer, predavač na Visokom učilištu Algebra. Entuzijast je u elektronici, književnosti, skateboardingu. Autor je romana “Ponedjeljak” i zbirke priča “Praznina”, a naši su ga čitatelji imali prilike upoznati i na lanjskom .debugugdje je održao predavanje “Inovativan i kreativan pristup nastavi – kako sa studentima izgrađujemo računalo”.

Ako do sada niste upoznali Daniela, imate novu priliku u nastavku, gdje prenosimo razgovor o njegovom najnovijem projektu, arkadi retro igrice Pong izrađenoj po principima nekih davnih vremena…

Kakav ste to “uradi sam” projekt realizirali i po čemu je poseban?

Ova igra Pong je posebna, jer je kompletno hardverski realizirana, pa nema “švercanja softverom”. Na primjer, da bi se piksel prikazao na ekranu, potrebno je upoznati princip rada monitora i prilagoditi mu se. Nadalje, izrada igre izvrstan je način da se osoba vrlo temeljito upozna s digitalnom logikom. Konačno, mnoga načela koja uglavnom poznajemo iz softverskog inženjerstva, kao što su labav spoj potječe iz hardvera, gdje su aplikacije vidljive i mogu se “pipati”, dok je kod softvera još dosta apstraktan i isto vrijeme teži za razumijevanje.

Kako je došlo do ideje za takvu igru?

Sve je počelo čavrljanjem u fotokopiraonici na Črnomercu i pretvorilo se u opsesiju. I tako, dok sam čekao da se dokumenti isprintaju, tišina je stvorila prazninu koja je žudila za ispunjenjem. Kad sam spomenuo da sam programer i predavač, tip za pultom mi je rekao da je on više hardverski tip. Nažalost, RIZ je propao, pa je on umirio svoj entuzijazam i sada “samo printus papirus”. Bilo je jako zabavno, doduše, a njegov srednjoškolski rad bio je stvaranje replike Pong igre. Kad sam ga pitao koji je mikroprocesor koristio, samo se počeo smijati:

Nema sine, ovaj put nema šverca softvera, tko ste vi!?! Lima, sve je bilo hardverski, uglavnom digitalno, osim štapića koji su se pomicali okretanjem potenciometra..”

I umro lima na mjestu! Jednostavno nisam mogao shvatiti. Kako!?! Kako se to može!?! Samo sa čipovima!?! Dokumenti su odavno bili isprintani, a ljudi u redu su se umorili od mojih pitanja i počeli jamrati, pa sam se ljubazno ispričao i teturajući izašao na cestu. Ali bio sam opčinjen, promijenjen. Morao sam to razumjeti, jednostavno sam morao! Odjednom sam zaglavio u beskrajnoj rekurziji misli koje su se mogle otpetljati samo tako da izgradim igru ​​iz nule.

Koliko je trajala realizacija?

Realizacija konkretne igre trajala je 3 mjeseca. Međutim, važno je napomenuti da sam imao veliku poteškoću razumjeti osnovne pojmove jer sam lajbek za elektroniku. Stoga sam morao krenuti iz nule, a to je utjecalo i na stvaranje vlastite paradigme pristupa izgradnji, ne samo Ponga, već potom i 4-bitnog procesora i 8-bitnog računala – svaka komponenta mora biti u potpunosti shvaćena, realizirana diskretnim komponentama da bih imala “opravdanje” koristiti gotov čip.

Shema i realizacija horizontalnog brojača na početku projekta
Shema i realizacija horizontalnog brojača na početku projekta

Primjerice, čip 7483 predstavlja potpuno zbrajalo dva 4-bitna grickanje. Jednobitno puno zbrajalo sastoji se od XOR, AND i OR logičkih sklopova. Nadalje, logički sklopovi mogu se izgraditi pomoću tranzistora. Stoga je potrebno krenuti od razumijevanja tranzistora. A da biste razumjeli princip rada tranzistora, važno je upoznati se s diodom i, na kraju, pojmom poluvodič. Cijeli ovaj proces je detaljno opisan i implementiran na mojoj straniciu obliku članaka i moguće je skinuti pdf, zajedno sa shemama.

Što je bio najveći izazov?

najveći izazov bio je razumjeti i implementirati koncept kretanja loptice. Dakle, lako je dokučiti kako nacrtati mrežu, jer je statička na ekranu i sastoji se od dovođenja napona u diskretnim vremenskim intervalima. Potom slijedi veći izazov, jer je potrebno shvatiti kako potenciometrima realizirati kretanje palice po ekranu. Napokon, dinamika kretanja loptice toliko je genijalna da je zaštićena patentom. Trebalo mi je čak i kufer vremena da to probam, implementiram, a potom i laički objasnim na svojoj stranici. Jer da, ja sam i dalje lajbek trebam jednostavna objašnjenja. Kompliciranje umara i obeshrabruje.

Finalna realizacija igre
Finalna realizacija igre

Je li u današnje vrijeme lako naći komponente za ovakve retro projekte?

Većinu komponenti sam dobio u Zagrebu bez komplikacija, no ima ih i njih zastario čipove koje sam, ipak s lakoćom, naručivao iz Kine. Pritom, radiš i na strpljenju, ali i povjerenju, gledano metafizički (smijeh). Istini za volju, brže sam isprintao PCB u Kini no što sam dočekao neke od čipova, ali najdulje što sam čekao bilo je 2 tjedna, pa u tom vremenu radiš na nekom drugom modulu za koji imaš komponente.

Igra na PCB
Igra na PCB

Osim zabavne, ima li projekt i edukativnu svrhu?

Projekt je u potpunosti edukativne prirode. Kao što sam već naveo, sama paradigma pristupa izgradnji ne tolerira korištenje komponenata sa kojima graditelj nije u potpunosti nepoznat. Usuđujem se reći da sam putem izgradnje uspio shvatiti osnovne pojmove elektronike, a potom pomoću tog znanja izgraditi i 4-bitni procesor te 8-bitni kompjutor sa monitorom, kazetofonom, tipkovnicom i modulom za zvuk, čiji se opis izgradnje također nalazi na mom webu.

Za mene, ovo je bio nevjerojatan promjena igreali i Paklena vožnja. Hvala na bilo kakvom interesu, društvo!

Više o temiIzvor:Bug.hr