Παρουσιαση Mister FPGA

Δεν τίθεται θέμα vs απλά αναφερα μια πολύ φτηνή εναλλακτική.
 
Ναι, αλλα δεν ειναι εναλλακτική με την ιδια εννοια που το πατίνι δεν ειναι εναλλακτική για το αυτοκίνητο, παρολο που και τα δυο μπορουν να σε πανε απο το Α στο Β.

Αυτο ομως δεν σημαινει οτι μειώνω το πατινι, γιατι μπορεις να διασκεδάσεις ωρες με δαύτο.

Και παλι συγνωμη για το υφος μου, αλλα εχει καταντησει κουραστικο κατω απο καθε video, καθε blog post, καθε παρουσιαση σε forum να πεταγεται καποιος εξυπνακιας και να λεει "raspberry pi", "το pc μου" κλπ, λες και υπαρχει καποιος στον πλανητη που δεν το ηξερε ηδη...
 
Υπαρχουν δυο βασικοι τυποι πυρηνων στο Mister FPGA. Αυτοι που οταν τους φορτωσουμε, εκτελουνται απευθειας και αυτοι που περιμενουν απο εμας να επιλεξουμε media για να λειτουργησουν.

Η πρωτη κατηγορια χωριζεται σε δυο βασικες υποκατηγοριες. Εχουμε πυρηνες που φορτωνουν και εκτελουν απευθειας το παιχνιδι και αυτους που φορτωνουν και εκτελουν καποιου ειδους firmware ή bios και μενουν ετσι μεχρι να τους πουμε τι να κανουν.

Η πρωτη υποκατηγορια ειναι κυριως πυρηνες για παιχνιδια arcade. Μολις φορτωσουμε τον πυρηνα, εκτελειται απευθειας το παιχνιδι και μπορουμε να αρχισουμε να παιζουμε.



Πρεπει πατησουμε το καταλληλο κουμπι για να μπουμε στο μενου επιλογων. Σε καθε πυρηνα υπαρχουν τρεις βασικες οθονες μενου. Μια με γενικες ρυθμισεις του Mister FPGA.



Μια με ειδικες ρυθμισεις για τον συγκεκριμενο πυρηνα. Αυτες ειναι συνηθως εντελως διαφορετικες απο πυρηνα σε πυρηνα.



Μια με γενικες ρυθμισεις για καθε πυρηνα. Συνηθως ειναι ιδιες ή παρομοιες για ολους τους πυρηνες. Για παραδειγμα εχουμε και εδω ρυθμισεις controller και αντιστοιχησεις πληκτρων σε λειτουργιες, οπως ειχαμε στις γενικες ρυθμισεις του Mister FPGA, αλλα εδω ισχυουν μονο για τον συγκεκριμενο πυρηνα.



Οτι αλλαγες κανουμε, θα πρεπει να τις αποθηκευσουμε, διαφορετικα θα χαθουν οταν κλεισει ο πυρηνας.

Η δευτερη υποκατηγορια ειναι πυρηνες υπολογιστων ή πιο συγχρονων κονσολων που φορτωνουν καποιο firmware.

Ο πυρηνας του Commodore 64. Οταν φορτωσει, αμεσως μας δειχνει την αρχικη οθονη της Basic.



H οθονη ειδικων ρυθμισεων μας επιτρεπει να παραμετροποιησουμε τον πυρηνα και να φορτωσουμε images απο δισκετες, κασετες και cartridges.



H οθονη γενικων ρυθμισεων, δεν αλλαζει ιδιαιτερα απο πυρηνα σε πυρηνα.



Παμε στην δευτερη κατηγορια πυρηνων, που δεν εκτελουνται αυτοματα αφου φορτωσουν. Προκειται ως επι το πλειστον για κονσολες που δεν εχουν καποιο firmware. Σαν παραδειγμα ο πυρηνα του Mega Drive. Οταν φορτωσει μας δειχνει μια μαυρη οθονη και ανοιγει αυτοματα το μενου ειδικων επιλογων, για να φορτωσουμε καποιο cartridge rom image. Επιπλεον εχουμε επιλογες για να παραμετροποιησουμε τον πυρηνα.



