1 points par GN⁺ 2024-10-25 | 1 commentaires | Partager sur WhatsApp
  • La PSVita est un appareil né de la rencontre entre la console portable traditionnelle et l’essor rapide des SoC mobiles ; Sony a cherché à utiliser des circuits familiers tout en conservant une identité produit distincte de celle des smartphones
  • La gamme se divise à l’origine entre la PSVita, la Slim qui remplace l’écran OLED par un LCD, et la PlayStation TV plus proche d’un appareil de salon ; la même analyse architecturale s’applique globalement aux trois variantes
  • La puce centrale, Kermit, adopte l’approche SoC à puces empilées de Toshiba pour regrouper dans un même package le CPU, le GPU, environ 640 Mo de RAM, des accélérateurs et la logique de compatibilité PSP, améliorant la bande passante et l’encombrement au prix d’une dissipation thermique plus difficile
  • Le CPU principal est un ARM Cortex-A9 MPCore quadricœur cadencé jusqu’à 500 MHz, avec ARMv7-A, 2 Mo de cache L2 partagé, compilation orientée Thumb-2, NEON/VFPv3, TrustZone et exécution hors ordre
  • Les tâches multimédias sont prises en charge par l’accélérateur Venezia, tandis que la rétrocompatibilité PSP/PS1 repose sur un MIPS32 4k intégré à Kermit et sur une structure dédiée de CDRAM, Scratchpad et RPC

Marché visé par la PSVita et périmètre de l’analyse

  • La PSVita est un produit à la croisée de l’industrie du jeu vidéo et du secteur mobile en pleine mutation
  • Sony devait affronter des appareils bon marché offrant bien plus que la seule téléphonie
  • La nouvelle console portable de Sony embarquait des technologies modernes pour l’époque, avec une organisation des circuits familière mais aussi une volonté de ne pas ressembler au marché des smartphones
  • L’analyse des consoles de 8e génération étant plus complexe, elle est publiée par sections plutôt qu’en une seule fois

Les trois modèles de PSVita

  • Sony a plusieurs fois fait évoluer sa stratégie produit au cours de la vie de la PSVita, lançant trois variantes
    • La PSVita originale est le premier modèle de la série, parfois appelé modèle « Fat »
    • La Slim conserve la même architecture tout en remplaçant l’écran OLED par un LCD afin de réduire les coûts, sans proposer de variante compatible 3G
    • La Slim embarque une puce eMMC plus grande, mais le gain ne dépasse que 52 Mo, ce qui a néanmoins permis d’offrir une carte mémoire interne de 1 Go
    • La PlayStation TV est une adaptation de la carte mère de la Fat pour un usage non portable, avec une configuration d’E/S différente
  • La même description architecturale s’applique globalement aux trois modèles, tandis que les changements d’eMMC sur la Slim et la PlayStation TV feront l’objet d’explications séparées

Kermit : le SoC central de la PSVita

  • Depuis la PlayStation d’origine, Sony avait largement adopté les technologies MIPS, mais avec la montée en puissance d’ARM sur le marché mobile et le recul de MIPS, la PSVita a finalement retenu un CPU ARM
  • Toshiba, partenaire industriel proche de Sony, joue ici le rôle de licencié ARM
  • La puce principale, Kermit, tire son nom de « The Muppets » et constitue le plus gros bloc logique contenant le CPU principal de la PSVita
  • Kermit est un System-on-Chip, mais grâce au modèle de fabrication Stacked Chip SoC (SCS) de Toshiba, il combine beaucoup de mémoire et de processeurs dans un même package
    • Le SCS empile les circuits verticalement au lieu de les relier latéralement vers l’extérieur
    • L’effet direct est une hausse de la bande passante et une réduction de l’encombrement
    • En contrepartie, la conception thermique devient plus complexe
  • Les principaux composants de Kermit sont les suivants
    • Un CPU principal ARM Cortex-A9 MPCore quadricœur
    • Un GPU principal PowerVR SGX543MP4+ d’Imagination Technologies
    • Plusieurs accélérateurs, dont un gros DSP, des contrôleurs DMA et des blocs de sécurité
    • Environ 640 Mo de RAM répartis en plusieurs types
    • Un CPU MIPS et une logique Graphics Engine pour la compatibilité PlayStation Portable

