6. apríla 2012

MIF 85 - prototyp

Tento článok začnem dosť nezvyčajne - videom - pretože práve oňho ide a jeho obsah hovorí za všetko...

MIF 85 je zvukový interfejs pre mikropočítač PMD 85, ktorý využíva zákaznícky stereofónny zvukový čip Philips SAA 1099. Po mnohých rokoch takto PMD 85 dostáva konečne poriadny zvukový interfejs.
EDIT: Kompletný popis interfejsu MIF 85 so schémou, rovnicami a popisom ovládania nájdete na našich stránkach.

Áno, môžete namietať, že predsa existoval interfejs Musica z dielne 4004/482 ZO Svazarmu, no povedzme si na rovinu, že to bolo skôr zariadenie, o ktorom kolovali báje, naživo to nevidel asi nikto a jeho možnosti boli natoľko limitujúce, že okrem hrania 4 tónov v konštantnej hlasitosti nezvládlo už nič iné. Programová podpora interfejsu bola okrem notového editora Musica nulová. Asi každý pochopil, že hudba (ktorej základom je dynamika a rytmus) sa na jedinej konštantnej hlasitosti robiť nedá, nehovoriac o absencii akéhokoľvek šumového generátora, ktorý by podporil rytmiku.

Práve preto sme s bratom Romanom už pred 3 rokmi (počas cesty späť z Foreveru) začali pomýšľať nad zostrojením zvukového interfejsu, ktorý PMD 85 zjavne chýbal. Keďže sme chceli nadviazať na pôvodný koncept a pokračovať tam, kde Musica skončila, po mnohých rôznych koncepciách a úvahách sme sa rozhodli vytvoriť interfejs Musica 2, ktorý by bol spätne kompatibliný s pôvodným, ale mal by všetko, čo predchodcovi chýbalo - 16 úrovní hlasitosti pre 4 kanály, každý kanál s voliteľnou panorámou (LCR), šumový generátor a hardvérové obálky.

A tak som na to začal programovať tracker (viď.obr.) a Roman započal návrh interfejsu postaveného na hradlovom poli. Ako tak zapracuvával zvolené vlastnosti do hradlového poľa Xilinx, tak rástla náročnosť na počet polí a tzv. macrocellov až do takých počtov, že do úvahy pripadal iba Xilinx XC95144 so stovkou vývodov v SMD prevedení, ktorý je v bežných domácich podmienkach takmer nemožné prispájkovať a na tom celý tento projekt zlyhal. Na jednej strane máte hotový návrh veľmi šikovného zvukového interfejsu, na strane druhej "máte istotu", že si to nikto okrem vás nebude môcť zaobstarať. Do veľkovýroby nemôžete dať urobiť "komunitných" 10-20 kusov a vy doma takýto počet (bez oslepnutia) neosadíte...

Takže sme tento projekt nadobro pochovali a rozhodovali sa, že ak nejaký zvukový interfejs, tak určite realizovaný hotovým zákazníckym obvodom. Lenže akým?
Všetci spektristi práve v tomto momente zborovo zakričali "AYčko!". Je pravda, že myšlienka pripojiť AY-3-8910/2 ku PMD 85 je už stará tak dlho, ako je Ikon "posledným žijúcim péemdéčkárom". :)
Osobne mám však pocit, že tak ako ku Commodoru patrí SID, ku Atari Pokey, tak AY-3-8910/2 patrí ku ZX-Spectru. Ak by sme AYčko "zadrátovali" ku PMD 85, tak by to bolo stále len o tom, že "PMDčko hrá ako Speccy". Môžeme sa na to pozrieť aj zo scenérskej strany: Keď prídete na Forever, tak na vás pri prezentácii doliehajú zvuky AYčka, Pokeyho a SIDa. Ak by sa z PMD 85 ozývali opäť speccifické zvuky AY-3-8910/2, väčšina zahraničných návštevníkov by ani nespozorovala, že ide o inú platformu.

