atarionline.pl Smartfon - turbo 2600 - 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: CommentAuthoradi
      • CommentTime30 Mar 2023 14:03
       
      Kontynuując temat udawania przez smartfon magnetofonu Atari rozpocząłem projekt interfejsu, który ma następujące założenia:
      - wczytywanie programów w normalu (FSK) z prędkościami 600-2600 bodów
      - wczytywanie programów w podstawowych systemach turbo: AST, ATT, UM, Turbo2000 podłączane przez SIO, Blizzard, czeskie Turbo 2000 i Super Turbo, Turbo ROM, być może również Turbo 6000
      - zasilanie +5V z komputera Atari
      - jak najprostsza budowa

      Do tej pory ogarnąłem temat FSK - 5 tranzystorów i układ 74HCT123. Fizyczny prototyp działa. Programy z prędkościami 600 - 2600 bodów dają obiecujące przebiegi na analizatorze stanów logicznych. Z realnym Atari jeszcze nie testowałem.

      Wykorzystałem:
      1) Wzmacniacz wejściowy z Turbo 2T06 (IKS 01/1989).
      2) Ideę podwajania częstotliwości opublikowaną przez MarkaK i opisaną przez Sebana. Stosowaną w również w interfejsie Turbo2600 firmy Szok. ->link<-
      3) Prosty dyskryminator częstotliwości na 74123 opublikowany w Radioelektroniku 2/1989.
      • 2: CommentAuthoradi
      • CommentTime31 Mar 2023 09:03 zmieniony
       
      1300 bodów z realnym Atari w tzw. normalu śmiga aż miło.
      2600 bodów stanowi dla niego wyzwanie.
      Czasem udało się załapać kilka sekund.
      Oto schemat:
      • 3:
         
        CommentAuthorjhusak
      • CommentTime31 Mar 2023 11:03
       
      No ładne cacko :)
      • 4:
         
        CommentAuthorpirx
      • CommentTime31 Mar 2023 16:03
       
      to jeszcze tego buga, co go phaeron wyczaił, że CRC się czasem źle liczy wartoby ominąć :)

      BTW - za dzieciaka się zastanawiałem, czy nie dałoby się jakoś wykorzystać faktu, że jest stereło w magnecie atari. jakiś dodatkowy doszybczacz?
      • 5:
         
        CommentAuthorCOR/ira4
      • CommentTime31 Mar 2023 17:03
       
      zawsze, od zawsze zazdrościłem Spectrum uniwersalnego wtyku pod magnetofon, na A8 czy C64 musieli wymyśleć specjalistyczne dziwadła których wykonanie i precyzja mechanizmu była taka sobie.

      Fajny projekt, ale w dobie Sio2SD to sztuka dla sztuki, jak ktoś ma ochotę na zabawę z kasetami to wyciąga magnetofon, ale żeby smartfonem udawać wczytywanie z taśmy !? to dla mnie za dużo. he,he ale jak cię to bawi to kibicuję :D.
      • 6:
         
        CommentAuthorjhusak
      • CommentTime31 Mar 2023 18:03
       
      Oczywiście, że sztuka dla sztuki, ale jaka satysfakcja! Sam czułem kiedyś ten dreszczyk, jak robiłem turbo, które było szybkie i niezawodne, ale to już pod koniec '90.

      Pirx, nie CRC a synchro z baudrate :)
      • 7:
         
        CommentAuthorpirx
      • CommentTime31 Mar 2023 19:03
       
      o to to!
      • 8: CommentAuthoradi
      • CommentTime1 Apr 2023 02:04
       
      @Irata: Bawi mnie i to jak :).

      Sio2SD to też właściwie przeżytek w dobie Sio2USB podłączonego do smartfona. W każdym z nich brakuje mi turbo pasków i w ogóle atmosfery niepewności przy wczytywaniu programów. Nie ma tego klimatu z czasów młodości.
      Poza tym tyle jest teraz fajnych narzędzi do projektowania i usprawniania elektroniki, że szkoda żeby leżały odłogiem.

      Co do jakości elektroniki w fabrycznych magnetofonach: Kuba kiedyś pisał, że do stwierdzenia czy leci 0 czy 1 potrzeba magnetofonowi 5-6 cykli sinusoidy i tak rzeczywiście jest. Kondensatory w filtrze za komparatorem okienkowym właśnie w tym czasie się ładują. W demodulatorze z podwajaczem częstotliwości wystarczy pół cyklu, żeby dokonać pomiaru.

      Wygląda na to, że firma Atari traktowała magnetofon po macoszemu i nie usprawniała w jego konstrukcji.
      • 9: CommentAuthorpigula
      • CommentTime1 Apr 2023 10:04
       
      Sio2sd to nie przeżytek. Uwielbiam paski i piski... ale nie wszystko z magnetofonu wczytasz. Na ten moment dla mnie najlepsze co powstało do szaraka to AVG.
      • 10: CommentAuthorbaktra
      • CommentTime1 Apr 2023 15:04
       
      To mi coś przypomina...
      ->link<-
      • 11: CommentAuthoradi
      • CommentTime2 Apr 2023 03:04 zmieniony
       
      @Baktra: Rzeczywiście mój projekt jest bardzo podobny w założeniach do Bumbox-a Zaxxona. Słyszałem wcześniej, że zrobił coś podobnego. Nawet kiedyś na elektroda.pl szukał projektanta kodu do Arduino, żeby wykonać Bumbox-a w formie bez smartfona (czyli całość miało ogarniać Arduino - podobnie jak w Tapuino dla C64 czy ZX Spectrum).

      Ja natomiast podchodzę do sprawy zupełnie niekomercyjnie. Nie chcę produkować interfejsów dla innych osób. Po prostu sprawdzam możliwości, zbieram doświadczenia innych ludzi i próbuję optymalizować.

      Widziałem, że kilka razy proponowałeś Wasze wspaniałe czeskie rozwiązanie z turbo na jednym tranzystorze. Widziałem też, że nie uzyskałeś większego posłuchu. Wszyscy powielają stare błędy projektowe z magnetofonu Atari, turbo Blizzard, AST czy UM.

      Zaxxon nie opublikował schematu swojego Bumbox-a. Z modelu płytki widać jednak, że jest to analogowy dekoder FSK połączony z jakąś wersją turbo Blizzard.
      Obydwa rozwiązania są zupełnie nie optymalnie.
      W efekcie Bubmox ma 3 scalaki i 5 tranzystorów.
      Zapewne w normalu osiąga max 900 bodów.

      Moje rozwiązanie (a właściwie nie moje, bo ja tylko pozlepiałem cudze rozwiązania) będzie miało 1 scalak i 7 tranzystorów a w normalu śmiga na 1300 bodów.

      Z resztą nie oto chodzi, żeby ścigać się na ilości elementów. Teraz są one tak tanie, że dodanie jednego czy dwóch scalaków nie zmienia kosztu urządzenia.
      Ważne, żeby dobrze się bawić elektroniką i starymi komputerami.
      • 12: CommentAuthorpigula
      • CommentTime2 Apr 2023 12:04
       
      @Adi - generalnie byłoby fajnie, aby w końcu powstało coś na wzór boomboxa - ale oferujące obsługę wielu systemów. Nawet jeżeli urządzeniem pośredniczącym będzie telefon. Tylko dzisiaj transmisja z telefonu powinna odbywać się już po BT, bo gniazdo minijack zaczyna być już rzadkością.
      • 13: CommentAuthoratariki50
      • CommentTime2 Apr 2023 18:04
       
      @Adi
      Ja się z tobą 100% Zgadzam.

      A reszcie Braci Atarowców.

      Powiem tak.

      Nie oto chodzi by złapać zajączka ale by gonić go.

      Bo inaczej usiądziemy na tyłkach i jak to ktoś kiedyś powiedział, wszystko już zostało wynalezione-;)))

      @Adi

      Trzymam kciuki za Twój projekt.
    1.  
      Bardzo fajny projekt. Trzymam kciuki!
      • 15:
         
        CommentAuthorDemorgh
      • CommentTime2 Apr 2023 20:04
       
      powodzenia :)
      • 16: CommentAuthorbaktra
      • CommentTime3 Apr 2023 09:04
       
      Moje „propozycje” z przeszłości są po prostu przeszłością. Po pierwsze, „turbo z pojedynczym tranzystorem” nigdy nie było przeznaczone dla urządzeń umieszczonych między smartfonem a komputerem. Po drugie, jestem programistą, który niezbyt dobrze radzi sobie z lutownicą. Chciałem tylko wiedzieć, czy wiesz o projekcie „Bum Box”, który miał podobne cele, nic więcej.

      Powodzenia w bieżącym projekcie. Możesz spróbować przetestować to za pomocą mojej aplikacji CAS2Audio na Androida.
      • 17: CommentAuthoradi
      • CommentTime3 Apr 2023 09:04 zmieniony
       
      @Baktra: Twoich wspaniałych programów CAS2Audio i Turgen używam od początku.
      Bez nich nie byłoby mojego projektu.
      Trzymanie wav-ów na smartfonie czy MP3 jakoś nie bardzo mi się podobało.
      Co innego eleganckie pliki CAS.
      Wielkie dzięki dla Ciebie za wkład w dziedzinie magnetofonów Atari.
      Wiele lat temu pisałem w Pascalu konwertery xex->wav Turbo2000 ale Ty załatwiłeś sprawę tak kompleksowo, że nie ma już tu czego poprawiać :).

      Edit: Rozwiązanie turbo na jednym tranzystorze doskonale nadaje się do współpracy ze smfartonem. Wkrótce przedstawię całość rozwiązania.
      • 18: CommentAuthortakron27
      • CommentTime3 Apr 2023 09:04
       
      mam 'bumboxa'. niby miał być też w wersji 2, ale na pomysłach chyba się skończyło. 'bumbox' obsługuje kilka systemów turbo (przełącznik ma), w tym kso (po 2gim porcie joya).
      i o ile z bluetooth fajnie mi to działa, to przez wejście analogowe rca kiepsko :-/ sygnał docohdzący do atarki jest zbyt słaby, za cichy. kilkoma urządzeniami próbowałem się podpinać, bez powodzenia. może da się tam coś porzeźbić w torze audio, może jest jakaś rezystancja do obejścia, ale nie odważyłem się rozbierać klejonej obudowy.
      ..
      taak więc i ja dopinguję przy rozwoju tego tu o interfejsu
      • 19: CommentAuthoradi
      • CommentTime3 Apr 2023 11:04
       
      @takron27: Tak jak pisałem wcześniej - Zaxxon nie opublikował schematu bumbox-a. Jednak podejrzewam, że obwód wejściowy ma na jednym ze wzmacniaczy operacyjnych ze scalaka LM324.

      Zrobiłem podobny układ do współpracy ze smartfonem i rzeczywiście poziom sygnału z wyjścia słuchawkowego ma znaczenie.
      Sygnał nie może być za cichy ale też nie może być za głośny.
      Zwłaszcza jeśli smartfon podbija go procesorem DSP.
      Czyli nie można wychodzić z głośnością daleko na czerwoną część paska.
      U mnie najlepsze efekty były na granicy między niebieską a czerwoną częścią paska głośności.
      Oczywiście regulację głośności trzeba przeprowadzać przy podłączonej wtyczce słuchawek, bo smartfon osobno pamięta głośność słuchawek a osobno głośnika.
      • 20: CommentAuthoradi
      • CommentTime4 Apr 2023 04:04
       
      Przyglądam się innym, mało znanym w Polsce systemom turbo, aby stworzyć interfejs naprawdę uniwersalny.

      Kuszące są systemy, które korzystają z szybkiego FSK. Nie ma w nich wyłączania ekranu podczas ładowania.
      U nas był to Turbo 2600 a w Chile dużo lepszy Sistema Injector.

      Dopiero dziś się za niego wziąłem. Czy macie jakieś doświadczenia z tym systemem?

      Ponoć w Chile był montowany przez dealera Atari w nowosprzedawanych magnetofonach.
      • 21: CommentAuthoradi
      • CommentTime4 Apr 2023 09:04
       
      Po wysłuchaniu wav-a z grą Bonk nagraną w Sistema Injector dostępnego tu: ->link<-
      cofam swoje stwierdzenie, że jest to szybkie FSK.

      Słychać w nim prostokątny przebieg podobny do Turbo 2000.
      To jest ciekawy przypadek.

      Przecież Atari dostaje z magnetofonu strumień bitów.
      Pokey-owi jest obojętne z jakiego dekodera ten strumień pochodzi.
      Czyli można uzyskać prędkości podobne do Turbo 2000 bez wyłączania ekranu.
      Może Chilijczycy poszli tą drogą?
      • 22:
         
        CommentAuthorjhusak
      • CommentTime4 Apr 2023 11:04
       
      Sistema Injector wg strony jest 7 x szybszy, niż standard, więc nawet nie było by tu miejsca na pojedynczy cykl dźwięku.

      Włączony ekran spokojnie może być przy turbo. W Sistema Injector pojedyńczy bit ma średnio 4 linie ekranowe. Licząc po liniach ekranu, można by np. zapisywać bit 0 jako 2 linie/2 linie, a 1 jako 4 linie/4 linie i liczyć długość takiego całego cyklu. Jeśli czas większy od 6 skanlinii (różnica vcount>3) to 1 a jeśli mniejszy to 0. Tak bym to widział i być może tak to działa. W każdym razie licznik musi być oparty albo na vcount albo na (lepiej) pokeyu. Jeśli na pokeyu - to bez użycia przerwania, za to z testowaniem flagi, czy licznik się skończył. Jak się nie skończył - bit 0, a jak się skończył - to bit 1.

      Tak bym to dzisiaj zrobił, na liczniku pokeya, bo na vcount to niższe prędkości, rzędu 2kbaud, a nie 4 :)
      • 23: CommentAuthoradi
      • CommentTime4 Apr 2023 13:04 zmieniony
       
      Wydaje mi się, że mają zliczanie oparte na przerwaniu, tak jak w Turbo 2600.
      Jest słynna wersja Feud-a dla Radiokomputera z odgrywaniem muzyczki i graniem w odwracankę podczas ładowania dłuższej gry.

      Właśnie wczoraj mnie olśniło, że wszelkie turba (czeskie, Turbo 2000, AST, Turbo 6000) poszły złą drogą.
      Wystarczyło podmienić demodulator FSK na demodulator fazy/długości impulsu, przebudować procedury z OS Atari (aby obsłużyć większe prędkości) i mamy szybką transmisję z pełną obsługą ekranu a nawet np. generowaniem muzyczki.

      Jedyny problem jaki mi teraz przychodzi do głowy to obsługa długiej sekwencji takich samych bitów (np. ciąg zer). Demodulator FSK radzi sobie z nią doskonale. Stan zera może trwać bez ograniczeń.
      Demodulator fazy tego nie wytrzyma.

      Tak czy inaczej trzeba rozgryźć Sistema Injector. Tam są jakieś dwa przerzutniki. Pewnie one podtrzymują stan linii Data In, czyli wyjścia z interfejsu.

      Wygląda, że jest to rozwiązanie genialne w swojej prostocie i funkcjonalności. Autorem był ponoć 11-latek (software) i jego ojciec (hardware).
      • 24: CommentAuthorbaktra
      • CommentTime4 Apr 2023 13:04
       
      Systemy turbo oparte na PWM powstawały w różnym czasie, z różnymi celami i ograniczeniami. Celami były: prostota, niska cena i budowanie z części dostępnych wówczas na lokalnym rynku.

      Demodulator programowy przyczynił się do prostoty i niskiej ceny. Poza tym algorytm dekodowania mógł zostać „zapożyczony” z ZX Spectrum (tak było w przypadku czechosłowackiego T2000. Autor wymienił listę ZX ROM jako jedno z odniesień w swoim artykule).

      Ponadto modyfikacja systemu operacyjnego wymaga albo nowego chipa ROM, albo posiadania systemu operacyjnego w „RAM under ROM” ze wszystkimi nieprzyjemnymi konsekwencjami.

      O ile mi wiadomo, „Injektor” używa czegoś w rodzaju kodowania manchesterskiego, dlatego potrzebuje pinów CLOCK.
      • 25: CommentAuthoradi
      • CommentTime4 Apr 2023 13:04
       
      @baktra: PWM jak nabardziej może zostać, tylko trzeba przekazać do Atari nie cały impuls ale samą zmianę, w porównaniu do poprzedniego impulsu.
      Dokładnie tak jak to robi demodulator FSK współpracując z OS Atari.

      W polskim Trubo2600 już przeszli połowę tej drogi, poprawiając procedury OS aby obsługiwały wyższe prędkości.
      Utknęli jednak na ograniczeniach modulacji FSK.

      Wystarczy podmienić FSK na inną modulację i mamy pełny sukces.
      • 26: CommentAuthoradi
      • CommentTime4 Apr 2023 14:04
       
      Doczytałem o Kod Manchester.
      Czyli młody Chilijczyk pokonał problemy, o których wcześniej pisałem właśnie za pomocą tej modulacji.
      Rzeczywiście taśma magnetofonowa nie wytrzymałaby składowej stałej przy dłuższych sekwencjach takich samych bitów.

      To jeszcze trzeba sprawdzić jak łapali zmiany stanu linii Data In. Jeśli przez przerwanie, to jesteśmy w domu :).
      Trzeba iść ich śladem.

      Co do kontekstu historycznego: chilijskie turbo oparte jest na CD4030 - 4 bramki EXOR i CD4013 - dwa przerzutniki Flip-Flop D.
      Obydwa scalaki w wersji TTL były dostępne w latach 80-tych w Czechach i w Polsce. Były też tanie.

      Po prostu młodzieniec miał lepszy pomysł.
      • 27: CommentAuthoradi
      • CommentTime4 Apr 2023 14:04 zmieniony
       
      Przepraszam za taki zalew postów :).
      Jestem pod wielkim wrażeniem Injektora.

      Na filmiku

      widać, że obraz jest cały czas dostępny.
      Czyli muszą działać na przerwaniu.

      Nie ma co, opracowali turbo idealne :).

      Edit: Przeoczyłem, że to zapis a nie odczyt. Czyli nadal szukamy dowodów na użycie przerwania.
      • 28: CommentAuthoradi
      • CommentTime4 Apr 2023 14:04 zmieniony
       
      Edit2: Jest dowód:


      Edit3: i jeszcze jeden:


      Trzeba pamiętać że bloki są 256-bajtowe czyli 2 razy większe niż w normalu.
      • 29:
         
        CommentAuthorjhusak
      • CommentTime4 Apr 2023 15:04 zmieniony
       
      Spoko, skoro to takie super, to zaczynam podejrzewać, że to sprytne przesyłanie połówek bajtów w jakimś kodowaniu właśnie typu Manchester przy użyciu rejestru szeregowego, zarówno out, jak i in. Wtedy pokey czyta pół bajtu a procek tylko czeka na zakończenie odczytu. W sumie proste i genialne to by było. Nie trzeba przerwań. Tylko to nieszczęsne odchylenie przesuwu taśmy pow. 5% jest problematyczne, na szczęście tylko w trakcie transmisji, bo podejrzewam, że liczą prędkośc transmisji po jakichś naprzemiennych bitach, jak to jest standardowo w OS.

      Jednak pamiętać trzeba, że takie prymitywne podejście do turbo dawało możliwość wczytywania plików ze spectrum czy C64, a z tym pokeyem to było by mniej oczywiste, żeby takie coś wymyślić.
      • 30:
         
        CommentAuthorjhusak
      • CommentTime4 Apr 2023 16:04 zmieniony
       
      kilobajt na sekundę albo i szybciej. Czad, to by dawało 8kb-10kb, więc raczej jestem sceptyczny jeśli chodzi o to 256 B na blok. W sumie procki systemowe działają na 128 B/blok, więc było by więcej zachodu a mało zysku z podmianki z 128 na 256. Poza tym zgadza się ratio 1/7, czyli jakby obciąć loader, to bardziej 1/8. Stała prędkość bloku sugeruje kodowanie zapewne 4 bitów na bajcie, a może nawet i 2 (chociaż tutaj bit startu i stopu jest zbyt krótki na audio wg mnie).

      Dla 4 bitów/ bajt w sumie mamy 31 takich kombinacji w bajcie + bit start i stop, że bitrun jest max 3 razy takie same poziomy, a górek jest tyle samo, co dołków, żeby nie było składowej stałej. I leci to na ca 8 kbaud, dostajemy sumaryczne bitrate 4k, co najważniejsze, stałe.

      A jeśli dopuścimy bitrun 4 bity, to można zapisać 36 różnych możliwości, czyli 5 bitów, i zyskujemy jeszcze ~20% czasu :)

      bit startu, 8 bitów, bit stopu.
      1001010110
      1001011010
      1001011100
      1001101010
      1001101100
      1001110100
      1010010110
      1010011010
      1010011100
      1010100110
      1010110010
      1010111000
      1011001010
      1011001100
      1011010010
      1011011000
      1011100100
      1011101000
      1100010110
      1100011010
      1100011100
      1100100110
      1100110010
      1100111000
      1101000110
      1101100010
      1110001010
      1110001100
      1110010010
      1110011000
      1110100010
      • 31: CommentAuthoradi
      • CommentTime4 Apr 2023 16:04
       
      Bloków 256-bajtowych jestem pewien.
      Przeczytałem o nich (za pomocą tłumacza google :)) w blogu:
      ->link<-

      Można je też wyliczyć na postawie filmiku i rozmiaru Montezuma's Revenge(Parker Brothers).xex:
      16398/256 = 64,05 czyli tyle ile widać na filmie.

      Procek na nic nie czeka, no może najwyżej na przerwanie.
      Robi swoje, cokolwiek.
      A rejestru przesuwnego na pewno w interfejsie nie ma.

      Cały czas myślimy przez pryzmat Turbo2000. Ja też tak do wczoraj miałem, aż mnie w końcu olśniło.
      Tu jest zupełne odwrócenie ról. Procek robi swoje a turbo dobija się do niego z danymi kiedy potrzeba.
      Dokładnie tak jak w normalu. Z tą tylko różnicą, że nie ma wolnej modulacji FSK, tylko jest szybka PWM, a właściwie Manchester. Dodatkowo synchronizowany wyjściem Clock z SIO (jak napisał Baktra).

      Żyć nie umierać :).
      • 32: CommentAuthoradi
      • CommentTime4 Apr 2023 18:04 zmieniony
       
      Z tego co pisze Wikipedia, w modulacji Manchester zegar potrzebny jest tylko na etapie kodowania, czyli w przypadku magnetofonu, przy zapisie.

      Co ciekawe będzie to kodowanie wspomagane sprzętowo: bramka ExOR i zegar.
      Odczyt jest "self-clocking", synchronizowany przy każdym bicie. Modulację cechuje duża odporność na zmiany prędkości transmisji.
      Odmiana modulacji Manchester używana jest w sieci Ethernet.

      Same zalety.
      • 33:
         
        CommentAuthorjhusak
      • CommentTime4 Apr 2023 18:04 zmieniony
       
      Gwoli ścisłości Manchester był używany w ethernet 10Mb.

      I jeszcze - coś mi tu się nie zgadza:
      Trochę historii

      SITRE to powielacz gier z płyty na kasetę dla 8-bitowego Atari, który opracowałem latem 1989 roku na zlecenie SYFCOM, firmy zajmującej się sprzedażą pirackich gier w Viña del Mar. Szukałem połączenia w jednym powielacz:

      - Kopiuj gry w formacie XEX.
      - Turboładowarka, jedna z tych, które mają wyższą szybkość transferu (ostrzejszy dźwięk) i krótszy czas ładowania.
      - Wznów ładowanie w punkcie, w którym się nie powiodło („ przewiń X obrotów ”).
      - Użyj normalnych magnetofonów kasetowych (bez systemu wtryskiwaczy ).
      - Kopiuj gry, które wymagały przerw na inicjalizację („ wolne dźwięki ”).


      wtryskiwacz - to tłumaczenie Injector, czyli tu wszystko idzie w normalu. I rzeczywiście tam jest mowa o 256 bajtach na blok, ale czy to jest to samo turbo? szukam dalej.

      Tak, Sitre to zupełnie co innego, niż Injektor. Sitre troszkę przyspiesza i działa na zwykłym magnetofonie, ma 256 bajtów na blok. A Injector wygląda na to, że ma albo 128 (Keystone Kapers, 67 bloków a gra ma 8 kB) albo 256 bajtów na blok (Montezuma, 16 kB) i wymaga przeróbki sprzętowej na dwóch scalakach.
      • 34: CommentAuthoradi
      • CommentTime5 Apr 2023 02:04 zmieniony
       
      Kuba, patrz mają nawet swoją "odwracankę" jak w Feudzie Turbo 2600 z Radiokomputera:
      (z tłumaczenia strony ->link<- )
      Po przeczytaniu wskaże kolejny krok, czyli nagranie go w formacie injektor.
      Poczekaj, aż zapisze się na taśmie, a następnie powróci menu główne.
      Po nagraniu możesz załadować go za pomocą START + OPCJA , włączając swoje atari i naciskając RETURN , pojawi się gra SIMON, która została zaprojektowana, aby ożywić oczekiwanie podczas gry.
      Jeśli ładowanie zakończy się pomyślnie, pojawi się komunikat o naciśnięciu klawisza POMOC , aby rozpocząć.


      "Ożywić oczekiwanie podczas gry" - z kontekstu wnioskuję, że chodzi o oczekiwanie na wczytanie gry.


      Edit:
      Na jednej z podstron jest dużo informacji o interfejsie Injektora:
      ->link<-
      • 35: CommentAuthoradi
      • CommentTime5 Apr 2023 16:04 zmieniony
       
      Zdisasemblowałem część Lado_B_Basic.cas Injektora.
      Mają tam w nielegalnych instrukcjach:
      0105 A2 FF LDX #$FF
      0107 A9 D9 LDA #$D9
      0109 8F 41 FD SAX $FD41
      010C 8F A3 EB SAX $EBA3
      010F 8F 04 D2 SAX $D204
      0112 E8 INX
      0113 8F 46 FD SAX $FD46
      0116 8F A8 EB SAX $EBA8
      0119 8F 06 D2 SAX $D206

      Czyli jak rozumiem zapisują D9 do $D204 i 01 do $D206.
      To dawało by bitrate 1864 body w NTSC.
      • 36: CommentAuthoradi
      • CommentTime6 Apr 2023 00:04
       
      Ciekawa wersja kasetowa gry Time Slip.
      Co prawda tylko 620 bodów i FSK, ale podczas wgrywania najpierw leci muzyczka a potem można grać w Pong-a.
      Przełączanie 1/2 graczy klawiszem Select.
      W przypadku wystąpienia błędu można cofnąc taśmę o kilka rekordów i po naciśnięciu Return kontynuować wczytywanie.

      Jest bardzo ciekawy licznik wczytanych bajtów, aktualizowany co jeden bajt.
      Czegoś takiego w życiu nie widziałem.
      Pokazuje to, że przerwanie IRQ Pokey-a występuje po wczytaniu każdego bajtu.
      Uruchomienie gry po wczytaniu - klawisz Start.

      Przedłużyłem rozbiegówkę do 20s, bo w oryginale była dziwna 4s.
      • 37: CommentAuthoradi
      • CommentTime6 Apr 2023 00:04
       
      I jeszcze zrzuty ekranów:
      • 38: CommentAuthoradi
      • CommentTime6 Apr 2023 00:04
       
      • 39: CommentAuthoradi
      • CommentTime6 Apr 2023 00:04
       
      • 40: CommentAuthoradi
      • CommentTime6 Apr 2023 00:04
       
      • 41: CommentAuthorrobert
      • CommentTime6 Apr 2023 10:04
       
      @adi W #35 jest chyba błąd, bo do $D206 będzie zapisane 0, bo wcześniej jest INX z $FF na $00, więc

      F = CLOCK/(2*(N+M)) = 1,79MHz / (2*($D9+7)) = 3995 Hz (dla NTSC)

      Z ATARIKI:
      SAX / SAX
      Wykonuje AND pomiędzy A i rejestrem X, wynik zapisuje w pamięci. Rejestry A i X pozostają niezmienione.

      chyba że ja coś źle zrozumiałem i się mylę.
      • 42: CommentAuthoradi
      • CommentTime6 Apr 2023 10:04
       
      Dzięki Robert za cenną uwagę. Rzeczywiście w pośpiechu źle to zinterpretowałem.
      Obliczona przez Ciebie wartość pasuje do tego co pisali Chilijczycy - 4000 bodów.
      W takim razie ich turbo nabiera kolorów :).
      Nie do końca jeszcze rozumiem czy kodowanie Manchester nie powoduje podzielenia tego bitrate przez 2.
      • 43: CommentAuthoradi
      • CommentTime7 Apr 2023 02:04 zmieniony
       
      Kontynuując prace na "rozgryzieniem" Sistema Injektor zdissaemlowałem pierwszy blok (w normalu) gry Bonk, której wav jest dostępny tu:
      ->link<-

      Większość kodu to ukrywanie samego siebie. Samomodyfikacja kodu plus nielegalne rozkazy.
      Potem jest kopiowanie ROM -> RAM.
      W końcu kawałek podmieniający procedurę ROM:
      ED3D: 8F 06 D2 SAX $D206 ;AUDF4
      ED40: 8F 31 00 SAX $0031 ;CHKSUM
      ED43: 8F 0F D2 SAX $D20F ;SKCTL
      ED46: 18 CLC
      ED47: EB 27 SBC #$27 !
      ED49: AA TAX
      ED4A: 8F 04 D2 SAX $D204 ;AUDF3
      ED4D: AF 32 02 LAX $0232 ;SSKCTL
      ED50: 8F 0F D2 SAX $D20F ;SKCTL
      ED53: 18 CLC
      ED54: 60 RTS


      Po podmienieniu kodu procedury czekają ok. 5s, aż wysoki ton z kasety przełączy interfejs na turbo, a potem robią normalny skok do ładowania bloku: JSR $FD8D

      Przy wejściu do procedury $ED3D akumulator ma $01 a rejestr X $02.
      Czyli ustawiają częstotliwość 3995,02Hz i jadą normalnym odczytem bloku.
      Resztę załatwia hardware.
      Proste i genialne :).

      W drugim, długim bloku (już w turbo) jest reszta loadera.
      Na razie nie mogę jej odczytać, bo nie mam hardware albo zaufanego pliku CAS.
      • 44:
         
        CommentAuthorWolfen
      • CommentTime7 Apr 2023 10:04
       
      @adi Moze nie do konca na temat ale wspomniales ze nie widziales aby cos sie odswiezalo po kazdym bajcie odczytu, ja pamietam kopier kasetowy ktory pokazywal bajt po bajcie odczyt dla kazdego bloku niestety nie moge sobie przypomniec jego nazwy :/ pamietam ze na ekranie byl kwadracik w ktorym wypelnialy sie odczytywane bajty.
      • 45:
         
        CommentAuthorWolfen
      • CommentTime7 Apr 2023 10:04
       
      Poprawka ;) to nie byl kwadrat tylko prostokat i bylo to Long File Copy.
      • 46: CommentAuthoradi
      • CommentTime7 Apr 2023 10:04 zmieniony
       
      @Wolfen: Piszesz jak najbardziej na temat :).
      Takie pokazywanie bufora magnetofonu oczywiście widziałem, a nawet wykorzystywałem przy strojeniu moich ostatnich dekoderów FSK.
      Natomiast u Chilijczyków jest coś innego. Nie pokazują bufora tylko przechwytują przerwanie IRQ Pokey-a związane z transmisją szeregową i co jeden odebrany znak aktualizują licznik bajtów.

      Wyświetlanie bufora magnetofonu to prosta sprawa. Ustawia się w DL Antic-a ten sam obszar pamięci co bufor magnetofonu i działa nam w automacie.

      Edit:
      Genialne w ich rozwiązaniach jest to, jak wpasowali się w system operacyjny z turbo. Praktycznie nic nie zmieniali, oprócz ustawienia większej prędkości. Może najwyżej coś przy zapisie. Przy odczycie Pokey wcale nie wiedząc, że otrzymuje dane z turbo leci sobie jak nic swoimi licznikami i przerwaniami. Cały system działa jak fabryczny. Wyświetlanie i inne bajery (muzyczki, mini gierki) podczas odczytu też działają.
      • 47:
         
        CommentAuthorWolfen
      • CommentTime7 Apr 2023 11:04
       
      Skoro da sie w tle zrobic ponga czy odwtarzac muzyke to pewnie mozna i inne cuda :) Ciekawe ile czasu procesora zostaje na takie zabawy (pewnie zalezy tez od predkosci transmisji)
      • 48: CommentAuthoradi
      • CommentTime7 Apr 2023 12:04
       
      Na pewno zależy to od prędkości transmisji. A czasu procesora pozostaje sporo, bo większość roboty wykonuje Pokey. Procesor musi tylko zabrać bajt z rejestru Pokey-a i umieścić go w pamięci. Jednak robi to według procedur z OS Atari, a tam jest sporo dodatkowych operacji.
      • 49: CommentAuthoradi
      • CommentTime7 Apr 2023 12:04 zmieniony
       
      Dalej rozglądam się po Sistjema Injektor.
      W Lado_B_Basic.cas znalazłem:
      0189 EB 27 SBC #$27
      018B AA TAX
      018C 8F 04 D2 SAX $D204
      018F AF 32 02 LAX $0232
      0192 8F 0F D2 SAX $D20F
      0195 60 RTS


      Czyli do rejestru $D2OF zapisują wartość #$27.
      Co daje bit3 = 0 - transmisja dwutonowa wyłączona.
      Piszą Poke-yem do magnetofonu jak do stacji dysków.
      Dodatkowo nakładają na to przebieg zegara za pomocą dwóch rezystorów we wtyczce SIO.
      • 50: CommentAuthoradi
      • CommentTime8 Apr 2023 03:04 zmieniony
       
      Złapałem analizatorem stanów logicznych podłączonym do realnego Atari nagranie Sistjema Injektor.

      Zapis na DataOut jest cyfrowy, brak charakterystycznych dla magnetofonu dwóch bajtów sychronizujących $55.
      Częstotliwość przebiegu zegara: 4kHz
      Przebieg danych dokładnie zsynchronizowany z zegarem.