Μαστορεύοντας με cartridges στον C64

geoanas

Commodore Vampire
Staff member
Messages
7,228
Reaction score
5,998
Points
223
18082

Εδώ και χρόνια (από τότε που θυμάμαι τον εαυτό μου να ασχολείται με τον 64άρη) δεν έκρυψα ποτέ την προτίμηση μου προς τις cartridges.

Θέλεις λίγο ο μηδενικός χρόνος αναμονής;
Θέλεις η αξιοπιστία του μέσου; (παρασάγγας καλύτερες από τις απλές κασέτες)
Θέλεις κάποιες περιπτώσεις που με τραβούσε ο σχεδιασμός του case και τα πολύχρωμα και πανέμορφα (συνήθως) αυτοκόλλητα του τίτλου που το συνόδευαν; (Ορισμένα ξέφευγαν αρκετά από το συνηθισμένο αυστηρό (μαύρο και τετραγωνισμένο) μοτίβο της εποχής).

Όλα αυτά μαζί και χώρια, ήταν κάποιοι από τους λόγους που η cartridge ως μέσο είχε πάντα μια ξεχωριστή θέση στην καρδιά μου.
Αυτόν τον "θρόνο" διατηρεί ακόμη και τώρα στα over 50α μου. Η κατασκευή των δικών μου, ολόδικων μου cartridges ήταν κάτι που πάντα ήθελα να ασχοληθώ, αλλά πάντα σταματούσα και απέφευγα. Δεν ήθελα να μπλέξω με επικίνδυνα χημικά. Δεν ήξερα που να απευθυνθώ για αγορά φθηνών cases. "Δεν" το ένα - "Δεν" το άλλο και ο καιρός περνούσε, παρέα με τα "έτοιμα" που είχα φροντίσει να προμηθευτώ για τον αγαπημένο μου υπολογιστή.

Σε όλους μας, λίγο ή πολύ συμβαίνει πάντα να μεσολαβεί πριν από κάποια μας δράση, μια περίοδος αναβολής ή αναμονής μέχρι να μας δοθεί το σωστό κίνητρο. Σε μερικούς είναι σύντομη και σε κάποιους άλλους περισσότερο μακρά, όλα εξαρτώνται από το κατάλληλο έναυσμα. Η αρχή για μένα έγινε με τις Ogryzek και τον Mr Wegi που με οδήγησε σπρώχνοντας...Αυτό ήταν! :)

Στον C64 συναντούμε μια ομολογουμένως αρκετά μεγάλη ποικιλία από cartridges. H γκάμα ξεκινάει από τις κοινές single chip των 8K παιχνιδιών και φτάνει μέχρι τις πιο σύνθετες, πολλαπλών λειτουργιών, όπως η Black box, η Final Cartridge III, διάφορες freezes και fast loaders (όπως οι Action Replay) μαζί με έναν "σκασμό" ακόμα, που δεν είναι επί του παρόντος να ασχοληθώ.

Σκοπός αυτού του thread, είναι να κάνω την αρχή και να ξεκινήσω από τα βασικά, φτάνοντας σιγά σιγά και στα πιο πολύπλοκα. Να ανοίξουμε κουβέντα, να ανταλλάξουμε θεωρητικές και πρακτικές γνώσεις, να σας δείξω και να μοιραστώ κάποια σχέδια που έχω βρει και υλοποιήσει στην πράξη, να βγάλουμε μαζί κάποια άλλα και να εμβαθύνουμε ρίχνοντας φως σε τυχόν απορίες μας. Η αλήθεια είναι ότι ακόμα έχω αρκετά κενά που όμως επιθυμώ διακαώς να καλύψω, ακούγοντας την τεχνική γνώμη των εμπειρότερων και πιο καταρτισμένων από εμένα, καθώς και να διαβάσω για τα δικά σας unique projects και την εμπειρία σας πάνω στο αντικείμενο.

Θεωρώ σκόπιμο να ξεκινήσω πρώτα με μια φωτογραφία κι ένα διάγραμμα της cartridge (expansion) port του 64 και να παραθέσω την αντίστοιχη ονοματολογία ορισμένων σημάτων, που θα ακούσουμε να αναφέρονται αρκετές φορές από εδώ και πέρα.


C64 Cartridge Port

18069

18070


