L'atelier les décodages entrées/sorties comment ça fonctionne
Reprise du message précédent
le VDP lui aussi répond a plusieurs adresses98 R/W 9918,9929,9938,9958,9978 VRAM Data Read/Write
99 R 9918,9929,9938,9958,9978 VDP Status Registers
99 W 2nd Byte b7=0: 99X8 VRAM Address setup
99 W 2nd Byte b7=1: 99X8 VDP Register write
9A W MVDP (MSX2) 9938,9958 Color Palette Register (2 bytes)
9B W MVDP (MSX2) 9938,9958 Register data
sur les VDP MSX1 c'est le signal MODE qui est connecté au Bit d'adresse A0 ce qui donne -> 98h 99h
sur les VDP MSX2 ce sont les signaux MODE0 et MODE1 qui sont connectés au Bits d'adresses A0 et A1 ce qui donne -> 98h 99h 9Ah 9Bh
remarque : malheurement pour nous le V9978 n'a jamais vu le jour
Le Yamaha V9990 est le successeur du V9958 et soi-disant une version allégée du Yamaha V9978 jamais fini, qui était destiné à être utilisé pour le MSX3.
Le V9978 aurait soi-disant une compatibilité logicielle descendante avec le V9958,
et il y a des rumeurs jamais confirmées sur d'autres fonctionnalités du V9978 comme un bus de données 16 bits et la prise en charge du DMA.
Le V9978 aurait soi-disant une compatibilité logicielle descendante avec le V9958,
et il y a des rumeurs jamais confirmées sur d'autres fonctionnalités du V9978 comme un bus de données 16 bits et la prise en charge du DMA.
aoineko
Membre non connecté
Conseiller Municipal
Donc si on veut ajouter le support du MSX-Music Light en interne sur une machine (sans la ROM et sans la sortie RCA) il faut que notre montage soit branché aux signaux : A0-A7, DO-D7, CLOCK, /IORQ, /WR, /RESET, SOUNDIN, GND et +/- 12V.
J'ai vu que tous ces signaux étaient accessibles depuis le port cartouche (https://www.msx.org/wiki/MSX_Cartridge_slot) donc ça ne semble pas extrêmement compliqué d'ajouter le support MSX-Music Light via une cartouche, mais comment faire si on veux que ce soit directement dans la machine ? J'imagine que ça dépend de la machine, mais il y a des endroits sur la carte mère des MSX ou ces signaux sont accessibles pour brancher un montage ?
Question peut-être naïve, mais ça ne va pas créer des interférences de se brancher directement sur le bus de donnés interne par ex. ?
J'ai vu que tous ces signaux étaient accessibles depuis le port cartouche (https://www.msx.org/wiki/MSX_Cartridge_slot) donc ça ne semble pas extrêmement compliqué d'ajouter le support MSX-Music Light via une cartouche, mais comment faire si on veux que ce soit directement dans la machine ? J'imagine que ça dépend de la machine, mais il y a des endroits sur la carte mère des MSX ou ces signaux sont accessibles pour brancher un montage ?
Question peut-être naïve, mais ça ne va pas créer des interférences de se brancher directement sur le bus de donnés interne par ex. ?
On est toujours ignorant avant de savoir.
le plus facile pour un montage serait de souder le composant sur un autre qui a déja des pattes communes et qui est prés du bus
aprés par expérience on peut le cabler sur un circuit séparé qui serait relié au bus
exemple foullis ici : https://www.msx.org/forum/msx-talk/hardware/fm-pak-inside-msx2
et ici dans un 8280 ou l'on voit bien que le cablage n'est pas important pour les interférences : https://www.msx.org/forum/msx-talk/hardware/internal-msx-music-extension?page=1
et sur un circuit monté en gigogne sur le Z80 ici ( images dans le dossier PICS ) : https://github.com/RBSC/F4-FMPAC
le bus est présent partout et coté numérique ça ne génére pas d'interférences, c'est plutôt coté pré-ampli qu'il faut soigner le montage
d'autres exemples en PDF sur ce site : https://www.retromsx.com/tutoriales-msx/
aprés par expérience on peut le cabler sur un circuit séparé qui serait relié au bus
exemple foullis ici : https://www.msx.org/forum/msx-talk/hardware/fm-pak-inside-msx2
et ici dans un 8280 ou l'on voit bien que le cablage n'est pas important pour les interférences : https://www.msx.org/forum/msx-talk/hardware/internal-msx-music-extension?page=1
et sur un circuit monté en gigogne sur le Z80 ici ( images dans le dossier PICS ) : https://github.com/RBSC/F4-FMPAC
le bus est présent partout et coté numérique ça ne génére pas d'interférences, c'est plutôt coté pré-ampli qu'il faut soigner le montage
d'autres exemples en PDF sur ce site : https://www.retromsx.com/tutoriales-msx/
aoineko
Membre non connecté
Conseiller Municipal
Merci pour les infos.
Ca donne presque envi de s'y mettre.
Le plus simple ça serait p'être de se brancher au niveau du port cartouche où tous les signaux semblent facilement accessibles.
Mais bon, il vaut mieux que je me concentre sur ce que je sais faire : programmer.
D'autant que je dois finir mon jeu Final Smash et j'ai prévu de créer une librairie C pour utiliser facilement le V9990 que j'ai commandé.
Il me faudra aussi des libs pour MSX-Music et les autres puces sonores.
Ca donne presque envi de s'y mettre.
Le plus simple ça serait p'être de se brancher au niveau du port cartouche où tous les signaux semblent facilement accessibles.
Mais bon, il vaut mieux que je me concentre sur ce que je sais faire : programmer.
D'autant que je dois finir mon jeu Final Smash et j'ai prévu de créer une librairie C pour utiliser facilement le V9990 que j'ai commandé.
Il me faudra aussi des libs pour MSX-Music et les autres puces sonores.
On est toujours ignorant avant de savoir.
aoineko
Membre non connecté
Conseiller Municipal
Encore quelques petites questions : sur le montage du MSX-Music Light, comment fonctionne la lecture de la ROM ?
Elle n'est relié qu'à D0-D7 (pour les données) et A0-A13 (pour l'adresse), /CS1 et /SLTSL.
Déjà, le fait qu'elle n'accède qu'à 14-bits d'adresse fait qu'elle est forcement en page 1 ? (adresse 0000h-3FFFh)
J'ai vu que /CS1 est décrit comme «_ROM addresses 4000-7FFF select signal_». C'est le 15e bits d'adresse ?
A quoi sert /SLTSL ? Il est décrit comme «_Slot select signal_» mais je ne comprends pas à quoi il sert concrètement.
Comment se fait la lecture/écriture ? (même si dans ce cas, c'est uniquement de la lecture)
C'est entièrement contrôlé par le Z80 ?
Comment il s'assure qu'aucune autre puce reliée au bus de donnée n'y mette des infos !?
Elle n'est relié qu'à D0-D7 (pour les données) et A0-A13 (pour l'adresse), /CS1 et /SLTSL.
Déjà, le fait qu'elle n'accède qu'à 14-bits d'adresse fait qu'elle est forcement en page 1 ? (adresse 0000h-3FFFh)
J'ai vu que /CS1 est décrit comme «_ROM addresses 4000-7FFF select signal_». C'est le 15e bits d'adresse ?
A quoi sert /SLTSL ? Il est décrit comme «_Slot select signal_» mais je ne comprends pas à quoi il sert concrètement.
Comment se fait la lecture/écriture ? (même si dans ce cas, c'est uniquement de la lecture)
C'est entièrement contrôlé par le Z80 ?
Comment il s'assure qu'aucune autre puce reliée au bus de donnée n'y mette des infos !?
On est toujours ignorant avant de savoir.
d'abord en premier il faut voir la rom comme une cartouche dans un slot ( on verra par la suite comment la mettre en interne )
le signal /SLTSL ( slot select ) est ce qui permet l'accés a cette cartouche qui peux être insérée dans n'importe quel slot
le fait que /CS1 soit utilisé implique bien que la rom est adressée de 4000h à 7FFFh
il faut juste voir cette cartouche comme une extension du systéme qui ajoute des commandes Basic spéciales pour la FM-PAC
comme c'est une rom aucun info ne peut être stockée dedans
----------------------------------
les ROMS du MSX et la mémoire RAM sont toutes affectées a un signal /SLTSL ( slot select )
il suffit de voir le mapping interne de la machine pour comprendre l'architecture et les SLOTS employés
Exemple : Mapping du Philips NMS 8250
on y voit que les seules plages internes libres de 4000h a 7FFfh sont dans le SLOT 30 et le SLOT 31
le SLOT 32 étant affecté a la mémoire RAM et le SLOT 33 a la ROM DISQUE
donc dans notre cas pour la ROM de la FM-PAC et un 8250 d'origine le choix est limité a 2emplacements en interne
aprés le MSX étant bati autour d'un S3527 ( puce systéme ) tous les signaux ne sont pas accessibles facilement
donc le Signal /SLOT30 est récupérable sur la SUBROM ( expanded basic ) est le /CS1 sur un des SLOT 1ou 2
le signal /SLTSL ( slot select ) est ce qui permet l'accés a cette cartouche qui peux être insérée dans n'importe quel slot
le fait que /CS1 soit utilisé implique bien que la rom est adressée de 4000h à 7FFFh
il faut juste voir cette cartouche comme une extension du systéme qui ajoute des commandes Basic spéciales pour la FM-PAC
comme c'est une rom aucun info ne peut être stockée dedans
----------------------------------
les ROMS du MSX et la mémoire RAM sont toutes affectées a un signal /SLTSL ( slot select )
il suffit de voir le mapping interne de la machine pour comprendre l'architecture et les SLOTS employés
Exemple : Mapping du Philips NMS 8250
on y voit que les seules plages internes libres de 4000h a 7FFfh sont dans le SLOT 30 et le SLOT 31
le SLOT 32 étant affecté a la mémoire RAM et le SLOT 33 a la ROM DISQUE
donc dans notre cas pour la ROM de la FM-PAC et un 8250 d'origine le choix est limité a 2emplacements en interne
aprés le MSX étant bati autour d'un S3527 ( puce systéme ) tous les signaux ne sont pas accessibles facilement
donc le Signal /SLOT30 est récupérable sur la SUBROM ( expanded basic ) est le /CS1 sur un des SLOT 1ou 2
aoineko
Membre non connecté
Conseiller Municipal
Dans le cas de RAM qu'on ajouterai de la même manière, comment elle sait que l'accès à ses données est en lecture ou un écriture ?
Avec les signaux /RD et /WR ou c'est encore autre chose ?
Avec les signaux /RD et /WR ou c'est encore autre chose ?
On est toujours ignorant avant de savoir.
pour ajouter de la RAM dans un MSX ça dépend de la machine
pour fonctionner une mémoire interne minimale a besoin de plusieurs signaux
la mémoire de nos MSX est de la DRAM ( ram dynamique ) qui a besoin d'être rafraichie en permanence
pour cela il y des signaux /RAS ( ROW) et /CAS ( COLUMN ) qui sont générés par le MSX à partir des signaux /CLOCK /MREQ et /RFSH
la mémoire a aussi son /SLTSL
il y a un signal /WE qui est fait par /RD et /MREQ qui permet de lire et d'écrire suivant que /WE est à 1 ou 0
le schéma viendra par la suite
pour un MEMORY MAPPER il faut ajouter un décodeur pour les Ports FCh FDh FEh et FFh
le plus souvent avec les puces systémes S3527 et S1985 tout est intégré
pour fonctionner une mémoire interne minimale a besoin de plusieurs signaux
la mémoire de nos MSX est de la DRAM ( ram dynamique ) qui a besoin d'être rafraichie en permanence
pour cela il y des signaux /RAS ( ROW) et /CAS ( COLUMN ) qui sont générés par le MSX à partir des signaux /CLOCK /MREQ et /RFSH
la mémoire a aussi son /SLTSL
il y a un signal /WE qui est fait par /RD et /MREQ qui permet de lire et d'écrire suivant que /WE est à 1 ou 0
le schéma viendra par la suite
pour un MEMORY MAPPER il faut ajouter un décodeur pour les Ports FCh FDh FEh et FFh
le plus souvent avec les puces systémes S3527 et S1985 tout est intégré
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie