mardi 27 décembre 2022

BlazeWCP 1.76

Nouvelle version avec réduction du code qui profitera surtout au 68k avec gros code cache vu ce que j'ai fait, c'est à dire aux 68040 et 68060 : 368 octets de supprimés tout de même !

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

mercredi 21 décembre 2022

firmware 44.82 (WinUAE BPPC)

Nouvelle version avec ma fameuse surprise :
  • ajout de ma cgxsystem.library 42.8b4 si PicassoII ou PicassoIV détectée
  • update fblit.library en version 3.85
  • fblit.library non montée si carte PicassoII ou PicassoIV détectée
  • ajout BWCP_WritePixelLine8 de BlazeWCP 1.75 (Rick Pratt) pour l'AGA
  • ajout BWCP_WritePixelArray8 de BlazeWCP 1.75 (Rick Pratt) pour l'AGA
  • ajout BWCP_WriteChunkyPixels de BlazeWCP 1.75 (Rick Pratt) pour l'AGA
  • Bootstrap 68040/060 un peu plus rapide
  • ajout du nom 'BlizzardRam' pour la fastram
  • ajout "Advanced Graphics Modes" du SetPatch 40.16/44.38 (Workbench 3.1/3.9BB2)
  • ajout "BOOL CheckIO() workaround" du SetPatch 44.38 si exec.library 40.10 détectée
  • ajout "exec/ReleaseSemaphore()" du SetPatch 44.38 si exec.library 40.10 détectée
  • ajout "Memory Pools" du SetPatch 44.38 si exec.library 40.10 détectée (Kickstart 3.1)
  • ajout "ramlib signal usage" du SetPatch 44.38 si ramlib 40.2 détecté
  • ajout "stack size check for CON:, RAW:, RAM:, PAR:, PRT:, SER:" du SetPatch 44.38
  • BootVGA.monitor 44.4 avec Scout/Residents/rt_IdString ajusté
  • BootVGA.Monitor 44.4 avec Scout/Residents/rt_IdString ajusté
  • cdrive.filesystem 3.23 avec Scout/Residents/rt_IdString ajusté
  • cybpci.library 2.5 avec Scout/Residents/rt_IdString ajusté
  • blizzppc.device 44.37 avec Scout/Residents/rt_IdString ajusté
  • romboot.device 0.1 de Christian Vogelgsang (Lallafa) finalement supprimée
Ancienne capture, la fblit.library n'est plus montée dans ma version finale si carte Picasso détectée

L'excellente nouvelle concerne donc l'intégration de la librairie RTG CyberGraphX 4.
 
Voilà ce qu'il fallait faire en 1998 : améliorer le software, proposer un firmware plus complet, simplifier l'utilisation de la BlizzardPPC pour les utilisateurs...
 
Tout en reverse-engineering, sans l'autorisation de Phase5 et de Frank Mariak qui vont alors vouloir me tuer. Je sais, je sais, j'ai l'art de me faire des amis... Comme quoi vous voyez, avec un peu de volonté : ce qui semblait impossible était possible en réalité ! Les codeurs de Phase5 avec leurs sources originaux avaient tout à fait le niveau pour le faire eux-mêmes à l'époque, mais non...

La cgxsystem.library présente est seulement en version béta 4, car il faut encore que je convertisse mes vieux sources de 2015 de Phxass à Vasm, puisque j'étais allé jusqu'à la béta 6. Elle est montée dans AmigaOS seulement si une PicassoII ou une PicassoIV est détectée, sinon la BlizzardPPC considère que le moniteur utilisé est de l'AGA.
 
Dans la même idée, la fblit.library ne sera montée que si aucune carte RTG n'est détectée, puisque je le rappel, FBlit est uniquement destiné aux écrans OCS/ECS/AGA.
 
Alors quelques précisions concernant cette cgxsystem.library : tout est identique à la version sur HD à la différence qu'il est nécessaire d'ajouter mon utilitaire 'opencgx4' après les assign ENV dans la Startup-Sequence. En effet, ma version dans le firmware est chargée mais en "sommeil" à cause des variables ENV qui ne peuvent se lire qu'après le boot de la machine : 'opencgx4' va donc "réveiller" ou plutôt enfin initialiser ma cgxsystem.library :

Ajout aussi de BlazeWCP 1.75, un incontournable.

Le Bootstrap est plus rapide, avec de nombreuses simplifications.

Comme pour la Blizzard 1230, la fastram a maintenant un nom.

Le SetPatch pour le Workbench 3.1 peut être supprimé, et pour le Workbench 3.9, vous devrez installer le nouveau SetPatch 44.39 !

Les modules compactés ont vu quelques très légers ajustements au niveau de leur description rt_IdString dans Scout pour être conforment avec tous les autres Résidents.

La romboot.device est finalement supprimée, plus logique de la mettre dans le Kickstart.

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

samedi 10 décembre 2022

Une bonne lunette

