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 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
     
    Super sprawa. Czy jest przewidziana jakaś dystrybucja? :)
    • 3: CommentAuthormono
    • CommentTime5 Jan 2021
     
    Tak, przez ->link<- :
    - ->link<-
    - ->link<-
    Docelowo chyba będą wszystkie.
    • 4: CommentAuthortebe
    • CommentTime5 Jan 2021
     
    ile czasu 6502 zajmuje taki player?
    • 5: CommentAuthormono
    • CommentTime5 Jan 2021 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
     
    Fajnie się Mono bawisz;))
    • 7: CommentAuthormono
    • CommentTime5 Jan 2021
     
    I grzecznie :P
    • 8:
       
      CommentAuthortdc
    • CommentTime6 Jan 2021 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
     
    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
     
    @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
     
    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 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
     
    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 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
     
    pół żartem pół serio, może ktoś zrobi box ze wszystkimi cartami Melody?
    • 16: CommentAuthorpgru
    • CommentTime30 Mar 2021
     
    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
     
    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 zmieniony
     
    Zaxon niebawem będzie miał "zewnętrzny" ram ;)
    • 19: CommentAuthorpgru
    • CommentTime1 Apr 2021
     
    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
     
    @pin: tak, śledzę temat.
    @pgru: owszem, niemniej do tego niecnego celu wolę PokeyMAX - tylko trzeba wziąć lutownicę. Melody jest nieinwazyjne.