Ας δουμε τωρα μερικους αξιολογους πυρηνες.

Sony Playstation. Οταν φορτωσει ο πυρηνας ξεκιναει με την κλασσικη οθονη του bios.



Πρεπει να επιλεξουμε εμεις disc image απο το ειδικο μενου. Οπως ολοι οι πυρηνες για συσκευες που δεχονται disc images, υποστηριζει bin/cue και chd images.



O πυρηνας ειναι απο τους πιο πλουσιους σε λειτουργιες και επιλογες. Ειναι απο τους ελαχιστους πυρηνες με save states.



Ειναι απο τους λιγους πυρηνες που υποστηριζει cheats. Δεν χρειαστηκε να κανω το παραμικρο, παρα μονο να επιλεξω να τα κατεβασει το update all script.



Πλουσιες και οι ρυθμισεις για εικονα/ηχο και επιπλεον παραμετροποιηση.




Ας παιξουμε και κατι τις. Zoop.




Στην συνεχεια θα δουμε διαφορες τροποποιησεις και αλλους αξιολογους πυρηνες.
 
Οταν πριν απο μερικα χρονια τα everdrive packs μετεξελίχθηκαν σε Hardware Target Game Database, αρχισαν να υποστηρίζουν και το Mister FPGA. Καποια απο αυτα τα packs συνοδεύονται απο scripts, που δημιουργούν φακελους, symbolic links κλπ. Αυτο γενικα δεν ειναι προβλημα, εκτος κι αν χρησιμοποιούμε usb δισκο, στον οποιο εξ' ορισμου δεν επιτρέπεται να τρεχουμε προγραμματα ή scripts. Αυτο μπορουμε να το διορθώσουμε ακολουθώντας τις παρακάτω οδηγιες:

Συνδεομαστε με SSH
Τρεχουμε την εντολη

nano /etc/usbmount/usbmount.conf​

Βρισκουμε την γραμμη που λεει

MOUNTOPTIONS="sync,noexec,nodev,noatime,nodiratime"​

και σβηνουμε την παραμετρο noexec.

Σωζουμε και κανουμε επανεκκίνηση. Πλεον μπορούμε να τρεξουμε scripts και απο εξωτερικούς δισκους.

Ο πυρήνας για emulation της Amiga ειναι εμπνευσμένος απο το Minimig, ενας απο τις πρωτες υλοποιήσεις οποιουδήποτε κλασσικου υπολογιστή σε FPGA που ξεκίνησε το 2005. Η κοινοτητα του Mister FPGA δημιούργησε το Amigavision, ενα ολοκληρωμένο πακετο που διευκολύνει την εγκατασταση και χρηση μιας πληρης συλλογής απο παιχνιδια συν μια καλη συλλογή απο demos.

Αφου κατεβάσουμε το πακετο, ακολουθουμε τις συμπεριλαμβανομενες οδηγιες και αντιγράφουμε τα διαφορα αρχεια εκει που πρεπει καθως και προσθετουμε μερικες γραμμες στο αρχειο MiSTer.ini. Μια καθαρή εγκατασταση Mister FPGA δεν θα εχει τετοιο αρχειο, οποτε μπορουμε να αντιγραψουμε το υπαρχον MiSTer_example.ini σε MiSTer.ini και να προσθέσουμε τις απαραίτητες γραμμές εκει.

Επιπλεον για οσους χρησιμοποιούν εξωτερικο δισκο, θα πρεπει να τρεξουμε τον πυρήνα, να παμε στις ρυθμισεις και οπου υπαρχουν αρχεια με paths (για το kickstart, hdd image file κλπ) να ξαναεπιλεξουμε τα αρχεια για να παρουν τα σωστα paths, γιατι απο default ειναι ρυθμισμένα να ψαχνουν στην microsd καρτα.

Απο κει και περα ολα δούλεψαν αψογα. Ο πυρηνας φορτωνει και μας παρουσιαζει ενα περιβαλλον βασισμενο στο ArcadeGameSelector. Οπως βλεπουμε, απο default, προσθετει φιλτρα στην εικονα που μας δινουν μια αισθηση CRT. Τα φιλτρα αυτα ειναι καλοφτιαγμενα και δεν ενοχλουν, αλλα αν καποιος δεν θα θελει, μπορει να τα απενεργοποιήσει απο τις ρυθμισεις του πυρηνα.