ARM Cortex-A9 MPCore

  • Le CPU principal de la PSVita est un ARM Cortex-A9 MPCore, c’est-à-dire un cluster composé de quatre cœurs Cortex-A9
  • Sa fréquence atteint 500 MHz au maximum, bien moins que les 1,4 GHz du Samsung Galaxy S III, lui aussi équipé d’un A9 quadricœur à la même époque
  • Le Cortex-A9 succède au Cortex-A8, et la PSVita est arrivée quelques mois à peine après la Nintendo 3DS
  • Ses fonctions de base communes sont les suivantes
    • Jeu d’instructions ARMv7-A
    • 64 Ko de cache L1
      • Répartis entre 32 Ko de cache de données et 32 Ko de cache d’instructions
      • La cohérence des caches de données entre les cœurs est gérée par la Snoop Control Unit
    • Architecture superscalaire 2-issue
      • En l’absence de conflit, deux instructions peuvent être exécutées dans deux pipelines afin d’augmenter le nombre d’instructions traitées par cycle
    • Prédiction dynamique de branchement
      • Deux tampons dédiés sont utilisés dès l’étape de fetch pour prédire la présence d’un branchement et son éventuelle prise
      • Cette unité ne prédit que les instructions de branchement ; elle n’inclut pas des optimisations comme l’exécution conditionnelle ou l’instruction IT
    • MMU avec TLB
    • TrustZone
      • Au niveau matériel, les composants sont divisés entre groupes secure et non-secure
      • Au niveau logiciel, un environnement d’exécution de confiance isole un système auxiliaire chargé des données sensibles
      • Les transferts de données portent un tag indiquant s’il s’agit d’une transaction secure ou insecure
    • NEON Media Processing Engine
      • Un coprocesseur chargé des opérations vectorielles et en virgule flottante
  • Les améliorations apportées par le Cortex-A9 sont les suivantes
    • Prise en charge du multicœur
      • C’est l’élément le plus visible dans le choix de Sony d’un package quadricœur
      • C’est aussi ce qui a permis à l’iPad 2 et à l’iPhone 4s d’arriver avec des CPU double cœur
    • Exécution hors ordre grâce au renommage de registres
      • Une évolution majeure qui étend le parallélisme au niveau des instructions chez ARM
    • Pipeline de longueur variable allant de 8 à 11 étages selon la charge
      • Le nombre d’étages peut encore augmenter lorsque l’exécution se prolonge dans le coprocesseur multimédia
  • Sony a ajouté le Primelink Level 2 Cache Controller d’ARM ainsi qu’un cache L2 partagé de 2 Mo
    • Primelink est un sous-système de cache configurable, du direct-mapped jusqu’au 16-way
    • ARM a ensuite renommé la marque Primelink en CoreLink