Τα pins που μας ενδιαφέρουν περισσότερο είναι τα :


PinSignalDirection (From C64)ΣημασίαΠαρατηρήσεις
...

8
GAME
Είσοδος
(IN)​
Game configurationUsed for memory re-configuration; see PLA (C64-Chip)
...
9
EXROM
Είσοδος (IN)​
External ROMSimilar to GAME.
During low the internal RAM in the range of $8000-$9FFF will be switched off and ROML will be set low, if one of these addresses occur.
...
11
ROML
Έξοδος (OUT)​
ROM
Low
Low signal if the address range is $8000-$9FFF is switched off with EXROM and one of these addresses occur on the bus.
...
B
ROMH
Έξοδος (Out)​
ROM HighDepending on the status of GAME and EXROM this line gets low during access to the address space between $A000-$BFFF respectively $E000-$FFFF.
Condition: the internal ram area is faded out.

Σε μερικά έτοιμα και πλήρως παραμετροποιήσιμα (βλ. Versa64cart) pcbs, που μπορούμε να βρούμε ελεύθερα για κατέβασμα και χρήση (προκειμένου να φτιάξουμε τις δικές μας -σπιτικές- cartridges), βλέπουμε να περιέχονται ειδικές θέσεις για τις Α13,Α14,Α15.
Νομίζω ότι θα ήταν καλό να τις καταγράψουμε κι εδώ πέρα, συνεχίζοντας με περισσότερες λεπτομέρειες μετά.

F
A15
Έξοδος
(Out)​
Address line 15Bit 15 of address bus value=32768
H
A14
Έξοδος
(Out)​
Address line 14 Bit 14 of address bus value=16384
J
A13
Έξοδος
(Out)​
Address line 13Bit 13 of address bus value=8192

(Πηγή: https://www.c64-wiki.com/wiki/Expansion_Port)


Οι πιο απλοί και διαδεδομένοι τύποι cartridges στον υπολογιστή, είναι εκείνες των 8K και 16K. Αυτές ακολουθούν κυρίως, έναν-δυο βασικούς τεχνικούς κανόνες.

8K Cartridge, $8000-$9FFF (ROML).
GAME = 1
, EXROM = 0
Η ROML είναι φυσικά μόνο για ανάγνωση. Έχουμε διαθέσιμες αμφότερες τις Basic ROM και την Kernal ROM στον υπολογιστή χωρίς καμία απολύτως παρέμβαση ή "πονηρή" παράκαμψη.

16K Cartridge, $8000-$9FFF / $A000-$BFFF (ROML / ROMH).
GAME = 0
, EXROM = 0
ROML/ROMH
(μόνο για ανάγνωση). Εδώ έχουμε αντικατάσταση της Basic ROM από την ROMH

16K Cartridge, $8000-$9FFF / $E000-$FFFF (ROML / ROMH). Ultimax mode.
GAME = 0
, EXROM = 1
To Ultimax mode, αφορα εξομοίωση του Ιαπωνικού μοντέλου της CBM ΜΑΧ. Το συγκεκριμένο μοντέλο, προοριζόταν μόνο για την αγορά της Ιαπωνίας και ήταν μια κατά τι κουτσουρεμένη έκδοση του αυθεντικού C64 με μόνο 2K RAM. Στο Ultimax mode η ROMH αντικαθιστά τον λειτουργικό πυρήνα kernal στην $E000. H ROML παραλείπεται.

Περισσότερα για schematics και τύπους pcbs μπορούμε να βρούμε σε αυτήν την εξαιρετική ιστοσελίδα (worldofjani - Making a C64 cartridge) Απλά, κρατάω εδώ την δεύτερη περίπτωση, αφού με αυτή θα πορευτώ για να σκαρώσω την πρώτη μου real cartridge.

Παρέα κι έχοντας ως βασικούς οδηγούς μου τις παραπάνω πληροφορίες αλλά και πολύτιμο εργαλείο, την εξαιρετική versa cart (single chip cart pcb), θα προσπαθήσω πλέον να μεταφέρω και 16K games κατευθείαν μέσα στο "σκληρό" και πάντα σίγουρο μέσο του eprom chip.

Εδώ θα ήθελα να ευχαριστήσω ξανά, τον άρχοντα @subzero79 για τις δυο versa64 που επιμελήθηκε και μου είχε κάνει δώρο! Μου έδωσε αρχή για να ξεκινήσω... ;)
 

