atarionline.pl XEX2WAV - 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:
       
      CommentAuthorgienekp
    • CommentTime30 Apr 2024 zmieniony
     
    Zrobiłem prosty programik, który zamienia nam kilka XEXów w jeden WAV dla magnetofonu w normalu. ->link<-

    Cel chyba tylko po to, żeby posłuchać sobie pisków na Altirze :)

    użycie jest poprzez wpisanie komendy:
    xex2wav RiverRaid.xex RiverRaid.wav

    lub jak chcemy więcej
    xex2wav RiverRaid.xex Seawolf.xex Pack.wav

    Produkowany jest WAV 44100Hz Stereo 16-bit, czyli taki jak wchodzi na CD.

    XEX powinien być bez cudowań, bo doklejany jest zwykły loader "wykrzyknik" (po poprawkach).

    Matematycznie jest, ok. Na Altirze też jest OK.

    Natomiast nie mam technicznej możliwości nagrać WAVa na kasetę, więc jakby ktoś wykonał taki eksperyment to byłbym wdzięczny o jakąś informację zwrotną.
    • 2: CommentAuthorw1k
    • CommentTime30 Apr 2024
     
    wow, super
    • 3: CommentAuthorbartgo
    • CommentTime30 Apr 2024
     
    Wow... Czy taki program skonwertowany, z loaderem "wykrzyknikowym" wgra się spod COS-u (tego z "Tajemnic Atari")? Czy dla takiego zastosowania brak loadera też będzie okej?

    Nie pytam dla kolegi tylko dla siebie, planuję eksperyment ;)
    • 4: CommentAuthormono
    • CommentTime30 Apr 2024 zmieniony
     
    COS wgrywa zwykłe xex-y, czyli pliki binarne DOS-u. Wykrzyknik to jest plik boot, który ładuje się przy resetowaniu komputera z przytrzymanym START-em. COS go nie załaduje - trzeba przewinąć do początku xex-a.
    • 5: CommentAuthorbartgo
    • CommentTime30 Apr 2024
     
    Rozumiem... podejrzewam, że dla potrzeb COS mogę użyć xex2wav ale wtedy muszę wyciąć "sekcję wykrzyknika" edytorem do wave'ów. Zrobię kiedyś test.
    • 6: CommentAuthormono
    • CommentTime30 Apr 2024 zmieniony
     
    A nie prościej by było udostępnić plik wykrzyknika i po prostu generować wav-a z podanych w linii poleceń plików, a nie wbudowywać na sztywno teego wykrzyknika w program? I przyjemniejsze by to było i użyteczniejsze i elastyczniejsze...
    Ja bym mógł użyć swojego "wykrzyknika"...

    Edit: A jakbym miał źródła i jeszcze mógł sobie to skompilować na linuxie to już w ogóle.

    Edit 2: A a8cas-convert nie umie wava? Zdawało mi się że -fw robiło.
    • 7:
       
      CommentAuthorgienekp
    • CommentTime30 Apr 2024
     
    Źródła są na githubie :)

    Kompilacja w release dla: windows, macos (intel i M1), linux (Ubuntu 64).

    W kodzie jest funkcja:
    void addXEX(U8 *track, unsigned int *pos, const U8 *xex, unsigned int size)
    {
    addFile(track,pos,exma,sizeof(exma),0); // <-wykrzyknik
    addFile(track,pos,xex,size,1);
    addInterspace(track,pos);
    }

    Wywalenie linijki z addFile-exma usunie wykrzyknik

    Programik powstał troszkę pod pewien eksperyment. Chce sprawdzić jak naprawdę reagują filtry w XC12 na zmieniającą się falę. Czy czasem inne harmoniczne o zmiennej amplitudzie i fazie nie pozwolą na większą prędkość niż by się wydawało.

    Na razie jest zabawka do testów

    @mono
    Bardzo mnie kusiło, żeby wstawić Twój jednorekordowy loader zamiast wykrzynika, ale nie wiem czy pozwalasz? ;)
    • 8:
       
      CommentAuthorgienekp
    • CommentTime30 Apr 2024 zmieniony
     
    A w sumie czemu nie... Już nie będę zakładał nowego wątku ale:

    RAW2WAV - dowolny plik na WAV dla magnetofonu ATARI.
    ->link<-

    Można skleić sobie wiele wiele plików za jednym zamachem.
    raw2wav program.bas ExLoader.boot gra.xex costam.bin kaseta.wav
    • 9: CommentAuthormono
    • CommentTime30 Apr 2024 zmieniony
     
    Super! Dzięki @gienekp! Pewnie, że pozwalam :) A zadziała z normalną rozbiegówką przed xexem? Bo zdaje mi się że jemu tam wystarczała krótka pauza jak między rekordami w pliku.

    Edit: I nie wiem czy on tam nie ma obciętego rekordu EOF.
    • 10:
       
      CommentAuthorgienekp
    • CommentTime30 Apr 2024
     
    No właśnie to ja bym xex2wav specjalnie przygotował pod Twój loader.

    A zwykłe "wykrzykniki" można raw2wav machnąć bo to w sumie osobny plik.

    Czy w Twoim loaderze jak jest blok INIT to zatrzymujesz silnik? Bo mógłbym dodać taką opcję, że jak wykryje INITa to ja dam dłuższą przerwę. Wtedy nawet takie cudaczne XEXy by poszły :)
    • 11:
       
      CommentAuthorgienekp
    • CommentTime1 May 2024 zmieniony
     
    Na GitHubie XEX2WAV z loaderem od kolegi mona. ->link<-
    Wersja z wykrzyknikiem zostawiłem dla pokoleń ale jak ktoś chce wykrzyknik to lepiej wziąć RAW2WAV bo wykrzyknik to zwykły plik.

    A ten loader od mona jest taki sprytny, że go nie widać. :) To jest pierwszy rekord pliku i wczytywanie leci jakby nigdy nic. Czyli włączamy ATARI ze Start+Option, pierwszy rekord to loader a potem od razu idzie xex. Dlatego pasowało, żeby taki loader miał ekstra narzędzie, które po prostu go doklei :)

    Dodałem w generatorze WAV jeszcze takie coś, że jak XEX robi skok do INIT (wczytała się jakaś partia danych i jest uruchamiana) to wstawiana jest długa przerwa.

    Sprawdziłem (Altirra) na Spy vs Spy II i loader wczytał i czołówkę z animacją i grą. WAV ma 20minut :)

    Podsumowując. Jeżeli chcę sobie zrobić składankę gier XEX na kasetę to:
    xex2wav Gra1.xex Gra2.xex Gra3.xex Zestaw.wav


    A jeżeli chcę sobie zrobić składankę różnych programów, gdzie pierwsza to gra xex, drugi to np. jakiś kopier ładowany ze Start+Option, trzeci to program w BASICu a czwarta to binarka dla COS to:
    raw2wav Exloader.boot Gra.xex Kopier.boot Program.bas Binarka.com Zestaw.wav

    Widać, że w wersji RAW trzeba zadbać aby przed XEX był jakiś loader BOOT
    • 12: CommentAuthormono
    • CommentTime1 May 2024
     
    Tak. Silnik magnetofonu jest zatrzymywany przed skokiem pod INITAD.