Poniewaz Wegi twierdzi ze przy ludziach takich jak olo11111 czy rs2232, ktorzy sa bardzo tworczy, bo zlecaja cudze projekty w calosci lub po lekkich modyfikacjach do produckji (z wyjatkiem paru projektow, na ogol bardzo drobnych), jestem czlowiekiem bez osiagniec,
chcialbym podzielic sie tym, co ukonczylem w zeszlym roku, czyli urzadzeniem zamieniajacym oryginalny nosnik w DECO Cassette System, ktory tworzylem wraz z DARKSOFT. Jesli bedziecie zaciekawieni co to takiego, to chetnie odpowiem na pytania. Poniewaz temat jest mocno techniczny i nie jest zwiazany z C64, to biore pod uwage, ze dla wiekszosci z Was moze to zwyczajnie nie byc interesujace.
Info o sprzecie:
https://en.wikipedia.org/wiki/DECO_Cassette_SystemMoje filmy z developmentu:
https://www.youtube.com/watch?v=qAJbb-jZGEAhttps://www.youtube.com/watch?v=HJSxRrDJruIOryginalnym nosnikiem dla tego Arcade jest kaseta w jakims magicznym, niespoptykanym formacie, podobno bardzo delikatna. Automat dzialal w ten sposob, zepo wlaczeniu gra ladowala sie z tasmy i dodatkowo byla zabezpieczona przez dongle. Automat ten byl dosc slaby technicznie ale byl pierwszym, ktory mial wymienne gry - do tej pory kazda gra to byl caly automat.
Projekt polegal na zgrabbowaniu wszystkim mozliwych gier i umieszczeniu ich na plytce z romem, skad byly by one ladowane zamiast oryginalnej tasmy. Projekt wymagal napisania BIOSu dla arcade, menu do wyboru gier oraz stworzenia elektronicznego modulu (plytka, VHDL dla CPLD CX9572 do komunikacji miedzy mikrokontrolerem wczytujacym dane a ROMem 27c800).
Lista rzeczy, ktore wykonalem w zwiazku z projektem:
Modyfikacja asemblera DASM, aby wypluwal kod z zaszyfrowanymi opcode (automat ma procesor 6502 ale operuje na bitswapped opcode ale operandy sa normalne)
Pisanie pomocniczych programow w pythonie do skladania obrazu do ROMu, wsadowego kompresowania danych
Programowanie menu do wyboru gier (niestety nie ma dokumentacji developerskiej do tego automatu wiec bylo troche inzynierii wstecznej
)
Dolaczenie exomizera do projektu (probowalem takze pucrunch ale on ma self-modyfinng code a exomizeer moglem umiescic w ROM, co ciekawe bufor byl na dnie stosu
)
Uzycie oprogrwamowania dla C64 do zamiany bitmap na fonty aby wyswietlic logo (ten arcade nie ma trybu bitmapowego! i inna rozdzielczosc ekranu niz c64 ale dalem rade
)
Zaprojektowanie logiki dla CPLD - najpierw w bloczkowym edytorze xilinxa ale docelowo w czystym VHDL.
Zaprojektowanie kilku iteracji PCB
Debugowanie elektroniki z wykorzystaniem analizatroow logicznych
Meka z timingiem, bo CPLD jest znacznie szybszy niz TTL z pierwszej polowy lat 80 - nowa wersja automatu dzialala z modulem od strzala ale dla starej trzeba bylo "regulowac" timing kondensatorami
Wiekszosc develu odbywala sie na PC ze zmodyfikowanym emulatorem MAME.
Nie opisalem tutaj wszystkiego