geoanas

Commodore Vampire
Staff member
Messages
7,228
Reaction score
5,998
Points
223
Θυμάστε που σας είχα αναφέρει το Neutron της Sarah Jane Avory; Το παιχνίδι είναι θρύλος! Το έπαιξα και το αγάπησα! Μα πως ήταν δυνατόν ένας τέτοιος καταπληκτικός shmup-ό-τιτλος να μην με μαγνητίσει; Χε!Χε!Χε!

Μπορείτε να μαντέψετε ποιο ήταν το πρώτο παιχνίδι που αποφάσισα να μεταφέρω σε μορφή cartridge; :p

Όπως έγραψα, είδε το φως της δημοσιότητας λόγω του διαγωνισμού RGCD's C64 16KB Cartridge GameDev Compo 2019 Τι πιο λογικό λοιπόν από το να κυκλοφορήσει σε μορφή crt; Με απλά βηματάκια (δόξα να 'χει το cartconv, ένα απλό εργαλείο σε DOS command για την μετατροπή crt σε bin που βρίσκουμε στον VICE) μετέτρεψα αρχικά το παιχνίδι σε bin...16K bin που βρήκαν τον φυσικό τους χώρο μέσα σε μια 27C128 eprom.

18081

Αφού δοκίμασα το bin (πάλι σε VICE) και σιγουρεύτηκα ότι όλα πήγαν καλά...

18076

...δεν είχα να κάνω τίποτα περισσότερο από το να γυρίσω μερικά "κουμπιά" πάνω στην versacart και voila! Το θαύμα έγινε! Χα!Χα!Χα! (Δεν απαιτεί δα και γνώσεις "κατασκευής πυρηνικών πυραύλων" :p )

18077

Βλέπετε τα dip switches? #GAME και #EXROM γυρισμένα σε θέση low και "καπελωμένες" οι αντίστοιχες θέσεις των 16K.

Γιατί σε θέση low; Μα γιατί το ανέφερα παραπάνω ως δεύτερη περίπτωση και γιατί μας το αναφέρει και ο ίδιος ο bwack στο πινακάκι που φρόντισε επιμελώς να σχεδιάσει πάνω στην πίσω όψη της τελευταίας versa64cart του.
18079
(Πηγή: https://github.com/bwack/Versa64Cart)

Το παιχνίδι είναι εξαιρετικό, τρέχει ultra smoothly και μάλιστα πέτυχα και high score!

18078

Η όρεξη μου όμως δεν κορέστηκε. Απεναντίας μου άνοιξε περισσότερο και ορίστε ακόμη μια 27C128 ,φορτωμένη με το επίσης εξαιρετικό CANABALT που μας έχει μιλήσει και ο Πάνος (@clemenza) , εδώ πέρα

18080

Συνεχίζεται με άλλα σχέδια και με ακόμη περισσότερα projects... ;)
 

clemenza

Retro Addict
Messages
967
Reaction score
1,358
Points
93
Γιώργο, τι να σου πω βρε φίλε μου; Από το καταπληκτικό και αειθαλές C64anabalt στο μοναδικό, ασύλληπτο, απίστευτο Neutron; Τι να σου πω, πες μου;

Πλάκα-πλάκα παίζει σοβαρά το ενδεχόμενο το Neutron να είναι το καλύτερο vertical shooter που κυκλοφόρησε ποτέ για 64άρη. Στο ΤΟΡ-5 πάντως είναι σίγουρα! :love:
 

geoanas

Commodore Vampire
Staff member
Messages
7,228
Reaction score
5,998
Points
223
Γιώργο, τι να σου πω βρε φίλε μου; Από το καταπληκτικό και αειθαλές C64anabalt στο μοναδικό, ασύλληπτο, απίστευτο Neutron; Τι να σου πω, πες μου;
Μόλις το φόρτωσα και το δοκίμασα για πρώτη φορά είπα: Αυτό! (Όπως στη διαφήμιση του ούζου12! LOL!)...Αυτό αξίζει μια δική του cartridge!

