MSX Village forum

L'atelier Le MSX et les signaux CS

Gfx Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 22/02/2021 à 22h22

Messages: 355

Le 28/04/2021 à 21h25

Reprise du message précédent

@Jipe si tu scrolles en bas sous la dernière image tu as un bouton 'Open in editor' (il faudra que tu crées un compte je pense)
Mais si tu veux j'ai déjà analysé le circuit et j'ai fait le schéma ci dessous:


Il faut cultiver notre jardin.
   
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2907

Le 19/02/2024 à 00h28
Hello,

Je comprends toujours pas à quoi servent concrètement les signaux /CS1, /CS2, /CS12 et /STSL.
J'ai relu ce fil de discussion, mais rien n'y fait. :oups
Je comprends à quoi correspondent ces signaux, mais pas ce qu'en font concrètement les cartouches.

Ce sont des signaux de sortie (donc envoyé par le MSX à la cartouche), hors le MSX n'a aucune connaissance du type de ROM installé dans le slot à qui il envoie les signaux.
Du coup, j'imagine que c'est plus un filtre que la cartouche peut utiliser pour accepter ou non, les accès en lecture/écriture. :hum
Genre une cartouche 16 KB en page 1, va ignorer tous les accès si /CS1 n'est pas à 0?

Ce que je ne comprends pas c'est que les pages peuvent déjà être filtré avec les signaux de l'adresse ; pourquoi rajouter ces signaux ?
C'est juste des raccourcit pour éviter d'avoir à faire certains "calculs" du coté de la cartouche ? Et donc simplifier les composants nécessaires ?

Et /STSL, il a 0 quand le slot de la cartouche est sélectionné via le PPI dans la page correspondant à l'adresse ?

@Jipe : C'est quoi le signal /CEROM dans tes schémas ? Edité par aoineko Le 19/02/2024 à 07h51


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

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10731

Le 19/02/2024 à 09h13
les cartouches n'en font rien c'est le MSX qui adresse sa plage de mémoire

en résumé
/CS1 adresse la plage de mémoire de 4000h à 7FFFh 16k
/CS2 adresse la plage de mémoire de 8000h à BFFFh 16k
/CS12 adresse la plage de mémoire de 4000h à BFFFh 32k
/SLTSL valide cette plage de mémoire dans un slot

les signaux étant / sont actifs quand le signal est à 0

ces trois signaux décodés a l'intérieur du MSX servent à éviter de mettre toutes les puces dans la cartouche et donc baisser fortement son cout de fabrication

le signal /CE ROM (Canon V20) est le décodage de la plage 0000h à 7FFFh qui arrive sur l'eprom 32k du MSX contenant le bios et le basic il peut avoir un autre nom suivant les schémas



:noel
Site web    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2907

Le 19/02/2024 à 13h25
Ok, donc on est d'accord que :

1) Le signal /C12 n'est bien que « /C1 AND /C2 » ? Ca fait vraiment une économie de ne pas avoir ce AND directement sur la cartouche ? Ca ressemble à une économie de bout de chandelle, mais je ne me rend peut-être pas compte du cout des composants à l'époque.

2) Une cartouche 16 KB peut tout simplement ignorer les signaux /CSx et les bits d'adresse 14 et 15, et ainsi être accessible en miroir sur toutes les pages de l'espace mémoire ? Si c'est bien le cas, il me semble avoir lu que les anciennes cartouches (contrairement à leur émulation dans openMSX par ex.) n'utilisaient pas l'effet miroir, ce qui me semble étonnant vu qu'au final c'est moins cher de produire une cartouche supportant l'effet miroir.

3) Une cartouche "peut" ignorer le signal /SLTSL et interagir avec le bus de donnée (j'imagine que si elle écris sur le bus, cela va créer des soucis de compatibilité avec le slot qui lui a légalement le droit d'y accéder). Ceci dit, on pourrait imaginer une cartouche de debug qui ne fait que espionner l'état des signaux en lecture (pour un débugueur par ex.); est-ce bien faisable ?

4) Les concepteurs du MSX n'ont pas pensé aux cartouches 48 Ko ? En tout cas, il n'y a pas de raccourcit pour détecter qu'un signal est valide pour la cartouche et que pour cela il faut checker manuellement (avec des composants sur la cartouche) que les signaux d'adresses 14 AND 15 sont bien égale à 0 ? Edité par aoineko Le 19/02/2024 à 13h41


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

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10731

Le 19/02/2024 à 13h53
1) environ 2 francs en france en 1983 calcule par un millier de cartouches vendues

2) voir avec Nishi le concepteur du MSX

3) tu parle d'un analyseur de bus ? genre ceci : https://www.ebay.fr/itm/224309742049

4) la cartouche de 48k n'a jamais existé physiquement elle est apparue lors du MSXdev



:noel
Site web    
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10731

Le 19/02/2024 à 14h28
extrait post MRC :
Ces lignes sont principalement utilisées par des cartouches allant jusqu'à 32 Ko et elles existent pour réduire le coût des cartouches plus petites, car avec cela, vous n'avez pas besoin de vous soucier de la mise en miroir et pouvez vous assurer qu'une cartouche est dans la bonne page (c'est-à-dire : 8 000 pour un programme de base en cartouche, ou 4000 pour un programme ASM 16 Ko, ou 4000-BFFF pour un programme ASM 32 Ko. Comme l'idée générale était que la plupart des cartouches auraient besoin du BIOS à la page 0 et que la page 3 contient des variables système que quelqu'un ne devrait pas page en utilisant le BIOS dans la plupart des cas, cela avait beaucoup de sens, les puces TTL coûtent de l'argent et dans les années 80, plus qu'aujourd'hui.


:noel
Site web    
aoineko Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 02/01/2011 à 21h17

Messages: 2907

Le 19/02/2024 à 20h04
Merci, c'est beaucoup plus clair maintenant. :top

C'est pas toujours facile de penser avec les contraintes de l'époque.

Pour l'analyseur de bus, oui, je pensais à une cartouche qui lirait en continu le contenu du bus (même quand elle n'est pas sélectionnée) et qui stockerai les valeurs du bus pour le debug ou le profiling d'un programme. J'avais pas d'idée précise mais je trouvais sympa l'idée d'une cartouche qui fonctionne de façon autonome sans avoir besoin d'être sélectionné (en ignorant /STSL en gros).

Une autre cartouche autonome qui pourrait être sympa ça serait une carte son qui jouerait de la musique de façon totalement autonome et qui mettrait à jour le signal sonore à son propre rythme et sans besoin d'être sélectionné. Est-ce possible ? Si ça se trouve, les cartouches MP3 fonctionne déjà comme ça ? Edité par aoineko Le 20/02/2024 à 00h12


On est toujours ignorant avant de savoir.
Github    
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie