MSX Village forum

L'atelier [EN COURS] SCC Inside Est-il possible d'intégrer une SCC dans le MSX ?

igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 10/11/2011 à 22h53
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 :fou
Est ce que c'est possible ou pas du tout ?

Voici une première ébauche:
Edité par igal Le 24/12/2011 à 13h54


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10287

Le 10/11/2011 à 23h00
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 )


:noel
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 10/11/2011 à 23h25
:gne

Je peux faire un simple teste en procédant de la sorte:

1) Je supprime la ROM de la Cartouche.
Cela fonctionne :top
2) Je dé-soude la Pin 8 de la SCC (CS [Chips Select])
Je teste si ça fonctionne :gne
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 :oups Edité par igal Le 10/11/2011 à 23h27


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10287

Le 11/11/2011 à 10h34
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.


:noel
Site web    
Metalion Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 23/12/2009 à 15h32

Messages: 1482

Le 11/11/2011 à 11h09
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.


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

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 11/11/2011 à 14h35
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 :moue )
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 :oups

En image:


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
GDX Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 17/01/2011 à 08h52

Messages: 3004

Le 11/11/2011 à 15h02
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.
   
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10287

Le 11/11/2011 à 15h05
le mieux c'est de te construire un mini-slot expander
x2 x3 x4 a toi de choisir ;)
on aussi peux aussi le mettre en interne ;)


:noel
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 11/11/2011 à 16h50
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 :top

Pour rappel:
Edité par igal Le 11/11/2011 à 16h59


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10287

Le 11/11/2011 à 17h09
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 !!


:noel
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 11/11/2011 à 18h49
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 :noel :tchin :noel Edité par igal Le 11/11/2011 à 18h50


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10287

Le 11/11/2011 à 19h02
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


:noel
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 11/11/2011 à 19h17
Sur le site de Hansotten :p

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 :fou
Je retrouve pas l'organisation des Slots spécifique au 8250 :oups elle devrait être dans le village :oups

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 ?





Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10287

Le 11/11/2011 à 19h26
ç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


:noel
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 11/11/2011 à 20h06
Si une soudaine envie de schématiser ton hypothèse sur le Slot 0 te prend, laisse toi aller :tchin :tchin :tchin

Il paraît qu'aux états unies, zont greffés une oreille de cochon sur le corps d'une souris! :fou


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie