atarionline.pl RAMCART - programowanie - 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
      • CommentTime2 Jul 2023 08:07
       
      $D20F - SKSTAT (Serial/KeyboardSTATus) - rejestr statusu złącza szeregowego
      bit 0 - niewykorzystany (= 1)
      bit 1 - przesyłanie danych (0 = trwa)
      bit 2 - dowolny klawisz (0 = naciśnięty)
      bit 3 - klawisz SHIFT (0 = naciśnięty)
      bit 4 - kopia rejestru wejścia szeregowego
      bit 5 - bufor klawiatury (0 = przepełniony)
      bit 6 - bufor wejścia szeregowego (0 = przepełniony)
      bit 7 - Framing Error (0 = wystąpił)

      Wystarczy brać bit 4 i wpisywać do koloru tła. I mamy taki analizator stanów na pinie SIO (Data Input)

      Wniosek:
      Ten POKEY jeżeli jest uwalony to tak nie do końca. Kolejne testy nie zrobisz już programami.
      1. Oscyloskop i sprawdzenie na porcie sio "Clock".
      2. Trzeba by napisać jakiś program co czyta bajt z POKEYa, tak w pętli. A do ATARI przez SIO2PC cały czas wysyłać ten bajt wzorcowy. Jeżeli ATARI nie odczyta to oscyloskop i znowu czy dochodzi do POKEY.

      RAM-CART faktycznie jest dobrą furtką do testowania SIO. Należałoby gdzieś pozbierać wszystkie programiki testery SIO i potem mieć gotowy szablon dla RAM-CARTa.
      • 2:
         
        CommentAuthorPeri Noid
      • CommentTime2 Jul 2023 10:07
       
      Wiem, że nie ten temat ale widzę podobieństwo więc taką wrzutkę zrobię.
      Mam 1200XL (NTSC), które kaprysi na moje SIO2SD - nie chce się z niego bootować. Po prostu jakby nie zauważało. Samo wgrywadełko widzi ruch na złączu i odpowiednio reaguje. ALE jak podepnę to samo SIO2SD przez przelotowy FujiNet (włączony) to nagle nie ma problemu i komp sobie ślicznie czyta i się bootuje. Z tego samego SIO2SD, z którego nie chciał wcześniej.
      Nie rozumiem tego - kwestia pojemności na liniach? Czy co? Może komp powyżej ma podobną przypadłość?
      • 3: CommentAuthorkkrys
      • CommentTime2 Jul 2023 11:07
       
      Podeślij fotkę płytki SIO2SD - być może w niej jest problem
      • 4:
         
        CommentAuthorPeri Noid
      • CommentTime2 Jul 2023 12:07
       
      Wyślę później - aczkolwiek dziwne co piszesz, skoro działa z dowolnym innym Atari, które mam.
      • 5: CommentAuthorPawex (RTG)
      • CommentTime2 Jul 2023 18:07 zmieniony
       
      a jak wychodzą testy Pokeya z Acid800 przy podłączonym SIO2SD bezpośrednio i podłączonym przez Fujineta?

      Pisałeś, że masz "Asynchronous receive mode ..FAIL" jak Fujinet jest na SIO.
      ale to wychodzi jak masz tam też SIO2SD?
      • 6:
         
        CommentAuthorPeri Noid
      • CommentTime2 Jul 2023 18:07
       
      Nie, to jest bez SIO2SD.
      • 7: CommentAuthorPawex (RTG)
      • CommentTime2 Jul 2023 18:07 zmieniony
       
      Tutaj coś jest o "Asynchronous Serial Input"
      ->link<-

      gienekp:

      Wniosek:
      Ten POKEY jeżeli jest uwalony to tak nie do końca. Kolejne testy nie zrobisz już programami.
      1. Oscyloskop i sprawdzenie na porcie sio "Clock".
      2. Trzeba by napisać jakiś program co czyta bajt z POKEYa, tak w pętli. A do ATARI przez SIO2PC cały czas wysyłać ten bajt wzorcowy. Jeżeli ATARI nie odczyta to oscyloskop i znowu czy dochodzi do POKEY.


      Z tym to już chyba nie dam rady.
      • 8:
         
        CommentAuthorgienekp
      • CommentTime2 Jul 2023 18:07 zmieniony
       
      @Pawex
      Puść jeszcze ten plik z złącznika. Przerobiłem lekko tą wersję z ACIDa, żeby nie pomijał testu ale na siłę go wykonał.

      P.S.
      Dany test można sobie przekompilować poleceniem
      mads -s -c -d:SYS800=1 -d:GENLIBRARY=1 -d:STANDALONE=1 pokey_serdirect.s -o:pokey_serdirect.xex
    1.  
      Dobra, ale będę mógł dopiero jutro.
    2.  
      Odpaliłem ten test i mam taki komunikat:
      POKEY: Direct serial input ...FAIL
      Timeout while waiting for NAK
      • 11:
         
        CommentAuthorPeri Noid
      • CommentTime3 Jul 2023 12:07
       
      Może to was zaciekawi:
      Odpaliłem testy na tej samej maszynie (A800 z Incognito) z dwóch różnych urządzeń (SIO2SD i FujiNet) i
      1. W obu przypadkach mam "POKEY: Serial status...FAIL" i dalej o timeoucie.
      2. Przy FujiNet mam "POKEY: Asynchronous receive mode...FAIL". Ale tego błędu nie mam przy SIO2SD.
      Ot, taka ciekawostka. Także sugerowałbym sprawdzić jakąś inną ładowaczkę również, bo to może mieć znaczenie. No i jakby wersja komputera/rozszerzeń też miała znaczenie.
      • 12: CommentAuthorPawex (RTG)
      • CommentTime3 Jul 2023 14:07 zmieniony
       
      Jeżeli chodzi o "POKEY:SERIAL STATUS ..FAIL" to masz tak jak u mnie przy LDW2000 i CA2001 (na sprawnym komputerze).
      Chociaż u mnie przy SIO2SD wyszło ..PASS a u Ciebie ..FAIL.

      co komputer to inaczej :-)
      • 13:
         
        CommentAuthorgienekp
      • CommentTime3 Jul 2023 15:07
       
      Wygląda na to, że te testy nie testują POKEYa, ale to co do POKEYa jest podpięte. I dlatego, za każdy razem inny wynik.
      • 14: CommentAuthorPawex (RTG)
      • CommentTime3 Jul 2023 18:07 zmieniony
       
      ale jak prawdopodobnie Pokey jest uwalony to obydwa (SERIAL STATUS i DIRECT SERIAL INPUT) wychodzą ..SKIPPED (czyli tak samo jak żadne urządzenie nie jest podpięte.
      • 15:
         
        CommentAuthorgienekp
      • CommentTime3 Jul 2023 21:07 zmieniony
       
      Dokładnie w kodzie jest:
      ;issue a status request to D1: and make sure we've actually got
      ;a drive present
      mva #$01 dunit
      mva #$53 dcomnd
      mva #$40 dstats
      jsr dskinv
      bpl disk_ok
      _SKIP c"D1: status command failed."

      #$53 to jest prośba o STATUS. Nie mam stacji dysków i nie za bardzo wiem, czy jak nie ma dyskietki w stacji to też status jest wysyłany (przez stację)?
      • 16:
         
        CommentAuthorjhusak
      • CommentTime3 Jul 2023 23:07
       
      A sio2sd nie masz?
      • 17: CommentAuthormono
      • CommentTime3 Jul 2023 23:07
       
      Status jest wysyłany zawsze kiedy go zażądasz. Niestety różne stacje różnie się zachowują, bo np. LDW/CA i chyba nawet 1050 po włożeniu dyskietki do stacji zakręcą nią, sprawdzą jaka jest gęstość i odpowiednią informację zwrócą w bajtach statusu ->link<-
      XF551 natomiast tak nie robi i kręci dyskietką (wtedy rozpoznaje format bo czyta ścieżkę) dopiero kiedy do stacji pójdzie żądanie odczytu/zapisu sektora.
      Z tego względu nie zawsze należy wierzyć w to, że status zwraca aktualne informacje.
      • 18: CommentAuthorPawex (RTG)
      • CommentTime4 Jul 2023 12:07 zmieniony
       
      Sprawny komputer - test POKEY: SERIAL STATUS

      LDW2000/CA2001
      otwarta dźwignia - FAIL
      zamknięta dźwignia (z dyskietką) - FAIL

      1050
      otwarta dźwignia - PASS
      zamknięta dźwignia (z dyskietką) - PASS

      SIO2SD
      PASS

      P.S.
      Jest też coś takiego, że robiąc wiele testów (SERIAL STATUS) z rzędu co kilka/kilkanaście wychodzi inaczej tzn.
      na LDA2000/CA2001 ..PASS, na 1050 ..FAIL, na SIO2SD ..FAIL.