atarionline.pl Komputer Cobra 1 - 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:
         
        CommentAuthorKaz
      • CommentTime20 Nov 2022 21:55
       
      Na elektrodzie ( ->link<- ) kolega Andrzej Lisek napisał dodatkowe informacje odnośnie filmu:



      andrzejlisek:

      Super, nie oglądałem całego, ale byłem ciekaw, czy "wystąpi" mój emulator i "wystąpił". Nie wiem, kto omawiał emulator, ale co do magnetofonu to muszę uściślić pewne sprawy:

      1. Emulator wczytuje i zapisuje pliki WAVE, ale z zastrzeżeniem, że wczytywany plik musi być bez kompresji (PCM), 16-bit i mono. Wynika z tego, że jest zaimplementowane "na piechotę", 16-bit to i tak najczęściej się wykorzystuje, a stereo nie ma żadnego sensu. A nawet, jak plik nie odpowiada tym warunkom, to nie problem przekonwertować.

      2. Padło pytanie, jak interpretowany jest dźwięk i odpowiedź, że potrzebna jest analiza programu ROM, żeby na nie odpowiedzieć. Ja natomiast zrozumiałem, że jest to pytanie o to, jak jest zamieniany dźwięk na impulsy "strawne" dla procesora, tu i teraz na nie odpowiem: Magnetofon jest zsynchronizowany z procesorem w sensie, że na jedną próbkę dźwięku przypada określona liczba cykli zegarowych (określona w ustawieniach). Przy wczytywaniu pliku jest symulowany symetryczny przerzutnik Schmidta, gdzie na wejście wchodzi dźwięk, a na wyjściu ten sam dźwięk, ale "cyfrowy" w sensie, że przebieg może mieć tylko trzy poziomy napięcia (zero, dodatni, ujemny), progi tego przerzutnika też się ustawia. Następnie przebieg jest podawany na przerzutnik monostabilny i za tym przerzutnikiem jest już sygnał gotowy dla procesora. Procesor może w każdej chwili go odczytać rozkazem IN xx80h (gdzie xx nie ma znaczenia). Przy wczytywaniu brane są pod uwagę tylko dodatnie impulsy. Potem, co robi z tym procesor, już nie analizowałem, bo to zależy od programu na nim uruchomionego.

      Przyznaję się bez bicia, że pisanie opisywanie działania programu to wbrew pozorom trudna i niewdzięczna czynność, ale bardzo potrzebna przy udostępnianiu programu w internecie. Wydaje mi się, ze napisałem najprościej, jak można. Jeżeli jest coś niejasnego, niezrozumiałe, lub co gorsza nieaktualne (bo dodałem lub zmieniłem jakąś funkcjonalność bez dokonania potrzebnych zmian w opisie), to proszę pisać. Tutaj opis: ->link<-

      Dodano po 14 [minut]:

      Musiałem popatrzeć do kodu źródłowego, bo nie pamiętałem już, jak wygląda wczytywanie WAV. Czas podtrzymania impulsu jest uwzględniany tylko przy wczytywaniu WAV. Przy wczytywaniu pliku WAV, w momencie rozpoczęcia impulsu ujemnego następuje określona liczba próbek podtrzymania impulsu (rozróżniane jest istnienie impulsu dodatniego i jego podtrzymanie przy braku tego impulsu).

      Natomiast, co do wczytywania do komputera, to możliwe są następujące odpowiedzi na rozkaz IN xx80h:
      1. Magnetofon nie odtwarza: 01111111
      2. Stan zerowy lub impuls ujemny, brak podtrzymania: b01111111
      3. Stan zerowy lub impuls ujemny, podtrzymanie: b00111111
      4. Impuls dodatni, brak podtrzymania: b11111111
      5. Impuls dodatni, podtrzymanie: b10111111

      To wszystko, co wyżej napisałem, jest zaimplementowane w pliku "tape.cpp".
      • 2: CommentAuthorAndrzej Sirko
      • CommentTime12 Mar 2023 17:41 zmieniony
       
      Podczas naszego spotkania zobaczyłem przy prezentowanych programach na COBRĘ zakłócenia występujące na ekranie. Udało mi się odkupić od sympatycznego kolegi zmontowaną kiedyś elektronikę i usunąć ten problem.
      Wygląda to tak:
      1. przeciąć ścieżkę między układem 7442 (21) - noga 9 a 7430 (22) - noga 1.
      2. połączyć 4 bramki NAND (7400) (rysunek).

      Jeszcze szybszy transfer daje podłączenie końcówki do 11(119) zamiast do 8(120). Załączam odręczny rysunek.

      Krótki program do przetestowania tego rozwiązania. G: 0020

      cob1.mp4 pokazuje ekran po modyfikacji.




      ---------------------------------------------
      org 0020h

      ld c,65

      loc0:

      ld a,c
      ld hl,f800h

      loc1:

      inc e
      ld a,e
      cp 40
      jr nz,loc1
      ld e,0

      ld a,c
      ld (hl),a
      inc hl
      ld c,a
      ld a,h
      cp fbh
      jr nz,loc1
      inc c
      jp loc0


      M:0020,0e,41,79,21,00,f8,1c,7b,fe,28,20,fa,1e,00,79,77,23,4f,7c,fe,fb,20,ef,0c,c3,22,00 CR

      G:0020 CR
      • 3: CommentAuthorZenon
      • CommentTime12 Mar 2023 21:06
       
      Szacunek najwyższego lotu.... niejeden projekt ma w sobie błąd, autor to olewa. Tu, profesjonalizm.... czapki z głów.
      Wprowadzone do zachowanej dokumentacji, z uwagą że błąd wykryty i poprawiony po prawie czterdziestu latach. Niesamowite....
      • 4:
         
        CommentAuthorKaz
      • CommentTime4 Jul 2023 18:02
       
      Powstała nowa wersja emulatora Cobry-1 autorstwa Andrzeja Liska, ma sporo poprawek:

      ->link<-
      • 5:
         
        CommentAuthorKaz
      • CommentTime27 Aug 2025 15:18 (1 dzień temu)
       
      No i ładne podsumowanie całej historii, w tym Cobra Color. Komputer jest w USA, więc i zdjęcia stamtąd:

      ->link<-

      a w sklepiku można kupić płytę główną i klawiatury:

      ->link<-
      • 6:
         
        CommentAuthorjhusak
      • CommentTime27 Aug 2025 23:39 (20 godzin temu)
       
      W sklepiku "coming soon" :(
      • 7:
         
        CommentAuthorKaz
      • CommentTime28 Aug 2025 12:48 (7 godzin temu)
       
      "Soon" znaczy "wkrótce" :)
      • 8:
         
        CommentAuthorPeri Noid
      • CommentTime28 Aug 2025 13:56 (6 godzin temu)
       
      To jest projekt klasy "odwal się". Porównałbym to do Evie.