Pour ceux qui passent beaucoup de temps devant un écran, voici des lunettes qui filtrent certaines longueurs d'ondes de façon à apaiser la vue :


Alors, la vision avec est très légèrement jaunie, mais je m'y suis fait.
    
Bref, je recommande !
  

vendredi 9 décembre 2022

FBlit 3.84

Au tour de F_BitMapScale réduite de 48 octets et F_Flood de 36 octets :

Ces deux fonctions sont très rarement utilisées parait-il !
 
Comme d'habitude, tout est disponible ici...
   

mardi 6 décembre 2022

Nouvelle A4091

Me suis fait un cadeau de Noël, parce que je le vaux bien !

En fait, une réédition quasi-identique en 2022 de la carte Zorro3 Scsi A4091 de Commodore :

Vous pouvez commander la vôtre ici !

Ca sent bon le retour de Commodore...
 

jeudi 24 novembre 2022

FBlit 3.83

F_BltPattern raboté de 32 octets :

Alors, est-ce qu'il y a un réel speedup par rapport à la 3.79a ? Je n'en sais rien.
 
En tout cas, deux points importants très positifs tout de même avec mon travail :
  1. le code est plus rapide à se transférer de la fastram dans le CPU puisqu'un peu plus court
  2. entrainant alors une moindre utilisation de son précieux code cache
 
Comme d'habitude, tout est disponible ici...
    

mercredi 23 novembre 2022

FBlit 3.82

Nouvelle version avec cette fois 30 octets de supprimés pour F_BltTemplate :

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

lundi 21 novembre 2022

FBlit 3.81

Nouvelle version avec cette fois F_BltClear de retravaillé, 30 octets de dégagés tout de même : j'ai en fait adapté la version de CPUClr à FBlit.

J'ai aussi mis à 3.81 les fichiers FBlit, FBlitGUI et la fblit.library pour plus de clarté.

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

samedi 19 novembre 2022

Test W27C512

Reçu quelques eproms W27C512 flashées avec mon firmware 3.4 en version 64 Ko pour savoir si cette capacité est supportée ou non par la Blizzard IV 1230 : si l'Amiga 1200 démarre, c'est ok !
 
Fonctionne bien sous WinUAE qui accepte les 64 Ko, reste à tester sur le vrai hardware maintenant !
 
Je demande 6 € port compris pour le monde entier sur mon email !
  

dimanche 6 novembre 2022

firmware Blizzard 1230 3.6

Nouvelle version 3.6 :
  • update xpkACCA.library 1.3 avec 218 octets dégagés de la 1.2
  • update xpkARTM.library 1.1 avec 264 octets supprimés de la 1.0
  • ajout xpkDMCB.library 0.8 (André Osterhues)

Comme la plupart de nos élites nous divisent, je fais alors l'exact contraire : j'unifie le plus possible.

Dans toute la communauté Amiga, pas un utilisateur ne comprends cette évidence, pas un seul !

L'union de toutes les librairies va faire la force de mon firmware...
 
Comme d'habitude, tout est disponible ici...
   

dimanche 30 octobre 2022

firmware Blizzard 1230 3.5

Nouvelle version :
  • ajout xpkDLTA.library 0.1 (Stephan Fuhrmann)
  • ajout xpkCBR0.library 1.0 (Bilbo)
  • ajout xpkFAST.library 1.10 (Christian von Roques)
 
 
Je recommande l'utilisation de l'excellent utilitaire xPackBest ainsi que xpkPatch.
 
Comme d'habitude, tout est disponible ici...
 

vendredi 28 octobre 2022

firmware Blizzard 1230 3.4

Nouvelle version :
  • nouveau fichier de test 64 Ko pour eeprom Winbond W27C512
  • ajout xpkARTM.library 1.0 (auteur ?)
  • ajout xpkBLZW.library 3.2 (Bryan Ford)
 
Ajout d'un fichier de 64 Ko pour savoir si cette capacité d'eprom est supportée par la Blizzard. Notez que les eeproms Winbond W27C512 sont effaçables et reprogrammables de nombreuses fois. Si quelqu'un veut tenter sur le vrai matériel : c'est gagné si l'Amiga démarre avec ces Winbond !
Eeprom Winbond W27C512 PLCC32 avec A15 en plus est compatible avec l'eprom d'origine 27C256


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

mardi 25 octobre 2022

firmware Blizzard 1230 3.3

Nouvelle version :

En effet, je n'avais pas compacté BlazeWCP et TLSFMem dans mes précédentes versions de firmware, c'est maintenant chose corrigée et je gagne ainsi beaucoup d'espace libre !

Méthode de compression ACCA ajoutée.

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

dimanche 23 octobre 2022

xpkMaster.library sublibraries

Je suis toujours à la recherche de ces libraries xpk :

Il nous faut absolument retrouver ces quatre librairies !

