Konami SCC

Konami SCC ( Sound Custom Chip eller Sound Creative Chip ) är en elektronisk komponent, ett ljudgeneratorchip, utvecklat av Konami tillsammans med Yamaha för användning i MSX konsumentdatorer . En möjlig orsak till dess skapelse var den begränsade kapaciteten hos General Instrument AY-3-8912 (PSG)-chippet, som används som en standardljudgenerator i MSX-datorer, vilket inte tillfredsställde Konamis behov .

Beskrivning

Spel som använder SCC innehöll detta chip på spelkassetten . Utöver själva ljudgenereringsfunktionerna hade SCC en inbyggd utökad minnesstyrkrets, vilket gjorde det möjligt att klara sig utan en separat mikrokrets för minneshantering. Nästan alla senare MSX-spel från Konami sedan 1987 använder SCC-chippet. Bland dem finns spel som Gradius 2 och Metal Gear 2 . Förutom att användas i MSX-datorer användes SCC-chippet även i vissa spelautomater, till exempel: Haunted Castle, City Bomber, Hexion, Nyan Nyan Panic.

På förpackningen till vart och ett av spelen som använder SCC, finns det en inskription "...ny 8 röst polyfonisk LSI Custom Sound Chip Mounted." ("... en ny polyfonisk BIS med åtta röster har installerats."). SCC innehåller dock endast 5 ljudkanaler. De återstående tre kanalerna är kanalerna för det vanliga PSG-chippet, som finns i vilken MSX-dator som helst.

Mikrokretsen är tillverkad i ett DIP48- paket . På kroppen av varje mikrokrets finns en märkning KONAMI 051649 2212P003 JAPAN följt av en kod för datum och plats för tillverkning, till exempel 8750AAA . De två första siffrorna är året, de två nästa är veckan på året. Bokstäverna är kodbeteckningen för tillverkningsanläggningen och partiet.

En något förbättrad version, kallad SCC-I eller informellt SCC+ , användes i Konami Sound Cartridge - expansionskassetten som följde med Snatcher- och SD Snatcher- spelen . Förutom SCC-chippet innehåller den här kassetten ytterligare 64 kilobyte RAM .

Specifikationer


Lista över spel

SCC-chippet finns på patronkortet för följande MSX-spel (patronkod och releaseår inom parentes):

Officiella spel som stöder SCC, släppta på andra medier:

Förutom officiella spel stöds SCC av ett antal program skapade av amatörer - spel, elektroniska tidskrifter, musikskivor. Det fanns också musikredigerare för MSX, båda helt inriktade på användningen av SCC-chippet och stödde det tillsammans med andra ljudenheter.

Emulering

SCC-emulering är implementerad i många moderna MSX -datoremulatorer , såväl som i MAME multi-system slot machine emulator . SCC stöds också av plugins för att spela musik i KSS -format .

Tekniska detaljer

Ljuddelen av SCC-chippet är en primitiv fem-kanals synthesizer baserad på vågsyntes . Var och en av kanalerna har förmågan att programmässigt slå på/av, ändra volym och frekvens, samt tilldela en godtycklig vågform, definierad av ett 32-byte sampel . Kanalerna 4 och 5 delar en sampelbuffert, så chippet innehåller 128 byte på chipminne.

Ljudet genereras av en helt digital krets och matas ut som en parallell 6-bitars kod, omvandlad av en extern 11-bitars DAC (enkel kedja R-2R-krets) till en analog signal.

Följande är en teknisk beskrivning av chipprogrammeringsprocessen på MSX-datorer. Eftersom den officiella dokumentationen för mikrokretsen inte var allmänt tillgänglig erhölls all denna information genom omvänd konstruktion .

Kontrollregister

SCC styrs genom minnesmappade I/O-portar. För att initiera mikrokretsen är det nödvändigt att skriva talet 3Fh (de två övre bitarna används inte, så talet FFh kan också användas) till valfri minnescell i adressintervallet 9000h ... 97FFh. Efter initialisering kan du styra SCC genom att skriva och läsa data i adressområdet 9800h...9FFFh.

