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
     
    $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
     
    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
     
    Podeślij fotkę płytki SIO2SD - być może w niej jest problem
    • 4:
       
      CommentAuthorPeri Noid
    • CommentTime2 Jul 2023
     
    Wyślę później - aczkolwiek dziwne co piszesz, skoro działa z dowolnym innym Atari, które mam.
    • 5: CommentAuthorPawex (RTG)
    • CommentTime2 Jul 2023 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
     
    Nie, to jest bez SIO2SD.
    • 7: CommentAuthorPawex (RTG)
    • CommentTime2 Jul 2023 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 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
     
    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 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
     
    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 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 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
     
    A sio2sd nie masz?
    • 17: CommentAuthormono
    • CommentTime3 Jul 2023
     
    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 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.