Projet PiStorm / Amiga 500 500+ 600

Placez ici vos trucs et astuces, étalez sans retenue votre savoir-faire et votre science qui va nous permettre de redonner une apparence neuve et fonctionnelle à nos bouzes.

Modérateurs : Papy.G, fneck, Carl

TotO
Messages : 114
Inscription : 17 avr. 2015 23:31

Re: Projet PiStorm / Amiga 500 500+ 600

Message par TotO »

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 ! :P
Avatar de l’utilisateur
gilles
Messages : 2779
Inscription : 07 août 2008 13:44
Localisation : Nantes
Contact :

Re: Projet PiStorm / Amiga 500 500+ 600

Message par gilles »

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.
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Projet PiStorm / Amiga 500 500+ 600

Message par __sam__ »

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.
Image
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
Avatar de l’utilisateur
gilles
Messages : 2779
Inscription : 07 août 2008 13:44
Localisation : Nantes
Contact :

Re: Projet PiStorm / Amiga 500 500+ 600

Message par gilles »

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).
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Projet PiStorm / Amiga 500 500+ 600

Message par __sam__ »

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
Avatar de l’utilisateur
gilles
Messages : 2779
Inscription : 07 août 2008 13:44
Localisation : Nantes
Contact :

Re: Projet PiStorm / Amiga 500 500+ 600

Message par gilles »

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).
Avatar de l’utilisateur
hlide
Messages : 3469
Inscription : 29 nov. 2017 10:23

Re: Projet PiStorm / Amiga 500 500+ 600

Message par hlide »

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.
Répondre