MSX Village forum

Affichage Public MSX avec 2 cerveaux Et pourquoi pas nous !?

TurboSEB Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 08/08/2010 à 20h57

Messages: 5880

Le 13/08/2022 à 17h12

Reprise du message précédent

Donc en résumé, avec ce projet de 2016 dont le prototype existe et est fonctionnel. On est pas loin du MSX 3 l'air de rien.
Avec la transformation d'un MSX 1 ou 2 de base qui a une puissance de calcule de 0,54Mips (Z80 à 3,5 Mhz), a un pseudo Z80/R800 ayant une puissance de calcule de 12,2 Mips, soit un peu plus de 2 TurboR. Tout en concevant les caractéristiques de base, c'est à dire que si vous mettez cette cartouche sur un Msx1, vous aurez un Msx1 ultra puissant, pareil pour du 2, du 2+. Alors si en plus c'est possible d'intégrer un VDP9990 et d'autres systèmes en une seul puce, ça risque d'être un délire. :tea



MSX 1&2 + Moniteurs+divers (environ 0.70Tonnes)
   
Metalion Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 23/12/2009 à 15h32

Messages: 1502

Le 19/08/2022 à 12h25
aoineko :
J'ai re-checké les docs du V9938 et du V9990 et il doit y avoir moyen de les utiliser pour paralléliser un grand nombre d'opérations en manipulant la VRAM via les commandes logiques. On ne peut faire que des AND, des OR, des XOR et des NOT, mais en combinant ces opérations on doit pouvoir faire des choses utiles.
A voir si on trouve des cas d'utilisation concrets, mais en théorie ça permet de faire des milliers de calculs pendant que le CPU fait autre chose. :glass

Je ne retrouve plus le sujet, mais le principe a déjà été discuté sur msx.org. L'idée exposée était de faire des calculs sur des matrices de chiffres en utilisant les commandes VDP et les opérateurs logiques du V9938. Cela marche (de mémoire, il y avait un programme test), mais ce qui fait défaut c'est ... les cas où ce serait vraiment utile. Peu de programmes nécessitent un calcul sur une grande série de valeurs.


MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
   
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2874

Le 19/08/2022 à 12h58
Oui, j'ai pensé à des cas d'utilisation mais c'est pas simple. ^^
Peut-être pour un jeu de stratégie ou de gestion avec beaucoup de donnée à traiter.

Et sinon, j'ai découvert aussi qu'on pouvait utiliser un comportement étrange de la commande HMMM pour retourner un sprite à 90°.
Si tu copie une ligne d'un sprite vers le bord droit de l'écran, elle va s'afficher à la vertical.
Il suffit de refaire ça pour chaque ligne puis de ressembler le tout et voilà, le sprite est tourné de 90°. :D


On est toujours ignorant avant de savoir.
Github    
TurboSEB Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 08/08/2010 à 20h57

Messages: 5880

Le 19/08/2022 à 22h37
Calcul 3D peut être ?



MSX 1&2 + Moniteurs+divers (environ 0.70Tonnes)
   
Metalion Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 23/12/2009 à 15h32

Messages: 1502

Le 20/08/2022 à 09h03
TurboSEB :
Calcul 3D peut être ?

J'y ai pensé pour mon projet/démo Outrun. Actuellement, le calcul 3D d'une frame de la route prends environ 40.000 cycles (soit un peu plus de la moitié d'une frame), et est déjà fortement optimisé. Ce calcul réalise 72 opérations complexes (multiplication et addition) en virgule fixe.

Mais je ne vois pas comment je pourrais réaliser ces opérations avec le VDP.


MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
   
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2874

Le 20/08/2022 à 19h17
En fait, il nous manque juste des instructions de shift pour avoir toutes les opérations binaires de base pour pouvoir faire de l'arithmétique.
Ne serait-ce qu'une addition n'est pas possible sans shit (pour stocker la retenu).
Rétrospectivement, le MSX était à deux doigts d'inventer les "shader" qu'on trouve dans les cartes graphiques 3D sur PC. :)

Avec uniquement du AND, OR, XOR et NOT, on est très très limité.
Dans Carwar, mon jeu de voiture en Screen 8, j'utilisais ces opérations pour calculer la couleur de l'ombre en masquant le bit de poids fort de chaque composante RGB.


On est toujours ignorant avant de savoir.
Github    
Metalion Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 23/12/2009 à 15h32

Messages: 1502

Le 21/08/2022 à 09h48
aoineko :
Ne serait-ce qu'une addition n'est pas possible sans shit

Tu as vraiment besoin de ça pour faire de l'arithmétique ?
:lol ;)

aoineko :
Avec uniquement du AND, OR, XOR et NOT, on est très très limité.

Effectivement, on est très limités. Comme tu le disais plus haut, on a besoin au minimum d'un SHIFT pour faire des opérations de bases (et pour la multiplication aussi).


MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
   
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2874

Le 21/08/2022 à 20h12
Metalion :
aoineko :
Ne serait-ce qu'une addition n'est pas possible sans shit

Tu as vraiment besoin de ça pour faire de l'arithmétique ?
:lol ;)


Ah merde, mon clavier a fourché. :p


On est toujours ignorant avant de savoir.
Github    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10709

Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie