Šta je novo?

Banking EPROM kertridž za Commodore 264 seriju

zzarko

Čuven
Učlanjen(a)
13.10.2003
Poruke
1,745
Poena
695
Negde pre nove godine Marko i ja smo krenuli da pravimo banking kertridž za Commodore 264 seriju mašina (koji bi omogućio kertridže veće od 16/32k). Postoje već neki, ali iz nekog razloga svi dizajn čuvaju kao zmija noge... Naš će, kao i prethodni za C64, biti open source :)

Elem, Marko je završio dizajn pločice, trebalo bi da ovih dana naruči prvu probnu seriju. Ja sam se s druge strane bavio softverom na dva fronta... Prvo, softver za Commodore stranu, napravljen je na osnovu postojećeg C64 koda, čak je nekih 70-80% ostalo isto. Ono što me je najviše namučilo i gde sam dosta čitao i zapitkivao po forumima je programiranje TED čipa. No, posle oko nedelju dana sam konačno imao radeći kod:



Strukturu za menije sam ostavio identičnu kao za C64 varijantu, pa se PC strana koda (Python program za generisanje kertridža) menjala u svega 5-6 linija.

Drgugi veliki problem je bio što ni u jednom od PC emulatora za 264 seriju (VICE, YAPE, Plus4Emu) ne postoji podrška za banking EPROM kertridže, pa sam mogao da ispobavam samo kertridže do 16k. Prvo sam pogledao source za VICE i posle par sati čačkanja, odustao. Onda sam pogledao YAPE SDL varijantu, ispade da ne radi sa kertridžima (kasnije mi je neko na forumu rekao da radi, samo je upotreba maltene skrivena). Treći pokušaj je bio Plus4Emu, i taj je konačno urodio plodom:



Struktura koda mu je, za razliku od VICE-a (ovde mislim samo na Plus4 kod) mnogo preglednije organizovana, tako da sam nakon 4-5 sati izučavanja i isprobavanja imao radeću emulaciju. Dalje testiranje i razvoj bi trebali biti dosta brži. Patch za Plus4Emu se može preuzeti sa:

https://github.com/istvan-v/plus4emu/issues/4

Dodati kod nije najlepši i mislim da se ne uklapa najbolje u to kako je emulator organizovan (više je hack emulatora), ali radi :)
 
Jako lepo.
Koliki je limit za kertridže sada ?
Već zamišljam neki sa sva ona četiri nova Ultimate porta (Knight Lore, Alien 8, Gunfright i Pentagram), koji su kad uporedimo sav softver za 264 seriju, momentalno postale najbolje igre na ovim mašinama. :)
 
Može ići maksimalno do 4MB, ali mislim da ćemo se zasad zadržati na 2. Kao i u C64 varijanti, i ovaj kertridž barata samo sa pojedinačnim PRG fajlovima, i radi lepo sa one-file programima i igrama. Nije ni blizu testiran koliko bi trebalo, tako da zasad ne znam da li ima PRG fajlova koji ne rade sa kertridžem. U C64 varijanti sam naleteo na par komada koji jednostavno ne rade sa kertridža i zasad još uvek ne znam zašto.
 
Bas lep projekat, svaka cast na radu i trudu!
Da li je kertridz kompatibilan sa svim Commodore 264 modelima? Nazalost ne znam memorijsku mapu kod 16KB modela ali pretpostavljam da je sve tesnije da se organizuje?
Koja je adresu izvrsavanja programa nakon izbora u meniju i da li je ona fiksirana?
 
Bas lep projekat, svaka cast na radu i trudu!
Da li je kertridz kompatibilan sa svim Commodore 264 modelima? Nazalost ne znam memorijsku mapu kod 16KB modela ali pretpostavljam da je sve tesnije da se organizuje?
Prototip je isproban na Plus/4, C16 i C116 i na sva 3 radi bez problema :)
Koja je adresu izvrsavanja programa nakon izbora u meniju i da li je ona fiksirana?
Adresa, kao i u C64 varijanti, nije fiksna i biće ona koja je upisana u prva 2 bajta PRG fajla. Specijalan tretman ima adresa $1001 (u C64 varijanti to je $0801), takvi PRG fajlovi se pokreću sa simuliranom RUN komandom. A može se zadati i proizvoljna start adresa za svaki fajl, ne mora biti ona na kojoj se program učitava.
 
cartridges_in_case.png


Konačno smo Marko i ja završili ceo posao oko kertridža, potrajalo je malo duže nego što smo očekivali, ali je raspodela raspoloživog slobodnog vremena učinila svoje. No, kertridž je končano pušten u promet, fajlovi za hardver se mogu preuzeti sa:


dok se softver za genersanje kertridža može naći na:


Na stranici za hardver sa nalaz i i link na PCBWay odakle se mogu naručiti pločice. Softver je zajednički za C64 i 264 mašine, unapređena verzija Magic Desk Cartridge Generator-a 3.0.
 
Nazad
Vrh Dno