Je récapitule donc :
  1. xpkTLTA.library de Stephan Fuhrmann (1992)
  2. xpkDMCI.library d'André Osterhues (1996)
  3. xpkDMCD.library d'André Osterhues (1996)
  4. xpkCBR1.library (apparement identique à la CBR0)
  5. xpkFRHT.library (trouvée)
  6. xpkDMCU.library (trouvée)
  7. xpkLIN1.library (trouvée)
  8. xpkLIN2.library (trouvée)
  9. xpkLIN3.library (trouvée)
  10. xpkLIN4.library (trouvée)
  11. xpkARTM.library (trouvée)

Quelqu'un est-il sur Linked pour contacter ces deux auteurs et leur demander ?
 
Avez-vous des compilations de CD ou de DVD chez vous ? Ou alors sur votre disque dur ! Peut-être aussi sur des Fred Fish ? Archives BBS ? Pouvez-vous regarder dedans s'il vous plait. Tous ensemble, nous pouvons les retrouver, elles doivent bien être quelque part...

Ces programmes font partis de l'histoire de l'Amiga, il nous les faut !!

Ou alors si vous connaissez l'un des auteurs, merci de le contacter, il les a sans doute conservées.

EDIT : Whaou, Romaric a trouvé la xpkFRHT ! Un grand bravo et merci à lui !

EDIT2 : Trouvé les quatre xpkLIN ! Super !!

EDIT3 : Trouvé la xpkARTM.library !
      

samedi 22 octobre 2022

firmware Blizzard 1230 3.2

Nouvelle version 3.2 qui s'améliore encore avec cette fois :
  • fix R_FindLowest bug (auteur ?) si expansion.library 40.2 détectée (Kickstart 3.1/3.9)
  • fix R_ReadExpansionRom bug (auteur ?) si expansion.library 40.2 détectée (Kick 3.1/3.9)
  • update fblit.library en version 1.5
  • ajout xpkmaster.library 5.2 (Dirk Stoecker, Christian von Roques et U. Dominik Mueller)
xpkmaster.library maintenant enfin résidente en rom/eprom avec ce nouveau firmware 3.2
 
J'avais bien fait de supprimer le code inutilisé de la fblit.library, ce qui m'a permis de rentrer l'xpkmaster.library, c'était tout juste même avec la compression...

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

jeudi 13 octobre 2022

FBlit 3.80

Nouvelle version 3.80 du fameux FBlit :
  • F_BltBitMap optimisé


116 octets inutiles de supprimé, avec quelques inlines bien sympatiques. Beaucoup de changements dans cette fonction, j'ai testé vite fait, tout à l'air de fonctionner sous WinUAE, nécessite des tests approfondis.

J'ai aussi rajouté ma fblit.library 1.5 dans l'archive.
 
Comme d'habitude, tout est disponible ici...
   

dimanche 9 octobre 2022

WinUAE debugger

Un tuto tout simple aujourd'hui concernant le débugger de WinUAE qui peut nous donner de très précieuses informations assez facilement.

Pour cet exemple ici, j'aimerais savoir si a6 est nécessaire d'être sauvé puis restauré sur la stack :

Alors il est nécessaire de connaitre l'adresse de retour du rts afin d'y voir plus clair. Pour cela, il suffit d'ajouter dans le source juste après ce fameux rts, un tag comme 'yopyop' par exemple :

Ensuite sous WinUAE, il suffit juste d'entrer dans le débugger par <Shit F12> et de chercher ensuite notre tag avec la commande <s "yopyop"> :

Le débugger le localise à l'adresse $4005170A. Allons voir de plus près le désassemblage un peu avant cette adresse avec la commande <d $40051700> pour avoir l'adresse du rts qui est donc à $40051708 :

Plaçons donc un breakpoint à la place du rts avec la commande <f $40051708> et quittons le débugger avec la commande <x> pour revenir sous WinUAE :

Dès qu'AmigaOS rencontrera ce breakpoint, hop, le débugger s'ouvrira automatiquement. Revenons un peu avant l'adresse Kickstart $fb21d8 à alors $fb21d0 pour mieux voir le source :

Nous somme donc dans la routine qui appel la notre en question, c'est à dire _VRPHook. Nous constatons alors qu'a6 a été sauvé avant l'appel "jsr (a6)" et ensuite restauré juste après.

La sauvegarde et la restauration d'a6 dans notre _VRPHook ne sert donc à rien et peut être supprimé des deux movem avec "movem.l d0-d5/a0-a2,-(sp)" et pour finir "movem.l (sp)+,d0-d5/a0-a2".

