jeudi 29 août 2024

ftest 2.2 (060)

Nouvelle update :
  • fix Motorola bugs, movem/fmovem inversés

La 2.1 fonctionnait bien sous WinUAE, mais crashait sur le hardware réel !

Pas toujours de ma faute les bugs... 

Comme d'habitude, tout est disponible ici...
    

vendredi 23 août 2024

68040.library 44.8

Nouvelle version qui fera date, enfin je l'espère :
  • fix un possible crash de la précédente version 44.7 dans certaines circonstances
  • 68060.library 44.10 incluse

Voilà ce qu'il fallait faire à l'époque : l'intérêt supérieur de notre machine commande une seule 68040.library unifiée de façon à garder la plus grande simplicité possible pour les utilisateurs, un fichier unique qui gère toutes les spécificités du 040 et du 060, ainsi que tous les différents modèles avec ou sans FPU et même sans MMU.

Ce nouveau source asm d'une section 100% relatif est organisé de la façon suivante :
  1. patchs spécifiques 040 pour le Kickstart avec gestion EC ou LC si détecté
  2. configuration de la MMU 040 si détectée
  3. patchs spécifiques 060 pour le Kickstart avec gestion EC ou LC si détecté
  4. configuration de la MMU 060 si détectée
  5. fpsp 2.8 040 (émulation software des instructions float hardware manquantes du 040)
  6. constantes et tables fpsp 040
  7. constantes et tables fpsp 060
  8. fpsp P1.30 060 (émulation software des instructions float hardware manquantes du 060)
  9. isp P1.30 060 (émulation software des instructions integer hardware manquantes du 060)

Puisqu'un seul CPU 040 ou 060 ne peut fonctionner en même temps, les nombreuses constantes ont donc été placé entre les deux différentes fpsp.

Il existe de très nombreux doublons code et data entre les deux librairies 040 et 060, à supprimer donc pour les prochaines versions... Encore beaucoup de boulot en perspective !

Attention avec les SetPatch, il en existe de deux sortes pour les CPUs 040 et 060 : les premiers chargent uniquement une 68040.library tandis que les autres plus récents qui détectent bien le 060 et donc montent directement une 68060.library comme par exemple la version 44.38 du Boing Bag 2.

Pour solutionner cette différence le plus simplement possible, je release deux versions, une contenant 4 et l'autre 6 dans leurs noms, tout le reste est identique :
$34 égal 4 et $36 égal 6 en ASCII

Rassurez-vous, il n'y aura qu'une seule librairie pour les firmwares !

Comme d'habitude, tout est disponible ici...
     

jeudi 22 août 2024

68040.library 44.7

Une rapide update pour préparer à ma fameuse 68040.library 44.8 :
  • update fpsp.bin 040 version 2.8
  • quelques inlines ici et là
  • tous les branchements sont automatiquement gérés par Vasm (Opt o1+)

Vous aller comprendre pourquoi j'ai repris ces Software Packages dans le prochain article !

Comme d'habitude, tout est disponible ici...
  

fpsp.bin 2.8 (040)

Une légère update :
  • quelques inlines ici et là
  • suppression de quelques bouts de code inutilisés
  • unrolled plusieurs loops .super_readwrite
  • inliné toutes les sous-routines _get_fline_040

    

lundi 19 août 2024

68060.library 45.10 générique

Il restait toute une ribambelle de tables inutiles, j'ai tout inliné, beaucoup mieux comme ça maintenant !


Bientôt, une nouvelle version de la 68040.library 44.8 que je murissais depuis très très longtemps...

Comme d'habitude, tout est disponible ici...
    

dimanche 18 août 2024

68060.library 45.9 générique

Nouvelle version avec les toutes dernières isp & fpsp :
  • update isp.bin version P1.30
  • update fpsp.bin version P1.30
  • TurboMMU040+ désactivé si exec.library 47.10 détectée

J'ai encore laissé les longues tables d'accès inutiles aux isp et fpsp, je vais les dégager demain dans une prochaine version 45.10...

