mardi 30 juin 2020

Prometheus avance

Ma version du Prometheus pour le 4000D avance un peu :

Encore un peu de soudure à faire...
  

dimanche 21 juin 2020

bench_cos 1.1

Voici une nouvelle version de mon benchmark, avec quelques améliorations :

L'utilitaire calcul maintenant en simple précision et les sincos font leur apparition.

Comme d'habitude, tout est disponible ici de façon gratuite...
  

lundi 15 juin 2020

Kickstart (A500 rev5)

Encore un soucis de Kickstart pour les Amiga 500 de révision 5, que j'ignorais je vous avoue...

Avec une eprom 27C400, il est nécessaire de rajouter un petit strap reliant la pinoche 1 à la 31 :

Certes, il existe de petits adaptateurs dans le commerce, à chacun sa préférence !

Comme quoi il y a beaucoup de choses à savoir dans notre petit monde...
  

samedi 13 juin 2020

Kick 3.1 (A500+ rev 8A)

Un de mes lecteurs ManMax avait des soucis avec son Kickstart flashé sur une eprom de marque Toschiba de 150ns : rien à l'écran à l'allumage...

Même problème qu'avec les révision 6A...

Bref, en soudant des 4.7K SIL10 sur RP106, RP107, RP108 et RP110 :

L'Amiga démarre enfin :

Bon à savoir !
 

dimanche 7 juin 2020

bench_cos 1.0

Comme promis dans mon précédent article, voici deux petits benchmarks calculant la vitesse :
  1. d'un tout petit cosinus (angle 0.2)
  2. d'un gros cosinus (angle 49.8)

Deux, car la fonction de la mathieeedoubtrans.library utilise une routine de réduction pour les grands angles. 

Le premier résultat affiché donne donc la vitesse de fcos 0.2 par la 68060.library, et le deuxième par la mathieeedoubtrans.library :
Blizzard 1260@50 avec 68060.library 46.16 (1/04/2018) et mathieeedoubtrans.library_060 46.00
 
Comme vous le constatez, la différence est assez importante tout de même : les petits cosinus sont presque 2 fois plus rapides et les gros environ 3 fois...

Vous comprenez tout l'intérêt à plutôt utiliser les librairies mathieee adéquates à votre CPU plutôt que les 68040 et 68060.library...

Comme d'habitude, tout est disponible ici de façon gratuite...
   

ref_soft.dll (Quake2)

La version commerciale de Quake 2 en 2002 disposait d'un mode rendu software, c'est à dire que vous pouviez y jouer sans GPU, donc sans Warp3D, ni même Wazp3D d'ailleurs. Il fallait toutefois disposer obligatoirement d'un écran RTG :

J'avais déjà recompilé en 2016 la version GPU ref_gl.dll avec un petit gain de 2 fps environ en sélectionnant -m68060 sous gcc.

Hyperion avait compilé l'ensemble des fichiers C avec les options 020/030 de StormC4 pour que le jeu utilise alors les lentes 68040/68060.library, ceci afin de ralentir le moteur de Quake2.

Le fichier ref_soft.dll s'occupe donc du rendu 3D sans l'aide d'un quelconque GPU : il contient 8 fcos et 11 fsin, mnémoniques absentes des transistors des 040/060. Il a fallut donc quatre jours pour désassembler 63 300 lignes d'asm, et une petite fin de journée pour remplacer à la main ces 19 instructions trigo par des appels à la mathieeedoubtrans.library... Il est bien sûr très important d'installer la bonne mathieeedoubtrans.library 46.00 dans Sys:Libs/ !

Le speedup sur une Blizzard 1260@50 avec un Mediator et une Banshee 3dfx est très léger hélas, mieux que rien toutefois, de 2.9 fps :

A 3.3 fps seulement :

Je vais coder un petit utilitaire de bench pour voir la différence de vitesse entre un fcos de la 68060.library et son équivalent pour le même angle par la mathieeedoubtrans.library... Pourra être intéressant...
 
Comme d'habitude, tout est disponible ici de façon gratuite...