Tο περιβαλλον του Amigavision. Μπορουμε να χρησιμοποιήσουμε το πληκτρολόγιο ή το joystick.







Χρησιμοποιειται το WHDLoad για το φορτωμα των παιχνιδιων.



Speed Ball 2




Ας δουμε τις ρυθμισεις του Minimig-AGA_Mister πυρηνα. Σιγουρα δεν ειναι τοσο πολλες οσες πχ στο WinUAE, αλλα νομιζω οτι επαρκούν για να καλύψουν αρκετες απο τις περιπτώσεις χρήσης.








To Amigavision ειναι μια εξαιρετικη προσπάθεια που ειναι ακομα πιο εντυπωσιακή αν σκεφτει κανεις οτι εκτος απο το Mister FPGA, δουλευει σε Analogue Pocket, software emulators και πραγματικό hardware.

Στην συνεχεια, ακομα περισσότεροι πυρήνες!
 
Ο επόμενος πυρήνας που θα τσεκάρουμε ειναι για το Nintendo 64. Το emulation του Nintendo 64 ειναι πιο απαιτητικό απο αλλες κονσόλες της γενιας του και προκαλεί πολλά προβλήματα στα φτηνιάρικα κινέζικα κουτιά. Στο Mister FPGA, αυτο δεν ειναι προβλημα αν και ο πυρηνας παραμενει WIP.

Super Mario 64



Turok 3




Πλούσιος πυρήνας απο άποψη ρυθμίσεων και επιλογών.





Η WIP φυση του προδίδεται απο το debug μενου.



Ενας πυρήνας που ειναι πιο stable και feature complete ειναι αυτος του PCXT. Ειναι μια cycle accurate εξομοίωση του 8088, με επιλογές για εξομοίωση IBM PC/XT ή Tandy 1000, υποστήριξη για MDA, Hercules και CGA, υποστηριξη για IDE controller, προσομοίωση composite, υποστήριξη adlib και joystick.

Το update_all script δεν κατεβαζει bios για αυτον τον πυρηνα αλλα δεν θα δυσκολευτεί κανεις να βρει ενα. Προτιμήστε ενα με ενσωματωμένο XTIDE firmware για να έχετε υποστήριξη για τον IDE controller.

Καποιο μελος της ρετροκοινοτητας εχει κυκλοφορήσει ενα πακετο τυπου 1G1R με ολα τα msdos παιχνιδια απο '81-'89. Εχει ενα ετοιμο bootable hard disk image και μια συλλογη απο floppy images για οσα παιχνιδια δεν ειναι δυνατο να τρεξουν απο σκληρο δισκο. Δυστυχως το περιβάλλον ειναι πολυ φτωχικο και δεν βολεύει καθόλου ετσι εκατσα και ασχολήθηκα λιγο για να το κανω πιο ανθρωπινο.

Τα hard disk images που υποστηρίζει ο πυρηνας ειναι τυπου vhd. Αποφασισα να μεταβαλω το υπάρχον image, αφαιρώντας την εγκατασταση που υπήρχε και προσθέτοντας ενα ωραιο total dos launcher setup. Για να επεμβω στο vhd image χρησιμοποίησα το κλασσικό πρόγραμμα winimage.

Το τελικο αποτέλεσμα επιβραβεύει την προσπάθεια.




Ο total dos launcher.



Dinoeggs. Δεν ειχα καμια δυσκολια να φερω την ταχυτητα του παιχνιδιου στα μετρα μου. Εχοντας βαθια γνωση του πως συμπεριφερεται το παιχνιδι σε πραγματικο hardware μπορω να πω οτι, εμπειρικα τουλαχιστον, το emulation ειναι οντως cycle correct.




Hard Hat Mack.




Τα μενου ρυθμισεων. Για εναν τοσο απλο πυρηνα, ειναι επαρκεστατες.






Στο επομενη επεισόδιο, η εξερεύνηση συνεχίζεται.
 