ARMv7, Thumb-2, NEON/VFPv3

  • L’ARMv7 du Cortex-A9 est un sur-ensemble de l’ISA ARMv6 ; ses principaux ajouts portent sur VFPv3, NEON, la Security Extension et le multiprocessing
  • L’ISA Thumb a été profondément révisé en Thumb-2
    • Thumb-2 ajoute des instructions 32 bits afin de combler les lacunes du Thumb 16 bits d’origine
    • Par rapport à l’ISA ARM, la densité de code est meilleure ; l’exécution conditionnelle a disparu, mais une partie de cette fonctionnalité est compensée par l’instruction dédiée IT
  • Le Cortex-A9 de Kermit implémente aussi ThumbEE et Jazelle, mais il est peu probable que des applications en tirent réellement parti
    • Même Dalvik, l’interpréteur Java d’Android, n’utilisait ni Jazelle ni Thumb-2EE
  • ARM a introduit le Unified Assembler Language (UAL) pour réduire la confusion autour des ISA
    • UAL vise une base de code unique pouvant cibler à la fois ARM et Thumb-2
    • En pratique, il s’agit de l’union des opcodes ARM et Thumb-2, l’assembleur ignorant ceux qui ne correspondent pas au CPU visé
  • Dans des langages comme C, Objective-C ou C++, les compilateurs émettent principalement du Thumb-2 comme assembleur de sortie par défaut
    • La raison tient à une bonne densité de code et à une pénalité de performance rare
    • Les applis smartphone comme les applications PSVita sont donc majoritairement compilées en Thumb-2 plutôt qu’en ARM

MPE, VFPv3 et NEON pour les traitements multimédias

  • Sur le Cortex-A9, un composant particulièrement important pour la PSVita est le Media Processing Engine (MPE)
  • Le MPE exécute deux jeux d’instructions liés
    • Vector Floating-Point v3 (VFPv3)
      • Il succède au VFPv2 pour les fonctions en virgule flottante
      • Il est conforme à la norme IEEE-754
      • Il fournit des instructions comme VCVT et VMOV
      • La variante exacte du Cortex-A9 est VFPv3-D32, avec 32 registres 64 bits
      • ARMv7 a abandonné l’usage des instructions vectorielles dans VFP, et le Cortex-A9 ne les inclut donc pas
    • NEONv1
      • Le véritable jeu d’instructions vectorielles, également appelé « ARMv7 Advanced SIMD »
      • Il fournit 16 registres 128 bits, pouvant être découpés en 32 registres virtuels 64 bits ou 32 bits
      • Les entiers peuvent aller jusqu’à 64 bits, tandis que les types flottants ne dépassent pas 32 bits
  • NEON et VFPv3 partagent le même fichier de registres, mais restent traités comme des ISA distinctes
  • Cette séparation s’explique par le fait qu’aucune des deux ISA n’est fonctionnellement complète
    • VFPv3 ne prend pas en charge le point fixe
    • NEON n’est pas conforme à la norme IEEE 754
  • NEON est généralement interprété comme une réponse rapide à Wireless MMX, l’extension SIMD propriétaire d’Intel XScale
    • Des PDA haut de gamme comme le Dell Axim X51v utilisaient un CPU Intel XScale PXA270 compatible ARMv5, avec une extension SIMD propriétaire réservée à la gamme CPU d’Intel
    • Cet appareil embarquait aussi un GPU PowerVR MBX, lié à la lignée graphique de la PSVita

Structure des bus

  • La spécification AMBA d’ARM sert aussi à relier les composants du Cortex-A9
  • Le protocole AXI de la troisième révision d’AMBA a été retenu pour les interfaces internes au cluster MPCore
  • On retrouve ce même choix d’AXI sur l’ARM11 et sur la Nintendo 3DS
  • La PSVita utilise aussi le Open Core Protocol (OCP) pour toutes les communications hors du MPCore
    • C’est la même famille de protocoles que celle utilisée par la Nintendo 3DS pour communiquer avec le GPU PICA

L’évolution d’ARM après les Cortex-A

  • Après le Cortex-A9, la famille Cortex-A s’est ramifiée en quatre catégories supplémentaires, des modèles les plus performants à ceux axés sur l’efficacité énergétique, rendant l’arbre de succession plus complexe
  • La numérotation des modèles de CPU est devenue difficile à suivre, mais cela restait peu problématique puisque ces CPU n’étaient pas vendus séparément au grand public
  • Le grand jalon suivant pour ARM a été ARMv8, apparu en 2011, qui sera davantage abordé dans l’analyse de la Nintendo Switch

