Πρόσθεσα το Goatfish 2 στην προηγούμενη δημοσίευσή μου.
Η εντολή RUN"GF2" πράγματι φορτώνει το παιχνίδι μέσω ενός BASIC loader, αλλά όταν το ίδιο το παιχνίδι φορτώνει, δεν υπάρχει ήχος και η εισαγωγή από το πληκτρολόγιο φαίνεται να μην λειτουργεί.
Η εντολή RUN"GF2.BIN" προσπερνά τον BASIC loader και απλώς εκτελεί το εκτελέσιμο (binary) του παιχνιδιού. Ο ήχος λειτουργεί, όπως και η εισαγωγή από το πληκτρολόγιο.
Σχετικά με το θέμα που ο εξομοιωτής δεν έβγαζε ήχο, για κάποιο περίεργο λόγο, τώρα λειτουργεί αλλά ο ήχος ακούγεται παραμορφωμένος.
Στην κονσόλα των Chrome Dev Tools μου εμφανίζει το ακόλουθο μήνυμα, το οποίο μπορεί να σχετίζεται: [Deprecation] The ScriptProcessorNode is deprecated. Use AudioWorkletNode instead. (``https://bit.ly/audio-worklet``)
Χμ, ευχαριστώ γι’ αυτό. Πράγματι, το ScriptProcessorNode εκτελείται στο κύριο UI thread και αυτό, θεωρητικά, προκαλεί buffer underruns (IRQ conflicts, κανείς; ). Επίσης, τα εσωτερικά 44.1KHz πρέπει να γίνουν upsample στα 48KHz για τον περιηγητή, κάτι που εισάγει επιπλέον παραμορφώσεις.
Για την ακρίβεια, με έβαλες σε βαθιά νερά. Μόλις ανέβασα μια μικρή τροποποίηση που κάνει τον περιηγητή να βγάζει ήχο στα εγγενή 44.1KHz και διπλασίασα το buffer. Μπορείς να το δοκιμάσεις και να μου πεις;
Το RVM φαίνεται ωραίο, αλλά του λείπει ο έλεγχος που σου δίνει το Caprice32 όταν πατάς το F1.
EDIT: μπα, η διόρθωσή μου δεν λειτουργεί. Θα κοιτάξω να περάσω σε RVM αργότερα σήμερα ή αύριο.
Μόλις το δοκίμασα με το Caprice32 4.6.0 και είχα την ίδια συμπεριφορά.
Ο BASIC loader εκτελείται, μετά το παιχνίδι φορτώνει, εμφανίζεται το αρχικό μενού, αλλά δεν υπάρχει ήχος και δεν αναγνωρίζεται κανένα πάτημα πλήκτρου.
Ωστόσο, τόσο το WinAPE όσο και το Cadence λειτουργούν μια χαρά.
Θα προσπαθήσω να βρω ένα εμπορικό παιχνίδι που χρησιμοποιεί έναν BASIC loader με παρόμοιο τρόπο.
[EDIT] Δοκίμασα τη φανταστική έκδοση του Sly Spy από τον Jean-Marie με προσθήκη μουσικής, καθώς έχει κι αυτή έναν BASIC loader, αν και είναι πολύ πιο περίπλοκος από τον δικό μου.
Και κολλάει κι αυτό αφού φορτώσει το παιχνίδι, χωρίς να αναγνωρίζει τα πατήματα των πλήκτρων!