SEGA - Gremlin / FROGGER / JROK's High Score saving mod

geoanas

Commodore Vampire
Staff member
Messages
6,564
Reaction score
4,333
Points
223
Η επέμβαση που θα περιγράψω αφορά τα βατραχάκια. Συγκεκριμένα μπορεί να γίνει σε όλα τα original, διπλά 18(X2)pin boards κατασκευασμένα από SEGA / Gremlin με διάταξη (pinout) Konami.



Ο βατραχάκος ως γνωστόν είναι ταυτόσημος με την έννοια του κλασσικού. Πρόκειται για ένα από τα πρώτα arcade παιχνίδια, ένα από εκείνα που μας μύησαν ως πιτσιρικάδες μέσα στις arcade αίθουσες ή στα αναψυκτήρια, καφενεία κλπ.

Δεν είναι δύσκολο παιχνίδι και το θέμα του είναι ιδανικό για παιδικές ψυχές και μάτια γεμάτα πείσμα αλλά και αγωνία για το αν θα τα καταφέρουμε να οδηγήσουμε τον άρχοντα του βάλτου πίσω στην τρύπα του. Αν στην πορεία βρούμε και κανένα θηλυκό ακόμη καλύτερα. Ποιος μας πιάνει αν τσιμπήσουμε και κανένα μυγοσνάκ! Ε, τότε θα δούμε τους πόντους μας να ανεβαίνουν με άλματα. Όλα σε πράσινο και μπλε, πλημμυρισμένα από χαρακτηριστική μουσική υπόκρουση που θυμίζει λούνα παρκ και εποχές που έχουν παρέλθει ανεπιστρεπτί.

Όλα καλά λοιπόν, φτάσαμε το σκορ (μας) στα ύψη αλλά είναι ώρα να κλείσουμε. Πάει το σκορ, χάθηκε κι έγινε καπνός. Υπάρχει ακόμη ένα θέμα. Που είναι κρυμμένα τα αρχικά του ονόματος μας; Πως θα αποδείξουμε στην δύσπιστη ομήγυρη ότι εμείς είμαστε οι ήρωες του βάλτου;
Αχ, να μπορούσαμε να κρατήσουμε και το σκορ μας φυλαγμένο σε καμία γωνίτσα της RAM, χαρές που θα κάναμε!



Στην παραπάνω φωτογραφία, μέσα σε πράσινο στικτό κύκλο απεικονίζεται ο εργοστασιακός πίνακας των high scores. Βλέπουμε ότι δεν υπάρχουν διακριτικά (initials) του παίκτη ενώ φυσικά με το κλείσιμο του διακόπτη όλα πάνε στον βρόντο.

Εδώ έρχεται λοιπόν ο JROK, από μηχανής θεός και δίνει λύσεις. Έχοντας κάνει αξιοσημείωτο έργο ως πρωτοπόρος της emulation scene, όλα αυτά τα έχει περιγράψει στο blog του και ήδη τα έχει ανεβάσει από το 2001. Τα updates της σελίδας του έχουν πλέον παρέλθει, αλλά η πληροφορία σώζεται ακόμη στις μέρες μας. Ευκαιρία λοιπόν να το εκμεταλλευτώ πριν η λήθη του χρόνου σαρώσει τα πάντα στο πέρασμα της.

Τα μανίκια ψηλά και ξεκινάμε :emoji_tools:

Θα χρειαστεί να γράψουμε 4 καινούργιες 2732 eproms, γεμάτες με τον κώδικα που περιέχει τις καινούργιες ρουτίνες που έχει γράψει ο JROK για εμάς (* Τον επισυνάπτω κι εδώ. Καλό είναι να βρίσκεται και κάπου αλλού, mirrored)



Αυτές θα αντικαταστήσουν τις τρεις εργοστασιακές που βρίσκονται καλά κρυμμένες, στην κάτω πλακέτα.



Για να φτάσουμε, θα πρέπει να ξεβιδώσουμε 4 βιδούλες και να βγάλουμε (με προσοχή) μια καλωδιοταινία. Σε τέτοια, παλιά και μπαρουτοκαπνισμένα pcbs οι κινήσεις μας (όπως έλεγε η διαφήμιση) ..."πρέπει να είναι απαλές ...σαν χάδι!" :)



Η διαδικασία της εγγραφής δεν θα πάρει πολύ χρόνο, ενώ με το τελείωμα θα πρέπει να μαρκάρουμε το έργο μας και να τις τοποθετήσουμε στις ανάλογες θέσεις (IC5,6,7,8)





Το board όπως έχω αναφέρει είναι original κι αυτό σημαίνει ότι η ποιότητα κατασκευής του είναι εξαιρετική :thumbup:

Όλες οι eproms είναι τοποθετημένες σε βάσεις. Ανάμεσα στις υπόλοιπες θα βρούμε και μια κενή να μας περιμένει (μετά από τόσες δεκαετίες), προκειμένου να τοποθετήσουμε τα καινούργια μας καλούδια. Ακόμη μια θέση, η IC 12 είναι έτοιμη by default για την τοποθέτηση της αντίστοιχης socket ώστε να στρογγυλοκαθίσει η σταθερή (ελεύθερη μετάφραση του όρου: non-volatile) 2K X 8 SRAM που θα "βλέπει" την low memory area μεταξύ $7000-$7FFF και θα αποθηκεύσει τα saves μας. Τα ανάλογα εμπορικά προϊόντα που θα επιστρατεύσουμε για αυτή την δουλειά είναι (ενδεικτικά) κάποιο από τα Dallas 1220 battery backed SRAM ή το ST M48Z02



Το μόνο που έχουμε να κάνουμε είναι να καλύψουμε με μονωτική ταινία τα pins 18 - 20 και 21, αφού εκεί θα χρειαστεί να επέμβουμε. Παστρικές δουλειές και νοικοκυρεμένες.



Ξεκινάμε με το ανασήκωμα των αντίστοιχων pins στην 24pin (2X12) βάση μας.



Κατόπιν ενώνουμε το pin 18 με το 20 και αφήνουμε ελεύθερο το pin 21



Από τα pin 18 και 21 της βάσης θα συνδέσουμε 2 kynar wires που θα συνδεθούν με τα pin 7 του IC 14 και pin 7 του IC 18 της πλακέτας.





Ο λόγος για την παραπάνω επέμβαση είναι γιατί ...

Από http://www.jrok.com/sohs/frogger/frogger.html
...
The board mod adds an additional 2k x 8 SRAM appearing in the low memory area $7000-$7FFF.
SRAM control inputs /OE ( output enable ) & /CE ( chip enable ) are tied to IC18 ( 74LS138 ) pin 7, this is the low memory address decoder. SRAM /WE ( write enable ) is tied to the buffered z80 /WR line IC14 (74LS367 )pin 7.

When memory in the region of $7000-7fff is accessed, by a read or a write operation by the z80, then "output 7" of IC18 goes low, pulling the SRAM /CE ( chip enable ) and /OE ( output enable ) low.

If the z80 is performing a read operation the /WE line remains high and output from the SRAM appears on the databus, if the /WE line goes LOW, the z80 is performing a write operation signalled by the z80 /WR line going low, and the buffer output at IC14 pin 7 also going low the, SRAM goes into write mode and data is read from the databus, into the SRAM.

...
Η πλακέτα μας, μετά το τέλος των επεμβάσεων:



Η socket είναι έτοιμη να υποδεχτεί τώρα την SRAM αλλά αφού η παραγγελία έπεσε τώρα στους Κινέζους, ζήσε Μάη μου να φας τριφύλλι (για τον χρόνο παραλαβής)! Εν πάση περιπτώσει, τίποτα δεν μας περιορίζει να δοκιμάσουμε το hack. Το μόνο μειονέκτημα ωσότου έρθει η SRAM είναι ότι δεν θα μπορέσουμε να σώζουμε το high score μας, με το που θα βγάζουμε την "πρίζα". Μικρό το κακό, δεν θα οργανώσω άμεσα δα και κανένα πρωτάθλημα! Χι!Χι!Χι! :D

Για λοιπόν να ανάψουμε, να δούμε τι κάναμε...



Τις βλέπετε τις διαφορές; Το hack δουλεύει! Ευτυχία και Ψυχική ανάταση! :lol:



Λίγα λεπτά παιχνιδιού, έτσι για την δοκιμή! Μένει να μου έρθει το πολυπόθητο Dallas...Good night!;)

*
 

Attachments

geoanas

Commodore Vampire
Staff member
Messages
6,564
Reaction score
4,333
Points
223


Το DALLAS κατέφθασε μόλις προχθές και τοποθετήθηκε στη θέση του. Το original arcade FROGGER μου, μόλις απέκτησε μνήμη!
Κρατάει πλέον φυλαγμένα τα high scores, μαζί με τα τρία αρχικά γράμματα του "μεγάλου παίκτου", είτε είναι στην πρίζα είτε όχι.



Η επέμβαση λειτουργεί 100% και εγώ συνεχίζω με άλλα!
 
Top