Prečo sme sa teda rozhodli použiť Philips SAA 1099?

  • Vznik tohto obvodu sa dátuje do rovnakej doby, v ktorej vznikalo PMD 85 (1984) - to je znamenie! ;)
  • Charakter zvukového výstupu je podobný AY-3-8910/2, ktorý sa nám tak páči!
  • Napriek tomu je ten charakter trocha iný, mäkší, no neopočúvaný. Jediný 8-bitový počítač, v ktorom bol obvod použitý bolo Sam Coupé a to na party-place Foreveru bohužiaľ vôbec nepočuť.
  • Obvod má až 6 zvukových kanálov, čiže môže byť spätne kompatibilný so 4-kanálovým interfejsom Musica - stačí skutočne jednoduchá úprava rutín pôvodného notového editora.
  • Obvod v púzdre DIL 18 je malý a pritom stále jednoducho osaditeľný kýmkoľvek.
  • Jeho obstarávanie bolo prekvapivo pohodové. Naši čínski priatelia na eBayi majú desiatky kusov dostupných ihneď k odberu za veľmi dobré ceny. Za týždeň-dva sme mali 5 kusov doma - vo výbornom stave!

Keď várka objednaných obvodov po príchode z tohtoročného Foreveru konečne dorazila, brácho si pripravil schému interfejsu a niekedy vtedy vznikol názov "MIF 85", keď nevedel, pod akým menom si má tento projekt uložiť. Okrem samotného SAA 1099P sa na interfejse nachádza aj malé hradlové pole, ktoré zabezpečuje chýbajúce prerušenie PMD 85 a jednoduchú obsluhu výstupných portov. Pár dní na to začal interfejs osadzovať na univerzálku a keď to mal hotové, bolo potrebné to na niečom otestovať. Keďže som už mesiac dozadu preskúmaval možnosti SAA 1099 v SimCoupé, SAAemu a všeobecne som hltal každý tón z tohoto obvodu, ktorý som na webe našiel, vedel som, čo ma čaká. Bolo potrebné pre úplné otestovanie preportovať nejakú prehrávaciu rutinu zo Sam Coupé do inštrukčnej sady i8080. Ako najvhodnejšia mi prišla compiler rutina E-Trackera, ktorá našťastie nevyužíva indexové registre a keďže som bol správne vyhecovaný, zvládol som to prekvapivo rýchlo a hneď večer som bežal s rutinkou ku Romanovi. Fungovala na prvý pokus a tento okamih som zaznamenal na videu, ktoré ste videli na začiatku. :)

Na záver už len pre mlsné uši muzikantov dávam link na ďalšiu referenčnú nahrávku Ziutkovej skladby, snímanej priamo z MIF 85.
Tie basy asi budú Comodoristom ležať v žalúdku ;)))

Download:

mif85_ziutek_lyra3.mp3 (192kbps) (4,11 MB)

