atarionline.pl Seria cartów Melody - Forum Atarum

    Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

    • :
    • :

    Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

      • 1: CommentAuthormono
      • CommentTime5 Jan 2021 07:01 zmieniony
       

      Candle:

      Trochę się pochwalę tym co robiłem przez 2019 rok - kilka kartridży zawierających jeden lub kilka układów dzwiękowych takich jak:
      - PSG (AY-3-8910 lub YM2149F) z Atari ST czy ZX-Spectrum
      - OPL2 (YM3812) z PCtowego AdLib'a,
      - OPL3 (YMF262) z SoundBlaster'a Pro
      - OPM (YM2151) z planowanego rozszerzenia Atari 7800XM czy maszyn arcade
      - OPN (YM2203) znane także jako TurboSound - karta muzyczna dla ZX-Spectrum
      - OPN2 (YM2612) - Sega Genesis
      - SAA (SAA1099) - Sam Coupe i Creative Sound System
      - SN (SN76489) - TI 99/4 and Sega Master System

      Całość powstała po tym, jak Toriman upublicznił swój interfejs, ale na ten czas nie był dostępny kiedy był potrzebny (tj na wycieczkę Krapa).
      Film oczywiscie w znanym jezyku pinglisz.
      Endżoj


      Od siebie tylko dodam, że poza tym jest jeszcze cartridge Melody SID z dwoma chipami MOS 6581/8580 na pokładzie, a do grania tym wszystkim (również kilkoma cartami naraz kiedy są używane w cart expanderze) zrobiłem player dla formatu VGM, w którym to muzyczki można pobrać z internetów: ->link<-

      Do tych cartów Candle zaprojektował magistralę działającą na złączu cartridge, analogiczną jak mamy w NewDevices, a pozwalającą na współistnienie wielu cartów na jednym złączu bez kolizji ich obszarów adresowych:

      Candle:

      (...)mapa pamięci wygląda tak:

      Melody Interface Specification

      Melody exists as a series of cartridges for Atari XE/XL
      Each cartridge has several sound chips with common access interface, and audio input and output for easy daisy-chaining one to the other. For this purpose a passive cartridge expander was built

      Currently there are 5 Melody cartridges
      PSG - contains 2 PSG chips
      TurboSound - contains 2 Yamaha OPN chips, and a single SAA1099 chip
      OPX - contains Yamaha OPL(2 or 3) chip and Yamaha OPM chip
      OPN2 - contains 2 Yamaha OPN2 chips and SN76489A chip
      SID - contains 2 SID chips - either MOS6581 or MOS8580

      All registers are located in cartridge space, to minimise memory footprint this is done as follows:

      Address:
      0xD5DF - Melody interface ID/Address register
      Reads - 0x4D (Ascii “M”)
      Writes - any value from 0x00 to 0xFF is treated as bus address
      if device is present on given address it will respond with activating its registers at following addresses:
      0xD5D8 - 0xD5DA - Device ID
      Currently defined:
      PSG - address 0x50
      OPL - address 0x4C
      OPN - address 0x4E
      ON2 - address 0x32
      OPM - address 0x4D
      SAA - address 0x53
      SN7 - address 0x37
      SID - address 0x49
      reserved - 0x00 (all devices are off the bus)

      0xD5DB - Interface version (4.4bit, binary) (cartridges are 0.8)
      0xD5DC - Device Base address (device dependent resolution)
      0xD5DE - Device Control
      bit 0 SCL
      bit 1 SDA
      bit 6 Clock source (device dependent)
      bit 7 Device reset (default 1 - device in reset state)
      SCL and SDA provides access to SDA and SCL lines of MCP4651 - dual digital potentiometer controlling output volume level for easy sound mixing of multiple devices
      Due to the simplistic hardware, all I2C communication is done at 6502 side in software
      this I2C interface is present in Melody bus starting with version 0.8
      • 2: CommentAuthormariuszbox
      • CommentTime5 Jan 2021 14:01
       
      Super sprawa. Czy jest przewidziana jakaś dystrybucja? :)
      • 3: CommentAuthormono
      • CommentTime5 Jan 2021 14:01
       
      Tak, przez ->link<- :
      - ->link<-
      - ->link<-
      Docelowo chyba będą wszystkie.
      • 4: CommentAuthortebe
      • CommentTime5 Jan 2021 14:01
       
      ile czasu 6502 zajmuje taki player?
      • 5: CommentAuthormono
      • CommentTime5 Jan 2021 15:01 zmieniony
       
      Co do SoundBoarda - na filmach możesz to stwierdzić naocznie. 4-kanałowy moduł zabiera od 20 do 60 linii skanningowych, 28-mio - prawie całą ramkę. Player można jeszcze zoptymalizować pod kątem wydajności, bo sporo rzeczy tam jest przepisywanych z miejsca na miejsce, ale póki co koncentrowałem się na zaimplementowaniu obsługi wszystkich komend i efektów (nie ma tylko $E0x czyli filtra).

      Do VGM-ów - to zależy od używanego chipa, ponieważ niektóre mają restrykcje co do czasów zapisu rejestrów adresowych i danych. Niekiedy bywa, że trzeba odczekać nawet kilkadziesiąt cykli CPU. Ponieważ VGM to jest dump rejestrów, no to w pamięci upakowane to jest dość optymalnie i dla PSG, czy OPL3 taki playerek odtwarzany z 200 Hz zabiera od pojedynczej linii skanningowej, do kilkunastu.

      Z kolei player do spectrumowego SoundTrackera (format .STC) zabiera mniej więcej tyle co CMC (to jest translacja playera z Z80 na 6502). Analogicznie do OPL2/OPL3 (format .RAD w wersji 1 lub 2) zabiera od kilkudziesięciu linii skanningowych (RAD w wersji 1 dla AdLib czyli OPL2 - 9 kanałów) do całej ramki (RAD w wersji 2 dla OPL3 - 18 kanałów ale z rekurencyjnymi max 8 zagnieżdżeniami). To też jest translacja ale tym razem z 80286 (RADv1) i z C++ (RADv2).
      • 6:
         
        CommentAuthortdc
      • CommentTime5 Jan 2021 16:01
       
      Fajnie się Mono bawisz;))
      • 7: CommentAuthormono
      • CommentTime5 Jan 2021 18:01
       
      I grzecznie :P
      • 8:
         
        CommentAuthortdc
      • CommentTime6 Jan 2021 01:01 zmieniony
       
      W to nie wnikam ;) Rób sobie co tam chcesz;)))
      Za nielegale nie wsadzają do więzień;))

      Ale ogólnie to fajne, że Atari może grać jak ST lub ZX Spectrum z AY albo jak Adlib, albo jak maszyny arcade;) Nie do pomyślenia w latach 80.
      • 9: CommentAuthormono
      • CommentTime6 Jan 2021 04:01
       
      Do pomyślenia, bo ciągle mamy maszynę z roku 79 i ona nic nie potrafi ponad to, co potrafiła robić w roku 79.
      Może tylko z tym wyjątkiem, że w 80 nie było formatu RAD, VGM czy czego tam jeszcze, nie było pewnie AdLiba, AY-greka, nie było kart Melody czy SoundBoarda, więc Atari nie mogło widzieć co chciało bo jeszcze nie widziało czego by chciało.
      Ale dzisiaj mamy 2021 i mnie np cieszy, że Atari potrafi AdLiba, AY-greka, YM-a, OPM-a, OPN-a i co tam jeszcze w miedzyczasie wymyślono. Cieszy mnie też, że daje radę 28-kanałowy MOD choć może i zdawałoby się że nie może. Owszem, nic ponad to nie zrobi, ale i co z tego?
      • 10:
         
        CommentAuthorgaltron
      • CommentTime6 Jan 2021 11:01
       
      @MONO - Ty jednak zawsze potrafisz zaskoczyć i to pozytywnie oczywiście. Dodam tylko że nie wiem dlaczego ale mam Atari 130XE i Atari 1040STE i większą radochę sprawia mi 130XE niż 1040STE. Ten wcześniejszy model ma to coś w sobie, jakiś charakter, duszę, no po prostu jest lepszy ;)
      • 11: CommentAuthortebe
      • CommentTime6 Jan 2021 17:01
       
      Mono? czyli który w tych kartów zostawi czas na inne sprawy dla CPU i dla programisty, a który zje 100% mocy przerobowych i na nic więcej nie pozwoli.

      Pytam się o dodatkową wartość użytkową. STC?
      • 12: CommentAuthormono
      • CommentTime6 Jan 2021 20:01 zmieniony
       
      Do STC (PSG) jest gotowy player i można go użyć w grze. Do innych chipów trzeba by znaleźć jakiś tracker i przenieść player na 6502. Do SID-a jest chyba najprościej, bo komodorowe playery są przecież dla 6502 - trzeba tylko zmienić adresy sprzętu.
      Do RAD (OPL) też jest gotowy player. Wymaga więcej czasu, ale też można by go użyć we własnej produkcji - kwestia konkretnej muzyki, brzmień, no i samej gry.
      Do innych chipów mam tylko VGM (dump rejestrów) a to się do gry pewnie niespecjalnie nadaje. Choć player takiego dumpa dla konkretnego chipa to sobie chyba każdy może napisać sam bo to trywialna rzecz.

      Edit: Do NEO też jest krótki playerek i można by go z SoundBoardem i PokeyMAX-em wykorzystać do grania sampli.

      Edit: A MODy też pewnie będzie można użyć, ale player najpierw musi być zoptymalizowany.
      • 13: CommentAuthorbob_er
      • CommentTime6 Jan 2021 21:01
       
      AY-3-8910 miał na pokładzie Oric, który ma również <baczność>6502<spocznij>.

      Przy okazji - ciekawym, jak będą zegary śmigać w ST-kowym SNDH.
      • 14: CommentAuthormono
      • CommentTime6 Jan 2021 22:01 zmieniony
       
      @bob_er: Tak, i chyba Candle robił jakiś eksperymentalny odtwarzacz dla formatu MYM.

      Jeszcze nie robiłem odtwarzarki dla ST-kowych formatów, ale świadomy jestem zagrożeń :) Też mnie ciekawi czy to się da.
      • 15:
         
        CommentAuthorCyprian
      • CommentTime30 Mar 2021 11:03
       
      pół żartem pół serio, może ktoś zrobi box ze wszystkimi cartami Melody?
      • 16: CommentAuthorpgru
      • CommentTime30 Mar 2021 19:03
       
      Dobrze rozumiem, że to może działać bez problemu na 65XE(nierozbudowanym), albo wręcz można korzystać z kartridża Ultimate i nie będzie problemów dzięki "rozgałęziaczowi" złącza kartridża?
      • 17:
         
        CommentAuthorsun
      • CommentTime31 Mar 2021 13:03
       
      Krótko: Tak, choć jak na razie playery produkowane przez kolegę mono, są tylko dla Sparta DOS X, który na gołym 65XE...hm... no nie specjalnie - takie moje zdanie.
      • 18: CommentAuthorpin
      • CommentTime31 Mar 2021 20:03 zmieniony
       
      Zaxon niebawem będzie miał "zewnętrzny" ram ;)
      • 19: CommentAuthorpgru
      • CommentTime1 Apr 2021 09:04
       
      Dziękuję za odpowiedzi
      @sun - ale np. ja w teorii mogę sobie wyobrazić grę, która będzie np. na nierozbudowane Atari 65 XE, a muzyka będzie z SIDa.

      @pin pocieszające, miejmy nadzieję, że nie wymagający ECI, bo takie też podobno są, ale u mnie i w sporej ilości 65 go nie ma.
      • 20:
         
        CommentAuthorsun
      • CommentTime1 Apr 2021 09:04
       
      @pin: tak, śledzę temat.
      @pgru: owszem, niemniej do tego niecnego celu wolę PokeyMAX - tylko trzeba wziąć lutownicę. Melody jest nieinwazyjne.