L'atelier [EN COURS] SCC Inside Est-il possible d'intégrer une SCC dans le MSX ?
igal
Membre non connecté
Conseiller Municipal
Salut à tous.
Est il possible d'intégrer une SCC dans le MSX de sorte à économiser un SLOT à part entière.
Par "à part entière", j'entends que le SLOT sur lequel serait greffée la SCC en interne devra permettre la pleine utilisation d'une ROM sur ce même SLOT.
Dans la pratique, la SCC qui serait intégrée au MSX et "parasiterait" le SLOT 1, ne devrait pas empêcher une ROM quelconque d'être jouée sur ce SLOT 1.
Partant du principe qu'une SCC doit être détecté en Software, il semble évident qu'au moins une de ses connectiques doit être reliée à un signal propre au SLOT sur lequel on la connecterait!
Généralement, les routines des loaders donnent le choix entre les SLOT 1 ou 2.
Exceptionnellement, certains logiciels comme SME3 peuvent chercher à les détecter sur un SLOT étendu 3.1 ou autre...
Il est dont logique de transplanter la SCC de telle sorte qu'elle "Parasite" le SLOT 1 ou 2.
J'ai trouvé ce Pinout sur cette page => http://bifi.msxnet.org/msxnet/tech/scc.html
Voici un extrait:
****************
Pinouts of Konami SCC Sound Chip and related hardware.
------------------------------------------------------
This is extracted from the Dutch MSX Club Magazine issue 33.
Interesting facts:
- The SCC sound chip also does the memory mapping.
- The SCC/Mapper does not process address line A8 through A10,
they go straight to the ROM.
- The sound chip has a 11 bits digital output, which is
converted to analog by an array of resistors.
Note: MA = Address line from/too mega ROM.
Sean Young (sean@msxnet.org)
****************
Ma "questionniation" est donc simple
Est ce que c'est possible ou pas du tout ?
Voici une première ébauche:
Edité par igal Le 24/12/2011 à 13h54
Est il possible d'intégrer une SCC dans le MSX de sorte à économiser un SLOT à part entière.
Par "à part entière", j'entends que le SLOT sur lequel serait greffée la SCC en interne devra permettre la pleine utilisation d'une ROM sur ce même SLOT.
Dans la pratique, la SCC qui serait intégrée au MSX et "parasiterait" le SLOT 1, ne devrait pas empêcher une ROM quelconque d'être jouée sur ce SLOT 1.
Partant du principe qu'une SCC doit être détecté en Software, il semble évident qu'au moins une de ses connectiques doit être reliée à un signal propre au SLOT sur lequel on la connecterait!
Généralement, les routines des loaders donnent le choix entre les SLOT 1 ou 2.
Exceptionnellement, certains logiciels comme SME3 peuvent chercher à les détecter sur un SLOT étendu 3.1 ou autre...
Il est dont logique de transplanter la SCC de telle sorte qu'elle "Parasite" le SLOT 1 ou 2.
J'ai trouvé ce Pinout sur cette page => http://bifi.msxnet.org/msxnet/tech/scc.html
Voici un extrait:
****************
Pinouts of Konami SCC Sound Chip and related hardware.
------------------------------------------------------
This is extracted from the Dutch MSX Club Magazine issue 33.
Interesting facts:
- The SCC sound chip also does the memory mapping.
- The SCC/Mapper does not process address line A8 through A10,
they go straight to the ROM.
- The sound chip has a 11 bits digital output, which is
converted to analog by an array of resistors.
Note: MA = Address line from/too mega ROM.
Sean Young (sean@msxnet.org)
****************
Ma "questionniation" est donc simple
Est ce que c'est possible ou pas du tout ?
Voici une première ébauche:
Edité par igal Le 24/12/2011 à 13h54
la SCC ce n'est pas qu'un chip musical c'est aussi un mapper spécial par pages de 8K et l'activation de la partie musique passe par une page de ce mapper
donc le slot select et le chip select sont a priori obligatoire
c'est d'ailleurs ce slot select qui fait que cette cartouche n'est pas utilisable comme cartouche I/O
donc pour l'implantation en interne -> oui , pour l'utlisation d'une rom sur ce même slot non ( sauf si elle est cablée sur le mapper de la SCC )
donc le slot select et le chip select sont a priori obligatoire
c'est d'ailleurs ce slot select qui fait que cette cartouche n'est pas utilisable comme cartouche I/O
donc pour l'implantation en interne -> oui , pour l'utlisation d'une rom sur ce même slot non ( sauf si elle est cablée sur le mapper de la SCC )
igal
Membre non connecté
Conseiller Municipal
Je peux faire un simple teste en procédant de la sorte:
1) Je supprime la ROM de la Cartouche.
Cela fonctionne
2) Je dé-soude la Pin 8 de la SCC (CS [Chips Select])
Je teste si ça fonctionne
3) Je dé-soude la Pin 10 de la SCC (SLT SEL [Slot Select])
Cela me permettra d'en avoir le coeur Net!
@Jipe: Merci de ton aide.
J'avais bien pensé au I/O, mais c'est un peu dommage Edité par igal Le 10/11/2011 à 23h27
voici le mode de fonctionnement pour accéder aux registres de la SCC traduction du site de BIFI et ça passe bien par le mapper SCC
Tout comme les registres de sélectionner la banque, la SCC est accessible à travers la mémoire E / S mappée, et non pas par le port I / O . Si vous écrivez xx111111b (3Fh, les bits 7 et 6 sont ignorées) au bank de sélection du registre 3 (zone mémoire de 9000H a 97FFh, voir mapper megarom pour plus d'informations), la SCC peut être consulté à travers la zone de mémoire 9800h au 9FFFh.
Just like the bank select registers, the SCC is accessed through memory mapped I/O, and not through I/O ports. If you write xx111111b (3Fh, bits 7 and 6 are ignored) to bank select register 3 (memory area 9000h to 97FFh, see megaROM mappers for more information), the SCC can be accessed through memory area from 9800h to 9FFFh.
Tout comme les registres de sélectionner la banque, la SCC est accessible à travers la mémoire E / S mappée, et non pas par le port I / O . Si vous écrivez xx111111b (3Fh, les bits 7 et 6 sont ignorées) au bank de sélection du registre 3 (zone mémoire de 9000H a 97FFh, voir mapper megarom pour plus d'informations), la SCC peut être consulté à travers la zone de mémoire 9800h au 9FFFh.
Just like the bank select registers, the SCC is accessed through memory mapped I/O, and not through I/O ports. If you write xx111111b (3Fh, bits 7 and 6 are ignored) to bank select register 3 (memory area 9000h to 97FFh, see megaROM mappers for more information), the SCC can be accessed through memory area from 9800h to 9FFFh.
Oui, on commande la SCC en chargeant des valeurs dans la RAM à certaintes adresses spécifiques, après avoir sélectionné la page à travers le mapper.
Il faut donc le mapper pour utiliser la SCC.
Il faut donc le mapper pour utiliser la SCC.
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)
igal
Membre non connecté
Conseiller Municipal
Merci pour ces infos. Je comprends parfaitement d'autant que j'ai fais testé ce matin.
J'ai donc travaillé sur une Cartouche de Type Nemesis 2 RC 751.
J'ai simplement coupé la piste SLOT SELECT.
J'ai lancé Space Manbow en .DSK de Martos qui nécessite une SCC sur le SLOT 2.
Le résulta est sans appel. Pas de sonorités SCC sans le SLTSEL. On entend que le PSG.
J'en ai profité pour compléter le Pinout avec quelques infos nécessaires comme:
1) la mise à la Masse des Pins 1 et 14 du jeu de résistances.
2) La présence d'un condensateur de 0.1uF entre GND et VCC
3) La continuité entre CS (Pin 8 de la SCC) à CE (Pin 20 de la ROM)
Nb: CS est aussi relié à un condensateur noté => 221 (avec le chiffre 9 au dessus )
Nb2: Aucune des Pin 1, 2, et 3 n'est brochée sur le PCB de la cartouche!
Sachant que La Rom n'est strictement pas nécessaire au bon fonctionnement de la SCC, on peut en déduire que
CS n'a pas besoin d'être connecté même de façon indirecte à un signal quelconque.
En conclusion, Seul [SLOT SELECT] est strictement nécessaire au bon fonctionnement de la SCC.
Il reste la possibilité d'utiliser le [Port Cartouche] propriétaire du signal [SLTSEL] seulement en I/O puisque ce même signal serait consacré au SCC!
Ce qui reste peut être intéressant, mais beaucoup moins qu'un port à part entière
En image:
J'ai donc travaillé sur une Cartouche de Type Nemesis 2 RC 751.
J'ai simplement coupé la piste SLOT SELECT.
J'ai lancé Space Manbow en .DSK de Martos qui nécessite une SCC sur le SLOT 2.
Le résulta est sans appel. Pas de sonorités SCC sans le SLTSEL. On entend que le PSG.
J'en ai profité pour compléter le Pinout avec quelques infos nécessaires comme:
1) la mise à la Masse des Pins 1 et 14 du jeu de résistances.
2) La présence d'un condensateur de 0.1uF entre GND et VCC
3) La continuité entre CS (Pin 8 de la SCC) à CE (Pin 20 de la ROM)
Nb: CS est aussi relié à un condensateur noté => 221 (avec le chiffre 9 au dessus )
Nb2: Aucune des Pin 1, 2, et 3 n'est brochée sur le PCB de la cartouche!
Sachant que La Rom n'est strictement pas nécessaire au bon fonctionnement de la SCC, on peut en déduire que
CS n'a pas besoin d'être connecté même de façon indirecte à un signal quelconque.
En conclusion, Seul [SLOT SELECT] est strictement nécessaire au bon fonctionnement de la SCC.
Il reste la possibilité d'utiliser le [Port Cartouche] propriétaire du signal [SLTSEL] seulement en I/O puisque ce même signal serait consacré au SCC!
Ce qui reste peut être intéressant, mais beaucoup moins qu'un port à part entière
En image:
Igal, je t'avais expliqué le fonctionnement d'une megarom scc l'autre fois.
En retirant la ROM d'une cartouche, tu peux très bien la mettre en parallèle sur un SLOT. Elle fonctionnera mais il y aura des contraintes. Certains Mapper de megarom peuvent rentrer en conflit et si tu mets une extension de mémoire, tu écriras dans sa RAM en même temps que tu accèdes à la SCC.
En retirant la ROM d'une cartouche, tu peux très bien la mettre en parallèle sur un SLOT. Elle fonctionnera mais il y aura des contraintes. Certains Mapper de megarom peuvent rentrer en conflit et si tu mets une extension de mémoire, tu écriras dans sa RAM en même temps que tu accèdes à la SCC.
igal
Membre non connecté
Conseiller Municipal
Ok..Ok...
Je voudrais être sur de bien comprendre.
1) SLTSEL détermine vers quel endroit il faut envoyer les donnés! D0, D1 etc... et A0, A1 etc..
2) Tous les D et tous les A sont brassés dans le MSX, et même sur les périphériques externes?
3) Seul SLTSEL à la capacité de diriger les données D et A vers le bon périphérique?
4) Si ce raisonnement est juste, je peux inverser SLTSEL qui est relié au SLOT 1 avec celui qui est relié au SLOT 2 et tout fonctionnerait normalement?
En extrapolant les points 1, 2, 3 et 4, on peut supposer qu'il suffit de générer un NOUVEAU signal SLTSEL et le destiner à la puce SCC?
Tous les D et A peuvent être reliés à un port quelconque pourvu que la Pin 10 de la SCC soit reliée à un SLTSEL exclusif?
@Jipe: Lors de la cration du Slot 3.1, tu m'as fait récupérer le signal SLTSEL sur la Pin 28 du S3527.
Existe t il un autre signal déjà existant sur le 8250?
Si non, alors est il envisageable de créer nouveau signal SLTSEL facilement de sorte à le destiner à cette SCC ?
Ca fait beaucoup de questions je sais
Merci de votre aide
Pour rappel:
Edité par igal Le 11/11/2011 à 16h59
Je voudrais être sur de bien comprendre.
1) SLTSEL détermine vers quel endroit il faut envoyer les donnés! D0, D1 etc... et A0, A1 etc..
2) Tous les D et tous les A sont brassés dans le MSX, et même sur les périphériques externes?
3) Seul SLTSEL à la capacité de diriger les données D et A vers le bon périphérique?
4) Si ce raisonnement est juste, je peux inverser SLTSEL qui est relié au SLOT 1 avec celui qui est relié au SLOT 2 et tout fonctionnerait normalement?
En extrapolant les points 1, 2, 3 et 4, on peut supposer qu'il suffit de générer un NOUVEAU signal SLTSEL et le destiner à la puce SCC?
Tous les D et A peuvent être reliés à un port quelconque pourvu que la Pin 10 de la SCC soit reliée à un SLTSEL exclusif?
@Jipe: Lors de la cration du Slot 3.1, tu m'as fait récupérer le signal SLTSEL sur la Pin 28 du S3527.
Existe t il un autre signal déjà existant sur le 8250?
Si non, alors est il envisageable de créer nouveau signal SLTSEL facilement de sorte à le destiner à cette SCC ?
Ca fait beaucoup de questions je sais
Merci de votre aide
Pour rappel:
Edité par igal Le 11/11/2011 à 16h59
1) le slot select permet de switcher parmis plusieurs bank et d'en sélectionner un seul a la fois
2 ) les donneés et les adresses issues du Z80 sont bien les mêmes pour tous mais elles peuvent être bufferrisées ( amplifiées )
3) non le phériphérique répond aussi a une adresse par un décodage , les périphérique I/O n'ont pas de slot select
4 ) tu peux inverser les signaux slot select des deus ports cartouches sans probléme
pour générer un nouveau slot select il faut fabriquer un slot étendu qui en met 4 a ta disposition
tous les signaux slot select sont utilisés quand tu as un 3 éme slot cablé et c'est un slot étendu
il faut voir l'architecture du 8250
d'origine on a
- la rom dans le slot 0
- le slot 1 libre
- le slot 2 libre
le slot 3 est étendu
- 3.0 expanded basic
- 3.1 libre
- 3.2 mémoire
- 3.3 rom disk
il reste peut être une possibilité d'étendre le slot 0 si le signal /ROMCS est géré comme un slot select !!
2 ) les donneés et les adresses issues du Z80 sont bien les mêmes pour tous mais elles peuvent être bufferrisées ( amplifiées )
3) non le phériphérique répond aussi a une adresse par un décodage , les périphérique I/O n'ont pas de slot select
4 ) tu peux inverser les signaux slot select des deus ports cartouches sans probléme
pour générer un nouveau slot select il faut fabriquer un slot étendu qui en met 4 a ta disposition
tous les signaux slot select sont utilisés quand tu as un 3 éme slot cablé et c'est un slot étendu
il faut voir l'architecture du 8250
d'origine on a
- la rom dans le slot 0
- le slot 1 libre
- le slot 2 libre
le slot 3 est étendu
- 3.0 expanded basic
- 3.1 libre
- 3.2 mémoire
- 3.3 rom disk
il reste peut être une possibilité d'étendre le slot 0 si le signal /ROMCS est géré comme un slot select !!
igal
Membre non connecté
Conseiller Municipal
Donc..
1) SLOT SELECT agit comme une porte qui s'ouvre à un instant T mais jamais en même temps qu'une autre porte SLOT SELECT
3) Effectivement, je vois bien l'exemple du RobortArm, il répond bien à une adresse qui permet d'exploiter le périphérique à travers le port cartouche, mais sans le SLOT SELECT (Le port imprimante en fait de même mais sans passer par un port cartouche.)
Pour aller au bout de ma réflexion:
Si l'on utilise 3 "EXPANDER X 4", on peut supposer que le MSX peut gérer 12 SLOT dans le même temps ?
SLOT 1 => [EXPANDER X 4], SLOT 2 => [EXPANDER X 4], SLOT 3.1 => [EXPANDER X 4]
Ou alors on est limité à un nombre limité de SLOT SELECT en concordance avec l'architecture du MSX en question?
Par exemple Le MSX Sony qui possède 3 Ports cartouches présente un faiblesse propre à son architecture
Pourrait il gérer 3 "EXPANDER X 4" pour un total de 12 SLOT?
Tout cela dans l'absolu biensur
Pour finir, tu évoques la possibilité (peut être) d'étendre le slot 0 si le signal /ROMCS est géré comme un slot select !
Tu penses pouvoir détourner ROMCS je peux faire des essais juste en remplaçant mon [SLTSEL 3.1] par le [ROMCS].
Je suis curieux de voir quel exploit tu pourrais trouver. Un avant gout des fêtes peut être Edité par igal Le 11/11/2011 à 18h50
1) SLOT SELECT agit comme une porte qui s'ouvre à un instant T mais jamais en même temps qu'une autre porte SLOT SELECT
3) Effectivement, je vois bien l'exemple du RobortArm, il répond bien à une adresse qui permet d'exploiter le périphérique à travers le port cartouche, mais sans le SLOT SELECT (Le port imprimante en fait de même mais sans passer par un port cartouche.)
Pour aller au bout de ma réflexion:
Si l'on utilise 3 "EXPANDER X 4", on peut supposer que le MSX peut gérer 12 SLOT dans le même temps ?
SLOT 1 => [EXPANDER X 4], SLOT 2 => [EXPANDER X 4], SLOT 3.1 => [EXPANDER X 4]
Ou alors on est limité à un nombre limité de SLOT SELECT en concordance avec l'architecture du MSX en question?
Par exemple Le MSX Sony qui possède 3 Ports cartouches présente un faiblesse propre à son architecture
Pourrait il gérer 3 "EXPANDER X 4" pour un total de 12 SLOT?
Tout cela dans l'absolu biensur
Pour finir, tu évoques la possibilité (peut être) d'étendre le slot 0 si le signal /ROMCS est géré comme un slot select !
Tu penses pouvoir détourner ROMCS je peux faire des essais juste en remplaçant mon [SLTSEL 3.1] par le [ROMCS].
Je suis curieux de voir quel exploit tu pourrais trouver. Un avant gout des fêtes peut être Edité par igal Le 11/11/2011 à 18h50
en théorie on peut avoir 16 slots maxi sur un MSX a partir des slots primaires
c'est expliqué sur le site mais OU ??
donc le slot 3.1 étant un slot secondaire ne peut pas être étendu
le msx c'est pas si simple il y a une structure a respecter
avant de détourner le slot 3.1 a la place du /RomCS il faut penser que la rom doit être dans le slot 0 ou 0.0 pour démarrer le systéme
donc dans le cas d'un 8250 le slot 3 est déja étendu
il peut y avoir 2 slot expander x4 dans le slot 1 et 2 sans soucis
le slot 0 c'est une hypothése personnelle qu'il faudrait tester en adressant la rom dans le slot 0.0
c'est expliqué sur le site mais OU ??
donc le slot 3.1 étant un slot secondaire ne peut pas être étendu
le msx c'est pas si simple il y a une structure a respecter
avant de détourner le slot 3.1 a la place du /RomCS il faut penser que la rom doit être dans le slot 0 ou 0.0 pour démarrer le systéme
donc dans le cas d'un 8250 le slot 3 est déja étendu
il peut y avoir 2 slot expander x4 dans le slot 1 et 2 sans soucis
le slot 0 c'est une hypothése personnelle qu'il faudrait tester en adressant la rom dans le slot 0.0
igal
Membre non connecté
Conseiller Municipal
Sur le site de Hansotten
On peut voir la structure du S3527:
A cela, il faut aussi se conformer aux limites du MSX utilisé, et là, ça me dépasse
Je retrouve pas l'organisation des Slots spécifique au 8250 elle devrait être dans le village
Je me trompe ou tout ce qui relève du Point quelque chose est un Slot étendu ?
3.1, 3.0 etc etc..
Cela veut dire aussi que l'on ne peut pas monter en cascade Une Expander par dessus un autre Expander!
Par exemple:
[GILBERTO SLOT EXPANDER X 4] => Port 0 / Port 1 / Port 2 / Port 3/
Je ne peux pas insérer un second EXPANDER par dessus le Port 1, ou Port 2 ou encore 3.
Je ne parle pas du ZERO qui est en fait le SLOT "déplacé" du MSX. C'est juste ?
On peut voir la structure du S3527:
A cela, il faut aussi se conformer aux limites du MSX utilisé, et là, ça me dépasse
Je retrouve pas l'organisation des Slots spécifique au 8250 elle devrait être dans le village
Je me trompe ou tout ce qui relève du Point quelque chose est un Slot étendu ?
3.1, 3.0 etc etc..
Cela veut dire aussi que l'on ne peut pas monter en cascade Une Expander par dessus un autre Expander!
Par exemple:
[GILBERTO SLOT EXPANDER X 4] => Port 0 / Port 1 / Port 2 / Port 3/
Je ne peux pas insérer un second EXPANDER par dessus le Port 1, ou Port 2 ou encore 3.
Je ne parle pas du ZERO qui est en fait le SLOT "déplacé" du MSX. C'est juste ?
ça ne parlait du 8250 mais du MSX et de ses slots en général
la config du 8250 est celle du S3527 avec le slot #3 expended
en effet si il y a un . c'est un slot étendu ( secondaire )
tu as bien compris on ne peut pas monter un slot étendu dans un slot étendu comme les multi-prises on a le droit a un seul dans un slot primaire
la config du 8250 est celle du S3527 avec le slot #3 expended
en effet si il y a un . c'est un slot étendu ( secondaire )
tu as bien compris on ne peut pas monter un slot étendu dans un slot étendu comme les multi-prises on a le droit a un seul dans un slot primaire
igal
Membre non connecté
Conseiller Municipal
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie