Η hacking console scene δεν θα υπήρχε, αν οι εταιρίες δεν κλείδωναν τα μηχανήματα τους, αποτρέποντας από τους χρήστες τους την αναπαραγωγή software που προορίζονταν για άλλη χώρα από την δική τους. Για σχεδόν κάθε παιχνιδομηχανή, υπάρχει και ο αντίστοιχος τρόπος που την ξεγελούσε, ώστε να τρέχει τίτλους που δεν προορίζονταν για την συγκεκριμένη έκδοση της. Ας δούμε σε αυτό το άρθρο το κλείδωμα του NES (ή Nintendo Entertainment System).
CIC, η προστασία του NES
Το συγκεκριμένο chip, το οποίο ονομάζονταν Checking Integrated Circuit, ήταν η αρχική έκδοση του κλειδώματος των cartridge του NES.
Σχεδιάστηκε να κάνει τις παρακάτω ενέργειες:
- Να δώσει στην Nintendo τον έλεγχο των παιχνιδιών που θα κυκλοφορούσαν στην κονσόλα
- Να αποτρέπει την αναπαραγωγή πειρατικών παιχνιδιών από το NES
- Να κάνει ευκολότερο το κλείδωμα των περιοχών (Regional lockout)
Το NES κυκλοφόρησε το 1983 αλλά το CIC παρουσιάστηκε σαν λύση κατά της πειρατείας, όταν η Nintendo αποφάσισε το 1985 να κυκλοφορήσει την κονσόλα και σε άλλες αγορές και μπορούμε να πούμε ότι η απόφαση πάρθηκε και λόγω του Atari 2600, όπου η κυριότερη αιτία της καταστροφής του ήταν η κυκλοφορία πολλών και χαμηλών ποιοτικά τίτλων.
Θα πρέπει εδώ να τονίσουμε ότι η προστασία δεν υπήρχε στις Ιαπωνικές κονσόλες και στα cartridges. Επίσης, το περίφημο CIC μπορούσε εύκολα να βγει εκτός λειτουργίας από τις εταιρίες που ήθελαν να κυκλοφορήσουν τα δικά τους unlicensed παιχνίδια, στέλνοντας έναν ηλεκτρικό παλμό στο chip και ίσως αυτό να απέτρεψε την Nintendo να το συμπεριλάβει και στην επόμενη έκδοση της κονσόλας, το NES 2 ή NES-101, το οποίο κυκλοφόρησε το 1993.
Μπορείτε να δείτε το εν λόγω chip στις παρακάτω εικόνες από την μητρική του NES:
Το chip αυτό ήταν ένα ROM (δεν μπορούσες δηλαδή να γράψεις κάτι άλλο σε αυτό). Στην κονσόλα, το chip είχε την λειτουργία της κλειδαριάς και υπήρχε και ένα αντίστοιχο chip στα cartridges του NES, το οποίο ήταν και το κλειδί που μπορούσε να "ανοίξει" το chip της κονσόλας και να επιτρέψει το cartridge να τρέξει κανονικά. Παρακάτω το chip που βρίσκονταν στα cartridges (από το παιχνίδι Tetris):
Το chip αυτό (των cartridges) το παρήγαγε η Sharp και μπορεί να αναγνωριστεί από τους κωδικούς του:
3193 - 3193A - 3195 - 3195A - 3196 - 3196A - 3197 - 3197A - 6113 - 6113A - 6113B1.
Παρακάτω, ακολουθεί μια λίστα από άτομα που το έψαξαν περισσότερο και αντιπροσωπεύει την κάθε έκδοση του chip:
- 3193 - Αμερική και Καναδάς
- 6113 - Το ίδιο με το προηγούμενο με μικρές διαφορές
- 3194 - Άγνωστο, πιθανόν Κορεάτικη έκδοση
- 3195 - PAL B (Γαλλία, Ισπανία, Γερμανία κλπ)
- 3196 - HK
- 3197 - PAL A (Μ. Βρετανία, Ιταλία και Αυστραλία)
- 3198 - Famicombox lockout chip (βρίσκεται και στα cartridges αλλά και στην κονσόλα)
- 3199 - Famicombox coin timer (μόνο στις κονσόλες)
Πως λειτουργούσε
Μέχρι και το 2010 δεν γνωρίζαμε πολλά πράγματα για το εν λόγων chip, ως ότου η ομάδα fail0verfow (γνωστή από την Wii και PS4 hacking scene) κατάφερε και το αποκρυπτογράφησε. Όπως λοιπόν προανέφερα, το κλείδωμα του NES αποτελούνταν από δύο μέρη:
-Έναν Sharp SM590 4bit microcontroller (στην κονσόλα), όπου έλεγχε τα cartridges και
-ένα αντίστοιχο στο ίδιο το cartridge, όπου έστελνε τον κατάλληλο κωδικό και "ξεκλείδωνε" το chip της κονσόλας. Αν το chip δεν υπήρχε ή έστελνε άκυρο κωδικό, η κονσόλα έμπαινε σε Reset mode.
To pinout του chip
Το πρόγραμμα του chip λέγονταν NES10, οπότε το CIC ήταν το hardware και το 10NES το software που έτρεχε στο CIC.
Το PIN4 ήταν το κλειδί. Το PIN3 ήταν ένα είδος εφοδιασμού. Ήταν συνδεμένο με έναν πυκνωτή και έλεγχε τον χρόνο που απαιτούνταν μέχρι αυτός να αδειάσει. Έτσι "αποφάσιζε" και τον παλμό που θα έστελνε στο αντίστοιχο chip του cartridge (από τους 16 που είχε στην μνήμη του). Επειδή ο χρόνος δεν ήταν ποτέ ο ίδιος, ο παλμός ήταν τυχαίος και έπρεπε και το άλλο chip να "απαντήσει" με τον ίδιο παλμό. Τα πειρατικά cartridge δεν είχαν αυτήν την δυνατότητα να γνωρίζουν τον αντίστοιχο παλμό και έτσι αποτύγχαναν.
Τρόποι απενεργοποίησης
Ένας τρόπος, όπως ανέφερα παραπάνω, ήταν να σταλεί ένα ηλεκτρικό σήμα ("voltage spike"), το οποίο ενεργοποιούσε προσωρινά το chip και επέτρεπε να τρέχει το NES πειρατικά παιχνίδια. Φυσικά η Nintendo αναβάθμισε το κλείδωμα της (από τις κονσόλες "NES-CPU-11" και μετά), ώστε να μην απενεργοποιείται το chip.
Ένας άλλος τρόπος ήταν η δημιουργία μιας ειδικής υποδοχής, όπου έπαιρνε ένα αυθεντικό cartridge και χρησιμοποιούσε το δικό του chip για να ξεγελάσει την προστασία.
Η καλύτερη λύση ήταν της Tengen, θυγατρικής εταιρίας της Atari. Μηχανικοί της Tengen κατάφεραν να "σπάσουν" το κλείδωμα, όταν πήραν στα χέρια τους τον κώδικα του chip από το United States Patent and Trademark Office, ισχυριζόμενοι ότι το χρειάζονταν για μια δικαστική υπόθεση. Δημιούργησαν έτσι το Rabbit chip, το οποίο ξεγέλαγε το chip του NES.
Επίσης μια μικρή εταιρία ονόματι RetroZone, δημιούργησε το δικό της chip όταν έληξε η πατέντα του 10NES (στης 24 Ιανουαρίου 2006), βασισμένη στο Rabbit και το ονόμασε CIClone
Ο Kevtris (ο τύπος με τα γυαλιά στο παρακάτω video), ο οποίος ανέπτυξε το CIClone, είναι επίσης υπεύθυνος για την ανάπτυξη του HD chip για το NES.
Το chip είχε πολλές φορές εξομοιωθεί και σε διαφόρους microcontrollers, όπως ο ATtiny13A.
Πολλές κατασκευές τύπου NES on a Chip (NOAC) είχαν τέτοιους microcontrollers. Παρακάτω, είναι η πλακέτα ενός κλώνου του NES, το "Mega Arcade Action" με το NOAC κάτω από την μαύρη "φούσκα".
Μια άλλη λύση ήταν η απενεργοποίηση του chip, κόβοντας το PIN4. Ήταν ο τρόπος που χρησιμοποιούσαν τα καταστήματα της εποχής σε όσους πήγαιναν τις κονσόλες τους να τους τις "φτιάξουν".
Το ίδιο γίνονταν και αν συνδέονταν το PIN4 με το PIN14, όπου το chip γίνονταν κλειδί και κλειδαριά μαζί και έτσι "άνοιγε".