Adress Skriva läsa Ändamål
9800h - 981Fh Skriva och läsa Kanal 1 vågform
9820h - 983Fh Skriva och läsa Kanal 2 vågform
9840h - 985Fh Skriva och läsa Kanal 3 vågform
9860h - 987Fh Skriva och läsa Kanal 4 och 5 vågform
9880h - 9881h Endast spela in Kanal 1 frekvens
9882h - 9883h Endast spela in Kanal 2 frekvens
9884h - 9885h Endast spela in Kanal 3 frekvens
9886h - 9887h Endast spela in Kanal 4 frekvens
9888h - 9889h Endast spela in Kanal 5 frekvens
988ah Endast spela in Kanal 1 volym
988bh Endast spela in Kanal 2 volym
988Ch Endast spela in Kanal 3 volym
988Dh Endast spela in Kanal 4 volym
988 Eh Endast spela in Kanal 5 Volym
988Fh Endast spela in Kanaler aktivera/avaktivera bitar 1..5
9890h - 989Fh Liknar adresser 9880h...988Fh
98A0h - 98DFh Inte använd
98E0h - 98FFh Skriva och läsa Registrera förvrängning

Kanalvågformen definieras av 32 teckenbitgrupper och är ett sampel av en vågformsperiod. Den bestämmer direkt klangen på kanalljudet. Uppspelningen sker cykliskt, från byte 0 till byte 31, och igen.

Kanalfrekvensen ställs in på samma sätt som PSG. Detta är 12-bitarsvärdet för chipets klockdelare, ju högre dividervärde desto lägre genererad ton. Den första byten innehåller de lägre 8 bitarna, den andra - de högre 4 bitarna. Bits 4..7 av den andra byten används inte.

Formeln för att beräkna avdelaren för att erhålla den erforderliga frekvensen liknar också PSG:

 - datorklockfrekvens (alltid lika med 3579545 Hz på MSX ), P - den resulterande 12-bitarsdelaren.

Volymen på kanalerna är också inställd på samma sätt som PSG, men det finns inget stöd för amplitudenveloppen. De lägre 4 bitarna innehåller volymen, 0 är minimum (tystnad), 15 är maximum). De övre 4 bitarna används inte.

Kanalaktiverings-/avaktiveringsregistret använder fem bitar. Bit 0 motsvarar den första kanalen, bit 4 till den femte. Om du ställer in biten sätts kanalen på, reset stänger av den. De återstående tre bitarna används inte.

Distorsionsregister (98E0h)

Detta register har inte använts i något spel från Konami . Alla adresser i minnesområdet 98E0h…98FFh hänvisar till samma register. Återställning av SCC sätter dess värde till 0.

De två nedre bitarna i registret styr klockförskalaren och påverkar följaktligen de frekvenser som produceras av kanalerna. Om dessa två bitar sätts till 01 multipliceras alla genererade frekvenser med 256. Om de sätts till 11 eller 10 multipliceras frekvenserna med 16.

Om bit 5 är inställd, startar uppspelningen av vågformssamplet från början varje gång motsvarande kanals frekvensregister skrivs till.

Om bit 6 är inställd, börjar vågformsdata att skifta med den hastighet som ges av:

Detta gör det omöjligt att skriva till vågformsbufferten.

Om bitarna 6 och 7 är inställda på 01 genererar kanalerna 4 och 5 brus. Om de är inställda på 11 genereras amplitudenveloppbrus.

Läsning från detta register returnerar alltid FFh medan bit 6 ställs in i registret. Eftersom vågformsdata kommer att skifta efter det, kommer värdena som läses på adresserna 9800h..987Fh att ändras vid varje nästa läsning.

Detaljer om minnesadresser

Minnesområdet 9800h..987Fh innehåller RAM medan distorsionsregistret återställs. Minnesområdet 9880h..98FFh är endast tillgängligt för skrivning, om du försöker göra avläsningar kommer alltid värdet FFh att returneras. Försiktighet måste iakttas när du läser distorsionsregistret, eftersom detta sätter dess bit 6.

Minnesområde 9900h..99FFh har exakt samma syfte som minnesområde 9800h..98FFh, 9900h..99FFh och så vidare upp till 9F00h..9FFFh. Detta beror på ofullständig adressavkodning för SCC-chippet, adressraderna A8..A10 deltar inte i adressavkodningen.

Se även

Länkar