Kannagi dĂ©veloppe un SDK pour crĂ©er des jeux pour la console Neo Geo, cet entretien revient sur son parcours et les raisons qui lâont amenĂ© Ă sâintĂ©resser Ă cette console.
Console Neo Geo, source Wikimedia, © Evan-Amos 2012
Sommaire
-
- Partie 1: présentation
-
Partie 2 : La Neo Geo
- Comment en ĂȘtes-vous venu Ă vous intĂ©resser Ă la Neo Geo ?
- Quâest-ce que cette console a de particulier ?
- Que dire de ses processeurs (Motorola 68000 et Zilog Z80) ?
- Comment fonctionne son processeur graphique ?
- Comment fonctionne lâaudio ?
- Quels services fournit le BIOS ? Existe-t-il des versions alternatives ? Libres ?
- Quelle est votre manette préférée ?
- Quelle est la différence entre les différentes versions (MVS, AES, CD, CDZ, mini...) ?
- Les émulateurs Neo Geo sont-ils bons ?
- Quels sont vos jeux commerciaux préférés sur cette console ?
- Quels sont vos jeux « homebrew » préférés sur cette console ?
-
Partie 3 : NGDK
- Pourquoi créer un SDK pour un si vieux systÚme ?
- Quelles ont été les difficultés pour le concevoir ?
- Quelles sont les fonctionnalités de NGDK ?
- Est-ce quâil gĂšre divers accessoires (cartes mĂ©moires, manette Mahjong) ?
- Est-ce que vous participez à la création de jeux Neo Geo ?
- Est-ce que des jeux amateurs ou commerciaux sont développés avec NGDK ?
- Quels conseils donnez-vous aux gens qui se lancent dans le développement de jeux Neo Geo ?
- Est-ce que vous aimeriez vivre de ce projet ?
-
Partie 4: pour finir
- Que dire sur vos autres projets ?
- Vous avez des projets en cours ?
- Au niveau personnel, quels logiciels libres utilisez-vous, sur quel OS ?
- Au niveau professionnel, quels logiciels libres utilisez-vous, sur quel OS ?
- Quelle est votre distribution GNU/Linux préférée et pourquoi, quels sont vos logiciels libres préférés ?
- Quelle question auriez-vous adorĂ© quâon vous pose ?
- Quelle question auriez-vous dĂ©testĂ© quâon vous pose ?
Partie 1: présentation
Qui ĂȘtes-vous, quel est votre parcours et est-il liĂ© aux jeux vidĂ©os ?
Alors je nâaime pas les prĂ©sentations en gĂ©nĂ©ral, mais je mâappelle Samy, jâai 34 ans, je suis nĂ© Ă Marseille et je suis actuellement dĂ©veloppeur web â oui trĂšs loin du Jeux vidĂ©o ou du bas niveau (malheureusement). La raison est quâil est plus compliquĂ© de travailler sur ces branches et on ne peut pas travailler vraiment de partout. Lâavantage du dĂ©veloppeur web est quâon peut y travailler partout et assez facilement (dans le sens ou on peut trouver toujours une boite dâinformatique qui en demande, mĂȘme en province). Jâai Ă©tĂ© pendant un temps dĂ©veloppeur Jeux vidĂ©o en free-lance pour Android et IOS, mais assez mal payĂ© et avec des deadlines assez serrĂ©es, jâai vite arrĂȘtĂ©.
En amateur jâai programmĂ© sur de nombreuses consoles en assembleur de la Nes Ă la PS2.
Partie 2 : La Neo Geo
Comment en ĂȘtes-vous venu Ă vous intĂ©resser Ă la Neo Geo ?
Câest Ă cause dâun jeu : King of Fighters 98, jâadorais ce jeu et aussi Windjammer que jâai connu sur borne dâarcade. Mais jâai plus connu la Neo Geo via les compilations sur Playstation 2, la Neo Geo coĂ»tait bien trop cher pour moi gamin. Mais je me suis au final achetĂ© une MVS.
King of Fighters 98
Quâest-ce que cette console a de particulier ?
Dâun point de vue technique ?
Difficile Ă dire, disons quâen tant que console de salon, elle est unique parce quâelle prend des technos quâon ne voit gĂ©nĂ©ralement que sur arcade. Je mâexplique, la plupart des consoles 8/16 bits font en gĂ©nĂ©ral ROM->VRAM. La Neo Geo ne fait pas cela, parce que les ROM sont littĂ©ralement des VRAM. La seule autre console qui le faisait Ă©tait la NES ! Câest pour cela que les portages sur console PS1 ou Saturn Ă©taient assez complexes et pas aussi fidĂšles que les originaux : quand vous avez plusieurs mĂ©gas de ROM, câest comme si vous aviez plusieurs mĂ©gas de VRAM, or des consoles comme la PS1 qui avait 1 mĂ©ga de VRAM, sont un peu limites !
Une particularitĂ© quâelle a et câest quâelle nâa pas de Background hardware, ce nâest que des sprites, le fond ne sont que des sprites assemblĂ©s. La particularitĂ© aussi câest quâelle peut assembler des sprites hardware, cela a un nom, mais jâai oubliĂ©, lâavantage câest que ça Ă©vite pas mal de calcul.
Sur SNES ou Mega drive, vous pouvez faire des « macro sprite » pour faire par exemple des sprites de 64x64, mais du coup vous devez dĂ©placer les 4 sprites individuellement (de 32x32). Alors que la Neo Geo le fait automatiquement. Elle gĂšre aussi lâanimation des tiles niveau hardware.
Une chose que jâaimerais dire pour la suite, la Neo Geo a donc au moins 5 ROM diffĂ©rentes, toutes dĂ©diĂ©es :
- les ROM PX, pour programme qui contiennent le programme et les données du jeu,
- les ROM CX, ils contiennent les sprites du jeu,
- Les ROM VX, qui contiennent les SFX du jeu (en format ADPCM),
- les ROM MX, qui contiennent le programme sonore et les partitions des musiques,
- la ROM S1, qui contient les données pour le fix (un arriÚre-plan pour le HuD).
Si vous dézippez une ROM Neo Geo, vous les verrez, vous savez maintenant à quoi elles correspondent et à quoi elles servent !
Une cartouche contenant les ROMs dâun jeu
Que dire de ses processeurs (Motorola 68000 et Zilog Z80) ?
Je ne dirais pas grand-chose de spécial, parce que ce sont des processeurs assez connus et pas vraiment exotiques.
Lâavantage du M68000, câest quâil possĂšde un compilateur GCC (que jâutilise pour mon SDK), du coup ça aide pas mal. Câest un processeur assez simple et agrĂ©able Ă coder en assembleur.
Pour celles et ceux qui ne le savent pas le M68000 Ă©tait partout, sur console comme la Mega Drive, sur ordinateur comme lâAmiga ou lâAtari St, voir le X68000 (un ordinateur japonais). Sur une bonne partie des bornes dâarcades, etc. Par contre cela se voit que câest un processeur peu utilisĂ© de nos jours, câest un des rares oĂč jâarrive Ă battre GCC en assembleur, alors que sur du x86 GCC me bat Ă plate couture.
Et, bien sur, le M68000 est donc le processeur principal de la Neo Geo ! :D
Le code se trouve dans le P1 qui fait 1 Mio max, on peut faire plus, mais lĂ on fait du bankswitch, la Neo Geo est pensĂ©e pour, niveau hardware. Le bankswitch est quâil y a 1Mio que vous pouvez dĂ©placer, si par exemple vous avec 10 Mio de Programme vous avez 1 Mio que vous pouvez « sĂ©lectionner ». Mais, dans les faits, 1 Mio est largement suffisant, sauf si vous avez beaucoup de donnĂ©es.
Pour le Z80, je nâen suis pas grand fan, mais il sert de processeur audio de la Neo Geo. Je nâai pas grand-chose Ă dire parce que je ne lâaime pas beaucoup, mĂȘme si un processeur ultra courant, qui se trouve sur Master System ou la Game Boy par exemple. Sans parler des micro-ordinateurs qui sâen Ă©quipent.
Comment fonctionne son processeur graphique ?
Alors que dire, câest une console assez simpliste de ce cĂŽtĂ© lĂ . Alors comme toute console de lâĂ©poque, les sprites sont associĂ©s Ă une palette. La Neo Geo possĂšde donc 256 palettes, et sur ces palettes vous pouvez mettre 16 couleurs, chaque couleur est sur 16 bits soit 65536 couleurs disponibles. Un Sprite fait 16 Ăă°ă€ 16 px Ă 16 Ăă°ă€ 512 px (mais le 16 Ăă°ă€ 512 est considĂ©rĂ© comme ayant 32 tiles de 16 pixels). Donc si vous voulez avoir un sprite de 128 Ăă°ă€ 128, sur Neo Geo, cela ne vous coĂ»te que 8 sprites. Un Background coĂ»te en gĂ©nĂ©ral 32 sprites (on le fait en 512 Ăă°ă€ 512 pour faciliter le scrolling). Vous avez un total de 380 sprites.
Et comme dit auparavant, on peut fusionner les sprites niveau hardware et les controller comme sâil nây en avait quâun seul ! Vous pouvez dĂ©zoomer les sprites, eh oui sur Neo Geo on ne peut pas zoomer, mĂȘme si les jeux faisaient cet « effet », les sprites zoomĂ©s nâĂ©taient que des gros sprites quâon dĂ©zoomait !
Niveau concret, il est assez simple Ă utiliser le processeur graphique, on ne fait quâĂ©crire sur la VRAM via des I/O. Elle reste la console, Ă mon sens, la plus facile Ă programmer des consoles 16 bits.
Comment fonctionne lâaudio ?
Lâaudio dans la scĂšne homebrew nâest pas forcĂ©ment trop explorĂ©. Son processeur audio est trĂšs proche du YM2608. Le chipset de la Neo Geo câest le YM2610.
Le YM2608 a Ă©quipĂ© les PC-88 et PC98, ce sont des ordinateurs qui Ă©taient populaires au Japon, ils avaient 70% du marchĂ©. Du coup, ce nâest pas « idiot » de penser que les compositeurs sur Neo Geo le faisaient pour PC-88 car la transformation pour le YM2610 est assez « simple ».
Le chipset sonore est composé comme ceci :
- 4 canaux de synthĂšse FM
- 3 canaux de SSG
- 6 canaux ADPCM fixe Ă 18,5 Khz
- 1 canal ADPCM modulaire
Que veut dire tout cela ?
La synthĂšse FM assez populaire dans les annĂ©es 80/90 permet de simuler un instrument pour quasiment « rien », il faut « juste » quelques rĂ©glages et quelques octets donc pour faire un instrument existant ou pas dâailleurs.
Le SSG, ce sont des signaux triangle/carrĂ©, donc ça fait souvent le bruit dâun bip. Le ADPCM, câest une compression 4 bits du PCM, le PCM (8 ou 16 bits) câest ce quâon trouve gĂ©nĂ©ralement dans un format WAV. Il a un canal modulaire vu quâil a 6 de fixe, comparĂ© Ă ce quâon peut croire 18,5 KHz câest trĂšs suffisant. Alors de nos jours certains ont besoin de 96000Hz apparemment..., mais je doute quâon voie une vraie diffĂ©rence.
Et pourquoi cette fréquence fixe ?
Parce que câest principalement fait pour jouer un son (une explosion, une voix, un coup) et Ă cette frĂ©quence le son est dâassez bonne qualitĂ©. MĂȘme si je pense quâun 16KHz est suffisant pour du SFX. Le modulaire, est parfait pour jouer un instrument, pour celles et ceux qui connaissent un peu la musique, il y a des notes et des octaves, en gĂ©nĂ©ral on joue un sample (par exemple, un piano ou une guitare), on module son son pour jouer au final une partition.
La diffĂ©rence avec la version PC-88/PC-98,câest que lâADPCM fixe nâĂ©tait pas modifiable, lâordinateur venait avec 6 instruments fixe quâon ne peut pas modifier. Alors que sur Neo Geo vous pouvez les modifier sans soucis.
Quels services fournit le BIOS ? Existe-t-il des versions alternatives ? Libres ?
Alors aussi Ă©tonnant que cela puisse paraĂźtre, je me suis pas plongĂ© dans les mĂ©andres du BIOS de la Neo Geo. Il fournit diverses choses, je lâutilise principalement pour clear la VRAM et autre chose. Mais il fournit divers services pour le CD, la gestion des manettes, des jetons, etc., etc.
Jâimagine que vous le savez, il existe bel et bien une version libre (NDM : il y a des restrictions sur lâutilisation ) du BIOS de la Neo Geo qui est UniBios. Mais, comme je suis un vieux barbu, je pourrais pas vous en dire plus, je suis Ă lâancienne Ă taper tout via des IO !
Quelle est votre manette préférée ?
Le Stick arcade ! Sinon, ça ne sera pas partagĂ© par tout le monde, mais jâaime beaucoup la manette PS2 !
Le stick arcade de la Neo Geo
Quelle est la différence entre les différentes versions (MVS, AES, CD, CDZ, mini...) ?
Les diffĂ©rences sont vraiment minimes surtout entre les versions MVS et AES. Je sais que les PCB peuvent ĂȘtre diffĂ©rentes et que les versions Arcade peuvent ĂȘtre un peu plus « lĂ©gĂšres » que leur version AES.
La CD et CDZ, me semble que la diffĂ©rence est juste la vitesse du CD, le CDZ charge deux fois plus vite (câest pas nĂ©gligeable). Sinon la grosse diffĂ©rence est quâun CD nâĂ©tant pas une ROM, les versions CD nâont que 7 Mio de RAM pour charger les ROMs, ce qui est pas « Ă©norme » pour une Neo Geo.
Ils sont répartis comme cela :
- 68000 program memory : 2 Mio
- Fix layer memory : 128 Kio
- Graphics memory : 4 Mio
- Sound sample memory : 1 Mio
- Z80 program memory : 64 Kio
Et avec les 150 Ko/secondes du lecteur CD, je vous laisse imaginer pourquoi les temps de chargement sont si longs ! Les autres diffĂ©rences sont que les ROM sont diffĂ©rents aussi, jâai oubliĂ© dâindiquer, cela fait longtemps, mais je suis sĂ»r que pour les ROM C1/C2, par exemple, les pixels sont divisĂ©s entre les deux pour le mĂȘme sprite, ce nâest pas le cas de la CD ou les pixels sont linĂ©aires.
La Neo Geo CDZ Z Z, elle a tous les pouvoirs
Les émulateurs Neo Geo sont-ils bons ?
Bon dans quel sens ? Proche du hardware de la machine ?
Non, il y a deux erreurs que jâavais faites et qui ne marchaient pas sur une vraie console. Il y a une latence Ă respecter avec le processeur graphique (il faut Ă©crire dessus tout les 12 cycles), alors que tous les Ă©mulateurs s'en foutent royalement. Ce que je ne savais pas, câest que la premiĂšre couleur de la palette sert Ă rĂ©gler un peu toutes les couleurs, du coup jâavais un bug Ă©trange qui Ă©tait que toutes les couleurs tournaient au vert. Mais aucun Ă©mulateur ne le faisait et affichait les « vraies » couleurs.
Et il existe sûrement plein de choses comme ça.
Mais, si on parle de jeux, oui les Ă©mulateurs sont assez bons pour retranscrire les jeux originaux. Pour du dev, clairement pas (mĂȘme MAME).
Quels sont vos jeux commerciaux préférés sur cette console ?
Oh ! Beaucoup trop, mais je vais citer Windjammers ! Kof 98, 2000,2002, Last Blade 2, Fatal Fury Real Bout spécial, les Metal Slug, Blazing Star et Aero Fighter 2.
Bon, de mon point de vue, il nây a que trĂšs peu de mauvais jeux sur cette console.
Windjammers
Quels sont vos jeux « homebrew » préférés sur cette console ?
Ah ben aucun, jâen ai jouĂ© Ă aucun pour le moment â
Partie 3 : NGDK
Pourquoi créer un SDK pour un si vieux systÚme ?
Parce que je trouvais pas de SDK facile Ă prendre en main pour la Neo Geo, que câest une de mes consoles favorites et que jâaime la programmation bas niveau et les jeux vidĂ©o :)
Quelles ont été les difficultés pour le concevoir ?
Disons tous les outils pour faciliter le dev, ce nâest pas seulement une lib. Et lâautre et la partie audio que je nâai pas terminĂ©e.
Quelles sont les fonctionnalités de NGDK ?
Le SDK permet de gérer facilemement pour vous le fix, la palette, les sprites, la création de backgrounds, la fusion des sprites, le dézoom et la gestion du joystick. Il permet aussi de pouvoir compiler dessus sur windows et Linux, la gestion des ressources (sprite / palette) et la gestion des maps.
Est-ce quâil gĂšre divers accessoires (cartes mĂ©moires, manette Mahjong) ?
Ah ah non aucun désolé !
La manette Mahjong
Est-ce que vous participez à la création de jeux Neo Geo ?
Oui et non, le seul jeu que jâaimerais faire câest un beat them all Ă la Double Dragon. Câest un genre qui manque un peu sur cette console je trouve.
Est-ce que des jeux amateurs ou commerciaux sont développés avec NGDK ?
Il y a des jeux amateurs qui sont dĂ©veloppĂ©s dessus, je ne pense pas quâun soit terminĂ©, mais câest cool de voir des dĂ©mos tourner avec mon SDK ! :)
Quels conseils donnez-vous aux gens qui se lancent dans le développement de jeux Neo Geo ?
Je conseille de savoir coder en C, dâĂȘtre un minimum Ă lâaise dessus.
Est-ce que vous aimeriez vivre de ce projet ?
Quelle question !
Oui bien sĂ»r, mais jâai arrĂȘtĂ© de rĂȘver _^
Partie 4: pour finir
Que dire sur vos autres projets ?
Jâai deux autres projets, un qui est un CRT pour Ă©mulateur disponible sur FBNeo et un moteur 3D pour les consoles Dreamcast/PS2/GameCube.
(Et cela me fait un peu de pub pour mon github). Alors jâaurais beaucoup de chosex Ă dire sur ces projets mais ça serait trĂšs trĂšs long.
NDM : ces projets feront peut-ĂȘtre lâobjet de nouveaux entretiens, si vous ĂȘtes un spĂ©cialiste des CPU ou de la 3D, nâhĂ©sitez pas Ă contacter devnewton pour aider Ă prĂ©parer des questions pertinentes.
Vous avez des projets en cours ?
Alors oui, et il est toujours en cours, câest de crĂ©er un processeur (rien que ça oui).
Cela fait 15 ans que je suis passionnĂ© de micro-architecture et je trouve lâarchitecture des PC ou des processeurs aberrantes, ce nâest clairement pas le choix que jâaurais fait.
Et on touche Ă des machines trĂšs diverses : forcĂ©ment lâidĂ©e mâest venu de compiler toutes ces connaissances.
Câest un processeur VLIW, qui devient de plus en plus EPIC, en gros je ne fais ni du CISC, ni du RISC. Jâai des raisons bien prĂ©cises de ne pas en faire, je ne suis pas un fan inconditionnel du RISC, pour la simple raison que pour moi lâISA doit reprĂ©senter en partie le fonctionnement interne du processeur. Pour cela que je me tourne sur du VLIW ou EPIC pour rendre toute cela bien plus explicite.
Mon processeur est un processeur vraiment exotique mĂȘme dans sa catĂ©gorie, vous pouvez voir le projet ici.
Le but Ă©tant de le faire tourner sur FPGA (voir de le graver via un kickstarter). Jâai fait un assembleur, une VM et on travaille avec dâautres pour faire un compilateur avec LLVM (et si des personnes sont motivĂ©es par un tel projet, elles sont les bienvenues). Câest un projet passionnant qui mâa apportĂ© pas mal de connaissances, mais aussi la certitude que je dois le finir.
Je pense que ma solution ou proposition est une vraie alternative aux micro-architectures actuelles.
Surtout avec lâarrivĂ©e du RISC-V qui semble un peu pousser tout le monde sur cette architecture. Je nâai rien contre cette architecture, mais jâai toujours une prĂ©fĂ©rence pour MIPS et je trouve quâon y fonde peut-ĂȘtre trop dâespoirs pour « rien ». Câest un MIPS mis au goĂ»t du jour, et « open source », je mets entre guillemet parce que seul lâISA est open source, pas lâimplĂ©mentation et ça change tout ! :) Câest un peu comme si on disait « ah oui mais lâAPI Linux est open source mais pas son noyau », câest un peu pareil avec le RISC-V. Alors on peut faire une implĂ©mentation open source, mais vous imaginez bien que pour le moment ce nâest pas trop le cas.
La raison pour laquelle je ne fais pas du RISC-V est comme dit, je veux que lâISA soit trĂšs explicite. RISC-V nâest pas neutre dans sa conception (comme le mien dâailleurs), et sa vision reste seulement orientĂ©e pour des hautes performances, lâISA est pensĂ© pour du Superscalaire Out of Order, ce que je ne veux pas faire absolument.
Pour en revenir Ă mon processeur, lâavantage serait que, si ça marche, il pourrait avoir de bonnes performances avec une consommation et un coĂ»t rĂ©duit.
Au niveau personnel, quels logiciels libres utilisez-vous, sur quel OS ?
Alors je tourne sur MX-Linux (avec XFCE), donc que des logiciels libres en général.
Firefox comme navigateur web favori, oui je nâaime pas Google chrome ! :D
Je nâaime pas non plus LibreOffice, du coup jâutilise OnlyOffice.
Pour le Dev, jâutilise VS Code, Code::Block, Geany et QT CrĂ©ator (suivant les langages et les projets).
Jâutilise GIMP, je remarque que peu de personnes de mon entourage savent lâutiliser alors que je le trouve plus facile quâavant (il y a 15 ans, je vous assure que câĂ©tait une horreur Ă utiliser).
Jâutilise toujours Thunar comme exploreur de fichier et le Mousepad comme editeur de texte rapide, peu importe la distribution.
Niveau Ă©mulateur jâaime beaucoup FB Neo et mednafen qui me permet de ne pas trop changer dâĂ©mulateur peu importe la machine.
Je suis aussi contributeur de FB Neo.
Au niveau professionnel, quels logiciels libres utilisez-vous, sur quel OS ?
Au boulot, câest Ubuntu, VSCode et tous les navigateurs disponibles, mais jâutilise beaucoup Firefox par habitude.
Quelle est votre distribution GNU/Linux préférée et pourquoi, quels sont vos logiciels libres préférés ?
Alors moi jâai fait Ubuntu, Fedora et maintenant MX-Linux et pour le moment MX-Linux jâadore, lĂ©ger et robuste câest ce qui me convient le mieux.
Quelle question auriez-vous adorĂ© quâon vous pose ?
Je dirais les questions en rapport avec la micro-architecture ou de mon processeur !
Quelle question auriez-vous dĂ©testĂ© quâon vous pose ?
Si je devais ĂȘtre honnĂȘte, jâai plein de questions que je dĂ©teste quâon me pose. Et donc je ne les dirai pas ! Mais, en gĂ©nĂ©ral, je nâaime pas les gens qui me disent « pourquoi tu nâutilises pas ça au lieu de ça », en gĂ©nĂ©ral mes choix sont assez rĂ©flĂ©chis. Mais souvent ce sont des questions qui peuvent ĂȘtre naĂŻves sur tel ou tel sujet ou choix de ma part.
Aller plus loin
- DépÎt github (78 clics)
- Site de Kannagi (113 clics)
- Un podcast sur la console (59 clics)
- Le dossier de grospixels (57 clics)
- Un site de passionés (72 clics)
- Les autres systĂšmes de SNK en arcade (70 clics)
# logiciel libres
PostĂ© par Psychofox (Mastodon) . ĂvaluĂ© Ă 3.
Il compile VScode depuis les sources?
[^] # Re: logiciel libres
PostĂ© par devnewton đș (site web personnel) . ĂvaluĂ© Ă 10. DerniĂšre modification le 25 mai 2023 Ă 10:22.
Je n'ai pas souhaité corrigé les approximations sur la définition du libre dans cet entretien et dans les précédents, car le monde du retrogaming n'est pas trÚs avancé dans l'adoption du logiciel libre.
C'est dĂ©jĂ un miracle d'avoir autant de francophones qui produisent des logiciels libres dans le retrogaming alors qu'il s'agit d'un secteur oĂč les matĂ©riels et les logiciels sont ultra privateurs / fermĂ©s.
Ce post est offensant ? Prévenez moi sur https://linuxfr.org/board
# En vivre
PostĂ© par devnewton đș (site web personnel) . ĂvaluĂ© Ă 4.
Il y a peut ĂȘtre des opportunitĂ©s d'aller vers du jeu libre rentable en vendant des Ă©ditions physiques.
Ce post est offensant ? Prévenez moi sur https://linuxfr.org/board
[^] # Re: En vivre
PostĂ© par Psychofox (Mastodon) . ĂvaluĂ© Ă 4.
Le marchĂ© de la NeoGeo, ça reste quand mĂȘme petit.
# Ă propos du projet CPU
PostĂ© par jseb . ĂvaluĂ© Ă 10.
Comme d'habitude avec devnewton, trĂšs bonne interview.
La partie neogeo Ă©tait bien sĂ»r intĂ©ressante et instructive, mais j'avoue avoir Ă©tĂ© encore plus intĂ©ressĂ© par le projet je dĂ©veloppement CPU. J'ai un peu la mĂȘme opinion que l'auteur concernant le tout-risc, et le fauxpen-source « risc V ».
Discussions en français sur la création de jeux videos : IRC libera / #gamedev-fr
[^] # Re: Ă propos du projet CPU
PostĂ© par Kannagichan . ĂvaluĂ© Ă 5.
Merci pour ton commentaire, et content que je ne suis pas le seul Ă avoir cet avis ;)
Du coup je pense soit de faire un nouveau interview ici sur mon processeur vu que celà semble intéresser du monde, soit d'en faire un article à voir ! :)
# tétrapilectomie
PostĂ© par syntaxerror . ĂvaluĂ© Ă 5.
Le fabricant du Z80 est Zilog (et non Zylog)
[^] # Re: tétrapilectomie
PostĂ© par devnewton đș (site web personnel) . ĂvaluĂ© Ă 10.
C'est corrygeait !
Ce post est offensant ? Prévenez moi sur https://linuxfr.org/board
[^] # Re: tétrapilectomie
PostĂ© par Tonton Th (site web personnel, Mastodon) . ĂvaluĂ© Ă 2.
tetracapillotomie !
[^] # Re: tétrapilectomie
PostĂ© par BAud (site web personnel) . ĂvaluĂ© Ă 3.
plutÎt tétracapillectomie ;-)
[^] # Re: tétrapilectomie
PostĂ© par syntaxerror . ĂvaluĂ© Ă 2.
ou pas https://fr.wiktionary.org/wiki/t%C3%A9trapilectomie
Selon que l'on coupe un cheveu en quatre, ou un poil (dans la main) ce qui est somme toute moins excluant
# Quelques coquilles et interrogations
PostĂ© par xcomcmdr . ĂvaluĂ© Ă 3.
Le PC-88 et PC-98 sont des ordinateurs, pas des processeurs.
Je n'ai pas compris le passage ROM -> VRAM, et en quoi c'est possible (une ROM étant en lecture seule...) et en quoi c'est unique ?!
Sinon c'était hyper intéressant. Je n'aurais jamais douté qu'un SDK récent existait pour cette console.
"Quand certains rĂąlent contre systemd, d'autres s'attaquent aux vrais problĂšmes." (merci Sinma !)
[^] # Re: Quelques coquilles et interrogations
PostĂ© par devnewton đș (site web personnel) . ĂvaluĂ© Ă 10. DerniĂšre modification le 25 mai 2023 Ă 14:11.
Contrairement aux cartes graphiques pour microordinateur, les vieilles consoles font l'affichage ligne par ligne, pixel par pixel au moment du balayage de l'écran. Il n'y a pas de framebuffer.
Lorsque qu'une ligne est "balayée", le processeur graphique va consulter un tableau avec la liste des sprites à afficher. Cette liste contient des pointeurs vers les images en ROM.
Sur Neo Geo, en ROM on a donc "juste" une collection d'images qui ne changent jamais, le "lecture seule" n'est pas un problĂšme.
Sur d'autres consoles comme la Megadrive, les pointeurs sont vers une zone en VRAM. Les images en ROM doivent d'abord ĂȘtre copier en VRAM pour pouvoir ĂȘtre affichĂ©. L'avantage est que l'on peut gĂ©nĂ©rer des images (comme le rendu vectoriel utilisĂ© dans Another Word ou Flashback), le dĂ©faut c'est qu'on ne peut pas avoir Ă un instant t plus d'images que ce que peut contenir la VRAM.
Ce post est offensant ? Prévenez moi sur https://linuxfr.org/board
[^] # Re: Quelques coquilles et interrogations
PostĂ© par Kannagichan . ĂvaluĂ© Ă 5. DerniĂšre modification le 25 mai 2023 Ă 19:08.
Tu as parfaitement répondu :)
C'est un peu le défaut de la Neo Geo, on ne peut pas générer d'image avec, malgré que c'est un "monstre de la 2D", donc sur certain point elle peut faire moins qu'une SNES/Mega Drive.
[^] # Re: Quelques coquilles et interrogations
PostĂ© par Selso (site web personnel) . ĂvaluĂ© Ă 2.
oui tu sous entends que c'est un pb car la VRAM est toujours en moindre quantité que la ROM.
oui avec la VRAM on peut faire de l'image calculĂ©e. Peut-ĂȘtre pas suffisamment exploitĂ©e. Mais alors pourquoi ce choix ? La RAM c'est cher.
j'avais jamais tilté que la ROM n'était pas accessible, aujourd'hui tout est est plat dans l'espace d'adressage. Cela aurait été pratique pour gérer un background par exemple.
Je savais pas que la neo-geo avec son NDK
Je savais pas qu'un développeur web pouvait faire autant sur de l'embarqué, et encore moins s'intéresser au méandre d'un microprocesseur. :D
Merci pour cette interview. Toujours intéressants ce sujet des kits pour consoles.
La prochaine le fameux CD qui by-passait le bios de la dreamcast ?
[^] # Re: Quelques coquilles et interrogations
PostĂ© par Kannagichan . ĂvaluĂ© Ă 5.
"Le PC-88 et PC-98 sont des ordinateurs, pas des processeurs."
Oui , il faudra le corrigé, c'est un lapsus de ma part ! ;)
[^] # Re: Quelques coquilles et interrogations
PostĂ© par orfenor . ĂvaluĂ© Ă 3.
Waouh! l'interviewé est là !
Si on peut y aller de nos questions supplémentaires...
Ta critique de RISC-V est trÚs intéressante, mais t'en pas assez dit sur ton proco. Comment peut-on suivre ton activité ? tu en parles dans des forums ?
[^] # Re: Quelques coquilles et interrogations
PostĂ© par Kannagichan . ĂvaluĂ© Ă 3.
Oui, je suis un peu curieux des retours _^
D'abord merci , et content ma critique du RISC-V est intéressante :)
Alors je n'en dit pas assez sur mon proco parce que le but était de parler de la Neo Geo.
J'aurais pu en parler sur Twitter, mais pas grand fan de twitter.
J'en parle plus ou moins souvent sur un Discord (le serveur NaN).
Du coup je pense soit de faire un nouveau interview ici sur mon processeur, soit d'en faire un article Ă voir ! :)
[^] # Re: Quelques coquilles et interrogations
PostĂ© par BenoĂźt Sibaud (site web personnel) . ĂvaluĂ© Ă 4.
Corrigé, merci.
# Quelques petites coquilles
PostĂ© par GuieA_7 (site web personnel) . ĂvaluĂ© Ă 6.
=> ils contiennent les sprites du jeu
=> on peut fusionner les sprites niveau hardware et les contrĂŽler comme sâil nây en avait quâun seul !
=> les sprites zoomĂ©s nâĂ©taient que des gros sprites quâon dĂ©zoomait !
Et merci pour l'interview, hĂąte d'avoir des nouvelles des autres projets (moteur 3D & CPU) !
[^] # Re: Quelques petites coquilles
PostĂ© par BenoĂźt Sibaud (site web personnel) . ĂvaluĂ© Ă 3.
Corrigé, merci.
# Console Drive ?
PostĂ© par nah (site web personnel, Mastodon) . ĂvaluĂ© Ă 1.
comme la Mega Drive ?
[^] # Re: Console Drive ?
PostĂ© par BenoĂźt Sibaud (site web personnel) . ĂvaluĂ© Ă 3.
Corrigé, merci.
# altairx
PostĂ© par Nicolas Boulay (site web personnel) . ĂvaluĂ© Ă 4.
https://github.com/Kannagi/AltairX
Super projet de cpu ! Cela ressemble un peu Ă ce que l'on voulait faire pour le fcpu.
Avez vous pensez Ă faire un mode d'isa 64 bit qui regroupe les 2 instructions 32 bits.
Cela permet de faire des d = a*b+c ou des d = a+b+c au minimum. Ou encore,cela offre des immediats de 32 bits. Cela remplace 2 ou 3 instructions et sans latence.
"La premiÚre sécurité est la liberté"
[^] # Re: altairx
PostĂ© par Kannagichan . ĂvaluĂ© Ă 1.
J'y ai pensé , mais que récemment (genre y'a une ou deux semaines !).
C'est une bonne idée surtout pour les additions multiples !
Surtout pour les immédiates qui était le gros soucis de mon CPU.
Du coup j'ai commencé à rajouté ces petits changements.
Et donc je pense de plus en plus de rajouter un ISA 64 bits vu que celĂ permet d'apporter un gros plus.
Surtout que plein d'idĂ©e me vient Ă lâesprit notamment aussi pour les instructions SIMD entre autre.
N'hésiter pas à me contacter par mail ou discord pour en parler plus précisément ! :)
[^] # Re: altairx
PostĂ© par Nicolas Boulay (site web personnel) . ĂvaluĂ© Ă 3.
Au niveau idée, il y a aussi les vecteurs façon risc v vraiment superieur au SIMD.
L'idée du mode 64 bits est d'arriver à avoir l'équivalent de 3 instructions dans la place de 2.
Quel discord ?
"La premiÚre sécurité est la liberté"
[^] # Re: altairx
PostĂ© par Kannagichan . ĂvaluĂ© Ă 1.
Alors justement je trouve vraiment "mauvais" les vecteur façon RISC-V , et je pense au contraire que ça va vraiment plus causer de soucis qu'autre choses dans l'avenir.
Pas mal se plaint que c'est clairement pas adapté à la façon de comment les gens utilise les instruction SIMD et que souvent l'utilisation est bien plus "particuliÚre".
Mais c'est une critique que je lis souvent : "le RISC-V manque d'un certain pragmatisme".
C'est écrit sur ma page de profil mon discord : Helba#2387 ;)
Alors faire un mode 64 bits 3 instruction pourquoi pas, mais si j'ai abandonné l'idée c'est que c'est trÚs rare d'avoir 3 instructions/cycles et dans ce cas là , je préfÚre plutÎt m'orienter vers un EPIC (qui mélange VLIW et superscalaire).
[^] # Re: altairx
PostĂ© par Nicolas Boulay (site web personnel) . ĂvaluĂ© Ă 3.
C'est quoi le problĂšme avec les vecteurs variables risc v ?
Que veux-tu dire par la ? Les intel ont 3 ALU par exemple.
Vliw c'est en general, 8 instructions d'un coup. EPIC me rappelle l'itanium avec ses bundles d'instructions par paquets de 3 6 ou 9. Ils n'ont pas réussi à monter en fréquence.
"La premiÚre sécurité est la liberté"
[^] # Re: altairx
PostĂ© par Kannagichan . ĂvaluĂ© Ă 2.
Alors Intel ou AMD ont 4 ALU (et je crois que Intel ont 5 ALU) et au total ils peuvent "théoriquement" faire du 12-16 instructions/cycles.
Pourtant si tu mesure, tu n'aura jamais 12-16 instructions/cycle.
Et mĂȘme les 3 instructions/cycle qu'il arrivent Ă fournir sont pas fait de façon statique ! :)
Et donc c'est pas avec du simple VLIW que tu arrivera Ă faire 3 instructions/cycle.
(Je ne dis pas que tu peux pas en faire, mais le cas sera rare).
Alors un VLIW , c'est pas en général 8, et à vrai dire 8 instructions/cycles ,c'est totalement inutile (sauf pour un DSP et encore) , le VLIW de la PS3 (le CELL ) c'était 2 instructions/cycles.
Et J'avais vu que celui de Crusoe c'était 4 bref.
Le truc c'est que je viens d'écrire un article pour linuxfr qui expliquera tout cela , mais oui si j'ai envie je peux trÚs bien faire 8 instructions/cycle, c'est pas trÚs compliqué et je fumerais n'importe quel AMD et Intel derniÚre gen !
Si c'était aussi simple tout le monde le ferait ! :D
Non le truc c'est que tu n'extrairera jamais autant de parallélisme sur du code, j'avais lu un gars de chez IBM qui disait que sur le code de Linux il arrivait pas à extraire plus de 2 instructions/cycle.
Surtout que 8 instructions/cycle ,c'est peu probable , on considĂšre que tu as 20% de code qui sert pour les boucles.
Donc techniquement les 8 instructions serait du code séquentiel.
Meme un simple code comme :
if (a == b)
return 1;
else
return 0;
Tu le rentrera jamais sur un bundle de 8 instructions/cycle ;)
Pour la montée en fréquence , c'est pas tant le soucis de son ISA ou de son architecture, mais je pense que son fetch élevé le ralentisser tout simplement dans la montée en fréquence.
Je pense qu'ils ont visé beaucoup trop haut pour l'itanium (faire du 6/9 instructions/cycle est complÚtement fou).
.
Alors il Ă©tait quand mĂȘme pensĂ© pour du conditionnal move, mais ça gonflait un peu le nombre d'instructions, vu le nombre d'itinĂ©ration Ă faire.
Le soucis des vecteurs variables risc v ,c'est que c'est bien pour des boucles d'instruction SIMD , regarde juste un peu les pratiques des instructions SIMD , leur cas sont bien plus différents que les exemples que RISC-V fasse.
De ce que j'ai compris, le gars a bien aimé les ordinateur sous cray et tente de refaire ça sur RISC-V, c'est cool , mais de là à dire que ça fait mieux que du SIMD bof.
Je pense personnellement que l'handicapera parce que souvent les instruction SIMD et non SIMD sont mélanger et surtout, ils sont pas forcément utilisé dans des boucles toute faite.
Un compilateur actuel peut te mettre du SIMD pour un simple bout de code sur du x86 ou de l'ARM (Neon).
Les vecteur RISC-V seront incapable de faire ça ,vu qu'ils sont pas pensé pour cela.
[^] # Re: altairx
PostĂ© par Nicolas Boulay (site web personnel) . ĂvaluĂ© Ă 3.
En 2000, l'ilp moyen était donné autour de 2.4. Donc arriver à 3 est déjà bien. Tu peux augmenter l'ilp en faisant des instructions étudiées pour diminuer les dépendances read after write.
VLIW c'est surtout le dsp c6x de TI, avec ces 8 instructions. C'était utile dans les grosses boucles type fftw ou du filtrage.
2, 3 ou 4 instructions, c'est plus LIW. Cela n'est pas vraiment "very large".
Pour la gestion de boucle, les compilateurs les déroulent jusqu'à 16 fois pour augmenter le parallélisme et le ratio du code utile vs le code de gestion.
Le gros avantage des vecteurs risc v est l'augmentation facile du parallélisme. Tu n'es pas obligé de changer d'isa pour gérer 4,8 ou 16 float en meme temps.
"La premiÚre sécurité est la liberté"
[^] # Re: altairx
PostĂ© par Kannagichan . ĂvaluĂ© Ă 1. DerniĂšre modification le 29 mai 2023 Ă 14:04.
"2, 3 ou 4 instructions, c'est plus LIW. Cela n'est pas vraiment "very large"."
La dĂ©finition est valide pour tout les processeurs faisant plus que un, le CELL est VLIW , le crusoe aussi, mĂȘme s'il ne font que 2 et 4 respectivement.
Si les DSP font bien plus, c'est parce qu'ils traitent des données bien particuliers.
C'est un peu le soucis des processeurs généraliste, un VLIW à 8 est overkill.
A la base mon processeur était pensé pour du 4 instructions, pourquoi j'ai abandonné cette idée ?
Parce que comme je te l'ai dit, sur du code, c'est compliqué d'extraire autant de parallélisme.
Donc ce que tu dis j'y ai pensé , mais j'ai abandonné l'idée pourquoi ?
Parce que de un ,j'ai pas de compilateur qui fournit 4 instructions/cycle,donc pourquoi le mettre , surtout que cela complexifierai pas mal de chose :
Je dois faire beaucoup de Multiplexing
Mon read/write register est doublé
Je dois mettre plus d'unité de calcul
-je dois fetch plus
-aucun gain sur les conditions (qui reprĂ©sente quand mĂȘme 25% du code)
La fabrication de processeur, c'est pas rajouter et dire "ça va ,plus c'est gros , plus ça passe" , je suis pas Intel et je ne pourrais pas graver un gros processeur,donc je dois choisir un truc "raisonnable", et intéressante.
Et donc sur 2 instructions, non seulement le processeur est simpliste, mais en plus le compilateur le gĂšre parfaitement bien.
Alors je pourrais le faire Ă©voluĂ© par la suite Ă un bundle de 4, le processeur est pensĂ© pour ,vu que de base j'Ă©tais parti sur ça (j'ai fait 4 -> 2 pour ĂȘtre exact).
Mais comme faire 4 instructions par bundle complexifierai un peu le processeur, je me suis dit autant partir sur quelque chose de plus efficace, de gérer 2 instructions statiquement et 2 dynamiquement.
Je pourrais pas forcément tout expliqué en détails ici de ce choix , mais pour moi , c'est complÚtement illusoire de penser gérer tout les cas de façon purement statique (et pourtant j'étais persuadé que y'avait moyen).
Alors je ne suis pas vraiment fermé à un 3 instructions/64 bits , mais faudra faire une analyse du compilateur et voir quand il peut en fournir et avec quel pattern d'instruction.
"Tu peux augmenter l'ilp en faisant des instructions étudiées pour diminuer les dépendances read after write."
Alors mon processeur peut éviter le RAW assez simplement, parce que les bypass sont explicite ;)
Pour cela aussi que 2 instructions/cycle est parfaitement gérer, parce que les RAW sont facilement évitable sur mon proc.
Et sinon les dépliages de 16 sont une abération, si tu regarde les optis -O2 est souvent bien plus efficace que le -O3.
Si tu déplie la moindre boucle, tu gonfle le nombre d'instruction ,donc le i-cache en souffre, et si la boucle n'est pas assez grosse, le gain est négatif.
Alors oui ,en VLIW t'as pas trop le choix de partir sur ce point là , mais comme mon but est de trouver d'autre solution aussi, je trouve cela dommage de déplier une boucle de 16 alors que avec quelque info donné sur le processeur,il peut le faire tout seul comme un grand :)
Voilà mais j'expliquerai vraiment tout ça en détails sur un prochain article.
[^] # Re: altairx
PostĂ© par Nicolas Boulay (site web personnel) . ĂvaluĂ© Ă 3.
Les boucles sont déroulées sous x86 aussi. As tu mesuré du code réellement plus lent -o3 qu'en -o2 ?
Concernant le cpu, je pensais surtout à définir l'isa comme 64 bits. Mais avec 4 lectures et 2 écritures de registres, tu peux faire ainsi 2 instructions classiques ou des trucs beaucoup moins ("load load", MACC,...) qui se ferait avec 2 ou 3 instructions habituellement.
Attention aux bypass explicit, c'est un mauvais plan si tu veux garder une compatibilité binaire et changer d'architecture.
"La premiÚre sécurité est la liberté"
[^] # Re: altairx
PostĂ© par Kannagichan . ĂvaluĂ© Ă 1.
ça m'arrivait d'en mesurĂ© des plus long en -O3,donc pour les optimisations importantes, je met souvent des "attributes" pour mettre des optis spĂ©cifique Ă mes fonctions ,certaine sâoptimise plus en -O2 d'autre en -O3.
Faire un ISA 64 bits, c'est déjà un peu le cas ,(pour faire des gros move immediate , pareil pour l'addition/immédiate etc).
Et j'avais pensĂ© peut ĂȘtre le faire avec des SIMD.
Pour 3 instructions toujours à voir, mais le truc, c'est que ça me fait environ 20 bits par instructions, et j'ai 64 registres donc...
non seulement ça prendra pas toute les instructions , mais en plus je suis limité en instruction (bon pour voir sur RISC-V , c'est les instruction basique ADD/SUB et compagnie).
Mais ça me rajoute un décodage à rajouter en plus et un peu plus de Read/write register, du coup ben ça dépend du compilateur.
"Mais avec 4 lectures et 2 écritures de registres, tu peux faire ainsi 2 instructions classiques "
C'est ce que fait le CPU actuellement , il a 2 ALU ,2 FPU ,2 LSU , donc il peut exécuter les deux en // sans soucis.
Et avec le bypass, y'a pas de soucis de RAW/Stall/
Mais oui ,je sais que le bypass explicite est mauvais.
Mais dans tout les cas le VLIW est plutÎt mauvais pour évoluer sans tout casser.
ça a son avantage et son inconvénient , on va dire.
Pour ĂȘtre honnĂȘte, je pense partir sur un VLIW 2 instruction/cycle boostĂ© Ă mort (64 registre /bypass) etc etc , dĂ©jĂ c'est pas mal.
Vu que si on arrive Ă mĂȘme avoir du 1-2 instructions cycle souvent , ben c'est dĂ©jĂ aussi bon qu'un Intel de 4700 par exemple ! :)
Et pour la suite partir sur un autre avec un ISA/et autre feature pas forcément compatible mais qui pourra monter à 3-4 instruction/cycles.
Et je le rappel que 3-4 instructions/cycle ,tu es bien meilleurs qu'un Intel et AMD ,si t'arrive a tenir ce rhytme d'instructions ;)
[^] # Re: altairx
PostĂ© par Nicolas Boulay (site web personnel) . ĂvaluĂ© Ă 3.
Si tu as 4 lectures regitres tu peux avoir une des ALU à 4 entrée par exemple.
Ajouter un adder Ă un multiplieur ce n'est pas grand chose en taille non plus.
Tu peux aussi inventer un concept d'ISA compatible aprÚs recompilation mais avec des éléments d'architectures fixes.
Intel arrive a avoir 3 ou 4 instructions par cycle, en ayant une pointe Ă plus de 12 !!
"La premiÚre sécurité est la liberté"
[^] # Re: altairx
PostĂ© par Kannagichan . ĂvaluĂ© Ă 1.
"Tu peux aussi inventer un concept d'ISA compatible aprÚs re compilation mais avec des éléments d'architectures fixes."
Oui c'est mon idée en long terme !
Et j'y travaille , je l'ai mis ici :
https://docs.google.com/spreadsheets/d/19nOBbH_4KWaXxDSNA4JuZjaBble0VRrBxcVlEjTZ3iI/edit
L'avantage , c'est que tu peux mettre des intresics complÚtement "inventé" , vu qu'on peut ensuite l'implémenté comme en veut
"Intel arrive a avoir 3 ou 4 instructions par cycle, en ayant une pointe Ă plus de 12 !!"
Alors j'ai pas calculer leur pointe , 3-4 instructions/cycles c'est la moyenne,s'ils ont des pointes à 12, ça veut dire qu'il y'a de gros stall.
En gros si t'as 12 instructions/cycle à un moment et que la moyenne est de 3 , ça veut dire que t'as 3 cycles ou tu ne fais rien.
Et lĂ on parle d'un Intel 10 eme gen minimun.
Du coup autant faire 3 instructions/cycle continu non ?
"Si tu as 4 lectures regitres tu peux avoir une des ALU à 4 entrée par exemple.
Ajouter un adder Ă un multiplieur ce n'est pas grand chose en taille non plus."
J'ai pas tout compris , mais je ne pense pas que l'espace commentaire (pour un article sur mon SDK sur la Neo Geo) soit aussi le plus adapté pour expliquer tout en détails.
[^] # Re: altairx
PostĂ© par Nicolas Boulay (site web personnel) . ĂvaluĂ© Ă 3.
Les "stall" ne sont plus un si gros problÚme à cause de l'énergie, Intel est obligé de diminuer la fréquence quand les instructions simd 512 bits sont utilisées.
Cela ne suffit pas quand un simple load te prend 80 cycles.
C'est pas faux. L'idée est d'avoir des unités de calcul qui ne se limite pas à 2 entrées.
"La premiÚre sécurité est la liberté"
[^] # Re: altairx
PostĂ© par Kannagichan . ĂvaluĂ© Ă 1.
"Cela ne suffit pas quand un simple load te prend 80 cycles."
Si tu es un tel cas , je pense pas que le VLIW 8 instructions/cycle soit la solutions ;)
Ce qui permet dâexĂ©cuter autant c'est parce qu'il a un window + exĂ©cution dans le dĂ©sordre.
"C'est pas faux. L'idée est d'avoir des unités de calcul qui ne se limite pas à 2 entrées."
Ok je comprend ! ;)
[^] # Re: altairx
PostĂ© par devnewton đș (site web personnel) . ĂvaluĂ© Ă 8. DerniĂšre modification le 30 mai 2023 Ă 11:20.
Bonjour Nicolas,
Une dĂ©pĂȘche est en cours de rĂ©daction sur le sujet si tu veux nous donner un coup de main :-)
https://linuxfr.org/redaction/news/altairx-le-cpu-du-futur
Ce post est offensant ? Prévenez moi sur https://linuxfr.org/board
[^] # Re: altairx
PostĂ© par Kannagichan . ĂvaluĂ© Ă 1.
Oh top !
J'adore le titre _^
# CRT ?
PostĂ© par Tonton Th (site web personnel, Mastodon) . ĂvaluĂ© Ă 2.
Algorithm to simulate a CRT => C Run Time ?
Je passe peut-ĂȘtre Ă cotĂ© de quelque chose, mais j'avoue n'avoir pas vraiment compris de quoi il s'agit...
[^] # Re: CRT ?
PostĂ© par jseb . ĂvaluĂ© Ă 5.
CRT , c'est le nom abrégé des tubes cathodiques des anciens moniteurs.
Si tu as connu et que tu regardes les screenshots du projet, tu vois tout de suite de quoi il s'agit :)
https://github.com/Kannagi/CRT
Discussions en français sur la création de jeux videos : IRC libera / #gamedev-fr
[^] # Re: CRT ?
PostĂ© par Tonton Th (site web personnel, Mastodon) . ĂvaluĂ© Ă 4.
Roohhh, la honte ! Cathode Ray Tube ! Et dire que j'ai une Trinitron 44cm en attente de SNES :)
Suivre le flux des commentaires
Note : les commentaires appartiennent Ă celles et ceux qui les ont postĂ©s. Nous nâen sommes pas responsables.