Comme d'habitude, tout est disponible ici...
   

mercredi 14 août 2024

fpsp.bin & isp.bin P1.30 (060)

Rapide update, comme pour la version 040 :
  • toutes les données regroupées et misent à la fin du source
  • tous les accès PC des flottants simple et double précision transformés en accès immédiat
  • Vasm 2.0 béta Opt of+ activée pour fpsp.bin
  • Vasm Opt o+ activée
  • ajout de $VER: à la fin

Comme d'habitude, tout est disponible ici...
     

mardi 13 août 2024

68040.library 44.6

Nouvelle update avec la version 2.7 du fichier fpsp.bin
   
Comme d'habitude, tout est disponible ici...
    

fpsp.bin 2.7 (040)

Une rapide update :
  • toutes les données regroupées et misent à la fin du source
  • tous les accès PC des flottants simple et double précision transformés en accès immédiat
  • Vasm 2.0 béta Opt of+ activée

Mieux vaut séparer le code et les données dans le source : regrouper le code au début et ensuite les données à la fin, le tout en une seule section pour garder la relativité. De cette façon, d'éventuel(s) problème(s) de cohérence des deux caches internes peuvent être évité(s).

Et plutôt privilégier les accès immédiats # pour les floats : prends certes un peu plus de code cache mais surtout supprime les accès mémoires aux données.

Voilà, terminé pour les améliorations les plus simples. J'ai quand même gagné 5725 octets par rapport à la dernière version de Motorola 2.3, toujours bon à prendre !

Dire qu'il a fallut 33 ans d'attente pour obtenir cette nouvelle version...
    

dimanche 11 août 2024

68040.library 44.5

Nouvelle update avec la version 2.6 du fichier fpsp.bin !
    
Comme d'habitude, tout est disponible ici...
 

fpsp.bin 2.6 (040)

Continuation des légères améliorations les plus simples :
  • inlinées toutes les lectures/écritures mémoire
  • tous les branchements sont automatiquement gérés par Vasm (Opt o1+)
  • supprimé quelques datas inutilisées
  • supprimé quelques bouts de code inutilisés
  • Vasm Opt o+ activée

  

68040.library 44.4

Nouvelle update avec la version 2.5 du fichier fpsp.bin !
  
Comme d'habitude, tout est disponible ici...

vendredi 9 août 2024

fpsp.bin 2.5 (040)

Bonne update aujourd'hui avec le fichier fpsp.bin maintenant 100% PC relatif !

Plus de 850 adresses absolues maintenant relatives, évitant ainsi le même nombre de relocs !
   

68040.library 44.3

Nouvelle version avec donc la toute dernière version fpsp.bin 2.4 de Motorola ! 

Comme d'habitude, tout est disponible ici...
   

jeudi 8 août 2024

fpsp.bin 2.4 (040)

Me suis aperçu que la dernière 68040.library d'Haage & Partner 44.2 était équipée d'une ancienne version du package d'émulation des instructions FPU manquantes du 68040.

Bref, j'ai donc tout repris les sources de la dernière version 2.3 disponible par Motorola à l'époque pour l'adapter à nos Amiga...

Par contre, la version de la 68040.library 46.13 de Phase5 semble bien contenir cette fameuse 2.3 !

Je reprends donc là où Motorola s'était hélas arrêté en 1991/92... Quelle idée aussi d'avoir voulu remplacer les 68k CISC par des PPC RISC beaucoup moins bien : tout dégrader est très grave... Et j'ai même bien l'impression que ces PPC sont en fait des 68k inversés, développés pour être sûr et certain de créer un nouveau CPU le plus nul possible : et pour faire croire que les PPC sont "mieux" que les anciens 68k, ils ont augmenté les caches internes et monté la fréquence. 

Nouveau package donc en version 2.4 :
  • _copyin supprimé (inutile sur Amiga)
  • _copyout supprimé (inutile sur Amiga)
  • _mem_write_040 et _mem_read_040 unifiés

J'ai déjà inclue cette nouvelle version dans la 68040.library d'Haage & Partner...