atarionline.pl MIDIcar czyli MIDI na Atari8 - 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:
         
        CommentAuthorpancio
      • CommentTime19 Oct 2022 11:10
       
      W temacie MIDIcarPBI rozwinąła się dyskusja na:
      ->link<-

      Jeśli ktoś chciałby coś dodać lub wnieść do dyskusji i przyszłego rozwiązania to zapraszam.
      • 2:
         
        CommentAuthorpancio
      • CommentTime5 Nov 2022 20:11 zmieniony
       
      Nadeszła nowa era w jakości używania MIDIcar-a... Teraz można już z korzystając z SpartaDosX i IDE+ słuchać muzyki przy bardzo szybkim wczytywaniu... Oczywiście autorem nowego - lepszego playera jest nieoceniony pogromca żółtych kaczuszek.. PeBeC :-)
      • 3:
         
        CommentAuthorsun
      • CommentTime5 Nov 2022 20:11
       
      No wreszcie. To motywuje do polutowania MIDICar ;)
      • 4:
         
        CommentAuthorKaz
      • CommentTime5 Nov 2022 21:11 zmieniony
       
      Rendery nowszej wersji obudowy (dzięki koledze Pancia), projekt bazujący na projekcie pierwotnym kkrysa. Pięknie to wygląda.
      • 5:
         
        CommentAuthorpancio
      • CommentTime5 Nov 2022 22:11
       
      Ooo tak to to działa....

      • 6:
         
        CommentAuthorKaz
      • CommentTime5 Nov 2022 23:11 zmieniony
       
      I jeszcze takie wizje obudowy, też piękne! :)
      • 7: CommentAuthoras...
      • CommentTime6 Nov 2022 16:11
       
      @Pancio,
      -będą jakieś zapisy?
      -pre order bądź etc?

      Czy będzie sobie można to kupić w co 2giej biedronce :)
      • 8:
         
        CommentAuthorCOR/ira4
      • CommentTime6 Nov 2022 18:11
       
      ... może ktoś mi wyjaśnić o co w tym biega ???
      Czyli co podpinam A8 poprzez midi out z syntezatorem i gram muzyczki z układu syntezatora ?

      A może mogę wpiąć się klawiaturą sterującą pod A8 i w ten sposób tworzyć muzykę ? (to by było coś)
      • 9:
         
        CommentAuthorsun
      • CommentTime6 Nov 2022 18:11
       
      Możesz odegrać midi z atari korzystając z wbudowanego modułu synth w interface, lub podpiąć bank midi/urządzenie. Możesz podłączyć keyboard i nutki wskoczą do Atari.
      • 10:
         
        CommentAuthorpancio
      • CommentTime6 Nov 2022 19:11 zmieniony
       
      @as... tak, będzie można zakupić MC za pośrednictwem PTODT - trwają prace i rozruch 'produkcji' :-) Planowany wolumen - 20 szt. Przychód na cele statutowe. Oczywiście, założeniem projektu jest to, że każdy może sobie samemu zbudować MC - materiały będą dostępne lada moment.


      @IRATA4 - zaadniczo interface pozwala na odczyt z klawiatury MIDI - co zostało już udowodnione w jednym z filmików... pozostaje napisać sequencer...

      • 11: CommentAuthoras...
      • CommentTime6 Nov 2022 20:11 zmieniony
       
      @Pancio, nawet nie wiem co to jest "PTODT" , ale po proszę o rezerwację 1szt :)
      *kompletną ;)
      • 12: CommentAuthordhor
      • CommentTime7 Nov 2022 07:11
       
      Pełna profeska... Az zazdroszczę tym, którzy mają osobną izbę kulturową na takie osprzęty (midi, ach midi)...
      • 13:
         
        CommentAuthorCyprian
      • CommentTime7 Nov 2022 11:11
       
      tak jak pisze @dhor, piękna robota. Gratulacje
      • 14: CommentAuthormono
      • CommentTime7 Nov 2022 11:11
       
      @dhor: To się nazywa Izba Pamięci :D Też zazdroszczę zawsze takiego studia.
      • 15:
         
        CommentAuthoryerzmyey
      • CommentTime7 Nov 2022 12:11
       
      Chwileczkę, przecież sequencer już istnieje...?
      • 16:
         
        CommentAuthorCOR/ira4
      • CommentTime7 Nov 2022 20:11
       
      jak istnieje, bądź prawie istnieje to jestem tym interfejsem zainteresowany.
      Gdzie można zamówić ?
      • 17:
         
        CommentAuthorKaz
      • CommentTime9 Nov 2022 16:11 zmieniony
       
      MIDIcar Player zaczął grać również przez inne urządzenia - MIDI Box:

      • 18: CommentAuthormono
      • CommentTime9 Nov 2022 17:11
       
      Super! Szukałem kiedyś tego interfejsu, ale udało mi się namierzyć tylko MIDIMATE. One są kompatybilne z sobą? Czy sterowanie jest inne?
      • 19:
         
        CommentAuthorKaz
      • CommentTime9 Nov 2022 17:11
       
      Trochę info: ->link<-
      • 20:
         
        CommentAuthorpebe
      • CommentTime9 Nov 2022 18:11 zmieniony
       
      MIDIMate:
      - nie jest przelotowy
      - posiada swój własny zegar MIDI
      - nie jest samograjem, tzn. potrzebuje urządzenia do odgrywania dźwięków (klawisz, PC lub inne)
      - Aby grał, potrzebuje sygnału MOTOR On

      MIDIBox:
      - nie jest przelotowy
      - jest samograjem - prawdopodobnie DreamBlaster - dźwięk wraca po torze audio gniazda SIO
      - Nie posiada zegara, więc musi być sterowany POKEYem

      Oba urządzenia korzystają ze złącza szeregowego SIO.
      Wysyłka danych odbywa się w takim sam sposób, poza różnicami związanymi z taktowaniem łącza szeregowego.

      Przykłady sterowania zawarłem w repozytorium ->link<-

      Zachęcam do zapoznania się, bo osobiście nigdzie nie znalazłem przykładów. Debuggowałem MIDI Sequencera, aby się dowiedzieć, jak to działa :)
      • 21:
         
        CommentAuthorpebe
      • CommentTime9 Nov 2022 19:11
       
      Co to zaprezentowanego przez @Kaz-a filmiku...

      Tak, to jest postęp ;) i to spory, zważywszy na sposób w jaki dostarczana jest obsługa interfaceów - po prostu są to drivery :P

      Jak okiełznam całość, postaram się zaprezentować, jak to działa.

      MIDIBox gra naprawdę dobrze. Czasami brakuje trochę mocy 6502, ale nad tym jeszcze pracuje. Poważniejszy problem mam z MIDIMate, gdyż on samodzielnie nie gra (jak wspomniałem to we wcześniejszym poście) a do usłyszenia dźwięku, wykorzystuje najtańszy konwerter MIDI-USB, który jest najsłabszym ogniwem tej całej plątaniny kabli, jaką mam na biurku :D

      Trudno jest sprawdzić, czy właściwie wszystko współgra, gdyż dane docierające do laptopa (który jest bankiem brzmień MIDI - korzystam z QSyntha) są jakby poszarpane. Czasami przejdzie kilkanaście bajtów i zagra właściwie. Niestety, po nich następuje desynchronizacja i dane się gubią.
      Jest też szansa, że mój komp jest po prostu za słaby :P - nie wykluczam tego. Poza tym, sterowniki MIDI (linux) są wysoko latencyjne, co też może być problemem.

      Jednak, zakładam, że sama wysyłka z Atari w obu urządzeniach jest prawidłowa, więc wszystko jest (po stronie Atari) cacy :)
      • 22:
         
        CommentAuthorKaz
      • CommentTime9 Nov 2022 19:11
       
      Bravissimo!

      PeBe:

      MIDIBox gra naprawdę dobrze. Czasami brakuje trochę mocy 6502, ale nad tym jeszcze pracuje.


      Trzeba by namówić Alexa, żeby dokończył ten projekt MIDI Box-a, bo w tej chwili są bodajże dwa egzemplarze na świecie: jeden u niego, drugi u Pinokio czyli u Ciebie :).
      • 23:
         
        CommentAuthorKaz
      • CommentTime9 Nov 2022 19:11
       
      Nie ma tego w sprzedaży, ani MIDI Box, bo to prototyp, ani MIDIcar. Dopiero za niedługo MIDICar będzie dostępny przez tę stronę: ->link<-
      • 24:
         
        CommentAuthorpancio
      • CommentTime10 Nov 2022 08:11
       
      Tak dla ścisłości - jest jeszcze SIO2MIDI - MIDImate compatible i SIO2MIDI-S2 - samograj. Oba można sobie zbudować samemu... zasadniczo od tego drugiego zaczęła się przygoda z MIDIcar...

      Pytanie do @alex-a:
      Czy możesz podzielić się wiedzą w jaki sposób "cofnąłeś" audio do Atari.. jakie filtry etc.. nie chcę wyważać otwartych drzwi a chciałbym to samo zrobić wchodząc na "audio" przez CART/ECI/PBI. Jak z jakością?
      • 25:
         
        CommentAuthorAlex
      • CommentTime10 Nov 2022 09:11
       
      @pancio - audio włazi przez audio in podobnie jak audio z magnetofonu. Ponieważ to prototyp to jest tylko dzielnik napięcia, ale docelowo w ostatecznej wersji będą wzmacniacze. Jakość przez audio in jaka jest, każdy słyszy :) natomiast to już kwestia toru audio na płycie. Tutaj za wiele nie da się zrobić.
      • 26:
         
        CommentAuthorsun
      • CommentTime10 Nov 2022 21:11
       
      @PeBe, poproszę do potestowania wersję brykającą ze SIO2MIDI - pewnie zanim poskładam MIDICar to jeszcze się chwila zejdzie, tym bardziej że tam jakieś nogi trzeba podnosić, jakieś RST z RTS, cuda wianki :)
      • 27:
         
        CommentAuthorpancio
      • CommentTime11 Nov 2022 05:11 zmieniony
       
      jedną nóżkę... jak piesek! :-)
      Możesz też przeciąć ścieżkę.. lub poczekać na kolejną rewizję :-)
      Temat /RTS to oczywista omyłka... i przeszło by to niezauważone gdyby nie problem z obsługą IDE+ i testami Pin-a. Przeróbka jest nieinwazyjna i nie ma wpływu na funkcjonalność.
      • 28: CommentAuthorpin
      • CommentTime11 Nov 2022 11:11
       
      PeBe - do Midimate może podrzucę Ci Yamahę QY100. Będzie łatwiej, choć zauważalnie są różnice w schemacie midi między np. S2 a Yamahą i nie wszystkie instrumenty grają jak trzeba.
      • 29:
         
        CommentAuthorpebe
      • CommentTime11 Nov 2022 15:11 zmieniony
       
      @pin, ale zacne urządzonko :) "Popaczałemse" na necie hihi. Z chęcią przygarnę, pobawię troszku :)

      @sun, ofcoz. W załącznikach dwie wersje ze zintegrowanymi sterownikami - nazwy plików mówią same za siebie.

      Mimo iż po uruchomieniu pokazuje że to wersja 1.2 to w istocie jest to wersja 1.3 (jak w nazwie pliku)

      Jak na razie, testuję tylko pod RealDOSem i teoretycznie winno być kompatybilne z SDXem. Podobnie ma się rzecz z innymi DOSami (niekoniecznie kompatybilnymi ze Spartą)
      Istotne jest, aby MEMLO nie było większe niż $2000, ani nic nie chowało się pod ROMem.
      • 30:
         
        CommentAuthorpebe
      • CommentTime11 Nov 2022 15:11 zmieniony
       
      PS. Player ma jeszcze kilka niedociągnięć, jak np.
      - nie ma monitoringu kanałów, bo po optymalizacji, zmienił się trochę sposób wglądu w parametr głośności nut - to muszę naprawić.
      - może być kiepsko z edycją ścieżki dłuższej niż 32 znaki - lepiej poruszać się po katalogach dysku wchodząc i wychodząc z nich :)
      - może się zblokować, jeżeli użyjemy sterownika MIDIMate, z urządzeniami nieposiadającymi własnych zegarów, jak np. MIDIBox, gdyż sterownik jest on nastawiony na taktowanie zegarem urządzenia, więc będzie oczekiwał na zakończenie transmisji, a ta nie zakończy się, bo nie ma co jej taktować.
      - program odtwarza 99% MIDów, jednak można znaleźć takie, które będą odtwarzane źle, wolniej lub mogą powiesić player
      - Pod SDXem program należy uruchamiać z komendy "X" lub mieć włączony "COMEXE", a co za tym idzie, zmienić trzeba nazwę pliku z COM na EXE :)

      To chyba tyle, jeśli chodzi o znane mi błędy i niedociągnięcia.
      • 31:
         
        CommentAuthorAlex
      • CommentTime11 Nov 2022 15:11
       
      @pebe - Dzięki! :) Tego mi brakowało przez ostatnie lata.
      • 32:
         
        CommentAuthorCOR/ira4
      • CommentTime12 Nov 2022 17:11
       
      kurde, to ma wbudowany syntezatorek, ciekawe co można będzie wycisnąć z tego ... do tego perspektywa podpięcia klawiatury sterującej i możliwość z klawiatury muzycznej obsługi przyszłego softu- brzmi zachęcająco i jak cena nie przekroczy 400zł to łykam bez popitki, jak przekroczy to pewne łyknę z popitką .

      Pewien dobry znany muzyk z naszej sceny w wątku 15. napisał
      : "Chwileczkę, przecież sequencer już istnieje...? "

      Rozumiem że to jakiś niedokończony, bądź mało znany programik, wie ktoś coś może ?
      Jak to się nazywało ?
      Udało mi się ustalić że nad czymś takim pracował kolega Ś.P. Raster.
      • 33:
         
        CommentAuthorpebe
      • CommentTime12 Nov 2022 17:11 zmieniony
       
      @IRATA4: Ten sekwenser to MIDI Sequencer by Maciej Sygit.



      Całkiem dokończony, bo powstało na nim kilkanaście utworów pisanych przez Greg/Taquart. Nawet kilka poprawek doń było robionych, m.in. aby współpracował z SDX.
      Ładnie działa z MIDIBoxem i nawet pod emu z wirtualnym MIDIMate :)

      Niestety,klawiszologia jest mi nieznana i nie szukałem żadnej instrukcji do niego.

      Ten Rastera to był chyba MIDI Pattern Editor

      ->link<-

      Jego statusu nie znam. Nie wiem też, z czym współpracuje, ale z opisu wynika, że SIO ino niewiadomo jaki model (nie SIO :P)

      Przetłumaczony fragment:
      MPE v2.3 MIDI Pattern Editor , wersja 2.3 Radek Štěrba, (c) RASTER 1995

      Edytor ten służy do komponowania muzyki w sposób wzorcowy. Muzyka składa się z poszczególnych części (patternów), a te następnie są odtwarzane w pożądanej kolejności.

      Podstawowe informacje:
      Minimalne wymagane wyposażenie:
      * Komputer kompatybilny z Atari XE/XL (64KB RAM)
      * interfejs MIDI (poprzez wejście/wyjście szeregowe - standardowe złącze szeregowe)
      * instrument klawiszowy MIDI (standard MIDI)
      Pojemność redaktora:
      * Piosenka ma 256 kroków
      * 32 próbki (specyfikacja instrumentu i dynamiki, opcja akordu)
      * 128 patternów (pattern składa się z 4 ścieżek i ma 32 beaty)
      Dodatkowe informacje:
      * Do wyjścia wykorzystywane są 4 kanały MIDI (od 0 do 3).
      * Dowolny kanał wejściowy (dynamika skoku klawiatury nie jest monitorowana)
      * Sterowanie programem odbywa się poprzez system "gorących" klawiszy, tzn. bezpośrednie naciśnięcie klawisza powoduje wywołanie odpowiedniej funkcji.

      Przetłumaczono z www.DeepL.com/Translator (wersja darmowa)
    1.  
      Here are some MIDI tools I collected (but never used them)...
      • 35:
         
        CommentAuthorAlex
      • CommentTime12 Nov 2022 23:11
       
      Ja napisałem na MIDI Sequencerze masę kawałków :) Świetne narzędzie, choć ma sporo braków. Fox swego czasu spatchował go, by się łatwiej komponowało :)
      • 36: CommentAuthorpin
      • CommentTime13 Nov 2022 00:11
       
      to gdzie jest ta masa aktualnie?
      • 37: CommentAuthorpin
      • CommentTime13 Nov 2022 01:11
       
      @PeBe - coś mi ta wersja dla Midimate "prawie" działa. Tzn - w czasie odtwarzania słyszę od czasu do czasu jakieś nie skoordynowane dźwięki. Do Midimate mam podłączone to QY100. Natomiast QY100 poprzez midi out z MidiCar'a gra wybornie.
      • 38:
         
        CommentAuthorpebe
      • CommentTime13 Nov 2022 16:11 zmieniony
       
      Tak jak pisałem Ci na privie:

      Trudno jest mi powiedzieć, co może być jednoznaczną przyczyną, jednak można wysnuć teorię, iż winą jest IRQ Serial Portu Atari, czyli, coś co miało poprawić, w pewnym sensie przeszkadza, a dzieje się tak, gdyż to IRQ "troszczy" się o to, by dane z bufora FIFO były opuszczone jak najszybciej.

      Przy transmisji przez SIO, gdy bajt opuści już rejestr przesuwny, generowany jest sygnał IRQ. Ten sygnał powstaje (dla stokowego 6502 w PALu)
      - co 560 cykli - dla ~31669 bodów (moje wyliczenia) lub 31960.2 (w/g Altirry) dla POKEYowych rozwiązań
      - nieco więcej (patrząc logicznie) dla rozwiązań z zewnętrznym zegarem, jak MIDIMate, który daje 31250 bodów.

      Problem polega na tym, że to dość mało cykli, aby przetwarzanie ścieżki MIDa się zakończyło...

      Nie rozwodząc się za bardzo nad istotą samego przetwarzania, po prostu IRQ zabiera cenny czas, który mógłby być spożytkowany na "przetwórstwo"

      A dlaczego MIDICar gra dobrze?

      MIDICar Playera dla MC, opierał się o polling danych, czyli:
      - dopóki ścieżka MIDa nie została przetworzona - tj. do momentu, gdy DeltaTime jest różna od zera, co oznacza koniec informacji w danym czasie
      - dane z "przetwórni" składowane są w buforze FIFO
      - jeżeli przetwarzanie się zakończyło, to w pętli głównej playera była taka króciutka procedura
      - jej celem było sprawdzenie, czy stan MC pozwala na wysłanie bajtu informacji.
      - jeżeli tak było, sprawdzała, czy są jakiekolwiek dane w buforze FIFO
      - jeżeli były, wysyłany był kolejny bajt do MC

      i czynności te powtarzane były w koło. Przetwarzanie ścieżki, polling, przetwarzanie ścieżki, polling...

      Czyli jak widać, IRQ nie przerywało działania "przetwórni", bo nie było generowane.

      ---

      Problem mam taki, że znana mi wiedza o transmisji szeregowej Atari, nie wykazuje możliwości pollingu dla SIO w takim wydaniu, jak dla MC, gdyż:

      w MC jest rejestr sprzętowy, który wystarczy sprawdzić pod kątem jednego bitu, aby stwierdzić, czy rejestr przesuwny MC6850 jest gotowy do nadawania.

      W przypadku Seriala Atari, jest to komórka pamięci na ZP, która jest ustawiana programowo przez przerwanie IRQ. Czyli, tak czy inaczej, trzeba zaprząc IRQ, aby stwierdzić, czy bajt został wysłany.

      Do tego dochodzi sam sposób obsługi IRQ maskowalnych przez OS Atari, który jest dość rozbudowany.

      Oczywiście, mogę się mylić i Serial Atari może mieć (jak MC6850) rejestr sprzętowy, którym można stwierdzić, czy jego rejestr przesuwny, dokonał transmisji czy też nie. Jednak ta wiedza jest mi (jak wspomniałem wcześniej) nie znana.

      Będę jeszcze eksperymentował z różnymi rozwiązaniami sterowników, tj. z pollingiem dla SIO, gdyż nadal jest zaimplementowany hack w playerze do jego obsługi. Może pozwoli to ostatecznie osiągnąć wyniki takie (lub zbliżone), jakie daje MIDICar.
      • 39:
         
        CommentAuthorAlex
      • CommentTime13 Nov 2022 17:11
       
      @pin - nie udostępniłem tego i póki co nie udostępnię. Ale najważniejsze, żę znalazłem i szczęśliwie zgrałem z dyskietek parę miesięcy temu :)
      • 40:
         
        CommentAuthorpancio
      • CommentTime13 Nov 2022 19:11 zmieniony
       
      a ja owszem... udostępniam :-)

      ->link<-

      Kolejny pod egidą PTODT projekt. Bierzcie i grajcie z niego wszyscy...
      • 41:
         
        CommentAuthorpebe
      • CommentTime13 Nov 2022 20:11 zmieniony
       
      Wprowadziłem kilka poprawek i drobnych usprawnień, które powinny się przełożyć na lepszy odbiór MIDów.

      Są to nadal wersje ze zintegrowanymi sterownikami, stąd dwa pliki.

      Zapraszam do testowania.

      ---

      W następnych wersjach oczekiwać można:

      - oznaczeń wersji w programie, tak aby nie było problemów z ich odróżnieniem
      - możliwość ustalania używanego sterownika z poziomu linii komend
      - możliwość podania pliku do odtworzenia z linii komend
      - możliwość ustawienia częstotliwości odświeżania treści ekranu - obecnie jest ustawiona na co 3 ramkę, co przekłada się na płynniejsze dekodowanie strumienia MID
      - poprawa obsługi edycji ścieżki - obecnie, przy długościach większych niż 30 znaków, psuje się wygląd ekranu :P
      - poprawa obsługi listy - występował bug, który przy liście zapełnionej do przedostatniej pozycji, powoduje iż, lista skroluje się dalej :p
      - poprawa paska postępu - możliwe są sytuacje w których pasek jest "poprzerywany", oraz nie jest czyszczony jego obszar w momencie jego uruchomienia

      Będzie też przymiarka do playlist z własnymi tytułami i długością trwania utworu.

      ---

      PS. W kwestii sterowników do MPC.

      Nie będzie to rozwiązanie oparte na sterownikach wczytywanych z pliku CONFIG.SYS. Dlaczego?
      Po pierwsze: nie chcę się zbytnio (jeszcze) zagłębiać w obsługę SDX
      Po drugie: choć same sterowniki nie są duże, to jednak chcę pozostawić pamięć operacyjną do dyspozycji użytkownika.
      Stąd, sterowniki będą wczytywane przez loader zawarty w MPC.

      Daje to też możliwość, aby użytkownik mógł złączyć plik MPC ze sterownikiem (są one zwykłymi plikami binarnymi z nagłówkiem DOSowym)

      Do dyspozycji sterownika jest aż 2KB od $2000..$27FF (przypadek? New Device :P tylko obszar pamięci inny ;) ) a obecnie nie zajmują one więcej niż 319 bajtów.

      I to już chyba tyle :P
      • 42:
         
        CommentAuthorpancio
      • CommentTime14 Nov 2022 07:11
       
      Pięknie PeBe, jeśli trend się zachowa to możliwe, że uda nam się odpalić MC jako ND - pytanie tylko czy to nam coś daje skoro obsługa ND stanowi niemały narzut dla CPU i OS-a... Chyba, że ja czegoś nie wiem. Jedyne co m,i przychodzi do głowy jako benefit z ND to tylko własna przestrzeń na rejestry. Wszak do poprawnej pracy MC wymagany jest DOS a on nie zmieści się w 2KB pamięci przewidzianej na obsługę ND.
      • 43:
         
        CommentAuthorpebe
      • CommentTime14 Nov 2022 09:11
       
      Jak na ten moment, jedynym profitem z ND jest fakt, że IRQ ND jest wykonywane wcześniej niż dla wyjścia szeregowego - bo wejście i tak jest rozpatrywane jako pierwsze w kolejności.

      Jednak, aby tak się stało, ND musi ustawić bit odpowiadający numerowi ND w rejestrze $D1FF (PDVREG)

      Nie jest wymagany DOS do poprawnej pracy samego MC, ale dla MCP już tak, gdyż MCP jest softem pomiędzy MC a DOS.

      Czy coś więcej?

      Mimo iż, sterowniki są niewielkie to jednak, można je wpakować do ROMu ND. Jednak ich obecna struktura nie jest zgodna z standardem ND, który bardziej przypomina CIO.

      Generalnie. Śmiem stwierdzić iż, przekształcanie MIDICar-a w urządzenie ND trochę mija się z celem.

      Patrząc nawet na takie urządzenia jak Adlib, czy Sound Blastery, one wszystkie sterowane były za pośrednictwem portów. Nie posiadały żadnego ROMu, którym "coś" się robiło...

      Więc idąc tym tropem, lepiej "nie wpychać" MIDICar-a w ND.
      Lepiej go udoskonalić, np. dodając sprzętowe FIFO, czy zwrot sygnału audio do kompa :)
      • 44:
         
        CommentAuthorpancio
      • CommentTime14 Nov 2022 10:11
       
      I Sparte w defaulcie :-)
      • 45:
         
        CommentAuthorsun
      • CommentTime14 Nov 2022 12:11
       
      dajcie Panie @pancio tam jakieś mcu na płytkę i będzie można grać obok cpu atari :)
      • 46:
         
        CommentAuthorpebe
      • CommentTime14 Nov 2022 14:11 zmieniony
       
      Pany, ale samo granie, nie jest bardzo obciążające, jeżeli TYLKO zachowana zostanie pewna ważna zasada:

      - MID składa się tylko z jednej ścieżki - nie mylić ścieżki MID z kanałem MIDI!

      Takie MIDy są bardzo łatwe do ogarnięcia, a napisane z odpowiednim tempem, można podpiąć bez problemu pod przerwanie VBLank.
      Tak gra m.in. MIDI Sequencer, z tą różnicą, że on składa zdarzenia MIDI i wysyła, czekając aż transmisja dobiegnie końca.

      Pragnę podkreślić, że MIDI jest banalnym standardem, lecz jego konstrukcja, tj. kodowanie BigEndian, czy Variable Length Time Code, jest dla maluszka problemem, gdyż są to operacje 32-bitowe.

      Programowe FIFO też jest proste, ale... zajmuje czas procka.
      SIO - no cóż, na ten temat już chyba wspominałem, nie jest źle, ale IRQ zajmuje czas procka.
      MIDICar - jest rozwiązaniem najlżejszym, jednak w obecnej wersji, trzeba zastosować programowe FIFO.

      Nie jestem zwolennikiem umieszczania playerów w warstwie sprzętowej - równie dobrze, można muzykę odtwarzać z magnetofonu, będzie nawet bardziej retro :P
      • 47: CommentAuthorpin
      • CommentTime14 Nov 2022 17:11
       
      dziś sprawdzę nową wersję dla Midimate, tylko się ogarnę bo z pracy niedawno wróciłem.
      • 48:
         
        CommentAuthorCOR/ira4
      • CommentTime14 Nov 2022 18:11
       
      ...ech pin, ty to zawszę nieogarnięty taki. ;)
      • 49: CommentAuthorpin
      • CommentTime14 Nov 2022 20:11
       
      @PeBe - o Panie, wersja 1.4 dla MIDIMATE wygląda, że gra poprawnie. Poprzednie wersje dla tego interface'u niech sobie ludziska pousuwają najlepiej :)

      ... o ile ktokolwiek w tym kraju ma midimate ;)
      • 50:
         
        CommentAuthorpebe
      • CommentTime14 Nov 2022 22:11
       
      To bardzo mnie to cieszy, że wprowadzone zmiany poprawiły odtwarzanie.

      Już "mergnąłem" gałąź `concept` z główną gałęzią.
      Dla użytkowników systemu z logiem pingwina, dobra wiadomość:

      W końcu pokusiłem się o wdrożenie Makefile.

      Teraz program można skompilować jednym poleceniem `make` lub `make DRIVER={nazwa_drivera}` aby zlinkować sterownik wraz z programem.

      Proszę o wyrozumiałość, to mój pierwszy Makefile :) Wyjadacze pewnie zrobili by to lepiej - ja się cieszę, że mogę teraz szybciutko machnąć cały projekt.

      Teraz zabieram się za wspomniane wcześniej poprawki i udogodnienia.