Core SILVER3 disponible pour Vampire 600 V2
15 sujets de 1 à 15 (sur un total de 28)
- 1
- 2
-
Le core SILVER3 pour Vampire 600 v2 est désormais disponible, de même que le driver SAGA 0.8h.
Changelog complet :
* Flag for BFTST fixed
* Super-Scalar improvements :
– Allow more instructions in 2nd pipe
– More 64Bit MMX instructions added
– PADD, PSUB, PMUL, … (used by videoplayers like RIVA)
* Improved RESET behaviour (AROS)
* Improved SAGA video out (24Bit, 32Bit, YUV422)
* Clock-cycle register added
Pour le télécharger
http://www.apollo-accelerators.com/#download
La team Apollo se réjouit de recevoir des commentaires de la part d’utilisateurs utilisant ce nouveau core. N’hésitez donc pas à vous connecter sur le canal #Apollo-Team sur FreeNode afin d’en partager votre expérience.
Merci pour la news.
Quelques commentaires…
Le CPU Apollo contient effectivement de nouvelles instructions.
Elles ont été testées, de façons expérimentales et avec succès, dans le player MPEG RiVA de façons à gagner des FPS. L’objectif étant pour la team de jouer des vidéos MPEG en 640×480 à 24fps. Work in progress. Bien entendu, ces nouvelles instructions peuvent être utilisées pour toutes autres applications.PADD Dx,Dy,Dz
Correspond à Dz = ( Dy + Dx ) et peut être utiliser à la place de : move.w Dy,Dz add.w Dx,Dz
PSUB Dx,Dy,Dz
Correspond à Dz = ( Dy - Dx ) et peut être utiliser à la place de : move.w Dy,Dz sub.w Dx,Dz
PMUL Dx,Dy,Dz
Correspond à Dz = ( ( Dy * Dx ) >> 8 ) et peut être utiliser à la place de : move.x Dx,Dz muls.w Dy,Dz asr.l #8,Dz Multiplication ieee 8.8 en fait.
MOVE.Q
Idem MOVE.L mais en 64bits (Quad).
PERM #$Selector,Dx,Dy,Dz
Permute les octets de Dx et Dy vers Dz grace à la séquence définie dans Selector.
Le core supporte dorénavant les formats de couleurs suivants :
- 320x240x8/15/16/24/32/YUV - 640x480x8/15/16/24/32/YUV 8 = CLUT 15 = R5G5B5 16 = R5G6B5 24 = R8G8B8 32 = A8R8G8B8 YUV = Y4U2V2
Prochaine étape tant attendue pour SILVER4, le changement de résolution 320/640/800/1024/1280/1920 et quelques autres en 16/10ème.
Clock-cycle register
Il s’agit d’un nouveau registre, $DE0008.
On lit le registre (par exemple tst.l $DE0008), ce qui le met à zéro.
Plus loin, on lit le contenu (move.l $DE0008,d0) et d0 contient le nombre de cycles CPU depuis le dernier appel. On a mis çà en place pour aider les développeurs à comprendre la consommation du CPU et donc permettre d’analyser et optimiser le code.Par exemple :
move.l #cafecafe,d1 tst.l $DE0008 divu.l #100,d1 move.l $DE0008,d0 ; d0 contient le nombre de cycles consommés par l'instruction DIV.
A600 Rev 1.5 + Vampire 600 V2-128.
A1200 Rev 1D4 + Blizzard 1230 III/50Mhz + 68882 + 256MB @ 50ns.Vous utilisez quelle toolchain pour utiliser les nouvelles instructions?
Perso, Devpac et un fichier de MACROS que je me suis fait.
Quand tout sera parfaitement spécifiés, et que le nouveau set d’instructions satisferont nos exigences (et la team est très exigente et tourner vers l’avenir), alors un compilateur les supportant verra le jour. La team s’est récemment étoffées de gens très qualifiés, notamment en provenance du monde AROS où la Vampire suscite de nouveaux intérêts / espoirs quant à la survie et l’avenir du 68K. Nous sommes nombreux, plus qu’on le pense, à soutenir l’après 68060.A600 Rev 1.5 + Vampire 600 V2-128.
A1200 Rev 1D4 + Blizzard 1230 III/50Mhz + 68882 + 256MB @ 50ns.Hm mais pas besoin d’un patch pour prendre en compte le nouveau set d’instruction?
Non, pas besoin. Il s’agit juste de simple DC.W pour ceux qui connaissent. Les codeurs ayant déjà fait du self modifying code comprendront aisément de quoi je parle. C’est très simple, rien de sorcier.
Une instruction 68K (ou quelque soit le CPU d’ailleurs) n’est rien d’autre qu’une suite de bits. Par exemple, l’instruction RTS c’est 0x4E75. Tu peux imaginer une nouvelle instruction qui utiliserait par exemple 0xCAFE qui ferait autre chose. L’architecture 64bits interne à l’APOLLO core autorise l’ajout de nouvelles instructions tout en étant parfaitement rétrocompatible avec l’existant.
A600 Rev 1.5 + Vampire 600 V2-128.
A1200 Rev 1D4 + Blizzard 1230 III/50Mhz + 68882 + 256MB @ 50ns.ok oui effectivement 🙂
Si tu veux bien partager je veux bien tes macros devpac.
Je préparerai tout çà. J’ai aussi la ferme intention de proposer un wiki pour les utilisateurs et les développeurs qui sera lié au site existant apollo-accelerators.com
A600 Rev 1.5 + Vampire 600 V2-128.
A1200 Rev 1D4 + Blizzard 1230 III/50Mhz + 68882 + 256MB @ 50ns.c’est une très bonne nouvelle ! Le développement continue sur sa lancée et le rythme de faiblit pas, pour notre plus grand plaisir 🙂 Je vais tester ça ce soir.
merci m’sieur!
Un wiki serait la bienvenue effectivement
Ca ne faiblira pas… Le core GOLD est en ligne de mire et la team est très motivée depuis le début du projet. Coté hardware également, une carte standalone type Super Mist est aussi souhaitée par la team, et le rêve d’un ASIC également même si çà doit prendre plusieurs années.
A600 Rev 1.5 + Vampire 600 V2-128.
A1200 Rev 1D4 + Blizzard 1230 III/50Mhz + 68882 + 256MB @ 50ns.J’oubliai, il y a aussi dans le SILVER3, l’instruction PERM qui permet de permuter les octets de deux sources différentes vers une destination. Ca permet par ex de faire de la conversion endianness en une seule instruction mais aussi énormément d’autres cas.
PERM #$Selector,Dx,Dy,Dz
A600 Rev 1.5 + Vampire 600 V2-128.
A1200 Rev 1D4 + Blizzard 1230 III/50Mhz + 68882 + 256MB @ 50ns.Apparemment ça avance bien sur le driver pour la SD de la vampire!
15 sujets de 1 à 15 (sur un total de 28)
- 1
- 2
- Vous devez être connecté pour répondre à ce sujet.
› Forums › AmigaOS, MorphOS et AROS › Matériel › Core SILVER3 disponible pour Vampire 600 V2