13 komentárov:

  1. blahoželám a posielam kvety, skvelá práca!

    ellvis

    OdpovedaťOdstrániť
  2. Páči sa mi hlavne spojenie Tesla-Philips, ako z 80. rokov. Teším sa na vyskúšanie trackeru a možností samotného čipu. :)

    OdpovedaťOdstrániť
  3. Fandim, super!
    kdyz jsem v roce 1992 nahraval programy do PMD85 zaznamenane na rychlost 4 pri rychlosti 9 na magnetofonu B4 a fungovalo to , napadlo me, ze "zvukovka mu fakt chybi" PMD bylo super, jeste nekde mam kazety s programama. Ten konektor jsem nikdy nepouzil, nebylo co do nej dat, joystick a mys jsem daval na gpio a pak uz byl obsazenej jenom 5-ti kolik na magnetak! Jenze jsem nemel zadne programy, ani dokumentace a basic me prestal bavit pro svou tezkopadnost.
    Za cca 6 let jsem naplnil 4ks kazet emgeton OP10 (ano dostalo se ke me i SP210T) svymi vlastnimy programy (text, grafika, hry...).Ovladani bylo pomoci roletovych menu podobne jako na PC. Grafickej editor mel dokonce pamet na 2 obrazky a umel i kruznice. Potom kdyz uz PMD nikdo nepouzival, jsem zjistil, ze i ten blbej joystick mam zapojenej jinak nez original, o mysi nemluve.Ale ty kazety mam.... u mamy doma... Perlicka: vsechny pozdejsi programy jsem psal primo v 16ctkove soustave... takze primo pro PMD:
    3E1CCD00853E40CD00853E'H'CD00853E'O'CD00853E'J'CD0085C9
    (ASCII si z hlavy nepamatuju... jedine vim ze A je 40hex/65dec)
    fakt parada je i to jak pise Zudar tesla+plilips to k sobe patrilo.
    At se dari !!!

    OdpovedaťOdstrániť
  4. tinctu#gmail%com

    Ahoj.
    Vedel by si mi poslat link na ten ebay?
    Potrebujem 8ks.
    Inak najlepsi projekt co som na PMD videl!
    Dalo by sa to nejako urobit na 1 PC aj sa ATMEL PMD emulatorom http://pmd85.topindex.sk/
    Pricom vo flash by bol tracker???

    Ak by ste nakreslili PCB ATMELPMD+MIF85+SD-Card na jednej doske tak by som to dal vyrobit a poslal Vam aj 10ks PCB.
    Pricom by tam bolo composite out, sd card, ps-2, 2 x stereo cinch...
    Mato

    tinctu#gmail%com

    OdpovedaťOdstrániť
  5. SAA1099P boli kupované tu:
    http://www.ebay.com/itm/120871798538

    Obávam sa, že k "ATMEL-PMD 85" od Peťa Chrenka, MIF 85 a ani SD karta pripojiť nepôjde.
    MIF 85 potrebuje regulárnu systémovú zbernicu, vrátane prerušovacieho systému. A pokiaľ sa jedná o SD kartu a máš na mysli PMD 32-SD, tá potrebuje 8255, ktorá je tiež závislá od systémovej zbernice.
    Nič z toho "ATMEL-PMD 85" neposkytuje a zrejme ani nemôže. Ale možno ma Peťo vyvedie z omylu. ;-)

    OdpovedaťOdstrániť
    Odpovede
    1. MIF85 sa (...po 11 rokoch v juli 2023) zasnubil s ATMEGA8515 a s ColorAce, Mouse602, Joystick interfacom a relativne velkou EPROM :)

      Odstrániť
  6. Ja sa radšej pripravím psychicky na nejaké PMD 85-4, aby som v budúcnosti predišiel pádu zo stoličky. Lisiak4

    OdpovedaťOdstrániť
  7. 6 kanálů je rozumná volba s tím se dá už něco dosáhnout... a to je prosím vše syntéza ne nějaký nerdovní sample playback

    OdpovedaťOdstrániť
  8. Martin, presvedčil si ma, že SAA je lepšia voľba ako AY. Klobúk dolu ako rýchlo ste to s Romanom spichli v porovnaní s dlho plánovanou Musica2. Nejaká schémička s plošákom by sa nenašla? Prípadne plánujete pre komunitu aj hotové interfejsy?

    OdpovedaťOdstrániť
  9. Som rád, že sa práve tebe nápad s týmto čipom v interfejse páči, pretože ty si vždy rád skepticky podrýpneš, takže tieto pozitívne slová od teba ma veľmi potešili ;)
    Schémička určite bude, keď sa to doladí. Cez sviatky ešte Roman riešil odpájanie obvodu po resete počítača, čo chýbalo. PCB sa bude routovať asi až po úplnom doladení. Všetko sa to potom vystaví na PMD 85 stránkach.
    Čo sa týka výroby, bude to asi tak ako to bolo s PMD 32-SD. Urobí sa prieskum, kto by mal záujem o hotovky, prípadne si to chce poskladať samo-domo a podľa toho sa uvidí...

    OdpovedaťOdstrániť
  10. Bude MIF 85 aj v emulátore? Lisiak4

    OdpovedaťOdstrániť
    Odpovede
    1. Za seba a môj linuxový GPMD85emulator môžem povedať, že emulácia v ňom bude (keďže potrebujem testovať hralo/tracker ;). Knižnicu s emuláciou SAA 1099 napísal Dave Hooper a je šírená pod vhodnou LGPL licenciou a zapracovať to bude jednoduché. Jej zdrojové kódy sú aj pre Win32 a existujú dokonca už aj hotové DLL knižnice, ale myslím, že Roman teraz bude mať dosť roboty so samotným hardvérom, ako sa hneď vrhnúť do implementácie MIFu do Windows emulátora... treba vydržať!
      Všetci chcú všetko a hneď, ale treba si uvedomiť, že zatiaľ to je prototyp a hlavne, my chodíme denne do práce na plný uväzok ;)))

      Odstrániť
  11. mala pripomienka k tomu povodnemu navrhu z CPLD.

    Cinania za par supou nielen vyrobia PCB ale ho aj osadia. Ked sme to na jeden projekt zistovaly vychadzalo to lacnejsie ako nakupit suciastky u nas.

    OdpovedaťOdstrániť