Il y avait 3 fonctions Hook assez ressemblantes dans la fblit.library, avec un total de 6 accès mémoire supprimés (3 lectures et 3 écritures d'a6) dans la version 1.5 !
  

fblit.library 1.5

Zut, deux bugs trouvés avec heureusement des glitchs graphiques :

Quelques légers progès :
  • exit propre si 68000/010 detectée
  • exit propre si aucune fastram detectée
  • fix _TRPHook et optimisé encore un peu
  • fix _PRPHook et optimisé encore un peu
  • _LibraryInit optimisé encore un peu
  • fblit_PatternRastPort optimisé
  • fblit_TemplateRastPort optimisé
 
J'en ai profité pour améliorer encore ces routines Hook, voir mon prochain article.

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

vendredi 7 octobre 2022

fblit.library 1.4

Juste une rapide nouvelle version avec encore beaucoup de code inutilisé supprimé, environ 2 Ko.

Je voulais aussi revenir sur la très simple astuce du regroupement d'Alloc de la version 1.3 :
Code original avec les quatre AllocMem
 
Il suffit de grouper les quatre de cet exemple en une seule, pour ensuite fragmenter l'unique bloc obtenu en quatre, rien de plus simple :
Maintenant bien plus simple et rapide avec une seule AllocMem
 
Doit être possible en C aussi je pense.
 
Cette méthode n'a que des avantages :
  1. un seul appel à AllocMem,
  2. fragmentation globale de la mémoire réduite à 1 au lieu de 4,
  3. moins de lignes de code nécessaire,
  4. libération ensuite de la mémoire avec un seul FreeMem au lieu de 4,
  5. un temps d'execution donc bien plus rapide,
  6. et toujours 100% système friendly.
 
J'encourage bien entendu tous les coders à procéder de la sorte !
 
Comme d'habitude, tout est disponible ici...
    

mercredi 5 octobre 2022

fblit.library 1.3

Nouvelle version avec quelques améliorations :
  • encore du code inutilisé supprimé
  • quatre AllocMem unifiées dans _LibraryInit
  • _VRPHook optimisé
  • _TRPHook optimisé
  • _PRPHook optimisé

Encore retrouvé du code inutilisé, peut-être de l'expérimental que l'auteur était en train de finaliser... L'américain Stephen Brookes est un excellent codeur, si quelqu'un pouvait le convaincre de revenir parmi nous... J'avais essayé il y a quelques années mais sans succès hélas...

Quatre allocations mémoires ont été regroupé en une seule, ce qui raccourcis le temps d'initialisation.

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

lundi 3 octobre 2022

fblit.library 1.2

FBlit est est un excellent patch, et en plus nous avons la chance d'avoir le source original, encore mille mercis à l'auteur Stephen Brookes.
 
Il convient donc de l'améliorer, toujours déjà commencer par dégager le maximum de code inutile :

Quelques optimisations dans quelques fonctions, mais surtout beaucoup de code inutilisé a été supprimé : un bon coup de ballet avec en tout 472 octets en moins par rapport à la version 1.1 !
 
Comme d'habitude, tout est disponible ici...
 

jeudi 29 septembre 2022

firmware Blizzard 1230 3.1

Quelques légers peaufinages dans cette nouvelle version :
  • ajout HogWaitBlit de BlizKick 1.24 (Harry Sintonen)
  • ajout NoClic lecteur de disquette si trackdisk.device 40.1 détectée (Kickstart 3.1/3.9/3.X)
  • aucun maprom si romboot.device détectée
  • aucun patch et librairie montés si aucune Mmu détectée (=> 68EC030 non supporté)

HogWaitBlit est une petite astuce qui accélère très sensiblement la fonction R_WaitBlit, donc autant la rajouter elle aussi.
 
Le clic-clic du lecteur de disquette est vraiment très énervant, maintenant supprimé.
 
La romboot.device copie déjà le contenu 512 Ko supplémentaire du Kickstart en fastram, donc inutile de le refaire une nouvelle fois avec la Mmu.

Toutes les cartes Blizzard 1230 ont été vendu avec un 68030 contentant une Mmu me semble-t-il, mais je rajoute tout de même une détection au cas où.

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

jeudi 8 septembre 2022

firmware Blizzard 1230 3.0

Nouvelle version :
  • nouvelle détection de la mémoire fastram réécrite entièrement
  • il n'y a donc maintenant plus rien du code original de Phase5
  • fix un patch erroné avec le Kickstart 3.X 45.61
  • fix écran rouge après utilisation de la commande Reboot (Kickstart 3.9/3.X)
  • fix expansion.library révision eronée si 40.2 détectée (Kickstart 3.X 45.61)
  • update TLSFMemPool routines version 1.6
  • ajout optimiée R_OwnBlitterMain si graphics.library 40.24 détectée (Kickstart 3.1/3.9/3.X)
  • ajout optimiée R_DisownBlitter si graphics.library 40.24 détectée (Kickstart 3.1/3.9/3.X)
  • suppression de la romboot.device 0.1 from Christian Vogelgsang (Lallafa)

Plus aucun code Phase5 de la version 1.0 : tout à été remplacé ou modifié. Petit bémol pour le moment avec seulement le support de la Simm présent sur la carte, puisque WinUAE ne supporte pas celle du kit Scsi... Il faudra que je teste sur le hardware original, peut-être que le kit dispose de sa propre adresse mémoire, je n'en sais pas plus pour l'instant... Si par exemple la carte a 8 Mo et le kit 4 Mo, le total de 12 Mo n'est pas sélectionnable sous WinUAE...

J'ai finallement supprimé la romboot.device, qui est mieux dans le Kickstart lui-même puisque certaines cartes accélératrice sont dépourvues de firmware...

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

dimanche 4 septembre 2022

TLSFMemPool 1.6

J'ai activé mon mode petit renard, et j'ai encore réussi à supprimer du code inutile...
 
Rappelons que tout ce qui est inutile ne sert à rien, donc pourquoi le laisser ?

Bref, plusieurs instructions ont encore dégagé pour cette fois un total final de 444 octets sauvés par rapport à la version originale 1.4 !

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

lundi 29 août 2022

SpeedyBooster bugfix

SpeedyBooster est un nouvel add-on pour la 3640 permettant de doubler la fréquence du 68040. Avec l'aide d'un utilisateur, voici un bugfix à appliquer sur la PCB :

Deux pistes à couper et deux straps à connecter.
 
J'ignore toujours si cet adaptateur fonctionne ou pas : il me reste 3 PCBs nues à vendre avec sa Gal flashée (20 € + 2.50 € de frais de port en mode gift sur mon Paypal) pour ceux qui voudraient en fabriquer un pour tester.
     
Merci de me contacter sur mon email
  

jeudi 25 août 2022

firmware Blizzard 1230 2.9

Quelques ajouts intéressants pour cette nouvelle version :
  • fix VBR incomplète depuis la version 2.0
  • fix écran rouge après l'utilisation de la commande Reboot (Kickstart 3.1)
  • update TLSFMemPool routines en version 1.5
  • ajout PrepareEmul 1.7 si exec.library 40.10 détectée (Kickstart 3.1)
  • ajout _IVBLITTER optimisée si graphics.library 40.24 détectée (Kickstart 3.1/3.9/3.X)
  • ajout _IVSOFTINT optimisée si exec.library 40.10/45.20 détectée (Kickstart 3.1/3.9)
  • ajout _IVSOFTINT optimisée si exec.library 45.21/45.23/45.25 détectée (Kickstart 3.X)
 
J'ai donc réussi à éliminer PrepareEmul avec un Kickstart 3.1 sans aucun reboot pour l'émulation Mac 68k ! Et oui, c'était tout à fait possible, la preuve... Oh là là, j'me sens plus pisser là !

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

vendredi 19 août 2022

TLSFMemPool 1.5

Une nouvelle version de TLSFMemPool avec 392 octets de dégagés depuis l'ancienne version 1.4 !
 
Le fichier est aussi romable, vous pouvez l'inclure dans une rom custom si vous voulez.

 
Les 4 allocations Pool (TLSF_CreatePool, TLSF_DeletePool, TLSF_AllocPooled et aussi TLSF_FreePooled) ne sont disponibles que pour l'exec.library 40.10 (Kickstart 3.1). Elles ne fonctionnent pas pour les versions 45.xx (Kickstart 3.9 et 3.X), j'ignore pour quelle(s) raison(s) d'ailleurs...

Voilà, cette dernière version est devenue un beau diamant bien poli...
 
Comme d'habitude, tout est disponible ici...
  

mercredi 10 août 2022

firmware Blizzard 1230 2.8

Quelques ajouts pour cette 2.8 :
  • fix encore R_Alert bug (Harry Sintonen) si exec.library 45.20 détectée (Kickstart 3.9)
  • fix exec.library revision érronée si Kickstart 3.X 45.61 détecté
  • fix lecteur de disquette bug si Kickstart 3.X 45.61 détecté
  • TLSF_AllocMem optimisé
  • TLSF_AllocAbs optimisé
  • diverses TLSF optimisations ici et là

Je crois beaucoup à la micro-optimisation 68k, comme avec ce minuscule exemple très intéressant que j'ai trouvé dans mon source :
 
move.b    LN_PRI(a2),9(a0)
addq.b    #1,9(a0)

Là, nous avons deux instructions qui pèsent 10 octets en tout. Avec une lecture et une écriture à la ram, et également pour la deuxième ligne une lecture et une écriture. Donc deux lectures et deux écritures mémoire en tout.

En réfléchissant un peu, le résulat de ce nouveau code est 100% identique à l'original :
 
moveq    #1,d0
add.b      LN_PRI(a2),d0
move.b   d0,9(a0)

Et qui pèse toujours 10 octets pour trois instructions, mais nous n'avons maintenant plus qu'une seule lecture et une seule écriture mémoire. Nous avons obtenu du code presque deux fois plus rapide, pas rien.

Regardez ces imbéciles heureux de Microsoft qui sans cesse alourdissent et ralentissent le code de leur Windows... Maintenant, un CPU à 3 Ghz est indispensable pour visionner une simple vidéo. Et ils appellent ça un "progrès" !
 
Et bien moi, je fais l'inverse !
 
Comme d'habitude, tout est disponible ici...
   

jeudi 4 août 2022

firmware Blizzard 1230 2.7

Alors bonne nouvelle : je me suis planté, le soucis d'AmiQuake2 du précédent article venait en fait d'un simple manque de chipram !
 
Bref, j'ai donc remis tous les patchs TLSFMem et TLSFMemPool dans cette nouvelle version 2.7 !

J'ai rajouté aussi :
  • IBF_ObtainBestPenA de IconBeFast 1.14 (Peter Keunecke) plus rapide
  • R_WaitBlit plus rapide aussi
  • suppression de certaines routines inutiles de détection de la fastram
 
Comme d'habitude, tout est disponible ici...
 

mercredi 27 juillet 2022

firmware Blizzard 1230 2.6

Mauvaise nouvelle : TLSFMem est quelque peu incompatible avec une option de FastExec. En apparence, tout fonctionne mais avec par exemple AmiQuake2 1.35, le jeu quitte et retourne une erreur lorsque les deux démos sont jouées :

Zut, j'ai donc supprimé tous les patchs de Chris Hodges...

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

dimanche 24 juillet 2022

firmware Blizzard 1230 2.5

Après avoir bien rempli le firmware, vient maintenant la suppression de toutes les instructions inutiles, enfin le plus possible en tout cas, pour le monter en qualité.
 
Allez, c'est parti mon kiki :
  • CPUClr optimisé
  • TLSF_AddMemList optimisé
  • TLSF_AllocMem optimisé
  • TLSF_AllocPooled optimisé
  • TLSF_CreatePool optimisé
  • TLSF_Deallocate optimisé
  • TLSF_DeletePool optimisé
  • TLSF_FreeMem optimisé
  • TLSF_FreePooled optimisé
  
Le code est ainsi plus compact, toujours bon à prendre : que des avantages, aucun inconvénient.

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

samedi 23 juillet 2022

firmware Blizzard 1230 2.4

Ajout de la deuxième partie des patchs mémoires : TLSFMemPool 1.4 toujours du même Chris Hodges. Ces nouveaux "Pool" ne fonctionnent qu'avec le Kickstart 3.1 (exec.library 40.10).
 
Là encore, vous pouvez désactiver tous les patchs TLSF avec le bouton gauche de la souris au boot, au cas où...

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

mercredi 20 juillet 2022

firmware Blizzard 1230 2.3

Quelques nouveaux ajouts :
'invalid' car Scout ignore les LN_TYPE de 42... Si quelqu'un pouvait corriger ce petit soucis dans Scout...

TLSFMem est LE meilleur patch disponible pour notre ordinateur, il améliore de beaucoup la gestion mémoire de notre OS 68k. Toutefois, il peut poser des problèmes avec certains softwares ayant des soucis avec leurs gestions mémoires comme par exemple la scsi.device d'origine et son bug IORequest : j'ai donc rajouté la possibilité de désactiver ce patch TLSF en maintenant appuyé le clic gauche de la souris pendant le boot de l'Amiga 1230.
 
Si vous rencontrez un soucis avec TLSFMem et un programme en particulier, merci de me contacter pour trouver une solution.

CPUClr est un équivalent CPU plus rapide de la lente routine d'origine utilisant le blitter.

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

lundi 18 juillet 2022

firmware Blizzard 1230 2.2

Finalement, je change d'avis : il reste encore quelques bugs importants à fixer. J'améliore encore ce firmware du plus que je peux, histoire qu'il soit le plus complet possible :
  • fix R_EraseRect bug (Cosmos) si graphics.library 40.24 détectée (Kickstart 3.1/3.9/3.X)
  • fix R_InitArea bug (H. Sintonen) si graphics.library 40.24 détectée (Kickstart 3.1/3.9/3.X)
  • fix console.device bug (Harry Sintonen) si console.device 40.2 détectée (Kickstart 3.1)
  • fix Resident bug (Harry Sintonen) si shell 40.2 détecté (Kickstart 3.1)
  • fix R_Alert bug (Harry Sintonen) si exec.library 40.10 détectée (Kickstart 3.1)
  • fix R_Alert bug (Harry Sintonen) si exec.library 45.20 détectée (Kickstart 3.9)
  • fix R_CardForceChange bug (Cosmos) si card.resource 40.4 détectée (Kick 3.1/3.9/3.X)
  • fix + rapide "exec/ReleaseSemaphore()" bug si exec.library 40.10 détectée (Kickstart 3.1)
  • fix + rapide "Memory Pools" bug si exec.library 40.10 détectée (Kickstart 3.1)
  • fix + rapide ramlibstack (Harry Sintonen) si ramlib 40.2 détecté (Kickstart 3.1/3.9/3.X)
  • fix + rapide "ramlib signal usage" si ramlib 40.2 détecté (Kickstart 3.1/3.9/3.X)
  • CMQ_CopyMemQuick_030 un peu plus rapide

Mes "fix + rapide" patchent maintenant le Kickstart directement, l'initialisation de l'eprom prendra donc un peu moins de temps.
 
Comme d'habitude, tout est disponible ici...
   

vendredi 15 juillet 2022

firmware Blizzard 1230 2.1

Quelques bugs maintenant directement fixés dans le Kickstart mappé dans la fastram. Mes firmwares remplacent en quelque sorte le SetPatch :
  • meilleur détection des numéros de versions et révisions de la scsi.device
  • ajout du module BlizKick ramlibstack (Harry Sintonen), équivalent à MCPRamlibPatch
  • ajout de SpeedIDE (Harry Sintonen) si scsi.device 40.46/43.46 détectée (Kickstart 3.X)
  • fix TD_FORMAT bug (Doobrey) si scsi.device 40.12 détectée (Kickstart 3.1)
  • fix TD_FORMAT bug (Doobrey) si scsi.device 43.43/43.45 détectée (Kickstart 3.9)
  • fix IORequest bug (Chris Hodges) si scsi.device 40.12 détectée (Kickstart 3.1)
  • fix IORequest bug (Chris Hodges) si scsi.device 43.43/43.45 détectée (Kickstart 3.9)
  • fix 0x1FE00 bug (Toni Wilen) si scsi.device 43.43/43.45 détectée (Kickstart 3.9)
  • fix 0x1FE00 bug (Toni Wilen) si scsi.device 40.46/43.46 détectée (Kickstart 3.X)
  • fix numéro de version érroné de 40 à 43 si scsi.device 40.46 détectée (Kickstart 3.X)

Je pense arrêter là pour les patchs : le firmware doit rester un tant soit peu rapide à s'initialiser, et dans l'idéal toutes ces modifications devraient plutôt être dans un nouveau bon Kickstart.
 
Mais vous connaissez l'histoire de l'Amiga comme moi, notre Kickstart est dans les mains des massacreurs, donc rien de positif n'arrivera.
 
Aucune amélioration générale en vue tant que le Kickstart 68k 3.1/3.9 sera entres les mains des agents infiltrés  Hyperion/Cloanto/Amiga Inc, au contraire, tout ira de pire en pire.

Poussage vers le bas continu et systématique avec eux, en faisant croire le contraire...

Et tant que de nombreux utilisateurs continueront d'acheter leurs voulues daubes, rien ne changera...

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

vendredi 8 juillet 2022

firmware Blizzard 1230 2.0

Alors maintenant que le Kickstart est bougé en fastram avec la MMU, tout change : je peux le modifier depuis le firmware à loisir puisqu'il n'est plus du tout en Read Only Memory.
 
J'ai donc rajouté le module SpeedyIDE de BlizKick. L'auteur Harry Sintonen annonce un gain de 20% dans son BlizKick.guide : en effet, les routines de copies IDE sont en 16 bits dans la scsi.device 40.12 (Kickstart 3.1) et les 43.43/43.45 (Kickstart 3.9) afin de garder la compatibilité 68000/010.
 
Maintenant patché en 32 bits avec mon firmware, merci SpeedyIDE, le tout sans aucun reboot.
 
Encore une erreur de Commodore, ils auraient pu ajouter une petite détection de CPU redirigeant ensuite vers du code 32 bits plus rapide pour tous les 020+...

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

dimanche 26 juin 2022

firmware Blizzard 1230 1.9

Oups, j'avais fait quelques oublis avec le précédent 1.8 en testant tout avec un Kickstart 3.9. En effet, les SetPatch patchaient beaucoup plus sur le précédent 3.1 :
Tout est rajouté dans ce nouveau 1.9

J'ai aussi inclus les 2 patchs CMQ030 1.1 de Dirk Busse, regardez ces benchs bien plus rapides :
CopyMem            Kickstart 3.1   CopyMemQuicker 2.8    MCP 1.32b12   CMQ030 1.1
282×64kB L->L          1.87               1.85               1.87         1.55
73×64kB L->L+1         2.13               1.06               0.63         0.43
206×64kB L->E          1.79               1.79               1.81         1.27
73×64kB L->E+1         2.13               1.09               0.63         0.43
73×64kB L+1->L         2.13               1.07               0.53         0.49
191×64kB L+1->L+1      1.83               1.25               1.81         1.05
73×64kB L+1->E         2.13               1.07               0.69         0.43
250×64kB L+1->E+1      1.85               1.81               2.39         1.51
250×64kB E->L          1.85               1.81               1.87         1.67
73×64kB E->L+1         2.13               1.07               0.69         0.49
191×64kB E->E          1.83               1.25               1.80         1.05
73×64kB E->E+1         2.13               1.07               0.69         0.43
73×64kB E+1->L         2.11               1.07               0.53         0.49
206×64kB E+1->L+1      1.79               1.79               1.95         1.39
73×64kB E+1->E         2.13               1.07               0.69         0.46
282×64kB E+1->E+1      1.87               1.85               2.69         1.57
16950×1kB L->L         1.91               1.88               1.93         1.49
4700×1kB L->L+1        2.15               1.13               0.66         0.49
12000×1kB E->E         1.90               1.32               1.90         1.12
98000×128B L->L        2.01               1.84               2.21         1.17
77500×128B E->E        1.95               1.43               2.13         1.43
294000×19B L->L        2.23               1.58               3.19         1.24
311000×18B L->L        2.23               1.58               3.24         1.25
331500×17B L->L        2.23               1.70               3.31         1.37
478000×16B L->L        2.53               2.26               4.51         1.86
530000×8B L->L         2.31               1.90               3.19         1.37
715000×4B L->L         1.91               1.35               2.99         1.49
1095000×1B L->L        1.53               0.66               3.22         0.42 
CopyMemQuick
282×64kB L->L          1.87               1.75               1.89         1.55
16950×1kB L->L         1.87               1.84               1.91         1.47
98000×128B L->L        1.84               1.63               2.16         1.11
478000×16B L->L        1.66               1.30               2.85         1.12
530000×8B L->L         1.29               0.84               2.63         0.57
715000×4B L->L         1.45               0.85               3.15         0.43

Bref, va falloir que je retrouve la tête froide... En tout cas, je suis très très content d'avoir réalisé ce nouveau firmware, même si tout est terminé aujourd'hui pour cette Blizzard 1230.

Je me répète, la majeur partie des routines de ce 1.9 peuvent être réutilisée pour d'autres cartes 030. Si vous avez une carte accéleratrice en préparation, et bien ajoutez-y une eeprom de 512 Ko à $F0 et j'adapterai, histoire d'obtenir un produit 100% fini et bien fignolé qui redonnera enfin un début confiance aux utilisateurs en notre ordinateur favori, même si ça reste tout de même un petit 68030...

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

samedi 25 juin 2022

firmware Blizzard 1230 1.8

Intégration donc du fantastique BlazeWCP 1.75 : plus besoin d'installer ce patch sur une partition, tout est maintenant dans le firmware.

Version 1.8 arrivant avec une autre grande nouvelle : le SetPatch du Workbench 3.1 (40.16) et 3.9 (44.38) patchaient les deux R_WriteChunkyPixel et R_WritePixelLine8 comme BlazeWCP que j'ai donc logiquement désactivé dans la nouvelle 44.39 puisque le firmware s'exécute avant le SetPatch. Maintenant tout est répercuté du SetPatch 40.16 dans ce nouveau firmware avec le Workbench 3.1 :
Plus besoin de SetPatch sous le Workbench 3.1 avec une Blizzard 1230 et ce firmware 1.8

Voilà, plus de SetPatch nécessaire pour cette Blizzard 1230 en utilisant le Workbench 3.1, un grand pas en avant pour l'Amiga 68k. Vous pouvez le supprimer de votre partition de boot et aussi booter sur une simple disquette par exemple en ayant une carte accélératrice 100% opérationnelle et très bien tunée aux petits oignons comme je suis le seul à vouloir le faire dans toute la communauté. Pour le Workbench 3.9, vous devrez installer le nouveau SetPatch 44.39 !
 
L'activation des modes AGA par le SetPatch 40.16 aurait dû être incluse dans le firmware, encore une grande erreur de Phase5
 
Obligé de lancer un SetPatch pour un jeu sur disquette ou CD avec leur firmware 1.0 d'origine afin d'activer les modes AGA, n'importe quoi... Et après, ils s'étonnent que leur entreprise et/ou Commodore coulent...
 
Version 1.8 qui fera date dans l'histoire de l'Amiga 68k...
 
Je sais, plus de melon maintenant mais une belle pastèque : si vous me rencontrez un jour, courbettes obligatoires. Parce que je le vaux bien !
Coucou, c'est moi ! Les lunettes me vont peccables !

Comme d'habitude, tout est disponible ici...
   
EDIT : je testais les SetPatch avec un Kick 3.9 custom, la version 40.16 patch d'autres fonctions avec le Kickstart 3.1, je vais sortir un nouveau firmware 1.9 pour corriger tout ça...
   

mardi 21 juin 2022

BlazeWCP 1.75

BlazeWCP patch trois fonctions assez lentes de la graphics.library dans les Kickstart 3.0, 3.1 et 3.9 :
  1. WritePixelLine8()
  2. WritePixelArray8()
  3. WriteChunkyPixels()
 
Le tout pondu 100% asm par l'excellent Rick Pratt en 2003. J'ai juste cleané le source et remplacé certains move par des movem pour obtenir du code un peu plus compact : vous l'avez compris, je vais inclure ce patch dans mes firmwares.

Voici les benchmarks de l'auteur sur sa config AGA de l'époque, un 030@40 avec aMiPEG 1.0 :
 
Clair, BlazeWCP est un incontournable, et devrait même être plutôt dans le Kickstart me direz-vous.
 
Mais comme notre Kick est pour l'instant entre les mains des agents infiltrés de la concurrence...

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