Džinova 8-bitová stránka
ARM2SID
Úvod:
- Další logický krok po úspěšném ARMSIDu. ARM2SID podědil základní stavební kameny z ARMSIDu, jen jsou o krok vyspělejší.
- Díky nim přidal možnost emulace až dalších dvou čipů navíc a nebo FM syntézy s OPL2.
Popis, co to umí:
- Stejně jako ARMSID je ARM2SID náhrada obvodů MOS6581 a MOS8580 používaných v Commodore C64/C128. Opět v minimalistické podobě, ale umí hodně navíc.
- Dokáže nahradit až 3 obvody najednou, navíc umí emulovat i SFX sound expander stejně jako novější klon FM-YAM.
- Samotná emulace probíhá stejně jako u ARMSIDu, vlastnosti si lze přečist na jeho stránce.
- Případný update firmwaru přímo programem v C64/C128 bez nutnosti zasahovat do počítače.
- Nyní k sehnání zde.
Popis, co je uvnitř:
- Pár odporů, kondenzátorů, jeden stabilizátor, jeden dvojitý operační zesilovač a procesor. To je vše, součástky jen z jedné strany.
- Procesor STM32F446 (180MHz skoro 2x rychlejší než ARMSID, 2x víc FLASH paměti a 4x víc paměti RAM, víc pinů pouzdra, 2x 12bit DAC).
- O analogový výstup se stará audio zesilovač AD8646 (teď už dvojkanálový).
- Stabilizátor pro procesor 3,3V, samotný procesor má vstupy 5V tolerantní.
- Na desce je rozšiřující konektor, přes který lze buď připojit druhou patici s vyvedeným druhým řízením (chip-select a R/W signál) a druhým audio výstupem nebo konektor propojit s patřičnými signály na desce počítače napřímo bez další patice (zvlášť v případě, když v počítači patice na druhý SID není).
- Blokové schéma v PDF zde:
Firmware:
- Aktuální verze FW 3.15 z 23.1.2022 zde. Nebo jako obraz diskety. Nebo zde zazipovaný.
- Nezapomeňte si stáhnout nový konfigurační program.
- Oprava chyby při generování šumu v nejvyšší oktávě (reportováno například v hře Crossroads II a Jumpman).
- Detekce typu SID s tímto algoritmem vrací skutečné nastavení typu v konfiguraci ARM2SIDa.
- Díky tomu, krom jiných, hraje i poslední část Wonderland XIII alespoň při nastavení ARM2SIDa na emulaci MOS6581. Prodigy jedou !
- Oprava ve špatném časování přehrávání hudby Turrican 2 - The Final Fight (dobře slyšitelné na skladbě 2).
- Doplněno nedokumentované přehrávání "žádného" průběhu, díky tomu například Boing Boom Tschak výrazně míň (cca 20dB dolů) píská.
- Úprava v generování kombinovaných waveforms (nejen) pro emulaci MOS8580, kde se víc blíží originálu (jak jen se dá u čipů, které jsou samy o sobě různé mezi sebou, závislé na teplotě, napětí a čase).
- Předposlední FW 3.14 z 16.7.2022 zde. Nebo jako obraz diskety. Nebo zde zazipovaný.
- Oprava chyby ve výšce tónu při generování šumu (reportováno například v hrách Crazy Comets a Paperboy ve verzích FW 3.11 a 3.12).
- Oprava v emulaci SFX (v některých skladbách chyběly perkuse).
- Sjednocená vzorkovací frekvence emulace SFX pro všechna nastavení (se správným nastavením referenční FM frekvence PAL/NTSC) na cca 49,7 kHz jako na originální kartě.
- Opět optimalizace na rychlost, a to nejen na běh aplikace jako takové, ale i obsluhy sběrnice.
- Rychlejší je i start aplikace, místo stovek milisekund je ARM2SID plně funkční už za míň jak 15 milisekund od připojení napájení !
- CS signály z obou patic se zpracovávají jako nezávislé přistupy (důležité pro použití v syntezátorech).
- Přidána možnost "opravit" tzv. ADSR bug, tedy chybu v generátoru obálky, která je vlastní originálním čipům a je reprodukována i v ARMSIDu. V C64 to kvůli kompatibilitě není potřeba, ale pokud používáte ARMSID v syntezátorech, mohla by vás tato funkce zajímat.
- Je možné přes konfiguraci vypnout automatické rozšíření zvuku levého knálu i na pravý kanál, pokud ten delší dobu nehraje (opět důležité pro použití v syntezátorech).
- Je tu i možnost přes konfiguraci nechat napevno hrát do obou kanálů SID jen data z levého kanálu (nastavení emulace pro jednotlivé kanály zůstává).
- Lehce poupravena jakost (Q) obvodů filtru pro ještě věrnější reprodukci MOS8580.
- Předcházející FW 3.12 z 9.9.2020 zde. Nebo zde jako obraz diskety. Nebo zde zazipovaný.
- Nová konfigurační utilita je zde. Verze včetně nové konfigurační utility je zazipovaná zde.
- Digifix pro emulaci MOS8580 je od této verze konfigurovatelný. Softwarově jde nastavit v několika úrovních a to dokonce i v opačné polaritě.
- V základním nastavení je ale řízen skutečným proudem z externího pinu. Pokud by vám softwarový Digifix chyběl, nastavte si ho přes nový konfigurační program.
- Digifix u MOS8580 vyžaduje například hra Ghostbusters, většina hlavně nových her, dem a hudeb naopak s Digifix nepočítá a ten pak může působit rušivě a přidávat do různých míst šum a hluk.
- Je zde také dotažen hotfix v generování šumu (test bit) z predchozí verze, teď už nechybí žádný zvuk ani v TestBit_4x.sid.
- V neposlední řadě byla poladěna emulace vnitřních analogových offsetů MOS6581. Ve výsledku vede k menší zkreslení některých dem (Mahoney - Musik Run/Stop) a odstranění klapání u některých her (Bubble Bobble).
- Drobný fix aktualizace čítačů generátorů při rychlých změnách.
- Opraveno nastavování nejnižší frekvence filtru pro emulaci MOS6581 (občas neodpovídala simulace nastavením).
- Předcházející FW 3.8 z 24.3.2020 zde. Nebo zde zazipovaný.
- Proti verzi 3.7 opravuje chybu v hodnotách registru OSC3 při generování šumu. Patrné například ve hře Paradroid.
- Předcházející FW 3.7 z 19.1.2020 zde.
- Proti verzi 3.6 jen marginální změny, přidáno čtení OSC3 a ENV3 registrů do emulace třetího SIDu, opravuje starší bootloadery, uživatelsky zjednodušený update.
- Proti verzi 3.5 přidána rychlá reakce pro stereo mód při použití druhé patice, pokud jsou adresovány oběpatice zároveň provede se přechod na dual-mono rovnou né až po timeoutu 15s.
- Také opraveno detekování namapovaných vyšších adres (někdy špatně detekovaná adresa ARM2SIDu v aktualizační aplikaci).
- Verze včetně nové konfigurační utility je zazipovaná zde.
- Pro update stačí nahrát do C64/C128, spustit a následovat instrukce.
- Pokud máte připojené adresy A5/A8, můžete si vyzkoušet 3SID soubory upravené pro adresy D400h,D420h a D500h ke stažení zde.
Konfigurace:
- Nová verze testovacího a konfiguračního programu z 25.12.2022 zde (zdrojový kód k nahlédnutí zde).
- Přidána detekce vícero kanálů ARM2SIDů najednou (adresy D400h,D420h,D500h,D520h,DE00h,DE20h,DF00h a 0xDF20h). Pokud je detekován více než jeden kanál ARM2SIDů, objeví se ještě před spuštěním výběr:
- Pokud je detekován jen jeden kanál ARM2SIDu, spustí se první obrazovka rovnou.
- Ukázka obrazovky konfiguračního programu:
- Lze měnit emulovaný čip MOS6581 nebo MOS8580 nebo to nechat na automatice podle napájecího napětí (nastaveno při zapnutí napájení).
- Nově lze uložit nastavení do paměti flash, bude se tak pokračovat v nastavení i při dalším zapnutí napájení.
- Na nové funkcionality - nastavení dolní mezní frekvence a strmosti filtrů je extra obrazovka po stisku klávesy E:
- Strmost filtrů pro MOS6581 odpovídá měřením uveřejněným zde.
- Pro MOS6581 lze strmost zvýšit nebo snížit v celkem patnácti krocích (-7 až +7), dolní mezní frekvenci v hodnotách 150,215 a 310Hz, pro MOS8580 v sedmi krocích pro frekvenci ladění při středním nastavení od 3kHz do 12kHz (kroky zhruba po 1/3 oktávy) a dolní mezní frekvenci také v sedmi krocích logaritmicky od 30 do 330Hz. Ukázka jiného než výchozího nastavení zde (ovládání přes kurzorové klávesy):
- Nově je v konfiguraci možnost nastavit Digifix pro emulaci MOS8580, dostaneme se k němu přes klávesu D z hlavního menu:
- Digifix můžeme nastavit buď externím odporem vůči zemi na externím pinu (stejně jako pro reálný MOS8580) nebo můžeme přepnout do softwarové emulace a nastavit úroveň v několika krocích manuálně (jedna z možností je 0% t.j. vypnout):
- Nastavení se dá uložit klávesou S do RAM ARMSIDa, vydrží tedy jen do vypnutí napájení nebo příkazu restartu:
- Nebo klávesou P trvale do flash paměti, a pak vydrží nastavení i po vypnutí napájení:
- Velmi důležitá je pro ARM2SID stránka pro nastavení mapování adres (přístupná stiskem M z hlavní stránky), výchozí nastavení vypadá takto:
- Pokud máte ARM2SID se dvěmi paticemi, je potřeba změnit nahoře nastavení PIN CONNECTIONS z WIRE na SOCKET:
- A pro stereo nastavení vybrat pro druhou patici emulaci SIDR:
- Konfiguraci opět uložíte přes klávesu P trvale nebo S do vypnutí napájení (doporučeno použít pro vyzkoušení, pokud vše funguje jak má, uložit trvale).
- Pro případ připojení přes přímé napojení signálů A5,A8 na piny procesoru a CS2,R/W2 a IO na piny expanzního konektoru, necháte nastavení na WIRE. Pak můžete měnit emulace na jednotlivých dekódovaných adresách, příklad pro přehrávání 3SID skladeb na adresách D400(left),D420(right) a D500(center):
- Přes volbu EMULATION MODE se volí mezi emulací SIDů (viz obrázky doteď), SFX sound expadnéru:
- Nebo kombinace jednoho SIDa v levém kanálu a SFX v pravém kanálu:
- V případě potřeby lze audio kanály sloučit do jednoho mono (oba kanály stereo výstupu jsou pak stejné) volbou DOWN-MIX TO MONO do polohy ON.
- Nastavené změny se projeví v emulaci až po nahrání konfigurace do RAM (klávesa S) nebo flash (klávesa P). Konfigurace uložená do RAM se vypnutím a zapnutím napájení zapomene.
- Na nové stránce s extra funkcemi můžeme "opravit" takzvaný ADSR-Bug. Toto je zajímavé pokud používáte ARMSID v nějakém syntezátoru, kde je původní chyba z originál SIDa nežádoucí. V C64 a C128 určitě tuto volbu ponechte na "NO" pro zachování stejného chování s originál SIDem.
- Další extra funkcí je vypnutí automatického rozšíření hudby z levého kanálu i do pravého, když pravý nehraje při stereo konfiguraci. Toto je opět zajímavé pokud používáte ARMSID v nějakém syntezátoru, tam je takové rozšíření zvuku na nepouživaný kanál opět nežádoucí. Nic vám však nebrání tuto vlastnost vypnout i při používání C64 nebo C128, pokud vám z nějakého důvodu vadí.
- Nakonec jde ono rozšíření dat z levého kanálu na oba naopak zapnout natrvalo, pak se data sice zpracovávají jen z adresy levého kanálu, ale přehrávají se na obou kanálech (s jejich individuálním nastavením).
<= zpět