- Unreal Engine 5.8: Η Epic φέρνει το ray tracing σε Nintendo Switch 2 με 60fps - 21 Ιουλίου 2026
- 40 χρόνια μετά, βρέθηκε το πιο ακριβό βιντεοπαιχνίδι που υπάρχει - 21 Ιουλίου 2026
- Η Nintendo επιστρέφει στην Ινδία μετά από 15 χρόνια απουσίας - 21 Ιουλίου 2026
Ορισμένες φορές, το hacking αφορά τη δημιουργία κάτι που καλύπτει μια ανάγκη που κανένα έτοιμο προϊόν δεν ικανοποιεί πλήρως. Άλλες φορές, οι άνθρωποι hack απλώς για να δουν μέχρι πού μπορούν να σπρώξουν το hardware πέρα από τις προβλεπόμενες δυνατότητές του. Όταν δημιουργοί τρέχουν το Doom σε οδοντόβουρτσες, τοστιέρες και θερμοστάτες, τα project τους σίγουρα εμπίπτουν σε αυτή την τελευταία κατηγορία. Το πιο πρόσφατο project του Throaty Mumbo σπρώχνει επίσης το Nintendo 64 να κάνει κάτι που δεν προοριζόταν ποτέ να κάνει: να τρέξει Windows CE.
Γιατί θα θέλατε να τρέξετε μια παλιά έκδοση των Windows CE σε ένα Nintendo 64, θα αναρωτιόσασταν. Ε, λοιπόν, δεν θα θέλατε, πραγματικά. Θα είχατε πολύ περισσότερο fun παίζοντας το GoldenEye 007. Ωστόσο, η πρόκληση να το κάνετε να λειτουργήσει ήταν πολύ μεγάλη για να αντισταθεί ο Throaty Mumbo, οπότε το έκανε.
Αυτό κατέστη δυνατό από το γεγονός ότι τα Windows CE 2.11 της Microsoft σχεδιάστηκαν να τρέχουν σε low–power embedded hardware, συμπεριλαμβανομένων συστημάτων που βασίζονται σε επεξεργαστές MIPS R4000. Τυχαία, ο επεξεργαστής NEC VR4300 του Nintendo 64 βασίζεται επίσης στην αρχιτεκτονική MIPS R4000. Αυτή η κοινή καταγωγή σήμαινε ότι η κονσόλα ήταν θεωρητικά ικανή να εκκινήσει το λειτουργικό σύστημα αν κάποιος μπορούσε να κατασκευάσει το κατάλληλο hardware abstraction layer και τους υποστηρικτικούς drivers.
Η υλοποίηση αυτού εξελίχθηκε σε έναν μήνα μαραθωνίου reverse engineering που περιλάμβανε αρχαία toolchains της Microsoft, custom hardware mods και άφθονο debugging. Τα αρχικά εργαλεία ανάπτυξης των Windows CE είχαν σχεδιαστεί να τρέχουν σε συστήματα Windows NT 4.0, οπότε ο Throaty Mumbo χρησιμοποίησε το Wine ρυθμισμένο για συμβατότητα με NT υπό Linux για να compile το λογισμικό. Το testing με emulators όπως το QEMU και το Ares βοήθησε να επικυρωθούν οι πρώτες εκδόσεις πριν αυτές μεταφερθούν σε πραγματικό hardware.
Για να επιταχυνθεί η ανάπτυξη, το Nintendo 64 συνδέθηκε με ένα σύγχρονο automated testing setup. Ένα EverDrive flash cartridge επέτρεπε custom ROMs να φορτώνουν απευθείας από SD card, ενώ μια USB σύνδεση επέτρεπε σε έναν PC να ανεβάζει αυτόματα νέες εκδόσεις. Ο Throaty Mumbo έγνεψε καλώδια απευθείας στο κουμπί reset της κονσόλας ώστε scripts να μπορούν να την επανεκκινούν απομακρυσμένα μετά από κάθε κύκλο compile.
Αυτή η ρύθμιση αποδείχθηκε πολύτιμη όταν άρχισαν να εμφανίζονται προβλήματα. Το EverDrive cartridge προκαλούσε μυστηριώδεις crashes κατά τη διάρκεια των transfers ROM–to–RAM, προκαλώντας την αναβάθμιση στο νεότερο EverDrive–64 X7 με open–source firmware και βαθύτερη πρόσβαση στο debugging. Σε κάποιο σημείο, ο stock πυρήνας των Windows CE έγινε τόσο “μαύρο κουτί” που ο Throaty Mumbo έγραψε προσωρινά ένα custom clone kernel αποκλειστικά για να παρακολουθεί την αρχικοποίηση του hardware και να εντοπίσει πού κολλούσε το σύστημα. Τελικά, ο πραγματικός ένοχος αποκαλύφθηκε, επιτρέποντας στο project να επιστρέψει στον εντελώς αμετάλλακτο πυρήνα των Windows CE 2.11 της Microsoft.
Αφού επιλύθηκαν τα ζητήματα, ο controller του N64 λειτουργούσε ως mouse, η SD card του EverDrive mountάρεται ως storage, ο ήχος έπαιζε μέσω του native hardware της κονσόλας, και standard Windows CE applications άνοιγαν απευθείας από το desktop. Η port μπορεί να τρέξει προγράμματα όπως το Paint, το Notepad και ένα περιστρεφόμενο 3D cube demo που επιταχυνόταν μέσω του Reality Display Processor του N64.

