Konami SCC
Le le Konami SCC (circuit intégré sain ou morceau créateur sain) est un morceau sain développé par le Konami avec le Yamaha pour le MSX . Le Konami a été dissatisfait avec les possibilités du PSG , le MSX et bruit-morceau de fonction intégrée du MSX2 . Le SCC est employé ainsi que le PSG et est également connu comme K051649.
Chaque cartouche de Konami qui emploie le SCC a eu un à bord. Elle a également eu un builtin du cartographe de mémoire de , ainsi les cartouches ont seulement eu besoin de ce morceau et de la ROM réelle . Presque tous les titres postérieurs de MSX (à compter de 1987) ont employé ce morceau, y compris le Gradius 2 , la vitesse 2 en métal de . Le morceau a été également employé dans plusieurs jeux électroniques : Le château, le bombardier hantés de ville, Hexion, panique de Nyan Nyan et est émulé par MAME .
Une version légèrement améliorée appelée la cartouche de bruit de est employée pour le Snatcher et le Snatcher d'écart-type de , qui a 64kB de RAM à bord.
Sur chaque SCC ce qui suit est imprimé : KONAMI 051649 2212P003 JAPON , suivi d'un nombre d'endroit/date de fabrication, comme le 8750AAA . Les deux premiers chiffres sont l'année, suivie de la semaine. Les lettres ensuite qui sont un certain code d'endroit/sort.
Le SCC est un morceau sain wavetable primitif. Chaque canal peut être commandé par un peu "Marche/Arrêt", volume, fréquence et 32 bytes ondulent. La Manche 4 et 5 partagent les 32 bytes ondulent, tellement là sont fonction intégrée de mémoire de 128 bytes.
Programmation du SCC
Ce qui suit ici est une description technique de la façon dont le morceau fonctionne. La documentation officielle n'a été jamais libérée au public ainsi toute la ceci renversé-est machinée.
Le SCC est accédé par l'entrée-sortie tracée par mémoire. Le premier 3Fh (les deux peu élevés sont sans importance, ainsi FFh est très bien trop) doit être écrit à quelque part entre 9000h et 97FFh. Maintenant le SCC est en activité (vous pouvez lire et écrire) à 9800h à 9FFFh.
border="
| Address | read/write | Function |
|---|---|---|
| 9800h - 981Fh | rw | waveform canal 1 |
| 9820h - 983Fh | rw | waveform canal 2 |
| 9840h - 985Fh | rw | waveform canal 3 |
| 9860h - 987Fh | rw | waveform canal 4 et 5 |
| 9880h - 9881h | w | frequency canal 1 |
| 9882h - 9883h | w | frequency canal 2 |
| 9884h - 9885h | w | frequency canal 3 |
| 9886h - 9887h | w | frequency canal 4 |
| 9888h - 9889h | w | frequency canal 5 |
| 988Ah | w | volume canal 2 |
| 988Bh | w | volume canal 3 |
| 988Ch | w | volume canal 4 |
| 988Dh | w | volume canal 5 |
| 988Eh | w | volume canal 1 de commutateur de |
| 988Fh | w | on/off à 5 |
| 9890h - 989Fh | same comme 9880h à 988Fh | |
| 98A0h - 98DFh | no function | |
| 98E0h - 98FFh | rw | deformation register |
La forme d'onde se compose de 32, signé les bytes (du complément de deux). La forme d'onde représente la forme réelle de la tonalité que le morceau sain produit. Elle a joué en arrière le byte 0 31 et de l'autre côté dès le début.
La fréquence est stockée la même manière que dans le PSG. C'est une valeur de 12 bits. Le premier byte contient le peu 0 7 de la fréquence et le peu 0 3 du deuxième byte contient le peu 8 11 de la fréquence. Le peu 4 7 du deuxième byte est ignoré. Se rappeler que la valeur que vous écrivez est vraiment une période : une valeur plus élevée donne une fréquence inférieure.
La formule pour calculer la fréquence de la tonalité est la même qu'avec le PSG :
= de
le est l'horloge de l'ordinateur (toujours 3,579,545Hz sur un MSX) et P est l'ensemble de période de 12 bits dans le registre de fréquence.
Le volume est stocké in the same way as dans le PSG, bien qu'il ne soutienne pas des enveloppes. Le peu 0 3 contient un volume de 0 à 15, et le peu 7 4 est ignoré. Un volume de 0 est silencieux, et un volume de 15 est volume maximum.
Le registre de commutateur "Marche/Arrêt" commute les différents canaux "Marche/Arrêt". Placer le peu 0 pour activer le canal 1, le peu 1 pour le canal 2, et ainsi de suite a mordu 4 pour les bits du canal 5. 5 à 7 sont ignorés.
Registre de déformation (98E0h)
Ce registre n'est employé par aucun jeu de Konami . Toutes les adresses dans la zone de mémoire (98E0h - 98FFh) se rapportent au même registre. Le rajustement du SCC placera ce registre à 0.
Le peu est RRB000XX avec la signification suivante :
XX : Multiplier
de Freq 00 = *1
01 = *256
10 = *16
11 = *16
Les deux bits inférieurs (XX) influencent la fréquence.
Si l'ensemble à 01b, toutes les fréquences sont multipliés par 256. le
Si l'ensemble à 11b ou à 10b, toutes les fréquences sont multipliés par 16.
(Ceci affecte le freq de la vitesse de voix et de rotation.) le
B : Remise si le freq est le written
0 = Normal
1 = début du commencement de l'échantillon quand changes
de freq Si le peu 5 est placé, le playback de forme d'onde est commencé à partir du commencement quand un registre de fréquence est écrit to.
(Ceci peut être également employé pour mettre en application des différences de phase de sous-échantillon et parmi des canaux) le
Rr : Rotation
00 = normale, aucun rotation
01 = tournent toutes les formes d'onde avec le canal possèdent le freq. La forme d'onde CH4 et CH5 commune sera tournée avec CH5 freq.
10 = tournent seulement la forme d'onde du terrain communal CH4 et CH5. La forme d'onde sera tournée avec du CH4 freq.
11 = en tant que 10, mais être vérifié par HW tests.
Des canaux qui tournent SONT INDIQUÉS SEULEMENT. L'écriture n'aura aucun n'importe quel effect.
La vitesse tournante correspond la vitesse de lecture de l'échantillon provenant de la mémoire. Ceci signifie que c'est la forme d'onde CH4 et CH5 commune facile à utiliser comme compteur de temps pour l'échantillon dans l'autre canal. Noter de toute façon, cette lecture trop activement peut causer le noice car le SCC ne peut pas lire le
de mémoire en même temps.
La lecture à partir de ce registre renverra FFh, mais placera le peu 6 du registre. Puisque les vagues commencent à tourner maintenant, les valeurs dans 9800h par 987Fh changeront chaque fois que vous les lisez.
Plus sur la mémoire
La zone de mémoire de 9800h à 987Fh se comporte comme RAM tant que le registre de déformation est remis à zéro. La zone de mémoire de 9880h à 98FFh est écrivent seulement ; si vous la lisez, elle renverra toujours FFh. Observer dehors pour lire à partir du registre de déformation, car ceci placera le peu 6.
La zone de mémoire de 9900h à 99FFh a exactement la même fonction que de 9800h à 98FFh, 9900h par 99FFh et ainsi de suite à 9F00h par 9FFFh. Ceci se produit parce que le morceau de SCC n'est pas relié aux lignes le thotugh A10 d'adresse d'A8, ainsi il ne peut pas distinguer ces gammes.
| Random links: | Onida, le Dakota du Sud | William Cadogan, ęr comte Cadogan | Confits de William | Le Saint-Marin 1989 Prix grand | Cineworld | Konami_SCC |