Τελευταία επεξεργασία:
Ασχολήθηκα λιγο περισσότερο με τον N64 και εμαθα οτι προ καιρου σταμάτησε η ανάπτυξη του γιατι ηδη ειχε φτασει στα ορια των δυνατοτήτων του DE10-Nano. Δυστυχώς υπάρχουν μια χούφτα παιχνίδια που δεν μπορουν να παιξουν σωστα. Για σχεδον ολα εχουν παρουσιάσει διαφορες εναλλακτικες λυσεις οπως να παιξουμε εναλλακτικές εκδοσεις των παιχνιδιών ή να κανουμε overclock το DE10-Nano. Πρόσφατα κυκλοφόρησε μια συλλογη απο patches για τα σημαντικότερα απο τα παιχνιδια που παρουσιάζουν πρόβλημα.

Συνεχιζουμε με εναν ακομα x86 πυρηνα, τον AO486. Αυτος εξομοιώνει εναν υπολογιστη 486sx, με εως 256mb ram, SVGA καρτα γραφικων, SB16 με midi port (που προσομοιώνει intelligent mode), cdrom κλπ. Σε αντιθεση με τον PCXT πυρηνα που ειναι cycle correct, αυτος εδω ειναι ειναι καπως γενικός και αόριστος με σχετικα περιορισμένη συμβατότητα. Παιζει τα γνωστα και δημοφιλη παιχνιδια, αλλα οταν ξεφευγουμε απο την πεπατημενη, τοτε ζοριζουν τα πραγματα.

Η ρετροκοινοτητα εχει δημιουργησει το 0MHz DOS Collection, μια επιμελημενη συλλογη απο κλασσικα παιχνιδια για DOS τα οποια ειναι ελεγμενα να παιζουν σωστα με τον AO486 πυρηνα. Ερχονται πακεταρισμενα σε τετοια μορφη ετσι ωστε να μην χρειαζονται καμια απολυτως ρυθμιση για να παιξουν σωστα.

Εκμεταλλεύονται την λειτουργια shortcuts τυπου MGL που παρέχει το Mister FPGA για να μπορει οποιοσδήποτε να δημιουργει συντομευσεις για να τρεχουν αυτοματα παιχνιδια χωρις να πρεπει πρωτα να φορτώσουμε τον πυρηνα, με οτι παραμέτρους θελουμε εμεις.

Πολυ θετικο για την συλλογη 0MHz ειναι οτι μπορουμε να επιλεξουμε τα παιχνιδια που θα εγκαταστήσουμε και δεν ειναι ολα ή τιποτα. Ακολουθουμε τις απλες οδηγιες και μια επανεκκίνηση αργοτερα ειμαστε ετοιμοι για gaming. Πλεον στο κεντρικο μενου εμφανιζεται μια επιλογη DOS Games.



Μας οδηγει σε μια λιστα με οσα παιχνιδια εχουμε επιλεξει να εγκαταστήσουμε. Ανα πασα στιγμη μπορουμε να προσθέσουμε περισσοτερα.



Αφου επιλεξουμε ενα παιχνιδι φορτωνει τον πυρηνα και ξεκιναει αυτοματα με τις καταλληλες ρυθμισεις. Ας δουμε κανα παιχνιδακι.

Blood.




Descent. Δοκιμασα το joystick και λειτουργει φυσιολογικα.





Alien Carnage




Stunts, το οποιο εγω γνωριζα σαν 4D Sports Driving.




Ολα τα παιχνιδια της συλλογης 0MHz παιζουν αψογα.

Δοκιμασα ομως να τρεξω τον πυρηνα AO486 με το hard disk image που ειχα δημιουργησει για τον PCXT. Εδω ηταν που διαπιστωσα τους περιορισμους και τα προβληματα συμβατοτητας. Παιχνιδια ευαισθητα στην ταχυτητα του υπολογιστη, οπως το Dinoeggs ειναι πολυ δυσκολο να τα κανει να τρεξουν σωστα. Ή θα ειναι πολυ αργα ή υπερβολικα γρηγορα. Επιπλεον ειχα πολλα προβληματα με πραγματα που απλα δεν τρεχουν, τρεχουν και κολλανε ή παιζουν αλλα εχουν θεματα με τα γραφικα κλπ.