Πλάκα-πλάκα παίζει σοβαρά το ενδεχόμενο το Neutron να είναι το καλύτερο vertical shooter που κυκλοφόρησε ποτέ για 64άρη. Στο ΤΟΡ-5 πάντως είναι σίγουρα! :love:
Συμφωνώ και επαυξάνω! Βλέπει στα μάτια και κοντράρεται ακόμη και με καθαρόαιμα arcade. Μα, πόση ακόμη "μαγεία" θα δούμε ακόμη να ξεπηδάει μέσα από τα παλιά κυκλώματα; :)
 

geoanas

Commodore Vampire
Staff member
Messages
7,228
Reaction score
5,998
Points
223
18083

Η ιστορία με τις DIY homebrew cartridges κρατάει εδώ και χρόνια. Σκαλίζοντας το κουτί, έπεσα πάνω στην Datel dev cartridge, εκείνη που μου είχε στείλει δώρο ο @chriskgnr (Cheers Chris, again! ;) ) και έχουμε παρουσιάσει εδώ πέρα. Πρόκειται για ένα ακόμη board - εργαλείο, με το οποίο μπορεί κάποιος να φτιάξει 8K ή 16K carts (ή στα 16K να έχει 2 banks από 8K την κάθε μια). Δέχεται 2764 και 27128 eproms.

Οι οδηγίες:

18084

Δεν θα αναλύσω παραπέρα αφού ήδη έχουν γραφεί. Απλά προσθέτω το link (μιας που είναι σχετικό) και συνεχίζω με τα υπόλοιπα...
 

geoanas

Commodore Vampire
Staff member
Messages
7,228
Reaction score
5,998
Points
223
Φρέσκια, φρέσκια και σπαρταριστή....και περιμένω και άλλες (καμιά 50αριά ακόμη σε διαφορετικά "σχέδια", "χρώματα" και "αρώματα"! Έχω ξεσηκώσει όλο το known universe. Νομίζω ότι πλέον δεν υπάρχει prg που να μην μπορώ να το "χώσω" σε cart σε ότι συσκευασία και να είναι αυτό! Αμίιιι!!!.....Χααα!Χααα!
Γύρνα εσύ με το καλό και θα σε φτιάξω άρχοντα! ;)
 

geoanas

Commodore Vampire
Staff member
Messages
7,228
Reaction score
5,998
Points
223
Έφτιαξα μερικά prototypes (με βάσεις σε όλα τα ολοκληρωμένα / reset), ώστε να δοκιμάζω σε real thing όλες τις compilations αλλά και τις μεμονωμένες eproms που ετοιμάζω. Αν όλα πάνε καλά, στην τελική cartridge δεν θα υπάρχουν sockets για να είναι χαμηλού ύψους και να μπορούν να "χωρούν" σε φτηνότερα cases.

18158

Εδώ έχουμε:

Ogryzek με υποστήριξη eprom μέχρι 512Kb max (27C040) και custom loader με εφαρμογές.

Easy Flash I για combos ή μεμονωμένα μέχρι 1ΜΒ (Flash) για εγγραφή από τον χρήστη μέσω Easy Prog ή dedicated cartridges χωρίς δυνατότητα επέμβασης από τον τελικό user (π.χ Sam's Journey, Nostalgia - Ghosts'N Goblins + Commando Arcade remakes κλπ).
Όλα σε sockets για να είναι εύκολος ο έλεγχος των chips.

Hucky boards για 64kb games max, μονοκόμματα (Αφορά αυτό, αλλά και τα Galencia 1.1, Bomberland, Super Bread Box κλπ) ή συλλογές.
Όλα τα παραπάνω έχουν ήδη γραφεί και παίζουν άψογα.

Versa Cart με υποστήριξη μεμονωμένων games και 16Κ.
(prg, crt, bin...)
Thank U George (@subzero79)! ;)

Magic Disk cart clone με max υποστήριξη 1MB (27C010 / 27C020 / 27C801) single roms ή ολόκληρων combos με επιλογή από καλαίσθητο menu. Τα έχω ήδη γράψει κι εδώ.

Παρακάτω θα προχωρήσω (αργότερα) σε λεπτομέρειες...(Συνεχίζεται)...
 

geoanas

Commodore Vampire
Staff member
Messages
7,228
Reaction score
5,998
Points
223

- Αυτό, όπως καταλαβαίνετε αφορά μόνο ένα μικρό teaser :)