Venezia : l’accélérateur multimédia de Sony

  • À côté du cluster ARM, Sony a intégré un gros accélérateur chargé d’assister les tâches liées au jeu
  • Comme l’ancien groupe Media Engine de la PSP, cet accélérateur est une boîte noire entièrement propriétaire ; les programmeurs n’y accèdent pas directement mais via le SDK officiel
  • Son nom est Venezia
    • Il s’agit d’un package CPU distinct conçu par Toshiba, partenaire proche de Sony
    • Il a été créé pour le traitement de l’image et du son
    • Sa fonction se rapproche de celle d’un Digital Signal Processor (DSP)
    • Il est aussi commercialisé comme puce synthétisable pour des appareils multimédias tels que les lecteurs DVD
  • Venezia s’inscrit dans la continuité du Media Engine de la PSP

Structure interne de Venezia

  • Comme le MPCore, Venezia adopte une structure en cluster composée de 8 cœurs Media Processing Engine (MPE)
  • Sa fréquence est de 266,7 MHz
  • Le nom MPE utilisé par Toshiba entre en collision avec celui de l’accélérateur vectoriel d’ARM, mais il s’agit de deux blocs de silicium différents
  • Chaque MPE comprend les éléments suivants
    • Un CPU propriétaire Media-embedded Processor (MeP)
      • Dans sa cinquième révision, le MeP-c5
      • Une architecture 32 bits de type RISC
    • 32 Ko de cache L1
      • Séparés en 16 Ko d’instructions et 16 Ko de données
    • 64 Ko de mémoire généraliste
      • C’est l’espace dans lequel le CPU MeP exécute le programme principal
    • Un contrôleur DMA pour les transferts de mémoire internes et externes
    • Un coprocesseur de traitement d’image IVC2
      • Il exécute des instructions SIMD 64 bits
      • Il peut traiter des groupes de données allant de 8 entiers 8 bits à 2 entiers 32 bits
      • Il fournit 2 registres accumulateurs 256 bits et peut, combiné à d’autres fonctions, calculer deux opérations simultanément
  • Le cluster embarque aussi 256 Ko de cache L2
  • Sa caractéristique essentielle est un jeu d’instructions basé sur le Very Long Instruction Word (VLIW)
    • Plusieurs instructions peuvent être encodées simultanément sur une même ligne
    • Venezia peut placer au total 3 instructions par ligne : 2 pour le coprocesseur d’image et 1 pour le CPU
    • Pour empaqueter efficacement les instructions, il faut un excellent compilateur
  • Le VLIW a connu une forte attention dans les années 1990 avec des implémentations comme Broadcom Firepath, Transmeta Crusoe ou Intel Itanium, mais il ne s’est pas imposé dans les CPU grand public en raison de résultats décevants en benchmark
  • On n’accède à Venezia qu’au travers d’une API abstraite appelée Codec Engine
    • Elle implémente des tâches d’encodage et de décodage d’image et d’audio
    • Par exemple, une commande de décodage AVC décompresse des données vidéo encodées en Advanced Video Coding pour produire un flux non compressé compréhensible par le GPU

