thing neo 1.60 Olivier Landemarre wydał nową wersję desktopu Thing. VIII. Basque Tournament of Atari 2600 Kolejna relacja, wśród otrzymywanych od naszego przyjaciela Egoitza z Kraju Basków. Przezroczysta obudowa dla Atari 800XL Rusza przedsprzedaż wyjątkowej, przezroczystej obudowy do komputera Atari 800XL! RECOIL 6.4.5 RECOIL to przeglądarka retro plików graficznych, obsługująca ponad 550 formatów, dostępna na różnych systemach operacyjnych, z regularnymi aktualizacjami. ABBUC Software 2024 - wyniki Ukazały się wyniki tegorocznego ABBUC Software Competition
Ten cart który ja kupowałem z miał właśnie tą białą naklejkę, niestety było to na tyle dawno że nie mam już historii zakupów na e-mail, a allegro postanowiło nie trzymać tak starych zapisów u siebie (przynajmniej ich nie pokazują na moim koncie). No ale jak pisałem wcześniej, byłem świadom że to prawdopodobnie jest klon/replika i to mi nie przeszkadzało. Natomiast numer z "multi cartridge", no cóż.
Ja nie mam żadnej pewności, swego czasu na allegro te carty (zawierające PCB które widać na fotach) były dostępne na znanym portalu aukcyjnym, ale to było dawno temu, ale tej "mistyfikacji" wcale nie musiał dokonać autor tych cartów, może ten zabieg wykonał ktoś później. Dlatego właśnie nie chcę nikogo oskarżać bo nie mam żadnych niezbitych dowodów.
Ten cart który ja kupowałem (AST/ATT/UM) miał naklejkę która wskazywała że to replika, kupiłem tylko aby sprawdzić zawartość EPROM. Na aukcji nie pisało że to "egzemplarz oryginalny", więc ja kupiłem z pełną świadomością co kupuję, jednak jak zobaczyłem ten egz. "AST Multi Cartridge" to się zagotowałem i całą sprawę postanowiłem opisać.
Dziś będzie krótka historia z cyklu "Panowie, nie idźcie tą drogą"... ale zacznijmy może od początku... w kolejnej paczce z zasobami od kolegi uicr0Bee, zwrócił moją uwagę taki cart:
Pierwsze podejrzenia wzbudziła już naklejka, a potem było coraz gorzej... pierwsze od czego zacząłem to próba rozebrania carta, ale był on spreparowany tak aby nie dało się go łatwo otworzyć, ponieważ krawędzie obudowy zostały zalane klejem cyjanoakrylowym (jak się potem okazało PCB również zostało tym "zabetonowane"), śruba została również tak wkręcona i zaklejona aby nie dało się tego łatwo rozebrać. Cartridge oczywiście nie działał, ale o tym również za chwilę... i dlatego nie miałem jakiegoś problemu aby użyć siły aby go otworzyć, bo cała operacja mogła być destrukcyjna. Obudowa cartridge to nie jak zawsze produkt firmy Maszczyk, lecz kiedyś nieco tańszy produkt firmy Kradex.
Po rozebraniu cartridge i zobaczeniu PCB już wiedziałem że mam do czynienia, z prymitywną próbą oszustwa:
Dlaczego oszustwa? Ponieważ już dawno, dawno temu udało się odtworzyć i zreplikować AST Mulicartridge, całość zaczęła się w tym wątku AST Turbo Cartridge, jak wyglądał oryginał można zobaczyć w tym poście: AST Multi-Cartridge, dla zobrazowania (jakby komuś się nie chciało klikać w link do innego wątku), wklejam foty oryginalnego AST-Multi-Cartridge:
Skąd moje wzburzenie? Przecież to świat retro, otwieramy i udostępniamy te projekty aby każdy mógł sobie zreplikować co chce i jak chce. Chodzi mi o to czym ten cartridge zaprezentowany wyżej nie jest, bo jego uruchomieniu widzimy:
więc nie jest to tak jak sugeruje naklejka "Multi-Cartridge" a zwykły pierwszy cartridge przeznaczony dla AST, dla przypomnienia menu multicartridge wygląda tak:
Podrabianie produktu i rozpowszechnianie go jako coś "czym nie jest", wygląda bardzo kiepsko :/ szczególnie że autor tegoż rozwiązania skorzystał z pracy Dely-ego, który dokonał odtworzenia naklejki i umieścił źródło we wskazanym przeze mnie wątku o AST.
Powtórzę ponownie... Nie wkurzał bym się o to wszystko gdyby nie dwie sprawy:
stworzenie repliki OK! To byłbym w stanie zrozumieć, ale stworzenie "podróbki" udającej inny produkt to moim zdaniem przegięcie.
gdy tworzy się jakąś replikę należy zadbać aby dany produkt był sprawy i funkcjonujący prawidłowo, niestety ten cart nie działa prawidłowo z powodu błędu w jego projekcie.
Pozwalam sobie twierdzić że projekt jest zły, ponieważ sam kupiłem kiedyś na znanym portalu aukcyjnym podobny produkt, tylko zawierający oprogramowanie do AST/ATT/UM. Niestety nie startował on również w żadnym z moich komputerów. Problem z projektem cartów od tego człowieka jest taki że linia CCTL jest używana jako taktująca przerzutnik odłączający cart, niestety jej wykorzystanie w taki sposób powoduje po prostu losowe odłączanie carta zanim komputer i jego system operacyjny wystartuje. Z problemem spotkali się już konstruktorzy cartów z tamtych czasów (w szczególności cartów dla Blizzard) i rozwiązywali oni problem w zaskakujący dla mnie sposób (tani, skuteczny, ale działał :P), po prostu linię CCTL obciążano kondensatorem o pojemności paruset pF, co miało działać jako prymitywny filtr dolno-przepustowy, eliminujący zakłócenia wysokiej częstotliwości. Po zastosowaniu takiego patch-a, w projektach opartych na tym PCB pozwala je przywrócić do sprawności, dla potomnych, gdyby ktoś miał problemy tego typu cartem, może zastosować taki patch. W przypadku carta który kupiłem kiedyś do AST/ATT/UM wystarczyło 100pF pomiędzy CCTL a VCC:
Także Panowie, parę słów podsumowania mojego kolejnego wywodu. Ja rozumiem że ktoś tworzy sobie jakieś repliki, klony, i potem puszcza sobie to gdzieś w świat, nie mam z tym problemu. Ale gdy ktoś próbuje zafałszować rzeczywistość, tego nie jest w stanie zrozumieć. Przecież to prędzej czy później i tak wypłynie. Oczywiście nadal będę publikował te wszystkie moje wyniki prac i analiz, nie będę chował plików i zamykał tego wszystkiego. Nie mam problemu że ktoś sobie zrobi parę sztuk klonów/replik i puści to dalej. Nie wszyscy potrafią przecież lutować i nie wszyscy mają na to chęci i czas, więc kupią gotowca. Jednak sądzę że takie przypadki jak ten nie są fair! Szanujmy się nawzajem, jesteśmy małą społecznością.
Trzymajcie się! I do usłyszenia niebawem! Będą kolejne materiały :)
Miało być wszystko powoli i na spokojnie, jednak wytrącony z rytmu pracy przez różne rzeczy postanowiłem o tym napisać już teraz, ostatnio przeglądałem sobie kod loaderów AutoTurbo i Wrocławskiego Turbo 2000... zacząłem zauważać dziwne rzeczy... do kompletu doszły informacje które tutaj udostępnił nam baktraaa, a jeszcze w międzyczasie dodatkowo Krzysztof "KAZ" Ziębik z AtariOnline wysłał do mnie e-mial pytając o różne rzeczy, między innymi o moje przemyślenia na temat "Wrocławskiego Turbo 2000" i braku opisu tegoż systemu w Atariki.
Przyznam że od jakiegoś czasu zbierałem się aby ten art napisać, ale rzeczy które obserwowałem w kodzie i eksperymenty które przeprowadziłem nie dawały mi spokoju... chciałem na spokojnie przeanalizować to wszystko, ale widać los chciał aby to było na wariata i po łebkach. Postanowiłem że opiszę ten system już teraz, mimo iż miałem co do niego spore wątpliwości, nie chciałem być zbyt surowy w ocenie jednak doszedłem o ściany i po prostu postanowiłem napisać to czego jestem w 90% pewien, nie wiem czy nikt się nie obrazi, ale powstał wstępny wpis o Wrocławskim Turbo 2000... jeżeli kogoś mój sposób formułowania myśli obraża i uważa że to nie tak, to proszę poprawcie mnie.
Ja tymczasem zaprezentuję wam nieco przydługi i nudy film zrobiony przy pomocy emulatora, paru obrazów cartów udostępnionych przez Voy-a (do wrocławskiego Turbo 2000), parze loaderów do czechosłowackiego systemu Turbo 2000 oraz niezawodnego Turgen-a który stworzył baktraaa, zanim jednak pokażę film to linki do wpisu na Atariki:
Po analizie kodu loaderów, testach i eksperymentach, zarówno na realnym sprzęcie jak na emulatorze jestem w 99% pewien że Auto-Turbo i Wrocławskie Turbo 2000 to klony systemu czechosłowackiego opracowanego przez J.Richtera w 1987 roku.
Podobieństwo nie występuje tylko w warstwie sprzętowej. Format danych używany przez Auto-Turbo i Wrocławskie Turbo 2000 jest identyczny z czechosłowackim Turbo 2000 (pisząc format danych mam na myśli nie tylko strukturę pliku ale również długość impulsów, kolejność bitów, sposób generowania sumy kontrolnej, do tego duże fragmenty kodu się pokrywają).
Loadery dla auto-turbo (które są tak naprawdę przeróbkami loaderów J.R. ) oraz oprogramowanie dla Wrocławskiego Turbo 2000 bez problemu czyta format danych czechosłowackiego turbo 2000, dla unaocznienia tego film pokazujący jak pliki wygenerowane w formacie Czechosłowackiego Turbo 2000 za pomocą Turgen-a bez problemu są odczytywane przez oprogramowanie obsługujące Auto-Turbo i wrocławskie Turbo 2000: (film jest bez dźwięku bo o nim zapomniałem, zresztą nie było by za bardzo czego słuchać). Miałem to pokazać na realnym sprzęcie, ale zdałem sobie sprawę że zanim do tego usiądę i zrobię to minie szmat czasu, zatem użyłem prowizorki i zrobiłem to za pomocą emulatora, obrazu parów cartów udostępnionych przez Voy-a, oraz mirror strony "w1k" do której linkował baktraaa (tam znajdują się loadery do czechosłowackiego turbo 2000 datowane na 1987, 1988 rok)
Czyli kolejny system Turbo okazał się klonem już wcześniej istniejącego rozwiązania, które przywędrowało do Polski zza granicy.
Generator "GRN-2" wylądował! Dziękuję! Przesyłka solidnie zabezpieczona na czas transportu! Nic nie miała się prawa z nią stać :) Generator działa bez problemu generuje sygnały prostokąt/sinus w zakresie 20Hz - 200KHz, przykładowy przebieg wygląda tak:
a co jest w środku? dla ciekawych zdjęcie wnętrza:
Jak widać powyżej, generator zrealizowany głównie na elementach dyskretnych, do kompletu dwa układy scalone, oczywiście klony zachodnich konstrukcji:
КР140УД1А ---> µA702; czyli typowy wzmacniacz operacyjny z epoki :)
К155ЛА1 ---> 7420; czyli podwójna w wejściowa bramka NAND:
Zadziwiające ale po takim czasie ten generator działa bez większego problemu, mała niestabilność występuje jedynie przy 200KHz na przebiegu sinus, ale o zapewne wina już wyschniętych elektrolitów. Z czasem sobie "odrestauruję" ten generator i wymienię elektrolity, na chwilę obecną wymieniłem tylko kabel sieciowy na nieco nowocześniejszy i w czarnym kolorze.
Sprzęt przyda się przy pracach z jakimiś układami m.cz. Będzie jak znalazł. mały poręczny i stabilny. W końcu jak się pracuje nad retro sprzętem to trzeba mieć też retro warsztat! nieprawdaż? :)
Oczywiście będę te opisy rozwijał w miarę zapoznawania się tymi systemami, jest to dla mnie bardzo ciekawa sprawa i na pewno nie omieszkam opisać wszystkiego dokładnie. Następnym krokiem który chce zrobić to opisać Super Turbo na podstawie informacji których nam tutaj udzieliłeś. Bardzo to doceniam.
Zresztą mam nadzieję że społeczność tutaj obecna też dorzuci coś od siebie, bo fajnie by było aby nie był prezentowany tylko i wyłącznie mój punkt widzenia, bo w wielu aspektach mogę się mylić lub być zbyt stronniczy. Także jeżeli nawpisuje jakichś głupot na Atariki to proszę poprawiajcie mnie również. Powtórzę to po raz setny :) Ja nie mam "licencji na nieomylność" i błądzę dość często.
A jeżeli chodzi o te zamierzchłe czasy, to ja w końcówce lat '80 miałem zaledwie "naście" last (rocznik '75) więc, a pierwszy system turbo do magnetofonów Atari który miałem zamontowany to był K.S.O. Turbo 2000. Moja przygoda z Atari zaczęła się od samego komputera (nie miałem żadnej pamięci masowej). Po jakimś czasie na giełdzie udało mi się nabyć interface do "zwykłego magnetofonu", jedyny magnetofon dostępny dla mnie w tamtym czasie to był szpulowy magnetofon M2404S:
^^^ zdjęcie pochodzi z http://unitraklub.pl (mój 2404s czeka na odrestaurowanie, bo mam go do dziś)
I to była moja pierwsza pamięć masowa do Atari :) Sprawdzał się jednak znakomicie, wyciągnięcie na nim prędkości 900 lub 1200 bodów nie było problemem (używając standardowego zapisu FSK). Potem gdy mojej matce udało się uzbierać trochę funduszy stałem się posiadaczem XCA12 pracującego w trybie standardowym, trochę czasu zajęło zanim stałem się posiadaczem K.S.O. Turbo 2000.
Dla mnie przejście na zapis Turbo to była prawdziwa rewolucja :) Wszystko stało się prostsze. Posiadaczem stacji dysków stałem się dużo, dużo później. Co śmieszniejsze gdy miałem tylko Turbo 2000, zachciałem mieć również QMEG, czego człowiek montujący mi to na giełdzie nie mógł zrozumieć, bo QMEG był tylko i wyłącznie dla posiadaczy "stacji dysków", ale ja robiłem bardzo duży użytek z tego OS-a, nawet mając tylko Turbo 2000. Jego wbudowany "MLM", oraz możliwość współpracy z ram-dyskiem dawały mi nowe możliwości, a przerwanie programu przez SELECT+RESET, bez niszczenia zawartości pamięci (no może poza pamięcią ekranu) dawało mi możliwość analizy kodu różnych programów, w ten sposób uczyłem się nowych rzeczy :)
No dobra chyba za bardzo odpłynąłem od sedna tematu, zatem pora kończyć ten mój wywód.
@baktraaa: bardzo dziękuję za wyjaśnienie kwestii MD-DOS, teraz sprawa jest jasna! Wspominałeś również że prawdziwym przełomem były TT-DOS oraz TOS, możesz powiedzieć parę słów o tych rozwiązaniach? No i dlaczego były takie przełomowe?
Sugerowałeś też aby zrobić nowy wątek o czechosłowackich systemach turbo, mi osobiście nie przeszkadza że dyskutujemy o tym tutaj, ale jeżeli uważasz że tak będzie logiczniej i dzięki temu informacja będzie łatwiejsza do znalezienia i przeczytania to ja nie mam nic przeciwko. Temat wydaje mi się bardzo interesujący i mógłbym o nim czytać godzinami. Oczywiście jeżeli tylko miałbyś chęci i czas opowiedzieć nam o tym wszystkim. Po ogarnięciu tego co dostałem do przejrzenia od uicro0bee chciałem się zająć analizą i przyglądaniem się tych czechosłowackich systemów Turbo. Parę razy trafiłem w kodzie różnych loaderów dla polskich systemów turbo (np. AutoTurbo) kod który łudząco był podobny do tego co mogłem zobaczyć w loaderach do czechosłowackich Turbo 2000. To by wskazywało że rozwiązania z Czechosłowacji miały duży wpływ na nasz rodzimy rynek systemów Turbo, to jest bardzo Ciekawe z punku widzenia historycznego.
To jeszcze skoro jesteśmy w temacie moich pytań co Czeskich systemów Turbo to kiedyś (dawno temu) będąc na "Forever Party", zobaczyłem że prace na Atari są odpalane z czegoś co się zwało MD-DOS, a autorem tego rozwiązania był M.Dadok, wyglądało to dokładnie tak:
W sekcji MD DOS 256KB był opis cartridge zawierające MD-DOS, był nawet schemat, ale nigdy nie znalazłem obrazu tego carta w sieci.
Czy możesz opowiedzieć coś to MD-DOS i jego autorze (M.Dadok?) Z tego za zauważyłem M.Dadok był również autorem sporej ilości softu dla czeskich systemów Turbo, tzn. loaderów i cartów. Czy mógłbyś napisać parę słów o tym wszystkim?
Szukając ostatnio po internecie, jedyne co udało mi się znaleźć o MD-DOS to instrukcja do tego systemu: http://www.atari8.cz/mddos.pdf
@baktraaa: bardzo, ale to bardzo dziękuję za tak obszerną i dokładną odpowiedź. Nie wiem jak to robisz, ale doskonale posługujesz się językiem polskim i w dodatku rozumiesz jakie błędy w rozumowaniu popełniam przy próbie czytania tekstów w języku czeskim lub słowackim :)
Z tym "drugim standardem", powiem Ci że bezbłędnie wytłumaczyłeś ten aspekt, ja się tak zafiksowałem na systemach turbo, że zupełnie nie brałem pod uwagę tego kontekstu który naświetliłeś. Teraz wszystko stało się oczywiste.
To co opisałeś z takimi szczegółami rozwiązuje wszelakie moje wątpliwości i pozwala zrozumieć realia tamtych czasów nie tylko z perspektywy tego co się działo tutaj w Polsce ale również u was! To naprawdę niesamowite wrażenie gdy po tylu latach zastanawiania się człowiek dostaje odpowiedź na nurtujące go pytania.
W najbliższym czasie postaram się uzupełnić informację na Atariki dotyczące opisu tych systemów Turbo. Twoja pomoc jest nieoceniona! Jeszcze raz bardzo, ale to bardzo WIELKIE DZIĘKI!
ale za to z ogromną ciekawością przeczytałem cały rozdział "III Turbo Systems", to dla mnie bardzo ciekawe informacje. Fajnie że chciało Ci się to wszystko opisać.
"Systém Turbo 2000 pana Jiřího Richtera se ihned po svém veřejném představení prostřednictvím přílohy Zpravodaje AK Praha v roce 1987 stal v ČSSR druhým standardem."
co można chyba przetłumaczyć mniej więcej: "System Turbo 2000 pana Jiriego Richtera stał się drugim standardem w Czechosłowackiej Republice Socjalistycznej, po jego prezentacji w dodatku do biuletynu klubowego "AK Praha" w 1987 roku".
Możesz podpowiedzieć jaki system turbo był równie popularny (był pierwszym standardem" w ówczesnej Czechosłowacji?)
Z tego co udało mi się wyczytać na różnych czeskich i słowackich stronach Jiri Richter zaprezentował potem Super Turbo (to które prezentujesz na swojej stronie (https://turgen.sourceforge.io/index.php/documentation/) w pliku: Turbo2000_Upgrade.pdf <--- wydaja się być chyba jakąś odmianą super turbo od Jiri Richter-a? dobrze myślę czy się mylę?
Wnioskuję to po tym co zaprezentowane zostało tutaj:
Z tego co zrozumiałem potem powstało JRC czyli Jiri Richter Computing które zajmowało się produkcją i dystrybucją oprogramowania dla Turbo, trafiłem w sieci (na tej stronie: http://jindroush.atariportal.cz/acarts.htm) na opis cartridge Toolbox III:
Próbowałem znaleźć obraz tego cartridge w sieci, ale wydaje się że nie jest łatwo dostępny w zasobach internetu. I teraz mam pytanie... ponieważ firma JRC nadal istnieje, to czy brak tego obrazu w sieci jest jakoś związany z ochroną prawną tegoż oprogramowania, czy po prostu jest to trudne do zdobycia? A może nie umiem szukać?
EDIT:
Tym cartem i super turbo zainteresowałem się z dwóch powodów:
1) VisiCOPY wykorzystuje grafikę PMG jako "wskaźnik postępu" podczas kopiowania, a ja sądziłem ten na ten pomysł wpadł ktoś opracowujący Turbo 2001 (odmiana turbo 2000F), ale jak zwykle wygląda na to że ktoś to wymyślił już wcześniej :)
2) Super Turbo wygląda na bardo dobrze zoptymalizowaną i przemyślaną następcę wcześniejszego Turbo2000... pomysł z wykorzystaniem istniejących elementów i dodatnie tylko prostego klucza w postaci dwóch tranzystorów jest genialny w swojej prostocie. Do tej pory sądziłem że to twórcy Turbo 2000F wpadli na ten pomysł, jednak widzę że J.Richter był pierwszy, a Turbo2000F to jeszcze bardziej uproszczona wersja "Super Turbo" od J.R. ... bo "u nas" (w Polsce) pożałowali nawet dwóch tranzystorów i diody, zastosowali po prostu prymitywny przełącznik ;)
@PAUZA: Ehhh... no tak... instrukcję trzeba umieć czytać ;) przyznaję że wcześniej jej zbyt dokładnie nie przejrzałem, a tam dokładnie wszystko zostało przez Ciebie opisane, przepraszam za zamieszanie... moja wina, że nie przeczytałem dokładnie instrukcji, bezmyślnie założyłem że silence list może generować tylko przerwy po wybranych segmentach, ale nie doczytałem że można robić pauzy.
Wykonałem trochę testów, wszystko działa znakomicie. Wszystkie próby wczytywania (było ich ponad 20) powiodły się. Za każdym razem detekcja przebiegała bezbłędnie! Wszystko działa teraz znakomicie. DZIĘKI! :)
Z ciekawostek, gdy włączyłem oba systemu turbo, tzn. KSO 2000 oraz Turbo 2000F loader preferował czytanie z interface KSO :) Przetestowałem to "wyrywając" kabel z drugiego portu JOY-a w trakcie transmisji.
Jeżeli chodzi o L3 to jeżeli masz czas, chęci i ochotę to czemu nie? Będzie kolejny poprawiony loader.
Bawiąc się teraz tym wszystkim (używałem taniego i badziewnego chińskiego adaptera kasetowego) i odtwarzałem nagrania bezpośrednio z Turgen, używając opcji "Audio", przy testowaniu w ten sposób nasunął mi się pewien pomysł "racjonalizatorski":
Niektóre gry/intra/dema mają segmenty init po których wczytywanie zostaje zatrzymane a program prezentuje ekran tytułowy, wstępne intro, etc. W normalnym wypadku silnik magnetofonu zostaje zatrzymany i dalsze wczytywanie następuje bez problemu gdy użytkownik podejmie wymaganą akcję (wciśnie klawisz, etc.). Niestety w przypadku użycia opcji audio nic nie mogę zrobić, odtwarzanie leci dalej i jedyne co mogę zrobić to wcisnąć STOP. Czy byłaby możliwość dorobienia przycisku "PAUSE" w przypadku korzystania z opcji audio? ew. czy można dodać do opcję w stylu "auto-pause after INIT segment"? albo "auto-pasue before each pilot-tone" (to by działało dobrze w przypadku Speedy 2700, bo on produkuje pilot-tone dopiero po segmentach INIT.
Aaaa, widzisz teraz rozumiem. Wcześniej myślałem że procedura detekcji jest realizowana raz na początku startu loadera, teraz jak pokazałeś przykład to już dokładnie rozumiem o co chodzi! :) dzięki za wyjaśnienie. Sądzę że to jest bardzo dobre rozwiązanie.
Tak, tak... widziałem jak przekładałem sprzęt z paczki do pojemnika "to do" ;-) jeżeli nie będzie żadnych niespodzianek to niebawem pewnie pojawią się nowe wpisy w tym wątku ;-)
piszesz, jak dobrze zrozumiałem, że w oryginalnym loaderze *ajka detekcja turbo też może czasem dać zły wynik wykrycia turbo; ale to może w drugą stronę czyli turbo innych niż kso. kaset/zestawów 'marauder' z grami nagranymi właśnie w 2700 miałem może z dziesięć(/-naście), najczęściej właśnie te taśmy zajeżdżałem, i w życiu warszawy się nie zdarzyło że po loaderze nie pojawił się sygnał wczytywanej gry. zawsze działało.
No bardzo dobrze zrozumiałeś, dokładnie tak jest. Próbowałem na plikach zgranych z kasety od uicr0Bee zawierającej nagrania w speedy 2700, testowałem na grze Gallahad. Na 10 prób wczytań w przypadku 3-4 razy (nie pamiętam dokładnie) loader *AJKA nie wykrywał KSO (odczytywał "1" z portu JOY-a, akurat trafiał z testem w chwilę gdy interface KSO wystawiał "1" (na filmie z YT biały/jasny pasek na ekranie). Loader *AJKA działa tak że domyślnie jest w nim konfiguracja dla KSO, a potem robi test czy bit #7 PORTA == 0, gdy to zero tam jest zostawia loader bez modyfikacji, jednak gdy pojawi się mu tam "1" (domyślny stan gdy nic nie jest podpięte do portu JOY-a, lub jak się okazało interface KSO też potrafi tam wystawić "1") to następuje zmiana konfiguracji loadera (samo-modyfikujący się kod) i przełączenie go na odczyt ze SIO.
Dlaczego u Ciebie działa w 100% dobrze? Może masz mniej szumiący magnetofon, mój to już wrak, wszystko wisi na długich kablach, może interface turbo jest trochę inaczej skonstruowany, może masz inny scalak (np. bramki z przerzutnikami Schmitta na wejściach). W moim magnetofonie nie ma ekranu na PCB, a interface turbo upchnięty jest w durnym miejscu, zauważyłem że ten zakłócający sygnał (w momencie gdy silnik magnetofonu jest wyłączony) to ~50Hz, wiec pewnie jest to przydźwięk sieci. W dodatku kiedyś "eter" nie był tak zaszumiony.. a teraz dookoła masa WIFi, kupa elektroniki, etc. Jo to w dodatku rozłożyłem niedbale, a w okół była masa pracującego sprzętu, które mogły mieć wpływ na brak "ciszy w eterze". Może Twój interface i magnetofon pracowały w spokojniejszym środowisku? albo miałeś lepiej wykonany interface lub bardziej "dopieszczony" magnetofon? :)
baktraaa napisał/a:
Seban, bardzo dziękuję. Zmodyfikuję loader tak, aby wykorzystywał metodę wykrywania sygnału jak Omicron Turbo (OT). OT działa w następujący sposób:
Naprawdę ne ma za co dziękować! Cieszę się bardzo że mogłem pomóc. Robisz porządny kawał pracy. To ja dziękuję za to że masz czas, cierpliwość i chęci cały czas nad tym pracować!
Modyfikacja loadera tak aby wykonywał detekcję taką jak Omicron Turbo, to bardzo dobry pomysł! Pamiętaj tylko ze gdy interface KSO jest nie podłączony na PORTA (bit #7) panuje zawsze "1" (gdy gniazdo jest puste, PIA ma wewnątrz tzw. pull-up na tych liniach). Można więc założyć że loader domyślnie ma wybraną konfiguracją dla odczytu ze SIO, a gdy wykryje pilota na PORTA (bit #7) to dopiero wtedy przełącza się na KSO.
baktraaa napisał/a:
Dzisiaj eksperymentowałem z magnetofonem KSO Turbo 2000 (wejście z portu joysticka). Moja ładowarka Speedy2700 była w stanie rozpoznać ton pilota, ale nic poza tym.
ooo, ale dlaczego kod ładujący nie chciał ładować nic więcej? Patrząc na Twój kod loadera Speedy 2700 wszystko wygląda OK, a jedyne zmiany jakich musisz dokonać aby loader czytał z KSO są w linach 94,95, 101, 117, 118 oraz 125, czyli powinno wyglądać to tak:
94: lda #$80
95: bit $d300
101: bit $d300
117: lda #$80
118: bit $d300
No chyba że te (powyższe) linie zostawisz w spokoju i tak jak pisałem w poprzednim poście dokonasz poprawek w liniach: 297, 299, 304 i 309 na:
Jeżeli interface jest sprawny i głowica poprawnie ustawiona żadnego problemu z odczytem być nie powinno.
ps) na sam koniec jeszcze zdjęcia pokazujące umiejscowienie mojego interface KSO w magnetofonie:
... jak widać zero ekranowanych kabli, kabel idący do porty JOY-a, jest dwa razy dłuższy od kabla łączącego magnet z portem SIO :P (początkowo był to jakiś kabel z wtyczką samoróbką, oblepioną modeliną, a potem jak połamałem swój joystick to wziąłem kabel od niego ;P)
Długo mnie nie było, ale cóż... życie. Wracam do tematu detekcji typu turbo w przypadku loader-a speedy 2700 wersji którą zaprezentował baktraaa, wszystko stało się jasne... w sumie to nie wiem czemu tego wcześniej nie zauważyłem ;-/ Aby dokładnie wyjaśnić o co chodzi muszę zaprezentować zachowanie realnego hardware i opisać to co będzie widać. Wybaczcie marną jakość filmu, ale kręciłem to "z ręki" próbując drugą ręką pisać na klawiaturze i ogarniać jednocześnie sprzęt, wyszło jak wyszło... ale jakbym się z tym "pieścił" to zajęło by mi to kolejne tygodnie :P także wybaczcie, jest jak jest...
Co właściwie widać na filmie? Do Atari podłączony jest magnetofon XCA12 z K.S.O. Turbo 2000 oraz z Turbo 2000F (ale przełącznik od Turbo 2000F jest w stanie "normal"). Zatem loader Speedy 2700 powinien poprawnie wykrywać K.S.O. 2000.
Wykrywanie jest dokonywane przez monitorowanie stanu bitu #7 w porta A, a więc wtyczka od interface turbo jest podpięta zgodnie ze sztuką pod drugi port JOY-a. Na filmie klepię kawałek kodu który ma na celu odczytanie PORTA, przesunięcie jego bitów tak aby zmiany w górnej połowie bitów PORTA było odwzorowane jako zmiany kolorów ramki.
Należy dodać że domyślnym stanem wszystkich bitów PORTA w chwili gdy nic do portów nie jest podłączone (lub gdy joystick nie jest wychylony w żadnym kierunku) jest stan "1". Natomiast po podpięciu kabla od interface do portu joysticka #2, jak pisałem przed chwilą bit #7 reprezentuje aktualny stan na wyjściu dyskryminatora danych tegoż interface, co znaczy tylko tyle że to co interface analizując sygnał na jego wejściu (z taśmy) decyduje czy to co obserwuje na wejściu będzie "1" lub "0" logicznym? A co się dzieje kiedy nie ma żadnego użytecznego sygnału na wejściu interface?
To właśnie pokazuje początek filmu... jak się okazuje w większości czasu na wyjściu interface będzie panowało logiczne "0", i ten fakt wykorzystuje *AJEK aby zdecydować czy ma do czynienia z interface K.S.O. Turbo 2000... tzn. dokonuje odczytu PORTA a i sprawdza czy tam znajduje się "0", jeżeli tak to zakłada że interface K.S.O. musi być podłączony (bo przecież w normalnych warunkach powinno tam być zawsze "1").
Ale jak pokazuje filmik, taka metoda detekcji jest tylko pozornie dobra, bo zdarzyło mi się że loader Speedy 2700 trafił akurat na "1" i przełączył się na Turbo 2000F (które miałem wyłączone) zatem z odczytu nagrania wyszło "wielkie nic" :) Przez większość czasu to działa (jak ktoś chce można liczyć prawdopodobieństwo)... Ale jak widać na filmie nawet interface z wyłączonym silnikiem potrafi wystawiać "1" logiczne mimo braku obecności sygnału z kasety na wejściu.
Od 0:30 - 0:42 widać właśnie ten stan, potem na filmie uruchamiam silnik magnetofonu ($D302=$34) i pokazuje zachowanie gdy silnik pracuje (kasety w kieszeni brak, ale na początku PLAY jest wyłączony [0:56], a potem zostaje wciśnięty [1:02]).
Jak więc widać metoda detekcji u *AJKA jest również niezbyt pewna i daje błędne rezultaty. *AJEK włącza niby od razu silnik, ale na szczęście detekcji dokonuje bardzo szybko po tym fakcie i silnik nie zdąży ruszyć i cały magnetofon przez chwile znajduje się jeszcze w stanie nazwijmy to "IDLE", to zwiększa prawdopodobieństwo że u *AJKA są szanse aby loader poprawnie pracował z K.S.O. 2000.
Pytanie czemu to nie działa w loaderze od Baktraaa? Nie wiem jak na to wcześniej patrzyłem, ale jest to tak oczywiste że sam się dziwię że tego wcześniej nie dojrzałem. Sądzę że Baktraaa disassemblował kod loader już po tym gdy ten dokonał detekcji systemu turbo (nie wykrył KSO) i w kod loadera procedura detekcji wpisała wartości które odpowiadają pracy loadera z Turbo 2000F/AST, etc.
Domyślnym stanem (startowym) loadera jest stan w którym ma on wpisane w procedury odczytu wartości odpowiadające odczytowi danych z K.S.O. 2000. Potem następuje detekcja i ew. korekta loadera tak aby czytał z Turbo 2000F, w przypadku disassemblacji kodu po detekcji efekt będzie taki że loader już nigdy nie będzie miał możliwości przełączenia się na K.S.O. 2000, bo śladu po tych instrukcjach odczytujących z PORTA bit #7 już nie ma. Pojawić się nie mogą, bo procedura detekcji tylko przełącza na Turbo 2000F, więc przełączanie z Turbo 2000F na Turbo 2000F niewiele zmienia ;-)
procedury odczytu przed detekcją w oryginale wyglądają tak:
zatem procedura detekcji przełączenia znajdująca się od linii 296, czyli:
lda PORTA ;Check signal at joystick port
bpl L085E ;If no signal, then skip
lda #$0F ;Modify the decoding routine so
sta L0708 ;it reads from the joystick port
sta L0715
sta L072E
sta L0739
lda #$D2
sta L0709
sta L0716
sta L072F
sta L073A
lda #$10
sta L0706
sta L072C
nie ma prawa działać.
Można to poprawić w procedurach odczytu na odwołania do KSO, albo zmienić procedurę detekcji tak aby wykonywała się zawsze gdy zostanie wykryte KSO, czyli:
lda PORTA ;Check signal at joystick port
bmi L085E ;If no signal, then skip
lda #$00 ;Modify the decoding routine so
sta L0708 ;it reads from the joystick port
sta L0715
sta L072E
sta L0739
lda #$D3
sta L0709
sta L0716
sta L072F
sta L073A
lda #$80
sta L0706
sta L072C
jednak tak jak pisałem przydałoby się sprawdzić więcej niż raz czy w PORTA bit #7 nie zmienia stanu na "0", lub że przez jakiś okres czasu bit #7 w PORTA ma zawsze stan "1", można to zrobić jakoś tak:
; wait for scanline #0
lda $d40b
bne *-3
dt_loop lda PORTA
bmi dt_wait
; KSO detected ...
lda #$00
sta ...
sta ...
lda #$d3
sta ...
sta ...
lda #$80
sta ...
sta ...
jmp dt_end
dt_wait lda $d40b
bpl dt_loop
dt_end
... lub oczywiście w dowolny inny sposób który Ci przyjdzie do głowy i który będziesz uważał za słuszny.
Gdybym coś za ostro zamotał i napisał zbyt niejasno to oczywiście nie wahaj się pytać.
ps) przepraszam że tyle czasu to trwało, ale naprawdę nie miałem się do tego kiedy zabrać ;/
@seban - zapewne karta będzie Twoja - zabrać ją z sobą na SV? Wyjeżdżam jutro po zamknięciu licytacji, więc będę wiedział co i jak...
Niestety nie będę mógł być na SV. Jeżeli faktycznie nikt inny nie będzie chętny na kartę, to ja preferowałbym przesyłkę paczkomatem Inpost. Czy to nie będzie dla Ciebie problem? Ale to można na spokojnie jak już wrócisz z SV.