Il y a déjà une différence de compatibilité entre une CPU à 16MHz et à 7.14MHz juste en terme de fréquence. Sans même vouloir être parfait (le core 68000 du MiSTer doit être pas loin), je pense qu'il y aurait une meilleur compatibilité sur les logiciels disquette, sans se pignoler sur les JIT.
@hlide Après, j'ai déjà ma solution... Juste que je suis limité à 16MHz donc. Et sans couper l'alim !
Projet PiStorm / Amiga 500 500+ 600
Modérateurs : Papy.G, fneck, Carl
Re: Projet PiStorm / Amiga 500 500+ 600
Une émulation "cycle perfect" ne sert que pour les plus anciens programmes et uniquement ceux qui ont été débuggués avec le 68000 d'origine et rien d'autre. Ensuite tout le code compatible A1200 ou carte accélératrice doit être codé en prenant compte de la diversité des horloges CPU et des temps d'accès mémoire.
Perso je n'irai pas sur du JIT pour de l'amiga. Oui c'est une technique qui peut être très performante... mais qui est assez risquée quand on adresse du matériel physique car la phase de recompilation dynamique est assez lente et on a des risques de plantage (typiquement, trop de temps passé pour traiter une interruption avant la suivante...). Le JIT c'est bien pour de l'émulation ou de la virtualisation où on peut se permettre de faire attendre des périphériques simulés.
Perso je n'irai pas sur du JIT pour de l'amiga. Oui c'est une technique qui peut être très performante... mais qui est assez risquée quand on adresse du matériel physique car la phase de recompilation dynamique est assez lente et on a des risques de plantage (typiquement, trop de temps passé pour traiter une interruption avant la suivante...). Le JIT c'est bien pour de l'émulation ou de la virtualisation où on peut se permettre de faire attendre des périphériques simulés.
-
- Messages : 7987
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Projet PiStorm / Amiga 500 500+ 600
Les latences sont justement l'un des soucis sur PiStorm, non pas à cause du JIT, mais de la bande passante imitée pour remonter les infos du bus 680000 physique vers l'ARM via les GPIOs. Typiquement les accès à la chip ram et aux chipset sur PiStorm sont un chouia trop lentes (cf le 0.97 dans l'image qui suit) quand le DMA est pas mal sollicité et ca pose des soucis dans les musiques de certains jeux.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Re: Projet PiStorm / Amiga 500 500+ 600
Possible, j'ai relu le code à un moment et il y a 2/3 trucs qui peuvent être retravaillés je pense (quelques hacks pour faire communiquer l'émulation et le hardware réél). Par contre ça m'étonne un peu que 0.97 soit vraiment significatif, il faudrait regarder la base de temps de Sysinfo, elle est peut être un peu faussée car le code se retrouve côté CPU émulé. Avec des wait state de trop on s'attend plutôt à un chiffre rond basé sur l'horloge du système (par exemple 80% si on ajoute un cycle 68000 de trop).
-
- Messages : 7987
- Inscription : 18 sept. 2010 12:08
- Localisation : Brest et parfois les Flandres
Re: Projet PiStorm / Amiga 500 500+ 600
Le problème n'est pas du coté CPU mais du CPLD faisant l'interface GPIO et bus68000 si la FAQ "discord" est à jour
Bnu — 24/05/2021
Q: [Game/Demo/Application] that I've tried does not work properly, music is too fast, game runs too slow, what's up?
A: At this time, there are issues with the interrupts, and chipset/Chip RAM bandwidth is slightly lower than with a regular 68000 CPU due to CPLD bus translation, these issues are planned to be fixed in a later firmware update.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Re: Projet PiStorm / Amiga 500 500+ 600
A voir en détail. Une partie de la traduction est dans le code C et c'est un détournement des périphériques vers l'émulateur (ce qui est assez logique (mais pas vraiment portable hors amiga...)).
Dans tous les cas on a de fortes chances d'avoir les même problèmes que les cartes accélératrices plus traditionnelles avec en plus des lags parcequ'on ne peut pas maitriser à 100% le temps de traitement du PI (il faut voir dans quelle mesure le "bare metal" est vraiment "bare metal" ou s'il reste un bout de firmware et des interruptions).
Dans tous les cas on a de fortes chances d'avoir les même problèmes que les cartes accélératrices plus traditionnelles avec en plus des lags parcequ'on ne peut pas maitriser à 100% le temps de traitement du PI (il faut voir dans quelle mesure le "bare metal" est vraiment "bare metal" ou s'il reste un bout de firmware et des interruptions).
Re: Projet PiStorm / Amiga 500 500+ 600
https://linuxjedi.co.uk/2021/09/19/this ... 021-09-19/
On parle notamment de Emu68 pour le PiStorm (no linux/bare metal). Le JIT n'a pas l'air de gêner le jeu.
On parle notamment de Emu68 pour le PiStorm (no linux/bare metal). Le JIT n'a pas l'air de gêner le jeu.