Konami SCC ( Sound Custom Chip tai Sound Creative Chip ) on elektroninen komponentti, äänen generaattorisiru, jonka Konami on kehittänyt yhdessä Yamahan kanssa käytettäväksi MSX - kuluttajatietokoneissa . Mahdollinen syy sen luomiseen oli MSX-tietokoneissa vakioäänigeneraattorina käytetyn General Instrument AY-3-8912 (PSG) -sirun rajalliset ominaisuudet, jotka eivät vastanneet Konamin tarpeita .
SCC:tä käyttävät pelit sisälsivät tämän sirun pelikasettilevyllä . Varsinaisten äänentuotantotoimintojen lisäksi SCC:ssä oli sisäänrakennettu laajennettu muistin ohjauspiiri, jonka ansiosta muistinhallinnan erillistä mikropiiriä voitiin tehdä ilman. Lähes kaikki myöhemmät Konamin MSX-pelit vuodesta 1987 lähtien käyttävät SCC-sirua. Niiden joukossa on pelejä, kuten Gradius 2 ja Metal Gear 2 . Sen lisäksi, että SCC-sirua käytettiin MSX-tietokoneissa, sitä käytettiin myös joissakin peliautomaateissa, esimerkiksi: Haunted Castle, City Bomber, Hexion, Nyan Nyan Panic.
Jokaisen SCC:tä käyttävän pelin pakkauksessa on merkintä "...new 8 voice polyphonic LSI Custom Sound Chip Mounted." ("... uusi kahdeksanääninen polyfoninen BIS on asennettu."). SCC sisältää kuitenkin vain 5 äänikanavaa. Loput kolme kanavaa ovat tavallisen PSG-sirun kanavia, joita on kaikissa MSX-tietokoneissa.
Mikropiiri on valmistettu DIP48 pakkauksesta . Jokaisen mikropiirin rungossa on merkintä KONAMI 051649 2212P003 JAPAN , jota seuraa valmistuspäivän ja -paikan koodi, esimerkiksi 8750AAA . Kaksi ensimmäistä numeroa ovat vuotta, seuraavat kaksi ovat vuoden viikkoa. Kirjaimet ovat valmistuslaitoksen ja erän koodia.
Hieman parannettua versiota, nimeltään SCC-I tai epävirallisesti SCC+ , käytettiin Snatcher- ja SD Snatcher -pelien mukana toimitetussa Konami Sound Cartridge -laajennuskasetissa . SCC-sirun lisäksi tämä kasetti sisältää lisäksi 64 kilotavua RAM -muistia .
SCC-siru on seuraavien MSX-pelien kasettikortilla (kasetin koodi ja julkaisuvuosi suluissa):
Viralliset pelit, jotka tukevat SCC:tä, julkaistu muissa medioissa:
Virallisten pelien lisäksi SCC:tä tukevat useat amatöörien luomat ohjelmat - pelit, elektroniset lehdet, musiikkilevyt. MSX:lle oli myös musiikkieditoreja, jotka molemmat suuntautuivat täysin SCC-sirun käyttöön ja tukivat sitä yhdessä muiden äänilaitteiden kanssa.
SCC- emulointi on toteutettu monissa nykyaikaisissa MSX -tietokoneemulaattoreissa sekä MAME-multi-järjestelmäpeliautomaatemulaattorissa . SCC:tä tukevat myös lisäosat musiikin toistamiseen KSS -muodossa .
SCC-sirun ääniosa on primitiivinen viisikanavainen syntetisaattori, joka perustuu aaltosynteesiin . Jokaisella kanavalla on mahdollisuus kytkeä ohjelmallisesti päälle / pois päältä, muuttaa äänenvoimakkuutta ja taajuutta sekä määrittää mielivaltainen aaltomuoto, joka määritellään 32-tavuisella näytteellä . Kanavat 4 ja 5 jakavat yhden näytepuskurin, joten siru sisältää 128 tavua muistia.
Äänen tuottaa täysin digitaalinen piiri, ja se lähetetään rinnakkaisena 6-bittisenä koodina, joka muunnetaan ulkoisella 11-bittisellä DAC :lla (yksinkertaisen ketjun R-2R-piiri) analogiseksi signaaliksi.
Seuraavassa on tekninen kuvaus siruohjelmointiprosessista MSX-tietokoneissa. Koska mikropiirin virallista dokumentaatiota ei ollut julkisesti saatavilla, kaikki nämä tiedot saatiin käänteissuunnittelulla .
SCC:tä ohjataan muistikartoitettujen I/O-porttien kautta. Mikropiirin alustamiseksi on tarpeen kirjoittaa numero 3Fh (kahta ylempää bittiä ei käytetä, joten numeroa FFh voidaan myös käyttää) mihin tahansa muistisoluun osoitealueella 9000h ... 97FFh. Alustamisen jälkeen voit ohjata SCC:tä kirjoittamalla ja lukemalla tietoja osoitealueelle 9800h…9FFFh.
Osoite | Kirjoita/lue | Tarkoitus |
---|---|---|
9800h - 981Fh | Kirjoittaminen ja lukeminen | Kanavan 1 aaltomuoto |
9820h - 983Fh | Kirjoittaminen ja lukeminen | Kanava 2 aaltomuoto |
9840h - 985Fh | Kirjoittaminen ja lukeminen | Kanavan 3 aaltomuoto |
9860h - 987Fh | Kirjoittaminen ja lukeminen | Kanavan 4 ja 5 aaltomuoto |
9880h - 9881h | Vain tallentaa | Kanavan 1 taajuus |
9882h - 9883h | Vain tallentaa | Kanavan 2 taajuus |
9884h - 9885h | Vain tallentaa | Kanavan 3 taajuus |
9886h - 9887h | Vain tallentaa | Kanavan 4 taajuus |
9888h - 9889h | Vain tallentaa | Kanavan 5 taajuus |
988ah | Vain tallentaa | Kanavan 1 äänenvoimakkuus |
988bh | Vain tallentaa | Kanavan 2 äänenvoimakkuus |
988 Ch | Vain tallentaa | Kanavan 3 äänenvoimakkuus |
988Dh | Vain tallentaa | Kanavan 4 äänenvoimakkuus |
988Eh | Vain tallentaa | Kanavan 5 äänenvoimakkuus |
988Fh | Vain tallentaa | Kanavat päälle/pois bitit 1...5 |
9890h - 989Fh | Samanlaisia osoitteita 9880h...988Fh | |
98A0h - 98DFh | Ei käytetty | |
98E0h - 98FFh | Kirjoittaminen ja lukeminen | Rekisterivääristymä |
Kanavan aaltomuoto määritellään 32 etumerkillä varustetulla tavulla, ja se on näyte yhdestä aaltomuotojaksosta. Se määrittää suoraan kanavan äänen syvyyden. Toisto tapahtuu syklisesti tavusta 0 tavuun 31 ja uudelleen.
Kanavan taajuus asetetaan samalla tavalla kuin PSG. Tämä on sirun kellojakajan 12-bittinen arvo, mitä suurempi jakajan arvo, sitä matalampi on generoitu ääni. Ensimmäinen tavu sisältää alemmat 8 bittiä, toinen - korkeammat 4. Toisen tavun bittejä 4...7 ei käytetä.
Kaava jakajan laskemiseksi vaaditun taajuuden saamiseksi on myös samanlainen kuin PSG: ssä:
- tietokoneen kellotaajuus (aina yhtä kuin 3579545 Hz MSX:ssä ), P - tuloksena oleva 12-bittinen jakaja.
Myös kanavien äänenvoimakkuus asetetaan samalla tavalla kuin PSG:ssä, mutta amplitudiverhokäyrää ei tueta. Alemmat 4 bittiä sisältävät äänenvoimakkuuden, 0 on minimi (hiljaisuus), 15 on maksimi). Ylempiä 4 bittiä ei käytetä.
Kanavan käyttöönotto/poiskytkentärekisteri käyttää viittä bittiä. Bitti 0 vastaa ensimmäistä kanavaa, bitti 4 viidettä. Bitin asettaminen kytkee kanavan päälle, reset sammuttaa sen. Loput kolmea bittiä eivät ole käytössä.
Tätä rekisteriä ei ole käytetty missään Konamin pelissä . Kaikki muistialueen 98E0h…98FFh osoitteet viittaavat samaan rekisteriin. SCC:n nollaaminen asettaa sen arvoksi 0.
Rekisterin kaksi alempaa bittiä ohjaavat kellon esiskaalainta ja vastaavasti vaikuttavat kanavien tuottamiin taajuuksiin. Jos nämä kaksi bittiä on asetettu arvoon 01, kaikki luodut taajuudet kerrotaan 256:lla. Jos ne on asetettu arvoon 11 tai 10, taajuudet kerrotaan 16:lla.
Jos bitti 5 on asetettu, aaltomuotonäytteen toisto alkaa alusta aina, kun vastaavan kanavan taajuusrekisteriin kirjoitetaan.
Jos bitti 6 on asetettu, aaltomuotodata alkaa siirtyä seuraavalla nopeudella:
Tämä tekee mahdottomaksi kirjoittaa aaltomuotopuskuriin.
Jos bittien 6 ja 7 arvoksi on asetettu 01, kanavat 4 ja 5 synnyttävät kohinaa. Jos ne on asetettu arvoon 11, syntyy amplitudiverhokäyräkohinaa.
Tästä rekisteristä lukeminen palauttaa aina FFh:n asetettaessa rekisterin bittiä 6. Koska aaltomuototiedot muuttuvat sen jälkeen, osoitteissa 9800h..987Fh luetut arvot muuttuvat jokaisella seuraavalla lukukerralla.
Muistialue 9800h...987Fh sisältää RAM-muistia, kun vääristymärekisteri nollataan. Muistialue 9880h..98FFh on käytettävissä vain kirjoittamista varten, jos yrität tehdä lukuja, arvo FFh palautetaan aina. Vääristymisrekisteriä luettaessa on oltava varovainen, koska se asettaa sen bitin 6.
Muistialueella 9900h..99FFh on täsmälleen sama tarkoitus kuin muistialueilla 9800h..98FFh, 9900h..99FFh ja niin edelleen aina 9F00h..9FFFh asti. Tämä johtuu SCC-sirun epätäydellisestä osoitteen dekoodauksesta, osoitelinjat A8...A10 eivät osallistu osoitteen dekoodaukseen.