atarionline.pl SFX-Tracker - 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: CommentAuthortatqoo
    • CommentTime26 Jul 2021
     
    Na pierwszy rzut ucha nie słychać różnicy w czystych dzwiękach. Miker może mieć rację w kwesti pochodzenia tablic w RMT :) :)

    Czyli jakość dźwięku z MPT nie pochodzi od tablic ??? MPT brzmi ewidentnie inaczej.
    • 2: CommentAuthortatqoo
    • CommentTime26 Jul 2021 zmieniony
     
    Może się komuś przyda trick na to jak grać na klawiaturze podczas edycji taba nie edytując go (prawie).

    Otóż przesuwamy się na ostatni krok taba 127 - i możemy grać dowoli, potem wystarczy skasować 1 nutę a nie 127.
    • 3: CommentAuthortatqoo
    • CommentTime26 Jul 2021 zmieniony
     
    Paweł, ten pomysł z względnym ustawianiem przesunięc półtonów jest genialny.

    Co poniektórzy muzycy promują obniżenie wszystkich dźwięków i kilka półtonów, np. o 4. Przy arpeggio trzeba się trochę naliczyć.

    Tutaj jest to banalne. W pierwszym króku SFXa ustawiamy obniżenie nuty 0 4 półtony a potem nic się nie zmienia. Dalej robony np. +4 +3 -7 dla akordu dur.

    Bardzo wygodne. Pierwszy raz w życiu chce mi się definiować własne instrumenty.
    • 4:
       
      CommentAuthorpebe
    • CommentTime27 Jul 2021
     
    "hesusie" ileż tego tu przybyło :)

    @mkolodziejski: ESC jest faktycznie daleko :) DELETE to o tyle dobry klawisz, że nie trzeba sztuczek, by go wykorzystać. A mówię to dla tego, że myślałem o klawiszu BREAK, jako alternatywy dla ESC. :)

    Paweł, czy ty chcesz, żebyśmy ci propozycję zmian zgłaszali na githubie skoro wykorzystujesz?

    Paweł mówi: Ślijcie ISSUE na GitHuba. :) Zobaczymy jak to zadziała :D bo szczerze, cały czas się uczę Gita. PS. Piszcie po polsku w ISSUE :)

    Czy mapowanie instrumentów na Shift+Numer mogłoby się odbywac bez wchodzenia w definicję instrumentu? Dzięki :)

    Wydaje mi się, że jest to możliwe. Muszę rzucić okiem na kod, bo nie wszędzie mam swobodę dodawania ekstra klawiszy.

    Czy jak na numerze SFX wciśniemy Enter i się pokazuje ta piękna lista, to czy mógłby się tam pokazywać numer mapowania?

    Docelowo do tego zmierzam, jednak, mam mały problem i jak uda mi się go ogarnąć to będę nad tym myślał.

    Skróty do instrumentów działają pięknie.

    Bardzo się cieszę. :)

    A propos ujednolicania SHIFT+ENTER i CTRL+ENTER proponuję .... w definicji TABa dodać SHIFT-ENTER, które będzie przechodzić do edycji instrumentu z danego wiersza.

    Pomyślę.

    ---

    Może powiem to tak. Ja bym zrobił wszystko o co prosicie - naprawdę - ale, obecna wersja SFXMM zajmuje mi już prawie całą dostępną pamięć. Zostało mi do dyspozycji niespełna 1KB wolnego RAMu.

    Wczoraj wpadł mi do głowy siermiężny pomysł, związany z kolejną optymalizacją. Ponieważ większość procedur rysujących na ekranie, pobiera koordynaty X i Y (jako parametr funkcji/procedury) to zabiera trochę pamięci, a ja i tak w większości przypadków operuje na offsecie (względem początku ekranu) wiec... postanowiłem, że przerobie te procedury na bezkoordynatowe i będę używał globalnej zmiennej offsetowej.
    Liczę na to, że zyskam tym trochę miejsca, bo jest sporo takich wywołań, które w większości przypadków są po prostu zbędne, bo i tak operuje na offsecie (powtórzyłem)

    Wiem, że nie wszyscy tu, są programistami i nie bardzo im ta wiedza potrzebna. Chciałem to z siebie wyrzucić :D

    Jednak, co za tym (powyższym) idzie. To wymaga czasu i kompletnie nie mam pojęcia, ile tego czasu poświęcę na ten proces.

    ---

    Zdecydowanie postuluję wprowadzenie domyślnej ilości wierszy w kroku. To będzie genialne przechwycić arpeggio grane arpeggiatorem midi, czy w ogóle jakąś melodię generowaną jakiś automatem w zewnętrznym DAW.

    Do ISSUE proszę :D bo zapomnę

    @marok: Dzięki, że zająłeś się eksportem tablicy MPT.

    Może się komuś przyda trick na to jak grać na klawiaturze podczas edycji taba nie edytując go (prawie).

    Rozbawiłeś mnie tym trikiem. Nie wpadł bym na to, a to nasuwa kolejny ISSUE. ;)

    Paweł, ten pomysł z względnym ustawianiem przesunięc półtonów jest genialny.

    Jam nie muzyk i to zwykły przypadek, ale cieszę się, że przypadło do gustu takie rozwiązanie.

    ---

    uff... dotarłem do końca ^_^
    • 5: CommentAuthormarok
    • CommentTime27 Jul 2021
     
    Chyba każde doczytanie utworu z dysku podmienia tablice częstotliwości na powrót (do default).

    Jeszcze tablica MPT z drugiego podejścia, bo może ta wersja jest bliższa prawdy (przyznaję, że trochę "po omacku" to robię).

    @pebe: chociaż nie wiem, czy mi się udało.
    • 6:
       
      CommentAuthorpebe
    • CommentTime27 Jul 2021
     
    @marok: Tablice są zapisywane w pliku utworu, więc, będzie je podmieniał. Jednak z tego co pamiętam, wybranie opcji IO->NEW nie przywraca defaultowych tablic (tzn. tych z pliku DEFAULTN.OTE)

    Możesz zgłosić ISSUE na GitHubie, abym nie zapomniał.
    • 7: CommentAuthortatqoo
    • CommentTime27 Jul 2021
     
    @pebe: zostałeś oficjalnie ostrzeżony w tym wątku, że jeśli tracker zażre, to się nie opędzisz. No to masz :)
    • 8:
       
      CommentAuthorpebe
    • CommentTime27 Jul 2021
     
    @tatqoo: Robię co w mojej mocy, aby spełnić Wasze oczekiwania, jednak wiesz... Atari ma swoje ograniczenia, a w sumie to Ja, te ograniczenia nałożyłem. Zwłaszcza w tej wersji SFXMM.

    Chcę, aby program (w tej wersji podkreślam) działał na stockowej wersji Atari, bez żadnych modyfikacji i ulepszeń.

    Właśnie siedzę nad odzyskaniem choćby odrobiny RAMu i muszę powiedzieć, że jestem na dobrej drodze. Tylko to zajmie "jakiś czas". Trudno mi powiedzieć ile.

    A w między czasie, bardzo wszystkich proszę o cierpliwość i zgłaszanie na GitHub'ie pomysłów, ulepszeń, zmian, błędów.

    Jak ukończę optymalizację, przeglądnę ISSUE i podejmę stosowne kroki. Nie obiecuję, że wszystko będzie wprowadzone w życie. Nie jestem aż tak dobry ;) Ale... może z Waszą pomocą, uda się osiągnąć cel, a przynajmniej jakiś komporomis. :)
    • 9: CommentAuthortatqoo
    • CommentTime27 Jul 2021 zmieniony
     
    Paweł, jeszcze jedna sprawa. To by było ekstra dla tych co grają na midi. Skoro SFX obsługuje te powiedzmy 64 instrumenty (bo nie pamietam dokładnie), to fajnie by było zasymulować polecenie BankChange.

    Powiedzmy, że jeden bank to jest 9 instrumentów. Wtedy bym sobie ułożył isntrumenty obok siebie rodzajami, np. 9 różnych leadów, 9 krótkich dzwieków, 9 różnych rodzajów akordów, 9 instrumentów perkusyjnych, a w przyszłości może również 9 filtrowanych synthów PWM :)

    Teraz, ze względu na ilość dostępnych skrótów Shift+Numer mam ulozone obok siebie 10 najbardziej potrzebnych instrumentów. Z symulacją BankChange miałbym o wiele więcej swobody.

    Oczywście przy założeniu, że nie wykorzystujemy własnych mapowań do Shift+Numer, tylko, że 1, 11, 21,31, 41, etc to jest zawsze Shift+1.
    • 10: CommentAuthortatqoo
    • CommentTime27 Jul 2021
     
    Wieczorem poprzenoszę moje requesty na GitHuba. Wielkie dzięki za dotychczasowe zmiany.
    • 11:
       
      CommentAuthorpebe
    • CommentTime27 Jul 2021 zmieniony
     
    Bladego pojęcia nie mam, ile jeszcze uda się wycisnąć pamięci, ale... udało mi się zejść z adresu końcowego programu, wynoszącego prawie $B100 na $AB7A, tj. ok 1,5KB

    Poskutkowało wyzbycie się koordynatów jako parametrów procedur. Niema róży bez kolców. Źródła stały się mniej czytelne. Ale czego się nie robi dla użytkowników ;) :P

    @tatqoo: Dodałem wyświetlanie skrótów klawiszowych w liście SFXów. Teraz będę brał za możliwość ich ustawiania, bez konieczności wchodzenia w tryb edycji.
    Uprzedzę - z poziomu listy nie będzie takiej możliwości.

    Chciałbym jeszcze wprowadzić pomysł Mikera na transpozycję przy operacjach kopiuj/wklej.
    Wczoraj prowadziłem z nim pisemną rozmowę i doszliśmy do porozumienia, że:
    - transpozycja będzie się odbywała w trybie edycji TABa poprzez:
    1. kopiuj/wytnij TAB do schowka (CONTROL+C/X)
    2. wybór docelowego TABa (SHIFT+LEWO/PRAWO w trybie edycji)
    3. użycie skrótu CONTROL+T lub SHIFT+CONTROL+T (albo podobnego/innego) będzie powodowało transpozycje zawartości schowka odpowiednio: w górę lub w dół.
    4. Transpozycji będzie podlegał aktualnie wybrany instrument (klawisze LEWO/PRAWO).
    5. Transpozycja będzie się odbywała w krokach co półtonu.
    6. Wynik transpozycji będzie wklejany do TABa.

    what do you think about such an idea?

    Z braku laku... lepszy wróbel w garści, niż gołąb na dachu
    • 12: CommentAuthortatqoo
    • CommentTime27 Jul 2021 zmieniony
     
    Z tym aktualnie wybranym instrumentem ...to nie bardzo. Osobiście używam transpozycji wyłacznie do transponowania całego patternu. Chciałbym ci zaoszczędzić trochę czasu na zrobienie czegoś co może być rzadko wykorzystywane.

    Może jakoś uda się jakoś wybierać, wszystkie albo tylko jeden? Bo jak się dobrze zastanowić, to instrumenty perkusyjne w SFX moga nie brzmieć dobrze przy transpozycji z racji możliwości SFXa.

    Z drugiej strony pattern, gdzie mam dwa rodzaje akordów i jeszcze jakiś wypełniacz musiałbym transponować 3 razy.
    • 13:
       
      CommentAuthorpebe
    • CommentTime27 Jul 2021 zmieniony
     
    Osobiście używam transpozycji wyłacznie do transponowania całego patternu.

    To była by transpozycja całego TABa.

    Może jakoś uda się jakoś wybierać, wszystkie albo tylko jeden?

    Hmm... Opcja kilku z 64 SFX odpada. Za duży kod, jak na pojedynczą funkcjonalność.
    Wszystkie albo jeden. Tu prędzej.

    Klawiszologia do transpozycji jest dowolna, tzn. w cale nie musi być to CONTROL (do zmiany w górę) i SHIFT+CONTROL (do zmiany w dół) i w cale nie musi to być klawisz T do pary.

    Może takie coś:
    CONTROL+U/CONTROL+D - transpozycja aktualnego SFX (opcja jeden)
    SHIFT+U/SHIFT+D - transpozycja wszystkich SFX (opcja wszystkie)
    Z czego wykluczone by były SFXy z modulacją DFD, które i tak nie podlegają zapisowi nutowemu.

    Przydałoby się, aby się wypowiedziały inne osoby w tej sprawie.

    Z drugiej strony pattern, gdzie mam dwa rodzaje akordów i jeszcze jakiś wypełniacz musiałbym transponować 3 razy.

    Leniuch :P Wolisz nuty transponować ręcznie? ;) Czy może jednak półautomatycznie? :F
    • 14:
       
      CommentAuthorKaz
    • CommentTime27 Jul 2021
     
    Mała roszada w terminach spotkań. Drugie spotkanie na zoomie z PeBe w najbliższy czwartek, godzina 20:00.
    • 15:
       
      CommentAuthorjhusak
    • CommentTime27 Jul 2021
     
    IMHO dobrym rozwiązaniem tutaj byłoby stworzenie drugiego programu umożliwiającego operacje na już stworzonym utworze, bez możliwości zmiany poszczególnych nut. Wtedy transpozycje na patternach (tabach), nutach - hulaj dusza. To się robi raz, a nie co chwilę.

    Taka luźna myśl.
    • 16: CommentAuthor0xF
    • CommentTime27 Jul 2021
     
    Wow, Tatqoo założył konto na GitHubie!
    • 17:
       
      CommentAuthorpebe
    • CommentTime27 Jul 2021
     
    @0xF: hie, hie...

    @jhusak: Trochę sobie nie bardzo to wyobrażam. Może dlatego, "żem nie muzyk", nie wiem. Mógłbyś rozwinąć swą luźną myśl? :)
    • 18: CommentAuthortatqoo
    • CommentTime27 Jul 2021
     
    @0xf: kazali to założyłem
    • 19:
       
      CommentAuthorpebe
    • CommentTime27 Jul 2021
     
    @tatqoo: Kazali? Sam zapytałeś, czy rzucać ISSUESy na GitHuba. :P
    To dobre miejsce do gromadzenia rzeczy związanych z danym programem.
    Tu się czlek może zgubić, a prowadzić jakieś własne dzienniki, po co, jak to juz jest.

    Ja, w każdym razie, dziękuję za przesyłanie zgłoszeń na GitHuba. :)
    • 20:
       
      CommentAuthorpebe
    • CommentTime27 Jul 2021 zmieniony
     
    Dwa zgłoszenia z GitHuba (#6 #5 ->link<- ) w nowej wersji.
    • 21: CommentAuthortatqoo
    • CommentTime27 Jul 2021
     
    No dobra, idę po piwo do sklepu i wpisuję requesty.
    • 22: CommentAuthortatqoo
    • CommentTime27 Jul 2021
     
    Granie podczas edycji TAB sprawdziłem. Działa. Bardzo dziękuję.
    • 23: CommentAuthortatqoo
    • CommentTime28 Jul 2021 zmieniony
     
    Paweł, nie mam pojęcia jak to zrobiłeś, ale to działa i jest super.

    Następny trick: otóż piszemy sobie TAB np. z akordami. Następnie odgrywamy TAB przez Ctrl+P.

    I wtym samym momencie możemy grać aktualnie wybranym instrumentem, np. leadem. Zmieniamy strzałkami, czy tam ctrl+strzałki.

    Nie działają niestety skróty wyboru instrumentu Shift+...ale może Paweł poprawi. Paweł, jeśli to nie jest zaplanowane zachowanie to proszę nie zmieniaj tego bo to jest super.
    • 24:
       
      CommentAuthorKaz
    • CommentTime28 Jul 2021
     
    Żeby wzrokowcy dobrze zapamiętali kiedy będzie PeBe, mały plakacik:
    • 25: CommentAuthortatqoo
    • CommentTime28 Jul 2021
     
    Nowy premierowy kawałek na czwartek w SFX już czeka.
    • 26:
       
      CommentAuthorpebe
    • CommentTime28 Jul 2021 zmieniony
     
    Wprowadzone poprawki #7 #8 #13 #14 #15 ->link<-

    Image w załączniku.

    ---

    Następny trick: otóż piszemy sobie TAB np. z akordami. Następnie odgrywamy TAB przez Ctrl+P.

    I wtym samym momencie możemy grać aktualnie wybranym instrumentem, np. leadem. Zmieniamy strzałkami, czy tam ctrl+strzałki.
    (...)
    jeśli to nie jest zaplanowane zachowanie to proszę nie zmieniaj tego bo to jest super.


    Rozumiem, żeby nie zmieniać tego(?)
    To było już w momencie prezentacji na Zoomie. Być może po prostu o tym nie wspomniałem.
    • 27: CommentAuthortatqoo
    • CommentTime28 Jul 2021 zmieniony
     
    Chodziło mi oto, że w ogóle odkryłem możliwość grania na klawiaturze podczas odgrywania TABa.

    Czyli teraz mamy dwie możliwości grania na klawiaturze.

    1. po caps lock podczas edycji taba (nowe)
    2. podczas odgrywania taba (stare)

    Dziękuję za poprawki.

    Mały challenge: jak zrobić bas z perkusyjnym akcentem na pierwszym słupku z distortion 8 albo 0, żeby było słychać ten akcent?
    • 28:
       
      CommentAuthorKaz
    • CommentTime28 Jul 2021
     
    Pierwsz odcinek opowieści PeBe o programie pójdzie dzisiaj o 16:00:

    • 29: CommentAuthortatqoo
    • CommentTime28 Jul 2021 zmieniony
     
    Nie dość, że tatqoo zalożył konto na githubie to jeszcze odpala tworzenie nowego issue z poziomu klawiatury midi. Stronę tego wątku też.
    • 30:
       
      CommentAuthorpebe
    • CommentTime28 Jul 2021
     
    @tatqoo: a jak masz przypisane klawisze nut do pisania? :D A,B,C...? Czy Q,W,E,R,T,Y...? Czy SPACE to środkowe C? Hehehe... ;)
    • 31: CommentAuthortatqoo
    • CommentTime28 Jul 2021
     
    Nie no, tego to nie planuję :)

    Kontynuując wieści. Jako tako udało mi się ogarnąć pokrętła i suwaki. Nie jest to idealne ale da się żyć.

    Głośność kroku suwakiem i pokrętłem - zrobione.
    Przesuwanie o krok w definicji SFXa - zrobione
    Przesuwanie o stronę w definicji SFXa - zaraz będzie.


    To, czego bym potrzebował, to dwa skróty klawiszowe do zwięszania/zmniejszania wartości o 1 dla:

    1. dowolnego pola wartości z definicji SONG (nie licząc pól z kodami funkcji)
    2. tego pola, w który wpisuje się wartości dla frequency/note shift

    Ładnie proszę. :)
    • 32: CommentAuthortatqoo
    • CommentTime28 Jul 2021 zmieniony
     
    Najlepsze na koniec. Przez Midi/Bluetooth podłączyłem Ipada, i teraz mogę przechwytywać nuty z zewnętrznych sekwenserów, grać na klawiaturach, które ZAWSZE są w danej skali, używając przeróżnych interfejsów do grania - nie koniecznie klawiatury pianina.

    Może sobie kupię saksofon Midi? To by było extra. :)

    Dla mnie to mój prywatny przełom na miarę zakupu Atari. Mówię całkiem poważnie. Możliwości jakie teraz mam trochę mnie przerażają, bo nie mam tyle czasu.
    • 33: CommentAuthortatqoo
    • CommentTime29 Jul 2021 zmieniony
     
    Mam pomysł na transpozycję.

    Co by było, gdyby w definicji w linii Repeat dać jeszcze jeden parametr - liczbę półtonów do transpozycji? Wtedy mógłbym CAŁĄ sekcję odegrać pół tonu wyżej tracąc tylko jedną linię z definicji songa zamiast wielu, wielu linii.
    • 34: CommentAuthortatqoo
    • CommentTime29 Jul 2021
     
    Pomysł numer dwa. Nowe polecenie Transpose w definicji songu z liczbą półtonów przesunięcia w górę lub w dół.
    • 35: CommentAuthortatqoo
    • CommentTime29 Jul 2021 zmieniony
     
    .
    • 36: CommentAuthortatqoo
    • CommentTime29 Jul 2021
     
    Uwaga! Jest jakiś błąd w kodzie forum. Zmieniłem tylko swojego ostatniego posta, a skasował wszystkie które napisałem od ostatniej wypowiedzi PeBe.

    :(
    • 37: CommentAuthortatqoo
    • CommentTime29 Jul 2021
     
    O fuck, skasowało też mnóstwo innych odpowiedzi.

    Kaz, mam nadzieję, że masz jakiś backup tego wątku...ciekawe jak inne tematy .....
    • 38: CommentAuthortatqoo
    • CommentTime29 Jul 2021
     
    Niestety w innych wątkach też sieczka .... Backup !!!!
    • 39: CommentAuthortatqoo
    • CommentTime30 Jul 2021
     
    Paweł, w opcjach TAB znalazłem BEAT STEP. Czy to jest coś o co prosiłem a nad czym jeszcze pracujesz, czy też przegapiłem jakąś funkcję.

    Tam jest wartość 04 ale nie udało mi się uzyskać żadnego efektu.
    • 40:
       
      CommentAuthorpebe
    • CommentTime30 Jul 2021
     
    @tatqoo: To jest tylko wizualne ustawienie dla TABa. Określa, co ile wierszy ma wyświetlać wyróżnienie. Będzie widoczne dla każdego zdefiniowanego TABa.
    • 41:
       
      CommentAuthorpebe
    • CommentTime30 Jul 2021 zmieniony
     
    @marok:
    Rzuciłem okiem na tablice częstotliwości które wygenerowałeś.
    Na razie ich nie podpinałem, bo, zastanawia mnie:
    - czemu jest 6 tablic?
    - czy wszystkie są na 100% 8 bitowe? (dla 15kHz lub 64kHz)
    - czy te tablice są dla 64kHz i 15kHz?

    SFXMM przyjmuje maksymalnie 4 definicje tablic, po 64 ośmio bitowych dzielników częstotliwości (64 nuty)
    Natywnie, SFXMM pracuje tylko w 64kHz. Nie ma innych opcji, by zmienić na 15kHz, czy też ustawić kombinacje kanałów dla 1.77mHz (16bit)

    Jeśli mogę zapytać jeszcze, skąd czerpałeś dane do tych tablic? Może rzucę na nie okiem.

    Patrzyłem w źródłach dla MAD Pascala "grajka" MPT, ale tam jest tylko jedna tablica dla basów i nic ponad to.
    • 42:
       
      CommentAuthorpebe
    • CommentTime30 Jul 2021 zmieniony
     
    @mono: Próbuje właśnie wcisnąć MAIN_TICK pod przerwanie DLI, ale zaliczam zwiechę za zwiechą.

    Przerobiłem kod według Twoich wskazówek, ale nie wiem, czy dobrze to zapamiętałem:
    (kod "wlepki" assemblerowej do procedury MADsa)
    xitvbl      = $e462
    sysvbv = $e45c
    wsync = $d40a
    portb = $d301

    phr

    lda #$06
    sta wsync
    sta $D01a

    .ifdef MAIN.@DEFINES.SFX_SWITCH_ROM
    .ifdef MAIN.@DEFINES.ROMOFF
    lda portb
    pha
    lda #$FE
    sta portb
    .endif
    .endif

    jsr INIT_SFXEngine.SFX_MAIN_TICK

    .ifdef MAIN.@DEFINES.SFX_SWITCH_ROM
    .ifdef MAIN.@DEFINES.ROMOFF
    pla
    sta portb
    .endif
    .endif

    lda #$00
    sta $D01a

    plr
    rti


    Inicjacja przerwania zgodna z praktyką MAD Pascala:
    procedure SFX_Start;
    begin
    INIT_SFXEngine();
    NMIEN:=%00000000;
    GetIntVec(iDLI, oldDLI);
    SetIntVec(iDLI, @SFX_tick);
    NMIEN:=%11000000; <-- tu miałem błąd, było %10000000
    end;

    Podobnie przywrócenie:
    SFX_Off();
    if oldDLI<>nil then
    begin
    NMIEN:=%00000000;
    SetIntVec(iDLI, oldDLI);
    NMIEN:=%11000000; <-- i tu
    oldDLI:=nil;
    end;


    Uruchomiłem i... ZONK.

    Klawiatura odmawia posłuszeństwa. Przechwytuje tylko jedno naciśnięcie klawisza. Nie pozwala powtórzyć naciśnięcia - nie można dwa razy pod rząd nacisnąć tego samego klawisza :|

    EDIT: udało mi się odzyskać kontrolę nad klawiaturą. Źle przywracałem NMIEN (przy wyłączonym VBI nie ma prawa działać klawierka)

    Próba wczytania czegoś z dysku objawia się wysypaniem się komputera. Przed każdą operacją IO wyłączam przerwanie i włączam tuż po zakończeniu.

    EDIT: Jednak nie poprawiło to komunikacji IO. Nadal zwiesza. :(

    Zauważyłem też, że nie działa zegar (komórki 18,19,20).

    EDIT: Wrócił też zegar :)


    Poza tym, działa. Bo udało mi się stworzyć SFXa i zagrać nutki.
    Niestety. Bladego pojęcia nie mam, co jest nie tak. Mogłem też o czym zapomnieć - jest to całkiem nie wykluczone.
    • 43:
       
      CommentAuthorpebe
    • CommentTime30 Jul 2021
     
    okey.

    procedura wyłączająca silnik była zła. NMIEN był źle ustawiany.

    Właściwa procka to:
    procedure SFX_End;
    begin
    SFX_Off();
    if oldVBL<>nil then
    begin
    NMIEN:=%00000000;
    SetIntVec(iDLI, oldVBL);
    NMIEN:=%01000000;
    oldVBL:=nil;
    end;
    end;


    Jedna cyfra. 7bit ma być wyłączony. Przecież po tym, już nie ma być DLI. Głupi ja.
    • 44: CommentAuthormarok
    • CommentTime30 Jul 2021
     
    @pebe: o - to dobre pytania (zwłaszcza to pierwsze), bo szczerze pisząc sam powinienem był je pierwszy zadać. Z tegoż to powodu, że w zasadzie "małpowałem" (bez pełnego zrozumienia) ten plik defaultn.ote (oprócz tego, że korzystałem z opisu na jego temat, ale on może wszystkiego nie wyjaśniać) i zauważyłem, że jest tam dwa razy powtórzona sekwencja 3 (pod) tablic (definicje tablic A, B i C). Gdy pierwszym razem próbowałem zrobić OTE z prostej sekwencji tablic A, B i C z danych MPT, to odczyt przez SFXMM dawał błąd (dopiero zdublowanie danych zdało egzamin). Wracając teraz, te tablice z tego pliku, co jest defaultn, pochodzą z RMT (jak pisałeś). Porównując tablice częst. w MTP zauważyłem, że tablica A, którą wziąłeś z RMT, pokrywa się z tablicą D (ostatnia ćwiartka strony z definicji częstotliwości), stąd pierwszym razem się tym zasugerowałem - dlatego tablica A z pierwszego podejścia (dla MPT) nie zmieniła się za tym moim pierwszym razem. Natomiast niezbyt logicznie o tym pomyślałem i dopiero sugestia od Tatqoo, że dźwięki wysokie grać powinny inaczej przy standardowych ustawieniach MPT, sprawiła, że pomyślałem raz jeszcze. Więc, w tym drugim podejściu jest już tak, że pierwsza ćwiartka z tablicy z MPT jest uwzględniona jako A (zamiast tej D, która jest tożsama z tą, A, z defaultn), a B i C pozostawiłem bez zmian. Wiem jednak, że zamiast zdublować sekwencję tablic MPT, jak poprzenio, zapomniałem o tym, więc druga sekwencja nie zgadza się z pierwszą (ponieważ nadpisywałem na starym pliku). Było to niedopatrzenie, ale różnica w odtwarzaniu dźwięków tak czy inaczej zaszła, gdy sam odsłuchiwałem (więc sądzę na tej podstawie, że ta druga sekwencja z pliku, powtórzona, nie jest brana, przynajmniej pierwszoplanowo, pod uwagę).

    Może ten przydługi opis jest nazbyt niezrozumiały, ale na takim poziomie już piszę (sorry).

    W sumie więc, mogłem wcześniej już zapytać - po co jest powtórzenie definicji tablic A, B, C?
    Pomyślałem sobie, że może to kwestia redefinicji, którą można zrobić na pierwotnych ustawieniach z poziomu SFXMM. Może nie jest to do końca zoptymalizowane lub że nawet jest to jakiś tego rodzaju błąd(?), ale w sumie, nie jest to na ten moment ważne, by się o to dopytywać, właśnie teraz.

    Wracając teraz do Twoich (pozostałych) pytań:
    "- czemu jest 6 tablic?"
    próbowałem z 3, ale wyskakiwał błąd, więc powtórzyłem za defaultn 6 (3 *2) (o czym napisałem wyżej),
    "- czy wszystkie są na 100% 8 bitowe? (dla 15kHz lub 64kHz)"
    tak, to są z przeznaczenia 8 bitowe dla 64kHz;
    B i C odpowiadają tym, które są w MPT w tej samej kolejności i bardzo przypominają (są na pewno odpowiednikami) B i C, które masz z RMT (są jednak od nich różne - chyba jednak "gorsze"),
    "- czy te tablice są dla 64kHz i 15kHz?"
    są dla 64kHz (co wynika z poprzednich odpowiedzi);

    "Jeśli mogę zapytać jeszcze, skąd czerpałeś dane do tych tablic? Może rzucę na nie okiem."
    - konkretnie z pliku sap, o którym zgadłem, że jest zrobiony na module mpt,
    ale można wziąć z kodu źródłowego (może to lepsze o tyle, że jest to wtedy czytelniejsze, która ćwiartka z pełnej definicji należy do czego).

    Ta definicja pliku OTE z drugiego podejścia (pierwsza sekwencja) to jest bezpośrednio kopia 3*64 bajtów z dodanymi nagłówkami (przed kolejnymi blokami 64 bajtów), które wymagasz. Odpowiedni fragment w pliku sap (tym bardziej w gołym mpt) da się odszukać pod monitorem bez większego trudu. Tylko w tej wersji, którą przykleiłem (jako 2), nie ma klasycznej duplikacji pierwszej sekwencji, o czym pisałem.

    Patrzyłem w źródłach dla MAD Pascala "grajka" MPT, ale tam jest tylko jedna tablica dla basów i nic ponad to.

    Tak, w sumie to racja z tym źródłem, bo tam jest "dopowiedzenie" jedynie odnośnie wartości 16-bitowych. Tak to jest akurat w mpt rozwiązane, że tablice wartości 8-bitowych są umieszczane każdorazowo w module (cała jedna strona danych), a w źródle są wartości dla dwukanałowych basów.

    Ponieważ sam tego jeszcze nie sprawdzałem pierwej zapytam:
    - czy można zdefiniować tablicę D w pliku OTE? (z opisu wygląda, że tak, ale nie próbowałem, jak to by faktycznie poszło)

    - to może sprawdziła by się tablica z definicją: jak w defaultn (A, B i C), a dodatkowo jako (pod) tablica D ta A z MPT?
    • 45:
       
      CommentAuthorpebe
    • CommentTime30 Jul 2021 zmieniony
     
    @marok: widzisz, ja też nie wyłapałem, że jest błąd.
    W skrypcie mam ustawiony przepływ z łączeniem do istniejących już danych i musiałem uruchomić dwa razy ten skrypt - stąd powtórzenie.

    Z założenia tego powtórzenia nie powinno być. Stąd moje stwierdzenie, że w pliku DEFAULTN.OTE można umieścić cztery tablice. Każda ma swój index (zaraz po nagłówku #0,'NOTE') od 0 do 3. RMT miał tylko trzy tablice dla 64kHz.

    - czy można zdefiniować tablicę D w pliku OTE? (z opisu wygląda, że tak, ale nie próbowałem, jak to by faktycznie poszło)

    - to może sprawdziła by się tablica z definicją: jak w defaultn (A, B i C), a dodatkowo jako (pod) tablica D ta A z MPT?


    Tak i Tak.
    • 46: CommentAuthortatqoo
    • CommentTime30 Jul 2021
     
    Polecam odsłuchanie nowego utworu.



    Kolejne mam nadzieję niebawem.
    • 47: CommentAuthortatqoo
    • CommentTime31 Jul 2021
     
    Spieszę donieść, że jest szansa na to, że jutro o północy polskiego czasu kawałek Still Happy zostanie zaprezentowany na streamie discorda Chiptune Cafe.

    Dzieje się grubo.

    ->link<-

    ->link<-
    • 48:
       
      CommentAuthorpebe
    • CommentTime31 Jul 2021 zmieniony
     
    Upubliczniłem swoją wersję DROLa na Discordzie :) (tak dla hecy)

    • 49:
       
      CommentAuthorpebe
    • CommentTime31 Jul 2021 zmieniony
     
    Najnowsza aktualizacja SFXMM

    Zmiany raczej kosmetyczne i jawny BUG.
    - procedura wywołania `SFX_MAIN_TICK` przeniesiona została pod przerwanie DLI, co umożliwiło uwidocznienie paska obciążenia, jakie generuje silnik. Dodatkowo, dało to potencjalną możliwość wielokrotnego wywołania silnika SFX.
    - kosmetyka kodu źródłowego, a dokładniej, dodanie procedury obsługującej wyjście z modułów/elementów za pomocą klawiszy ESC oraz BACKSPACE. Teraz można również dodać inny klawisz, nie mieszając w całym kodzie.
    - Jawny BUG: w wyniku podpięcia pod DLI, pojawia się błąd związany z brakiem modyfikacji Display Listy dla modułu GSD-THEME. W wyniku czego, nie widać kolorów schematów.

    Obraz dysku w załączniku.
    • 50: CommentAuthortatqoo
    • CommentTime31 Jul 2021
     
    Nie wiem jak u innych ale u mnie od razu zawiesza emulator.