atarionline.pl Atari800 z liba8cas pod RaspberryPi - 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:
       
      CommentAuthorWolfen
    • CommentTime19 Feb 2020 zmieniony
     
    Takie pytanko :) Kompilowal ktoś Atari800 z patchem Krótkiego a8cas i liba8cas pod Raspberry Pi? Usiłuje to zrobić ale póki co walcze z dependency hellem (libSND, SDL, etc) ;)

    #edit#
    Tzn.pytanie nawet nie tyle czy to ktoś robił ale czy to ma sens w ogóle bo wydaje mi się że część rzeczy może być nietargetowalna na ARMa i wymagać zmian w kodzie (czego już nie uda mi się raczej zrobic)
    • 2: CommentAuthorFUJI
    • CommentTime19 Feb 2020
     
    Kompilował. xtrem007 w tym wątku. Źródła, które powinny się dać skompilowć do ściągnięcia tutaj.
    • 3:
       
      CommentAuthorWolfen
    • CommentTime20 Feb 2020
     
    o ja :D dzięki wielkie!!! musiałem źle szukać :)
    • 4:
       
      CommentAuthorWolfen
    • CommentTime20 Feb 2020 zmieniony
     
    Dla potomnych:

    1. Wersje dzialajace pod Raspberry Pi mozna wziac stad (podziekowania FUJI, Krotki, xtrem007) ->link<-

    2. Solucja dla leniwych (kompilacja na RPi pod RetroPie i/lub Raspbianem):

    pi@retropie:~ $ ls *a8cas* -all
    -rw-r--r-- 1 pi pi 5253120 Feb 20 11:50 atari800-a8cas-custom.tgz
    -rw-r--r-- 1 pi pi 430080 Feb 20 11:50 liba8cas-custom.tgz

    sudo apt-get install screen
    screen
    # zeby nie zdechło przez zerwanie połączenia ;)
    sudo apt-get install build-essential
    sudo apt-get install libtool
    sudo apt-get install libsndfile1-*
    tar -xvvf liba8cas-custom.tgz
    tar -xvvf atari800-a8cas-custom.tgz
    cd liba8cas/
    autoreconf -i
    ./configure --target=rpi
    make all
    sudo make install
    sudo apt-get install libglfw3-dev libgles2-mesa-dev
    sudo ldconfig
    cd ..
    cd atari800-a8cas
    cd src
    ./autogen.sh
    ./configure --target=rpi
    make
    sudo make install
    • 5:
       
      CommentAuthorWolfen
    • CommentTime20 Feb 2020 zmieniony
     
    Chyba jednak utknalem troche... (chociaz kompilacja sie udala)
    kojarzy ktos taki problem z SDL ?

    libEGL warning: DRI3: xcb_connect failed
    libEGL warning: DRI2: xcb_connect failed
    libEGL warning: DRI2: xcb_connect failed
    atari800: atari_rpi.c:122: SDL_VIDEO_InitSDL: Assertion `EGL_FALSE != result' failed.
    Aborted

    (nie mam X-ow na swoim RetroPie a Google sugeruje że to może być problem tyle że nie chce tego robić (dorzucać) ;/

    #edit
    Przywrocilem z backupu obraz karty (bo wg jakichs heretyckich guideow jak rozwiazac powyzszy problem spowodowalem ogolne problemy z wlaczaniem emulatora Atari opartego o Libretro (z ktorego tez korzystam ;) Tak wiec jestem w punkcie wyjscia (backup mialem sprzed kompilacji).
    Moze pominalem jakas flage podczas configure?
    • 6: CommentAuthorFUJI
    • CommentTime24 Feb 2020
     
    Może porównaj z wynikiem configure, które robił xtrem007. Configuration results i Main build variables.
    Możesz spróbowac do configure dodać --without-x.
    Google podpowiada też, żeby pokopiować biblioteki EGL i GLESv2 z /opt/vc do /usr (np. ->link<- )
    Nie miałem osobiście styczności z RPi, więc raczej nie pomogę skoro kompilacja przebiega poprawnie.
    • 7:
       
      CommentAuthorWolfen
    • CommentTime24 Feb 2020 zmieniony
     
    Dzieki za wskazowki :) Pobawie sie w wolnej chwili (ale tym razem najpierw bede sie bawic na osobnej karcie pamieci a jesli juz zacznie wszystko dzialac - dopiero zintegruje calosc z RetroPie :)
    • 8: CommentAuthorxtrem007
    • CommentTime24 Feb 2020 zmieniony
     
    @Wolfen
    Na szybko skompilowałem gotowca dla RetroPie 4.5.12 (Raspbian GNU/linux 9.11 - stretch). Skopiuj plik z załącznika do "/opt/retropie/emulators/atari800/bin" i sprawdź atrybuty "0755"
    • 9:
       
      CommentAuthorWolfen
    • CommentTime25 Feb 2020
     
    Jaaaa :D dzięki wielkie!!! To jak "Christmas in July" (no... może Christmas in February ;))
    Zerkne wieczorem :)
    • 10:
       
      CommentAuthorWolfen
    • CommentTime25 Feb 2020 zmieniony
     
    Wyglada na to, ze mam kolejny problem - o ile odpalic emulator sie da (po skompilowaniu liba8cas i dorzuceniu paru bibliotek) to jednak mam... czarny ekran. Ale moze to wynika z tego, ze korzystam z wewnetrznego ekranu WaveShare GamePada a nie np. TV. Posprawdzam jak bede mial wiecej wolnego czasu :) Dzieki za pomoc.

    (oczywiscie podczas wyswietlania czarnego ekranu RPi caly czas dziala - moge sie zalogowac przez SSH na nie i np. skillowac atari800, itd)
    • 11: CommentAuthorxtrem007
    • CommentTime26 Feb 2020
     
    Niestety nie mam takiego ustrojstwa jak WaveShare więc nie przetestuję. U siebie odpalam malinkę z Emulationstation podpiętą do TV kablem HDMI. W takiej konfiguracji wszysko dziala jak należy.
    • 12:
       
      CommentAuthorWolfen
    • CommentTime27 Feb 2020
     
    Jak się nas tym teraz zastanawiam to problemem może byc:
    1. Nie usunąłem configa atari800 (mam z poprzedniej wersji - RetroPieowego 4.2.0)
    2. Używałem cały czas ekranu z GamePada który może nie obsługiwać wszystkich rozdzielczości, itd (stąd czarny ekran).
    Możliwe że kombinacja obydwu. Posiedzę trochę w weekend i sprawdzę :)
    Dzięki za pomoc raz jeszcze.
    • 13: CommentAuthorxtrem007
    • CommentTime27 Feb 2020
     
    Szkoda, że nie mamy patcha a8cas dla nowej wersji emulatora Atari800 v4.2.0. To co można skompilować nadal bazuje na wersji 3.1.0 emulatora.
    • 14:
       
      CommentAuthorWolfen
    • CommentTime29 Feb 2020
     
    Niestety poki co zarzucam pomysl odpalenia emulatora z pelna obsluga magnetofonu. Doszlo moje Atari 65XE i wracam do korzystania z real hardware :)
    • 15: CommentAuthorFUJI
    • CommentTime2 Mar 2020
     
    Szkoda, że nie mamy...

    No dobra, sprawdzę czy się da spaczować nową wersję.
    • 16:
       
      CommentAuthorWolfen
    • CommentTime2 Mar 2020
     
    Yippee!!! :D
    • 17:
       
      CommentAuthorvoy
    • CommentTime2 Mar 2020
     
    Mniam! :)
    • 18: CommentAuthorFUJI
    • CommentTime4 Mar 2020
     
    W sumie nie było tak trudno, widocznie było niewiele zmian między wersją 3.1.0 i 4.2.0. Generalnie działa, ale nie testowałem intensywnie ani ekstensywnie.
    Do ściągnięcia: ->link<-
    • 19: CommentAuthorxtrem007
    • CommentTime4 Mar 2020 zmieniony
     
    @FUJI - bardzo dziękuję za nową wersję. Testy pod Windowsem i RaspberryPi przebiegły pomyślnie ;)
    • 20:
       
      CommentAuthorWolfen
    • CommentTime4 Mar 2020
     
    dzięki! jesteś Wielki! :) tez chętnie się zabiorę za testy w wolnej chwili :)
    • 21: CommentAuthorxtrem007
    • CommentTime5 Mar 2020
     
    @baktra - please help! Widzę, że jest problem z wczytywaniem pod atari800-a8cas plików skonwertowanych Turgenem do Omicron Turbo. Zawsze po pierwszym bloku ekran robi się różowy i nic się dalej nie wczytuje. Teoretycznie loader Omicron'a jest kompatybilny z różnymi systemami turbo i powinien chyba fungować z ustawionym w menu atari800-a8cas Blizzardem lub Turbo 2000?
    • 22: CommentAuthorbaktra
    • CommentTime6 Mar 2020
     
    @xtrem007

    I took FUJI's emulator and conducted an experiment with Turgen System 8.6.14. Generated wav file and cas file in Omicron Turbo.
    I set's turbo system to Turbo Blizzard in the emulator.

    1. The generated wav file worked fine
    2. The cas file didn't work --> Pink screen.
    3. Wave file generated from the cas file by turgen worked
    4. Wave file generated from the cas file by a8cas-convert 1.3.1 didn't work --> no signal recognized by the emulator

    So there are two possibilities
    1. Turgen generates defective .cas files
    2. liba8cas doesn't interpret .cas files with pwm blocks correctly.

    I will begin with investigation of #1.
    • 23: CommentAuthorbaktra
    • CommentTime6 Mar 2020
     
    So I have attached omicron.cas generated by TS that I used to conduct my experiment.

    My analysis of the first pwm blocks shows the following:

    Omicron Turbo Pulse settings:
    (for 44100 Hz)
    T2270,2270,32,26,12,10,0


    70 77 6D 73 - pwms
    02 00 - length two bytes
    06 - Aux 1 xxxxx110
    00 - Aux 2
    80 BB - Sampling rate - $BB80 = 48 000

    70 77 6D 63 - pwmc
    03 00 - length is three bytes
    F0 0A - Silence in miliseconds - $0AF0 = 2800
    23 20 03 - Trio: $23 samples $0320 times. 800 pulses of 35 samples.
    32*(48000/44100) = 34.8 ~= 35 correct.

    70 77 6D 6C - pwml
    04 00 - length is four bytes
    00 00 - Silence in milliseconds - 0
    05 00 - Width of first signal state 5 samples
    05 00 - Width of second signal state 5 samples

    70 77 6D 64 - pwmd
    5E 03 - length is $035E, 862 bytes
    0D - Aux 1, width of pulse for zero: 13 samples
    1C - Aux 2, width of pulse for one: 28 samples
    ...

    I don't see any problem in the generated .cas file. But that doesn't mean there isn't.
    • 24: CommentAuthorFUJI
    • CommentTime6 Mar 2020
     
    Questions are - which SIO line is used by Omicron loader to turn turbo on ? Which SIO line is used to tranfer data (data out or command or ...?) ? Does emulator show turbo state "Yes" or "No" during transmission ? If "No" - try turning turbo on manually. Also try to set turbo type to something other then Blizzard.

    4. Wave file generated from the cas file by a8cas-convert 1.3.1 didn't work --> no signal recognized by the emulator


    Official a8cas-convert can't convert turbo format from cas to wav. I have never released the one which can do it, because it was never completed.
    • 25: CommentAuthorbaktra
    • CommentTime6 Mar 2020
     
    To switch turbo on, Omicron does the following:
    - Asserts COMMAND LOW
    - Asserts 0 on DATA OUT
    And the signal is expected at DATA IN.

    With Turbo Blizzard, Turbo Active reports "YES" when the first turbo block is being loaded.
    • 26: CommentAuthorFUJI
    • CommentTime6 Mar 2020
     
    I see. I will have to do some debugging to check what is going on.
    • 27: CommentAuthorbaktra
    • CommentTime6 Mar 2020
     
    And, to my pleasant surprise, a8cas-util.pl 1.05 generated correct WAV file from the omicron.cas I attached few posts above. Well, the turbo part was correct, the standard part got squarified.

    In this repository:
    ->link<-

    there is omicron_stage0.xex, which is the .xex version of the slow part of the omicron loader. Can be handy when testing.
    • 28: CommentAuthorFUJI
    • CommentTime6 Mar 2020 zmieniony
     
    The problem is triggered by:
    pwms msb_first rising_edge_first 48000

    It shoud be:
    pwms msb_first falling_edge_first 48000

    Alternatively, before data block instead of
    pwml 00000 5 5
    You should put
    pwml 00000 0 5 5

    Do You remember this: ->link<- ?

    That fix was made to make Blizzard files generated by Turgen work. I would need to change it back to make Omicron work...
    I'm confused ;).

    the standard part got squarified.


    What do You mean ? I just did:
    a8cas-util.pl conv omicron.cas omicron.wav

    and the resulting wav works perfectly.
    • 29: CommentAuthoremka
    • CommentTime7 Mar 2020 zmieniony
     
    Jeżeli potraktować a8cas jako zwykły magnetofon z turbo to taki test nie powinien sprawić problemu
    0100 WSYNC = $D40A
    0110 *=$600
    0120 LDA #$34
    0130 STA $D302 ;PACTL
    0140 LDY #$02
    0150 LDX #$00
    0160 LDA #$03
    0170 JSR $E45C ;SETVBV
    0180 LDA #$FF
    0190 STA $022A
    0200 Z1 LDA $022A
    0210 BNE Z1
    0220 SEI
    0230 STA $D40E ;NMIEN
    0240 ; STA $D400 ;DMACTL
    0250 L0 LDA #$00
    0260 JSR PUTBYTE ;WYSLIJ BAJT
    0270 DEC LI1
    0280 BNE L0
    0290 ; DEC LIC
    0300 ; BNE L0
    0310 CLI
    0320 LDA #$3C
    0330 STA $D302
    0340 STA $D303
    0350 LDA #$40
    0360 STA $D40E
    0370 BRK
    0380 ; RTS ;ALTERNATYWNY KONIEC
    0390 PUTBYTE LDY #$08 ;WYSLIJ BAJT
    0400 WY1 ROR A
    0410 TAX
    0420 LDA #$34
    0430 STA WSYNC ;KONCZENIE POPRZED
    0440 STA $D303 ;USTAW 0
    0450 LDA $02C8
    0460 EOR #$0F
    0470 STA $02C8
    0480 STA $D01A
    0490 BCS WY3
    0500 LDA #$3C
    0510 STA WSYNC ;CZEK NA 1
    0520 STA $D303 ;USTAW 1
    0530 WY2 TXA
    0540 DEY
    0550 BNE WY1
    0560 RTS
    0570 WY3 STA WSYNC
    0580 LDA #$3C
    0590 STA WSYNC ;CZEK NA 1
    0600 STA $D303 ;USTAW 1
    0610 STA WSYNC
    0620 BNE WY2
    0630 LIC .BYTE 0
    0640 LI1 .BYTE 0

    Test ten generuje 256 bajtów o szerokości 2 linii obrazu dla 0 i 4 dla 1. Zapis do pliku .wav pokazuje coś dziwnego.
    W każdym bloku na początku jeden impuls jest dłuższy.

    Czy mógłby ktoś to sprawdzić na innym sprzęcie aby wyeliminować błąd który występuje tylko u mnie.
    P.S.
    wymaga ustawienia jakiegoś turbo (AST,UM,ATT,TurboROM ...) i
    wyłączenia SIO patcha
    • 30: CommentAuthorFUJI
    • CommentTime7 Mar 2020
     
    @emka: z której to wersji emulatora ? Bo wygląda to na coś z czym się kiedyś zmagałem (zresztą w tym wątku co jest zlinkowany w poprzednim poście). To się działo z powodu niedokładnej emulacji niewidocznych linii ekranu (overscan lines). Uprzedzając ewentualną odpowiedź - to nie zależy od ustawienia dmactl. W mojej wersji atari800 powinno być poprawione, ale niekoniecznie w idealny sposób.
    • 31: CommentAuthoremka
    • CommentTime7 Mar 2020 zmieniony
     
    Na twój emulator trafiłem przypadkowo jakieś dwa lata temu. Ten problem występuje na pewno w ostatnich trzech wersjach. Nic się nie odzywałem bo myślałem że to jakiś stary porzucony projekt. Trochę walczyłem z wersją Krótkiego, ale jego projekt jest w totalnym proszku. Skompilowałem wersję 4.2.0 lib8cas zostawiłem starą (wydawało mi się że nic nie było zmienione). Sprawdź jak ten test wypadnie u ciebie. Ty na pewno będziesz posiadał najnowsze źródła. Wszystkie operacje zapisu odbywają się po zatrzymaniu procesora i są poza ekranem i DMACTRL nic nie zmienia.
    P.S.
    Skompiluję to jeszcze raz i sprawdzę.
    Czy make install nadpisze stare biblioteki czy trzeba je usuwać ręcznie?
    • 32: CommentAuthorFUJI
    • CommentTime7 Mar 2020
     
    Install nadpisze. W liba8cas nie było zmian od 3 lat. Źródła w tej chwili są te same u mnie i na mojej stronie. To będzie związane raczej z emulatorem a nie z biblioteką. Emulator atari800 nie jest idealnie precyzyjny, są pewne uproszczenia, które zwykle nie mają dużego znaczenia.
    Sprawdzę, ale dopiero po weekendzie. Tymczasem możesz ustawić w emu częstotliwość próbkowania "cpu freq" i w audacity policzyć co ile sampli, czyli co ile cykli zegara się to powtarza - czy co ekran czy częściej. A może łatwiej będzie policzyć po zapisaniu do pliku hex ?...
    • 33: CommentAuthoremka
    • CommentTime7 Mar 2020 zmieniony
     
    Problem pojawia się tylko raz niezależnie od długości sampla.
    Ciekawsze jest to że nie występuje gdy pwml= 00000 (brak rozbiegówki)
    Robimy przerwę.
    Miłego weekendu.
    • 34: CommentAuthorbaktra
    • CommentTime8 Mar 2020
     
    Before we jump into changes in our code, I would like to ensure that I am interpreting the cas format correctly. The Omicron turbo is not sensitive to the polarity of the signal, so it doesn't care if the pulses are HL (HighLow) or LH (LowHigh), as it measures only distance between transitions.

    So, in the omicron.cas, the pwms I have, indicates the pulses are HL.

    So the last pulse of the pwmc block should generate the following voltages:
    HHHHHHHHHHHHHHHHHLLLLLLLLLLLLLLLLLL (17 Hi, 18 Lo, total 35)

    And then, the pwml chunk should generate the following voltages:
    HHHHHLLLLL (5 Hi, 5 Low, no IRG)

    And the following pwmd block should start with H

    That is how I understand the chunks are interpreted. I can be blind and wrong, of course.

    As for the a8cas-util.pl, the standard part was generated as if I have specified the squarify option, i.e. the signal was demodulated. But I will try several times before any conclusions.

    And I have also committed a change to Turgen - now it displays more details for the pwm chunks, both in the file information windows and in the tape image extractor. It is useful
    • 35: CommentAuthorFUJI
    • CommentTime8 Mar 2020
     
    @baktra: Your interpretation is right. My last fix was wrong, I was fixing wrong part of the code. The bug still exists in liba8cas. For pwml chunks there is unnecessary double check, whether the first edge of impulse is rising or falling. The second check is neutralising the effect of the first check, so pwml chunks always generate the same sequence of signal levels regadless of settings in pwms. I will correct it tomorrow.
    • 36:
       
      CommentAuthorWolfen
    • CommentTime8 Mar 2020
     
    Moja solucja do skompilowania Atari800 z liba8cas pod RaspberryPi (sprawdzona i dziala :) jestem szczesliwym posiadaczem mobilnego Atari :D

    sudo apt-get install screen
    sudo apt-get install build-essential
    sudo apt-get install libtool
    sudo apt-get install libsndfile1-*
    tar -xvvf liba8cas-custom.tgz
    tar -xvvf atari800-a8cas-custom.tgz
    cd liba8cas/
    autoreconf -i
    ./configure --target=rpi
    make all
    sudo make install
    sudo apt-get install libglfw3-dev libgles2-mesa-dev
    sudo ldconfig
    cd ..
    cd atari800-a8cas
    #cd src
    ./autogen.sh
    ./configure --target=rpi --without-x
    make
    sudo make install

    (tu mozna binarke z /usr/... (patrz log z make install) skopiowac np. do odpowiedniego folderu np. /opt/retropie/emulators/atari800 itd tam gdzie jest binarka :)
    • 37: CommentAuthorxtrem007
    • CommentTime8 Mar 2020
     
    @Wolfen: Przy kompilacji atari800-a8cas zamiast

    ./configure --target=rpi --without-x

    wpisz

    ./configure --target=rpi --without-x --enable-seriosound

    Bez tego będziesz miał paskudny ciągły dźwięk przy wczytywaniu obrazów kaset.
    • 38:
       
      CommentAuthorWolfen
    • CommentTime8 Mar 2020
     
    ooo dzięki :) to musze jeszcze przekompilowac
    • 39:
       
      CommentAuthorWolfen
    • CommentTime8 Mar 2020
     
    Zaktualizowany opis (dzieki @xtrem007)

    pi@retropie:~ $ ls *.tgz -all
    -rw-r--r-- 1 pi pi 5529600 Mar 4 22:21 atari800-a8cas-custom-4.2.0.tgz
    -rw-r--r-- 1 pi pi 430080 Feb 20 11:50 liba8cas-custom.tgz

    sudo apt-get install screen
    sudo apt-get install build-essential
    sudo apt-get install libtool
    sudo apt-get install libsndfile1-*
    tar -xvvf liba8cas-custom.tgz
    tar -xvvf atari800-a8cas-custom-4.2.0.tgz
    cd liba8cas/
    autoreconf -i
    ./configure --target=rpi
    make all
    sudo make install
    sudo apt-get install libglfw3-dev libgles2-mesa-dev
    sudo ldconfig
    cd ..
    cd atari800-a8cas-4.2.0
    ./autogen.sh
    ./configure --target=rpi --without-x --enable-seriosound
    make
    sudo make install

    # w przypadku RetroPie (po uprzednim zainstalowaniu emulatora atari800 mozna dodac ->
    cp /usr/local/bin/atari800 /opt/retropie/emulators/atari800/bin/atari800
    • 40: CommentAuthorFUJI
    • CommentTime8 Mar 2020
     
    No i fajnie :). Tylko jak poprawię (jutro mam nadzieję) liba8cas, to sobie przekompiluj, żeby Omicron Turbo ładowane z plików cas działało.

    @emka: widzę to samo u siebie. Po 96 linii obrazu licząc od początku pierwszej zmiany wyjścia jest brak oczekiwanej zmiany. Zmiana jest dopiero po linii 97. Nie mam pojęcia dlaczego. Najlepiej było by spawdzić, czy na prawdziwym sprzęcie jest to samo czy nie. Może właśnie emulacja jest dokładna ? A gdyby tak odczekać po wyłączeniu przerwań i DMA do początku następnej ramki ?
    • 41:
       
      CommentAuthorWolfen
    • CommentTime9 Mar 2020
     
    Tak jest! Dzięki wielkie FUJI!:)
    • 42: CommentAuthorFUJI
    • CommentTime9 Mar 2020
     
    Poprawiona biblioteka liba8cas do ściągnięcia tam gdzie wcześniej. W paczce z binariami dla Windows też podmieniona (tylko wersja 4.2.0).
    ->link<-

    @Wolfen - trochę Ci to zepsuje instrukcję, bo zmieniłem nazwy katalogów wewnątrz archiwów, żeby były zgodne z nazwami plików archiwów.

    Jak by coś przestało działać z rzeczy co wcześniej działały, to dajcie znać.
    • 43: CommentAuthoremka
    • CommentTime9 Mar 2020 zmieniony
     
    @emka: widzę to samo u siebie. Po 96 linii obrazu

    właśnie wykryliśmy pewną właściwość emulatora. Brak linii wypada w momencie gdy antic zaczyna czytać dane obrazu (VCOUNT $D40B=16). Linia znika gdy wyłączymy przerwania w liniach 240-0. Wyłączenie przerwań w innych liniach przebiega prawidłowo.
    Najlepiej było by sprawdzić, czy na prawdziwym sprzęcie jest to samo

    PUTBYTE w teście zostało żywcem wyrwany z turbo MK.4500, mam sporo kaset zapisanych w tym systemie i po 30 latach wszystko daje się odczytać. Dla ciekawych załączam dwa przykładowe pliki cas. Emulator czyta całkiem nieźle ale wymaga wciśnięcia RESET (F5) po wgraniu loadera. A to chyba źle.
    P.S
    Nie zauważyłem nowej biblioteki a jest niekompatybilna ze starą.
    P.P.S
    Pliki zmienione na zgodne z nową bibliotekę
    • 44:
       
      CommentAuthorWolfen
    • CommentTime9 Mar 2020
     
    @FUJI - dzieki wielkie za poprawki :) nic nie szkodzi - poprawiona instrukcja ponizej:

    Solucja dla leniwych (to ja ja ja! :) :

    Bierzemy paczki z:
    ->link<-

    pi@retropie:~ $ ls *.tgz -all
    -rw-r--r-- 1 pi pi 5529600 Mar 9 20:53 atari800-a8cas-custom-4.2.0.tgz
    -rw-r--r-- 1 pi pi 430080 Mar 9 20:53 liba8cas-custom-1.5.3.tgz


    sudo apt-get install screen
    sudo apt-get install build-essential
    sudo apt-get install libtool
    sudo apt-get install libsndfile1-*
    tar -xvvf liba8cas-custom-1.5.3.tgz
    tar -xvvf atari800-a8cas-custom-4.2.0.tgz
    cd liba8cas-custom-1.5.3
    autoreconf -i
    ./configure --target=rpi
    make all
    sudo make install
    sudo apt-get install libglfw3-dev libgles2-mesa-dev
    sudo ldconfig
    cd ..
    cd atari800-a8cas-custom-4.2.0
    ./autogen.sh
    ./configure --target=rpi --without-x --enable-seriosound
    make
    sudo make install

    # w przypadku RetroPie (po uprzednim zainstalowaniu emulatora atari800 mozna dodac ->
    cp /usr/local/bin/atari800 /opt/retropie/emulators/atari800/bin/atari800
    • 45:
       
      CommentAuthorWolfen
    • CommentTime9 Mar 2020
     
    p.s. testowałem na tej nowej wersji skompilowanej na świeżo na RPi obrazy CAS ze Standardu, Turbo Blizzard i Omicrona - wszystko działa :)
    • 46: CommentAuthorbaktra
    • CommentTime9 Mar 2020
     
    @FUJI
    Świetnie. Dzięki za naprawy w bibliotece.
    • 47: CommentAuthorFUJI
    • CommentTime10 Mar 2020 zmieniony
     
    @emka: nie do końca zrozumiałem - czyli da się uniknąć tego problemu jak się zablokuje przerwanua (czy może dma?) w czasie wyświetlania odpowiednich linii obrazu ? Wykrzaczył mi się wczoraj emulator w trakcie debugowania więc poszedłem spać.
    ale wymaga wciśnięcia RESET (F5) po wgraniu loadera

    Przy tych przykładowych nagraniach też ? Bo jak naciskam reset to się Atari resetuje na twardo (chyba że to przez to że testowałem zanim załączyłeś poprawione pliki).
    A przy okazji to skojarzyłem kilka rzeczy. Nie jesteś przypadkiem autorem tego turbo ? Trafiłem z 10 lat temu albo więcej na jedną kasetę nagraną w systemie który wygląda mi na MK.2000 czy coś koło tego. Nawet jak nie jesteś autorem, to pewnie wiesz jak się ten system oficjalnie nazywa ? Bo u mnie na stronie figuruje jako Unknown1, bym poprawił.
    • 48: CommentAuthorbaktra
    • CommentTime10 Mar 2020
     
    Jeszcze raz wróć do a8cas-util.pl i „squaryfikacja” normalnej części. Były to brakujące wtyczki LADSPA.
    • 49: CommentAuthoremka
    • CommentTime10 Mar 2020
     
    @FUJI Metodą prób i błędów doszedłem do tego że problem występuje tylko jeżeli zabronimy przerwań w liniach od 240 do 0. Co mają przerwania do DMA ekranu i linii obrazu tego jeszcze nie wiem? To chyba jakieś czary mary w emulatorze. Problemu nie można uniknąć ale można przeczekać. To turbo nie powinno w ogóle działać na emulatorze. Po pierwsze (SETVBV=*$E45C) zatrzymuje procesor do linii 256 i powinno trafić w sam środek problemu, ale turbo zatrzymuje przerwania i liczy sumę kontrolną 1kB bloku co opóźnia wysyłanie sygnału o 90 linii (256+90-311=35) i trafia w moment kiedy problem nie występuje. To pozostałość po tym jak blok danych był pod systemem operacyjnym i sumę kontrolną trzeba było liczyć przy wyłączonych przerwaniach i systemie, (niezły fart).
    Po drugie do odczytu używa timerów Pokeya, a w emulatorze są one obsługiwane z dokładnością 1 linii obrazu, czyli możemy mieć opóźnienie do 114 cykli procesora, co jest na granicy tolerancji sygnału. Turbo stworzyło dwóch zapaleńców w Łodzi bez znajomości innych systemów. Nigdy nie dorobiło się nazwy, zawsze mówiliśmy turbo. MK to inicjały "tfurcóf", a liczba to szacunkowa szybkość. wersja MADE IN HOME to wersja testowa puszczona do ludzi w celach testowych jak widać trafiła do ciebie. Największą wadą tamtego systemu była zbyt krótka synchronizacja przed każdym blokiem danych i ludzie woleli szybszy system nawet z wyłączonym ekranem.
    Na dołączonym filmie podwójny bip to moment wciśnięcia RESET.
    • 50: CommentAuthordigisoft
    • CommentTime10 Mar 2020
     
    @emka Czy mógłbyś jako jeden z twórców opublikować więcej informacji o tym systemie turbo, oprogramowanie narzędziowe do tego systemu, tak aby więcej osób poznało ten system. Proszę gdyż zawsze mnie ciekawiły tego typu systemy.