Organisation mémoire de la PSVita

  • Au sommet de l’empilement de Kermit se trouvent 512 Mo de SDRAM LPDDR2, utilisés comme espace de travail principal
  • SDRAM signifie Synchronous Dynamic RAM
    • La DRAM coûte moins cher à produire que la SRAM, mais sa latence est plus élevée
    • C’est pourquoi les caches CPU sont en SRAM, tandis que la mémoire externe à usage général est en DRAM
    • La SDRAM synchronise les transferts avec l’horloge du CPU afin d’améliorer le débit
  • LPDDR2 signifie Low Power Double Data Rate 2
    • DDR transmet deux fois plus d’informations par cycle
    • LP désigne la variante basse consommation, principalement adoptée dans les téléphones et les ordinateurs portables
    • La spécification LPDDR2 a été publiée en 2009 et fonctionne à 1,2 V, contre 1,35 V pour la DDR3
  • En complément, il y a 128 Mo de Custom DRAM (CDRAM), principalement reliés au GPU
    • CDRAM est un nom interne qui désigne en réalité de la SDR SDRAM traditionnelle
    • Contrairement à la DDR, il s’agit d’une mémoire Single Data Rate
    • Cet espace dédié, proche du GPU, convient bien aux charges graphiques intensives
    • Ce bloc semble connecté par deux bus de 512 bits
  • Le SoC intègre aussi environ 2,18 Mo de SRAM répartis en plusieurs blocs
    • 2 Mo de Camera SRAM
    • 32 Ko de SPAD32K
    • 128 Ko de SPAD128K
    • 4 Ko de SceCompatSharedSram
    • 16 Ko de Scratchpad
  • Ces blocs de SRAM sont réservés au système d’exploitation
  • Les 16 Ko de Scratchpad correspondent à la capacité SRAM déjà présente sur la PSP

MIPS32 4k et rétrocompatibilité

  • Kermit intègre aussi un ancien CPU MIPS32 4k
    • Il s’agit du même CPU que celui embarqué dans la PlayStation Portable
  • Le but de ce CPU est d’assurer la rétrocompatibilité avec les jeux PlayStation Portable et PlayStation 1
  • Officiellement, le CPU MIPS n’est utilisé qu’à cette fin et ne sert pas de coprocesseur auxiliaire
  • Kermit n’intègre pas le Media Engine de la PSP
    • Comme le Media Engine était une boîte noire, les logiciels n’avaient pas à se soucier de son implémentation interne
    • Les fonctions de ce CPU compagnon sont reproduites à la place par Venezia
  • Pour le reste des E/S, le MIPS n’est pas physiquement relié au reste du matériel ; seul le Cortex-A9 l’est
  • Le logiciel d’émulation PSP exécuté sur le CPU MIPS demande des services au CPU ARM via un modèle RPC (Remote Procedure Call)
  • Ce service de rétrocompatibilité se voit aussi réserver 64 Mo de CDRAM
  • Le Scratchpad de 16 Ko mentionné plus haut se trouve en réalité dans le CPU MIPS et est alloué à l’émulateur PSP
    • Il sert à reproduire l’organisation mémoire attendue par les jeux PSP d’origine

Suite

  • La prochaine partie abordera le chemin qui a conduit VideoLogic à devenir un acteur majeur du GPU mobile, jusqu’au GPU PowerVR MBX