Δεν ειναι ομως μονο προβληματα! Harley-Davidson: The Road to Sturgis





Ας ριξουμε και μια γρηγορη ματια στα μενου ρυθμισεων του πυρηνα.


H συνεχεια στο επομενο μηνυμα, λογω του περιορισμου 20 εικονων ανα μηνυμα απο album.
 
Ενας ακομα αξιολογος πυρηνας ειναι αυτος του Sega Saturn. Ειναι ακομα υπο εξελιξη με διαρκείς ενημερώσεις. Παρόλα αυτά τα περισσότερα παιχνίδια παίζουν άψογα.



Battle Arena Toshinden URA




Οι επιλογες του πυρηνα.





Στην συνεχεια, καποια πρωτα συμπερασματα και τα επομενα βηματα.
 
Ξέμεινα απο 64ρες microsd καρτες και επειδή είμαι και ρέστος, ειπα να χρησιμοποιήσω την 64αρα απο το Mister FPGA, που ετσι κι αλλιώς παραμένει σχεδόν άδεια απο τοτε που μετακόμισα σε εξωτερικό δίσκο.

Συνάντησα ομως την δυσκολία οτι κανενα πρόγραμμα disk cloning που δοκίμασα δεν ηθελε να αντιγράψει την 64αρα σε 32αρα με τον συγκεκριμένο συνδυασμό partitions που χρησιμοποιεί το Mister FPGA.

Πέτυχα λοιπόν αυτό εδώ το script που μας επιτρέπει να συνδεσουμε μια δευτερη microsd καρτα στο Mister (με καποιο card reader) και να αναλαβει αυτο να αναδημιουργησει το λειτουργικό, τα partitions και να μεταφέρει ολα τα δεδομενα απο την υπάρχουσα.



Οντως το δοκιμασα και πηγα απο την 64gb σε μια 32 χωρις καμια απολυτως δυσκολία. :thumbup:

Να κανω και μια μικρη διόρθωση σε αυτα που ειχα πει. Ειχα μεινει με την εντυπωση οτι το update_all script αγνοει τον εξωτερικο δισκο και κανει ολες τις αλλαγες στην microsd. Αυτο τελικα δεν ισχυει, κατι που με κανει super χαρούμενο γιατι εχουμε νεες ενδιαφέρουσες εξελιξεις πρακτικά καθε μέρα! :happyjump:
 
Καποια πρωτα συμπερασματα για το Mister FPGA.

Απο χομπιστες για χομπιστες. Οπως και το Raspberry Pi (σε συνδιασμο με καποιο emulation distro) το Mister FPGA ειναι ενα project που ξεκινησε απο την homebrew κοινοτητα και απευθυνεται στους χομπιστες, σε αυτους που δεν φοβουνται να λερωσουν λιγο τα χερια τους για να πετυχουν το επιθυμητο για αυτους αποτελεσμα. Σε αντιθεση ομως με τις διαφορες RPI λυσεις, το υψηλο κοστος της πλατφορμας και το επιπεδο δυσκολιας στην εγκατασταση, που αυξανει κατακορυφα αν ξεπεράσουμε τα τετριμμένα, τo Mister FPGA απευθύνεται σε αυτους που εχουν βασικες γνωσεις linux, κατανοούν τα πλεονεκτήματα του hardware emulation και αποζητουν την πιστοτητα του εξαιρετικα χαμηλου lag και του cycle correct emulation.

Οπως ειναι κατανοητο, πολλοί χρήστες του Mister FPGA προέρχονται απο τον χωρο του retrogaming σε αυθεντικό hardware ή θα ήθελαν να κανουν κατι τετοιο αλλα για διάφορους λογους δεν μπορούν. Βεβαιως το Mister FPGA, οπως και οι RPI λυσεις μπορουν να συνυπάρξουν με το αυθεντικο hardware και να λειτουργήσουν υποστηρικτικά για γρηγορες δοκιμες ή sanity checks κλπ.