- Αυτό είναι μόνο ένα μικρό τμήμα του ολοκληρωμένου προϊόντος αγαστής και καθημερινής συνεργασίας μεταξύ δυο καλών φίλων.

- Αυτό είναι κάτι που θα δείτε και θα διαβάσετε όταν φτάσει να τελειοποιηθεί στο 100%. Όπως πάντα στο κατάλληλο μέρος: donysoldcomputers.blogspot.gr

- Αυτό ξεκίνησε ως μια απλή ιδέα και εξελίσσεται σε κάτι πέρα από τις αρχικές προσδοκίες των δυο εμπνευστών του. Περί ποίων ο λόγος; Tου Παναγιώτη (Panagiotis Dony Plemmenos) και της αφεντιάς μου (#GeoAnas).

- Αυτό είναι κάτι που παρότι μικρό και συμβολικό, το αφιερώνω στην retro κοινότητα όπως την φαντάζομαι και θα ήθελα να βιώνω:
Ιδέα - Φαντασία - Δημιουργία - Θετική σκέψη.

Work in Progress...Stay tuned...
 

geoanas

Commodore Vampire
Staff member
Messages
7,228
Reaction score
5,998
Points
223
Τα Χριστούγεννα μπορεί να πέρασαν, μα μόλις τώρα βρήκα λίγη ώρα για να ασχοληθώ. Παρεΐτσα με τον Πάνο (@clemenza ) (μαύρες γιορτές τον έκανα να περάσει τον άνθρωπο, με την ασφυκτική πίεση που του έριξα! :speechless::lol:) τελειώσαμε ένα όμορφο και φρεσκοπατσαρισμένο cartridgάκι, με όλα τα σέα και τα μέα του, με φουλ Χριστουγεννιάτικη essence και περιεχόμενο το "πολύ" SANTRON:emoji_santa:

19199

19200

19201

Το intro επιμελήθηκε για μια ακόμη φορά ο Πάνος (που τον ευχαριστώ για την ανοχή του με τα τερτίπια μου :love:), με artwork (Santron logo) φτιαγμένο από τα χεράκια μου :)

19202

Το πλακετάκι βασίζεται πάνω στην έκδοση των TRIAD και μπορείτε να το βρείτε διαθέσιμο εδώ

19203

Προσφέρει την δυνατότητα να ενεργοποιήσουμε ή όχι, άπειρες ζωές, να περνάμε απαρατήρητοι (!) ή να προχωράμε πίστες με το πάτημα του C= key. Καλές επιλογές για έναν αρχικλέφτη όπως του λόγου μου :emoji_smile:

Επί το έργον...

19204
 

clemenza

Retro Addict
Messages
967
Reaction score
1,358
Points
93
Φίλε, τι μου λες τώρα... εγώ δεν έκανα τίποτα στην πραγματικότητα σε σχέση με σένα. Μακάρι να είχα περισσότερο χρόνο για να ψαχτώ λίγο παραπάνω, γιατί είναι πραγματικά κρίμα το ότι δεν χρησιμοποιήσαμε την υπέροχη εικόνα που έφτιαξες... :cry:

Να ξέρεις πάντως ότι 1.000 φορές να με "χώνεις" να κάνω κάτι ακόμα κι αν πνίγομαι, παρά να μην κάνουμε τίποτα! Η συνεργασία μαζί σου είναι πάντοτε αναζωογονητική, mon ami! :emoji_heart_eyes:
 

clemenza

Retro Addict
Messages
967
Reaction score
1,358
Points
93
Εντάξει, είμαι γαϊδούρι, αλλά επιτέλους το θυμήθηκα!

Θέλω να ευχαριστήσω και δημόσια τον καλό φίλο @geoanas γιατί πρώτον, πριν μερικούς μήνες είχε την ιδέα να φτιάξουμε κατί μικρό, γλυκό και Χριστουγεννιάτικο (ναι, αυτό που είδατε στο προ-προηγούμενο post), δεύτερον, με "ενεργοποίησε" μετά από κάποιο διάστημα Commodore-ικής απραξίας και, τρίτον, μου έστειλε το υπέροχο catridge-άκι με το Santron. Thanks man, you 're the best! :emoji_heart_eyes:

19576

19577

19578

19579
 
Top