1 commentaires

 
GN⁺ 2024-10-25
Avis sur Hacker News
  • J’aimais vraiment la PSP d’origine et toute la scène homebrew/jailbreak qui en est sortie. J’ai récemment récupéré une PS Vita pour profiter de jeux natifs et de homebrew, et je suis surpris de voir que l’écosystème homebrew est encore assez actif
    Il semble même y avoir un certain potentiel pour porter des jeux Android. J’aurais aimé que Sony ne laisse pas mourir la PS Vita : à l’époque, elle donnait vraiment l’impression d’être une machine au potentiel énorme

    • J’avais précommandé la Vita à l’époque et j’en suis tombé amoureux dès que je l’ai reçue. Elle tenait dans la poche et était bien meilleure que le stick analogique médiocre de la PSP
      Aujourd’hui encore, le Steam Deck ne rentre pas dans la poche, donc je continue d’utiliser la Vita. Je suis d’accord : son potentiel a été gâché. J’imagine ce qu’auraient pu donner Shadow of the Colossus ou Demon's Souls sur Vita
    • Il y avait plusieurs problèmes — le coût, la concurrence avec Nintendo, les cartes mémoire propriétaires pénibles et chères, etc. — mais je pense que le fait de l’avoir simplement laissée mourir venait de la croyance alors très répandue selon laquelle les consoles portables, voire les consoles dédiées dans leur ensemble, allaient disparaître face aux smartphones
      Ils ont donc fini par croire que ses mauvais résultats n’étaient pas dus à des erreurs évitables de leur part, mais à une conséquence inévitable de l’évolution du marché
    • La scène du jailbreak PSP me manque. Au lycée, je me faisais pas mal d’argent de poche en coupant des pistes sur les PCB des batteries de PSP des gens
      Avec le recul, je crois que c’est ce qui m’a donné envie de m’intéresser à l’électronique
    • Côté matériel, c’était une excellente console, et j’ai acheté la version OLED il y a quelques années. Le problème a toujours été le manque de jeux
      Il y avait quelques bons titres, mais rien qui m’ait vraiment bluffé ; je crois que Risk of Rain est probablement celui auquel j’ai le plus joué
    • Je n’ai pas suivi la scène homebrew Vita, mais d’après ce que j’ai lu en m’intéressant à l’émulation sur ordinateurs monocartes, le homebrew Vita a mis un certain temps à prendre de la vitesse
      Aujourd’hui, elle est largement reconnue comme une machine d’émulation portable capable de rivaliser avec plusieurs petits SBC actuellement produits
      https://docs.libretro.com/guides/install-psv/
  • Il y a quelques années, j’ai travaillé sur le Media Embedded Processor (MeP) de Toshiba mentionné dans cet article. Chez Red Hat, nous avons travaillé sur la toolchain pour prendre en charge l’architecture configurable de ce processeur, assez étonnante pour l’époque
    Le MeP n’a pas conquis le monde, mais j’ai été content d’apprendre qu’il s’était retrouvé dans la PS Vita

  • Cet article n’est qu’un élément d’une longue série
    https://www.copetti.org/writings/consoles/

  • Je ne comprends toujours pas que Sony ait abandonné le marché des consoles portables, alors qu’ils étaient dans une position unique avec aussi une gamme de téléphones
    Le Xperia Play est arrivé trop tôt, mais maintenant que les gens sont habitués à dépenser beaucoup d’argent dans des téléphones ou un Steam Deck, Sony aurait pu faire un excellent successeur à la Vita et au Xperia Play en associant une boutique de jeux Sony à un appareil Android

    • Sony avait une maison de disques, un studio de cinéma, une activité mobile, et même un réseau de distribution cloud depuis 2006 avec la PS3, mais ils ont complètement raté la vague du streaming musical et vidéo
      Les différentes organisations étaient beaucoup trop cloisonnées. En tant que personne qui aimait pas mal leurs produits, avec ce qu’on sait aujourd’hui, on ne peut que trouver absurde que les choses aient aussi mal tourné
    • J’adorais vraiment le Xperia Play. Jouer à des jeux PSX sur un téléphone avec de vrais boutons, c’était génial, et c’était le meilleur téléphone que j’aie eu
      Il était en avance sur son temps à bien des égards, mais le marché du jeu de l’époque n’était sans doute pas aussi adapté aux appareils portables, ni aussi prêt pour eux, qu’aujourd’hui
  • C’est vraiment chouette, et la coïncidence a presque quelque chose de providentiel
    La semaine dernière, j’ai ressorti ma Vita d’un tiroir et je joue à des portages portables de quelques jeux PS3 auxquels je ne pouvais pas jouer faute de pouvoir brancher ma PS3 : Ratchet & Clank, Sly Cooper, God of War 1 et 2, ainsi que quelques jeux indés
    J’ai été surpris de voir que la boutique fonctionne encore, et j’ai acheté les jeux PS1 Armored Core. J’aime vraiment cette machine. Elle a été injustement traitée, aussi bien par le marché que par le support de Sony
    Je suis tenté de la jailbreaker et de me lancer dans du homebrew

    • La scène homebrew Vita est très mature et étonnamment active. « Hacker une 3DS est étonnamment facile » n’est pas devenu un mème pour rien, mais cette phrase s’applique encore mieux à la Vita
  • J’ai eu deux PS Vita, et j’ai aussi remplacé plusieurs fois des éléments comme les boutons
    J’aimais le mélange de jeux casual et plus « sérieux » de la Vita, de jeux casual comme PixelJunk Monsters à Killzone Mercenary, qui était un FPS de niveau console sur une portable. Il y avait aussi énormément de contenu japonais comme Akiba's Trip: Undead and Undressed, Danganronpa ou Fate/Extella
    Quand elle a été coupée du PS Network et que les jeux japonais que j’aimais ont commencé à sortir sur Steam, je me suis séparé de mon matériel Vita, mais honnêtement, PixelJunk Shooter me manque

    • Je ne sais pas quand elle aurait été coupée. À ma connaissance, ça fonctionne encore, et avec un contournement il est même possible d’acheter des jeux si le compte PSN a du solde
      J’ai encore téléchargé d’anciens achats récemment. Il faudra tout de même tout sauvegarder avant que ça ne disparaisse complètement
  • Je ne savais pas que la Vita embarquait du matériel PSP. Je pensais que la rétrocompatibilité était logicielle, même si Sony a une longue histoire de consoles livrées avec du matériel de rétrocompatibilité
    Cela dit, à cette époque, il existait déjà la PS2 Slim et, plus tard, l’émulateur PS1 logiciel pour PS3

    • La rétrocompatibilité PS1 de la PS2 a toujours été un mélange de logiciel et de matériel, y compris sur la PS2 Slim
      https://israpps.github.io/PPC-Monitor/docs/Architecture%20Ov...

      L’ASIC PPC-IOP présent dans les modèles PS2 SCPH-75xxx et ultérieurs utilise une combinaison de matériel et de logiciel pour émuler le processeur MIPS R3000A présent dans la PS1 et dans les modèles PS2 70K ou antérieurs. La partie matérielle de cette émulation prend la forme d’une Auxiliary Processing Unit, ou APU, attachée à un cœur PPC 440 cadencé à 440 MHz. La partie logicielle est le logiciel d’émulation « DECKARD »
      La PS3 a toujours utilisé une émulation purement logicielle pour la PS1.
      †Plus précisément, seuls les modèles Slim SCPH-7500x et ultérieurs embarquent le PPC-IOP et Deckard. Le SCPH-7000x fonctionne comme les consoles épaisses : côté CPU, les jeux PS1 s’exécutent nativement en bare metal

  • Ce genre de livre entre dans la catégorie « je ne l’avais pas demandé et je ne m’y attendais pas, mais maintenant qu’il existe, je vais le lire du lever au coucher du soleil »
    L’auteur a aussi écrit plusieurs autres livres sur les processeurs et les architectures embarquées, et franchement, c’est un travail vraiment nécessaire
    Le monde de l’embarqué penche bien plus que celui du logiciel vers le démontage, la dissection, l’explication et l’inférence. Je ne sais pas pourquoi, mais les gens de ce milieu vont jusqu’à sonder et reconstruire les schémas, et fouillent presque tout. La scène du modding Nintendo récente en montre l’extrême
    Les reverse engineers logiciel s’accrochent à leurs licences IDA et à leurs plugins comme à une mode en fin de vie. Il faudrait plus de gens comme Copetti

    • Côté PS1, on utilise Splat, m2c, decomp.me et beaucoup d’outils personnalisés
    • Ce n’est pas tant IDA que Ghidra et divers outils libres et open source
  • J’adore à la fois cette série d’articles et la Vita
    Une question que je me posais depuis un moment était de savoir si, pour la rétrocompatibilité, la Vita incluait à la fois le CPU et le GPU de la PSP, ou seulement le CPU avec le GPU mappé côté Vita
    L’article affirme que c’est la première option, mais j’espère en apprendre davantage avec des éléments à l’appui dans la prochaine partie

  • La Vita était en avance sur son temps