Affichage Public Emulation MSX sur Game & Watch
Bonjour à tous, j'ai effectué un portage de blueMSX sur Game & Watch (plus exactement dans game-and-watch-retro-go qui est un système multi émulateurs pour la G&W), ça m'a demandé pas mal d'heures de boulot et il manque quelques petits détails pour que ça soit parfait, mais je suis plutôt content du résultat déjà
Vous pouvez avoir un aperçu vidéo du résultat ici : https://www.youtube.com/watch?v=oIzmozKwYuA
Mon code est disponible dans mon repo : https://github.com/sylverb/game-and-watch-retro-go
N'hésitez pas si vous avez des questions (notamment sur le hack de la G&W qui est tout sauf trivial surtout qu'il s'accompagne souvent du changement de la puce de mémoire flash qui est un peu limite en taille à l'origine : 1Mo pour la G&W Mario et 4Mo pour la G&W Zelda ! Edité par Sylver Le 05/09/2023 à 13h23
Vous pouvez avoir un aperçu vidéo du résultat ici : https://www.youtube.com/watch?v=oIzmozKwYuA
Mon code est disponible dans mon repo : https://github.com/sylverb/game-and-watch-retro-go
N'hésitez pas si vous avez des questions (notamment sur le hack de la G&W qui est tout sauf trivial surtout qu'il s'accompagne souvent du changement de la puce de mémoire flash qui est un peu limite en taille à l'origine : 1Mo pour la G&W Mario et 4Mo pour la G&W Zelda ! Edité par Sylver Le 05/09/2023 à 13h23
Sebbeug :
Petit conseil, mets par défaut la fréquence à 60hz, sur Aleste2 le 50Hz jure un peu.
Sinon, j'adore ! Cette taille d'écran colle parfaitement aux jeux MSX.
Sinon, j'adore ! Cette taille d'écran colle parfaitement aux jeux MSX.
Merci, pour l'instant j'ai remis en 50Hz par défaut car sur le 60Hz j'ai un petit soucis de son qu'il faut que je règle (il me manque quelques échantillons du coup ça fait des claquements) et en plus sur certains jeux à 60Hz c'est tendu niveau CPU (mais pour ça au pire je pourrais overclocker un peu la fréquence CPU) !
Je voudrais aussi pouvoir ajouter un zoom pour les jeux qui n'utilisent qu'une petite partie de l'écran, mais je suis à court de RAM dans la G&W pour pouvoir le faire (là en ce moment blueMSX écrit en direct dans le framebuffer).
Autre soucis, sur les jeux en screen 6/7 (512x212), la qualité est dégradée pour passer sur l'écran en 320x240 de la G&W, du coup c'est pas hyper lisible.
Il y a quelques améliorations que je voudrais ajouter :
- Configuration correcte des controls pour chaque jeux via une database pour configurer ça automatiquement
- Ajout d'un moteur de triche (il est présent dans blueMSX windows, mais il n'est pas présent dans le code source disponible sur leur site), je me referai bien quelques jeux, mais farmer de l'XP c'est un peu chiant au bout d'un moment
- Ajout de la compression pour les roms (pour le moment je n'ai mis de la compression que pour les images disquettes, pour les roms il faudra faire ça en fonction du mapper, du coup c'est un peu plus galère, et il faut que je vois si j'ai assez de ram pour faire un cache sinon ça risque de prendre trop de CPU pour décompresser toutes les données à chaque changement de bank.
- Modification des bios pour toujours désactiver le 2ème FDD (équivalent de l'appui sur ctrl au démarrage, nécessaire pour certains jeux), je voudrais que ça soit fait automatiquement, mais j'avoue que je ne connais pas bien le bios du MSX du coup ça risque de me prendre du temps pour trouver la partie qui fait ça ...
Je n'ai pas trop parlé de la G&W, mais quelques trucs à savoir :
- Le CPU est un STM32H7B0VBT6 @ 280MHz
- Ecran 320x240 en RGB565 (codage des couleurs sur 16 bits donc)
- La ram est très limitée, environ 1.2Mo pour à la fois le code de l'émulateur à faire tourner (car executer le code en Flash ça ne marche pas bien car la flash est lente) et pour la ram utilisée par l'émulateur, par exemple pour le MSX, j'utilise 128Ko de RAM et 128Ko de VRAM, et il faut ajouter à cela toute la ram utilisée par l'émulateur pour fonctionner.
- Elle utilise de la serial flash, de base il y a 1Mo sur la Mario et 4Mo sur la Zelda, autant dire quasiment rien ... La hack de la console s'accompagne souvent d'un changement de cette flash (il y a des puces de 16Mo pas très chères et faciles à installer, des 64Mo pas très chères non plus mais qui sont à installer à l'air chaud, et des flash 128/256Mo qui nécessitent un adaptateur car le format n'est pas compatible, ces dernières sont dans un package BGA, et pour arranger le tout, elles sont particulièrement difficiles à trouver ces derniers temps)
- Le hack s'effectue via un adaptateur JTAG de type ST-LINK v2, certains utilisent une RPI pour programmer mais c'est assez chiant et lent. Pour information, flasher une puce de 256Mo prend environ 1 heure ...
- Le CPU est un STM32H7B0VBT6 @ 280MHz
- Ecran 320x240 en RGB565 (codage des couleurs sur 16 bits donc)
- La ram est très limitée, environ 1.2Mo pour à la fois le code de l'émulateur à faire tourner (car executer le code en Flash ça ne marche pas bien car la flash est lente) et pour la ram utilisée par l'émulateur, par exemple pour le MSX, j'utilise 128Ko de RAM et 128Ko de VRAM, et il faut ajouter à cela toute la ram utilisée par l'émulateur pour fonctionner.
- Elle utilise de la serial flash, de base il y a 1Mo sur la Mario et 4Mo sur la Zelda, autant dire quasiment rien ... La hack de la console s'accompagne souvent d'un changement de cette flash (il y a des puces de 16Mo pas très chères et faciles à installer, des 64Mo pas très chères non plus mais qui sont à installer à l'air chaud, et des flash 128/256Mo qui nécessitent un adaptateur car le format n'est pas compatible, ces dernières sont dans un package BGA, et pour arranger le tout, elles sont particulièrement difficiles à trouver ces derniers temps)
- Le hack s'effectue via un adaptateur JTAG de type ST-LINK v2, certains utilisent une RPI pour programmer mais c'est assez chiant et lent. Pour information, flasher une puce de 256Mo prend environ 1 heure ...
Bonjour ,
très bonne nouvelle tout ça
J'ai acheté une Game watch Zelda il y a 2 semaines
Je viens d'acheter le ST LINK V2 pour le hack
Je ne compte pas changer la puce mémoire pour le moment , je vais rester avec les 4MO de base...
Si j'arrive a faire le hack je vais tester ça rapidement
très bonne nouvelle tout ça
J'ai acheté une Game watch Zelda il y a 2 semaines
Je viens d'acheter le ST LINK V2 pour le hack
Je ne compte pas changer la puce mémoire pour le moment , je vais rester avec les 4MO de base...
Si j'arrive a faire le hack je vais tester ça rapidement
msx45 :
Bonjour ,
très bonne nouvelle tout ça
J'ai acheté une Game watch Zelda il y a 2 semaines
Je viens d'acheter le ST LINK V2 pour le hack
Je ne compte pas changer la puce mémoire pour le moment , je vais rester avec les 4MO de base...
Si j'arrive a faire le hack je vais tester ça rapidement
très bonne nouvelle tout ça
J'ai acheté une Game watch Zelda il y a 2 semaines
Je viens d'acheter le ST LINK V2 pour le hack
Je ne compte pas changer la puce mémoire pour le moment , je vais rester avec les 4MO de base...
Si j'arrive a faire le hack je vais tester ça rapidement
Tu vas être très limité avec une flash de 4Mo
D'ailleurs si jamais ça intéresse des gens, je peux vendre des consoles toutes prêtes avec une puce de 64Mo (je vends ça à 110€ + fdp habituellement), sur 64Mo on a la place de mettre pas mal de jeux MSX Edité par Sylver Le 06/05/2022 à 19h21
Bon bonne nouvelle, avec quelques conseils de la part des gens sur msx.org et avec l'aide d'openMSX et de son debugger, j'ai pu trouver comment désactiver le 2ème contrôleur FDD automatiquement (au niveau du disk bios), du coup quand j'aurais ajouté ce qu'il faut pour patcher le bios automatiquement, il n'y aura plus besoin de démarrer en appuyant sur la touche ctrl pour certains jeux !
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie