vendredi 17 février 2017

firmware 5.64

Encore une nouvelle version avec quelques améliorations :
  1. la toute dernière version trigonométrique de Motorola (M68060 Software Package PR P1.00),
  2. CopyMem/Quick_060 v1.1 de Matthey inclu,
  3. RsrvCold et RsrvWarm pour Fusion inclus.

Des résultats erronés aléatoires apparaissaient avec certaines fonctions trigonométriques décelés depuis longtemps, et j'ignorais pourquoi... Et bien, il y a quelques jours, bingo : cette librairie utilisait une vieille version béta du package distribué par Motorola... Je l'ai donc updaté avec la toute dernière version disponible, et les bugs hasardeux ont disparus ! Ouf !

Ensuite, les deux fonctions de l'exec.library, à savoir R_CopyMem et R_CopyMemQuick du Kickstart étaient toujours pour le 68000, maintenant deux autres spéciales pour le 060 ont été incluses avec la permission de son auteur Matthey.

Pour finir avec cette nouvelle version, Fusion le célèbre émulateur Mac avait besoin pour les CPUs 040/060 de deux petits programmes à mettre dans la startup-sequence et ce avec toutes les versions du Kickstart, en occasionnant même un reboot de la machine : c'est dorénavant de l'histoire ancienne !

Fusion démarre maintenant très bien, sans aucune modification ou ajout supplémentaire ! Et surtout sans aucun reboot de la machine !!

Depuis le temps que tout cela aurait dû être fait... Faut être patient sur Amiga alors...

Plus besoin de mettre les mains dans le cambouis, tout est opérationnel à l'allumage de l'Amiga !
  

mercredi 8 février 2017

firmware 5.63

Lorsque vous achetez une voiture, vous exigez que tout soit opérationnel en tournant la clé de contact, et bien, sur Amiga, c'est pareil... Après en avoir discuté sur certains forums, encore une évidence que seul Cosmos Amiga comprenait, incroyable mais vrai...
 
Une nouvelle version du firmware pour les cartes Apollo 68060 avec deux nouveautés :
  1. la maprom du Kickstart en fastram,
  2. SpeedyChip inclu.

Bouh, que c'était lent avant :

Avec SpeedyChip intégré, les écritures en chipmem sont maintenant 56% plus rapides !

Tous les accès Kickstart sont aussi accélérés grâce à sa copie en fastram :

Là encore, tout est automatique. Inutile de rajouter RemApollo et SpeedyChip dans la startup-sequence maintenant.

Pour l'instant, seule la partie 512 Ko est mappé en fast, mais ce nouveau firmware est 100% compatible avec les Kickstart de 1 Mo, sauf que le second bloc reste toujours en rom pour l'instant...

dimanche 5 février 2017

CyberPatcher 1.154

Une nouvelle version de CyberPatcher de Phase5 est disponible !

J'ai en effet trouvé de nombreux bugs, toujours les mêmes d'ailleurs : des movem.l vides... Encore un coup du SAS/C...

Rappelons que cet astucieux programme permet de remplacer dans les programmes une partie des instructions absentes du 68060 et donc prisent en charge par la 68060.library...

Si j'ai bien compris, voici en résumant pour faire simple comment il fonctionne. Je rappel que ce blog est d'abord destiné aux débutants :
  1. une instruction absente est rencontrée, comme par exemple un fcos dans Quake,
  2. une exception "instruction non-implantée" est générée par le CPU,
  3. CyberPatcher dévie l'appel à la 68060.library,
  4. CyberPatcher scanne toute sa liste d'instructions émulées jusqu'à rencontrer le fcos en question,
  5. CyberPatcher remplace alors le fcos dans Quake et redirige vers ses routines à lui,
  6. si Quake exécute une nouvelle fois ce fcos, et bien aucune exception ne sera plus déclenchée,
  7. la routine de CyberPatcher sera ensuite toujours utilisée par Quake, et non plus le fameux fcos.

Il existe aussi OxyPatcher plus complet et qui fonctionne sur toutes les configurations 040/060. Alors que CyberPatcher a été développé uniquement pour les cartes Phase5, et ne supporte qu'une partie de toutes les instructions absentes du 060...

Regardons mon petit programme trigoSpeedTest qui est alors bien plus rapide :

Le SMul64 tout en bas est plus lent avec CyberPatcher car c'est un muls.l d0,d0:d1 qui est absent de sa scan liste... Plus lent car lorsque cette instruction est utilisée, et bien CyberPatch scanne toute sa liste à chaque fois et ne trouve rien, d'où la perte de temps...

J'ai donc rajouté ce fameux muls.l d0,d0:d1 dans ma nouvelle version 1.154, et tout est ok maintenant :

OxyPatcher semble être toutefois plus intéressant, je recherche son code source original...