Κατι που δεν ειναι παντα κατανοητο, ειναι οτι απο αποψη hardware δεν υπαρχει μονο ενα Mister FPGA και οτι υπαρχουν δεκαδες διαφορετικοι συνδιασμοι περιφερειακών και αναβαθμίσεων, που μπορουν να καλύψουν πολλες διαφορετικές αναγκες και επιθυμιες. Κανεις μπορει να χρησιμοποιει συγχρονες οθονες και χειριστηρια, εξισου ευκολα με CRT οθονες και αυθεντικα controllers απο τις κλασσικες κονσολες. Lightguns τοσο παραδοσιακα, οσο και μοντερνα, ειναι ολοενα και πιο ευκολα χρησιμοποιήσιμα με το Mister FPGA. Μονος περιορισμός ειναι η φαντασια του χρηστη και το βαθος του πορτοφολιου του.

Οσα δεν φερνει ο χρονος, τα φερνει η στιγμη. Οταν ξεκινησε το project, το κοστος του DE10 Nano ηταν μη ευκαταφρονητο, αλλα λογικο. Δυστυχως με τον κορονοιο και την ελλειψη ολοκληρωμένων παγκοσμίως οι τιμες εκτοξευθηκαν σε δυσθεώρητα υψη και ετσι μονο οι φανατικοτεροι των φανατικων μπορουσαν πλεον να το θεωρουν σαν μια ακομα λυση. Ομως απο την στιγμη που ξεκινησα αυτο το thread μεχρι τωρα, τα πραγματα εχουν αλλάξει αρδην, με την επεμβαση των απανταχού παρόντων κινεζων που προσφερουν τουλαχιστον δυο (για την ωρα) εναλλακτικες προτασεις 100% (απ' οτι φαινεται) συμβατες με το Mister FPGA για κοστος σχεδον 1/3 απο αυτο μιας ολοκληρωμένης κλασσικης λυσης Mister FPGA.

Εχοντας υποψη αυτη την αλλαγη και την ωρίμανση των πυρήνων για το hardware emulation των δημοφιλέστερων ρετρο κονσολων και υπολογιστων, πιστευω οτι ειμαστε προ πυλων μιας νεας εκρηξης δημοτικότητας του Mister FPGA. Αν συνυπολογίσουμε μια πολυ ενεργη και φιλικη κοινότητα γυρω απο το project, τους νεους πυρηνες για arcade παιχνιδια που προστιθενται κυριολεκτικα σε εβδομαδιαία βαση, πιστευω οτι το project ειναι υγιέστερο απο ποτε και οτι θα συνεχισει να ειναι ενεργο και να προσφερει νεα πραγματα για πολλα χρονια ακομα.

Ενα μικρο διάλειμμα για gaming. Πλεον εχω φτασει σε δισκο 750gb sata 3.5''! Χρησιμοποιησα το xbox one controller με bluetooth συνδεση. Λειτουργησε απροβληματιστα με την πρωτη και χωρις να χρειαστει να κανω καποια αντιστοιχιση κουμπιων. Παιζω φυσικα ενα απο τα αγαπημενα μου arcade παιχνιδια, Phoenix σε ΤΑΤΕ mode.



Φυσικα δεν σκοπευω να μεινω επ' αοριστω με το υπαρχον φτωχικο configuration. Ελπιδα και επιθυμια μου ειναι να παω στο MiSTer MultiSystem που εχει δημιουργησει η εταιρια Heber σε συνεργασια με τον Neil απο το youtube καναλι RMC. Αυτο που με ελκύει στην συγκεκριμενη λυση ειναι οτι εμφανισιακα μοιαζει πολυ με μια ρετρο κονσολα, οπως ηταν και με το Retroflag NesPI 4 case για το Raspberry Pi 4. Επισης μου αρεσει πολυ η πλούσια λειτουργικότητα της και η εξαιρετικη επεκτασιμότητα. Οταν με το καλο καταφερω να αποκτησω, δεν θα παραλείψω να τα παρουσιασω σε αυτο εδω το thread.

Ξεχασα να αναφερω το καναλι Lu's Retro Source που εχει εβδομαδιαίες ενημερωσεις με ολες τις εξελιξεις στο χωρο του Mister FPGA.
 
Τελευταία επεξεργασία:
Πίσω
Μπλουζα