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 07:02 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 19:02
       
      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 12:02
       
      o ja :D dzięki wielkie!!! musiałem źle szukać :)
      • 4:
         
        CommentAuthorWolfen
      • CommentTime20 Feb 2020 21:02 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 22:02 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 19:02
       
      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 21:02 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 22:02 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 10:02
       
      Jaaaa :D dzięki wielkie!!! To jak "Christmas in July" (no... może Christmas in February ;))
      Zerkne wieczorem :)
      • 10:
         
        CommentAuthorWolfen
      • CommentTime25 Feb 2020 22:02 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 23:02
       
      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 10:02
       
      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 19:02
       
      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 15:02
       
      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 09:03
       
      Szkoda, że nie mamy...

      No dobra, sprawdzę czy się da spaczować nową wersję.
      • 16:
         
        CommentAuthorWolfen
      • CommentTime2 Mar 2020 09:03
       
      Yippee!!! :D
      • 17:
         
        CommentAuthorvoy
      • CommentTime2 Mar 2020 10:03
       
      Mniam! :)
      • 18: CommentAuthorFUJI
      • CommentTime4 Mar 2020 22:03
       
      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 23:03 zmieniony
       
      @FUJI - bardzo dziękuję za nową wersję. Testy pod Windowsem i RaspberryPi przebiegły pomyślnie ;)
      • 20:
         
        CommentAuthorWolfen
      • CommentTime4 Mar 2020 23:03
       
      dzięki! jesteś Wielki! :) tez chętnie się zabiorę za testy w wolnej chwili :)
      • 21: CommentAuthorxtrem007
      • CommentTime5 Mar 2020 21:03
       
      @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 10:03
       
      @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 11:03
       
      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 13:03
       
      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 13:03
       
      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 15:03
       
      I see. I will have to do some debugging to check what is going on.
      • 27: CommentAuthorbaktra
      • CommentTime6 Mar 2020 17:03
       
      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 20:03 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 13:03 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 17:03
       
      @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 19:03 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 19:03
       
      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 20:03 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 09:03
       
      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 20:03
       
      @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 21:03
       
      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 21:03
       
      @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 21:03
       
      ooo dzięki :) to musze jeszcze przekompilowac
      • 39:
         
        CommentAuthorWolfen
      • CommentTime8 Mar 2020 22:03
       
      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 23:03
       
      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 12:03
       
      Tak jest! Dzięki wielkie FUJI!:)
      • 42: CommentAuthorFUJI
      • CommentTime9 Mar 2020 21:03
       
      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 21:03 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 22:03
       
      @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 22:03
       
      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 22:03
       
      @FUJI
      Świetnie. Dzięki za naprawy w bibliotece.
      • 47: CommentAuthorFUJI
      • CommentTime10 Mar 2020 08:03 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 13:03
       
      Jeszcze raz wróć do a8cas-util.pl i „squaryfikacja” normalnej części. Były to brakujące wtyczki LADSPA.
      • 49: CommentAuthoremka
      • CommentTime10 Mar 2020 15:03
       
      @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 16:03
       
      @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.