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
     
    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 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
     
    No ładne cacko :)
    • 4:
       
      CommentAuthorpirx
    • CommentTime31 Mar 2023
     
    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
     
    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
     
    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
     
    o to to!
    • 8: CommentAuthoradi
    • CommentTime1 Apr 2023
     
    @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
     
    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
     
    To mi coś przypomina...
    ->link<-
    • 11: CommentAuthoradi
    • CommentTime2 Apr 2023 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
     
    @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
     
    @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.
    • 14: CommentAuthorfokaszalot
    • CommentTime2 Apr 2023
     
    Bardzo fajny projekt. Trzymam kciuki!
    • 15: CommentAuthorDemorgh
    • CommentTime2 Apr 2023
     
    powodzenia :)
    • 16: CommentAuthorbaktra
    • CommentTime3 Apr 2023
     
    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 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
     
    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
     
    @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
     
    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
     
    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
     
    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 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
     
    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
     
    @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
     
    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 zmieniony
     
    Przepraszam za taki zalew postów :).
    Jestem pod wielkim wrażeniem Injektora.

    Na filmiku ->link<-
    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 zmieniony
     
    Edit2: Jest dowód: ->link<-

    Edit3: i jeszcze jeden: ->link<-

    Trzeba pamiętać że bloki są 256-bajtowe czyli 2 razy większe niż w normalu.
    • 29:
       
      CommentAuthorjhusak
    • CommentTime4 Apr 2023 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 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
     
    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 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 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 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 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
     
    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
     
    I jeszcze zrzuty ekranów:
    • 38: CommentAuthoradi
    • CommentTime6 Apr 2023
     
    • 39: CommentAuthoradi
    • CommentTime6 Apr 2023
     
    • 40: CommentAuthoradi
    • CommentTime6 Apr 2023
     
    • 41: CommentAuthorrobert
    • CommentTime6 Apr 2023
     
    @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
     
    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 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
     
    @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
     
    Poprawka ;) to nie byl kwadrat tylko prostokat i bylo to Long File Copy.
    • 46: CommentAuthoradi
    • CommentTime7 Apr 2023 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
     
    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
     
    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 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 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.