Super! Dziękuję! Jak dotrze to zabiorę się możliwie szybko za testy.

Teraz chciałem jeszcze dorzucić resztę kaset z kolejki, zostały dosłownie 3 szt. A potem dokończę sprawę Turbo 2600 firmy Szok ze Świebodzina, bo jeszcze nie odesłałem wypożyczonego interface do właściciela bo jakoś nie mogłem ogarnąć weryfikacji schematu przez zmontowanie prototypu na płytce stykowej. Mam nadzieję że w końcu uda mi się tę zaległość nadrobić. Kasety ogarnę pewnie w ciągu nadchodzących dni. Potem zostanie trochę cartów i parę magnetów z kolekcji uicr0Bee-iego... podchodzę do nich jak do jeża (do magnetów) bo same wredne przypadki zostały :) i co się nie zabiorę to grubsza sprawa wymagająca rozebrania połowy magnetofonu :D

Piguła/Shpoon napisał/a:

Jak Ci się chce to możesz nawet z niego to turbo UM wymontować a wrzucić KSO.... dla mnie będzie to o tyle fajniejsze, że będę dysponował magnetofonem w innym standardzie...

KSO można dołożyć bez usuwania UM, także to nie problem :) Oba systemy mogę koegzystować razem. Z tym że KSO Turbo 2000 to ten system co się podłączało kabel do drugiego portu JOY-a, rozumiem że ten system miałeś na myśli?

baktraaa napisał/a:

Nie, chciałem tylko zaznaczyć, że prawidłowo podłączony magnetofon kasetowy UM przełącza się w tryb turbo, gdy sygnał COMMAND jest aktywny (log. 0)

I tak dokładnie robię w tej patch-owanej wersji Turbo 2000F/CMD. Dokładnie tą samą sekwencją włączam aktywność linii COMMAND.

Wysłałem e-mail via forum! Dzięki za chęć wypożyczenia magnetofonu. Będzie druga sztuka z turbo UM do porównania!

WIELKIE Dzięki! Teraz wszystko jasne! Przyjrzę się temu dokładniej! Bo aż trudno mi uwierzyć że różnica 4 cykli w pętli pomiaru zliczania długości impulsów może dawać takie efekty! tzn. mam pewne podejrzenia związane z samym interfejsem, ale to na razie tylko spekulacje, sprawdzę to na pewno przy najbliższej okazji!

Jeżeli miałbyś jeszcze chwilę czasu i cierpliwości to czy możesz zrobić zdjęcie swojego interface w magnetofonie? (góra i dół płytki) porównałbym z tym co widziałem wcześniej w magnetofonie od uicr0Bee-iego: UM-Ex Atari Turbo System.

No Lost niestety nie będę... w tym roku niestety nie będzie to możliwe. Miałem magnet z UM turbo od ucr0Bee-iego, ale jak go testowałem mi wszystko działało ;/ Odesłałem go po przeglądzie i rozrysowaniu schematu, więc w razie czego mogę bez problemu ten interface odtworzyć i zamontować w jednym ze swoich trupków :D

Wybacz pytanie głupiego... i uproczywe drążenie tematu, ale próbuję zrozumieć gdzie tkwi problem piszesz że "... nie rozpoznaje nawet tytułu." Nawet jak odwrócisz fazę sygnału? A ten soft mini/pack daje radę to wczytać?

Piguła/Shpoon napisał/a:

Turbo 2000/2000f/2001 w moim województwie nie istniało, patrząc na mnogość loaderów i problemy z ładowaniem niektórych tytułów cieszę się, że tak było. Turbo UM jest o niebo przyjemniejsze w użytkowaniu...

A widzisz... to ja nie miałem innej alternatywy :) A Turbo KSO 2000 bardzo polubiłem, z tym że ja robiłem swoje kasety... i robiłem sobie wersje plików które ładowały się bezpośrednio z softu dostępnego na carcie, bez żadnych loaderów, etc. To była dla mnie swego rodzaju zabawa ... w sumie i nauka też... jak działa system operacyjny, jak zmieścić coś w pamięci wyżej tak aby nie było problemu z ładowaniem z systemowego menu.

W przypadku Turbo 2000/KSO/F problemem było to że rekord miał 3KB i tyle też miejsca trzeba było na bufor wyłuskać co ograniczało dostępną wolną pamięć dla ładowanych programów. Jak nie miałem EXT ram to sobie zrobiłem cart z pamięcią SRAM (o ile dobrze pamiętam była to 8KB kostka) którą się dało zmapować w obszar $A000-$BFFF i tam umieściłem bufory systemowe, jak ogarnę kolejkę spraw zaległych to też zacznę te moje "śmiecie" publikować. Ale szybko porzuciłem ten cart jak tylko udało mi się mieć dodatkowy RAM (192KB od Krzyśka Steca) ... wtedy przerobiłem sobie loadery tak aby bufor danych miały w dodatkowym banku pamięci.

W Turbo KSO/2000/F urzekło mnie to że działało z tym wiele narzędzie typu MAC/65, Assembler Editor, Speed Script... po prostu miałeś w systemie urządzenie "D:" które działało jak urządzenie blokowe, więc nie było problemem aby działały wszystkie "kopiery" i użytki które normalnie współpracowały z DOS.

Oczywiście takie podejście powodowało problem z ładowaniem gier które miały duży apetyt na pamięć podczas ładowania, ale to mi zupełnie nie przeszkadzało :) Jak zobaczyłem AST i jego obsługę to zastanawiałem się jak można czegoś takiego używać ... cieszyłem się że byłem posiadaczem KSO 2000/Turbo 2000F.

A co do UM to trafiłem kiedyś przez przypadek tylko jakieś loadery w standardzie do tego systemu i zastanawiałem się co do właściwie jest... i ten system w warszawie nie był zupełnie dostępny, bo tutaj spotykałem tylko KSO2000/F i ew. AST lub jego klony (ATT).

Po latach dopiero wyszło że AST/ATT/UM czy Turbo 2000 Wrocławskie było bardziej zorientowane na ładowanie tylko i wyłącznie gier, natomiast KSO2000/F, Blizzard o wiele lepiej współpracowało z różnymi użytkami czy językami programowania (np. Turbo Basic XL czy Action!")

Fajnie jest w tym wszystkim grzebać po latach i odkryć to na nowo i poznać że tak powiem te systemu do samego spodu. I nie chodzi o wybieranie najlepszego czy najgorszego... każdy z tych systemów ma swoje wady i zalety! W większości o popularności systemu decydowało dostępne dla niego oprogramowanie i łatwość jego obsługi. Wydaje mi się (może dlatego że byłem długo użytkownikiem tego systemu) że Turbo 2000F/KSO było całkiem intuicyjne i proste w obsłudze.

Ja używając tego systemu turbo i MAC/65 popełniłem takie gnioty jak "The Syf Picture", "Tunnels Demo", czy tam nawet "ScrewLight" ;-) Wszystko kompilowałem i linkowałem używając Turbo KSO 2000 i kilku kaset ;D ... teraz bym to uznał za czyste szaleństwo ale wtedy było to dla mnie "normalne" ;D

Piguła/Shpoon napisał/a:

ps2 z kasety, którą przerabiałeś do plików CAS do plików WAV zrzuciłem jeszcze Skarbnika, Trixa... no i o dziwo
twój soft ich nie chwyta... jak wybiorę jeden z wcześniejszych loaderów to widzę, że one są w speed2700 (mają loader ajka na początku) i potem lecą kolorowe paski (za pomocą tych dwóch loaderów co dołączałem wcześniej ładnie się wczytują).

Czekaj, czekaj... abym dobrze zrozumiał... kiedy dokładnie pojawia się problem? Czy udaje się wczytać loader Speedy 2700 i potem dopiero nie idzie? Czy już się nie udaje wczytać samego loadera? Pytam o to bo loader dla Speedy 2700, ma niby procedurę detekcji ale ona jest nieco spaprana i może nie wykrywać dobrze źródła sygnału (loader do Speedy 2700 próbuje wykryć czy sygnał pojawi się na drugim porcie Joy-a (KSO2000) czy też na DATA_IN w porcie SIO.

Co do odpalania tego z AVG to nie wiem co może być problemem, może loader AVG zmienia coś na stronie zerowej czy gdzieś w lokacjach systemowych tak że potem pojawia się przy ładowaniu danych z Turbo. Zmienię sposób startu tej wersji z patch-em, tam aby robiła sobie sama "ciepły start" przed uruchomieniem, to rozwiąże problem z kolizją z istniejącym urządzeniem "D:", dodam także możliwość wyboru pomiędzy "D:" a "T:"

Jeszcze raz dziękuję za testy! Wyjaśnia się wiele spraw.

Sikor napisał/a:

Tu jest różnica we wczytywaniu. D:*.* powinien wczytać program bez zatrzymywania się na tytule, D*** zatrzyma się na tytule z pytaniem T/N - tak to pamiętam z mojego magnetofonu i turbo. Muszę się wreszcie do Ciebie pofatygować i go ożywić...

To u mnie w instrukcji pisało że jak chce bez pytania o nazwę wczytać to trzeba napisać "D:@@@". Na filmiku od Piguły widać że "D:*.*" również zadaje pytanie "(T/N)" tak samo jak "D***".

I jeszcze jeden szybki test, procedura odczytu bajtu z "mini/pack":

    F65D: A0 08             LDY #$08
    F65F: AD 1F D0          LDA CONSOL
    F662: F0 D8             BEQ $F63C
    F664: 20 25 F7          JSR $F725              ;[contract]
      F725: A9 10             LDA #$10
      F727: 2C 0F D2          BIT SKSTAT
      F72A: 60                RTS
    F667: D0 F6             BNE $F65F
    F669: A2 00             LDX #$00
    F66B: 8E 1A D0          STX COLBK
    F66E: E8                INX
    F66F: 30 1C             BMI $F68D
    F671: 2C 0F D2          BIT SKSTAT
    F674: F0 F8             BEQ $F66E
    F676: A9 08             LDA #$08
    F678: 8D 1A D0          STA COLBK
    F67B: E0 36             CPX #$36
    F67D: B0 0A             BCS $F689
    F67F: 66 49             ROR $49
    F681: E0 1B             CPX #$1B
    F683: 26 30             ROL STATUS
    F685: 88                DEY
    F686: D0 D7             BNE $F65F
    F688: 60                RTS

i tej wersji która patchowałem;

    0758: A0 08             LDY #$08
    075A: EA                NOP
    075B: AD 1F D0          LDA CONSOL
    075E: F0 D6             BEQ $0736
    0760: 20 5E 08          JSR $085E              ;[contract]
      085E: A9 10             LDA #$10
      0860: 2C 0F D2          BIT SKSTAT
      0863: 60                RTS
    0763: D0 F6             BNE $075B
    0765: A2 00             LDX #$00
    0767: 8E 1A D0          STX COLBK
    076A: E8                INX
    076B: 30 1E             BMI $078B
    076D: 2C 0F D2          BIT SKSTAT
    0770: F0 F8             BEQ $076A
    0772: A9 08             LDA #$08
    0774: 8D 1A D0          STA COLBK
    0777: EC 0A 07          CPX $070A
    077A: B0 0B             BCS $0787
    077C: 66 49             ROR $49
    077E: EC 0B 07          CPX $070B
    0781: 26 30             ROL STATUS
    0783: 88                DEY
    0784: D0 D5             BNE $075B
    0786: 60                RTS

compare_table:

070A: 36 1B

Różnice są kosmetyczne! Właściwie nie powinno to mieć żadnego znaczenia. Wersja "patched" ma właściwe kod tożsamy z tym co się znajdzie w "KSO 2000", tzn. wartości do porównań długości zmierzonych impulsów pobiera z tabeli, wersja "mini&pack" ma te długości zaszyte bezpośrednio w kodzie. Różnica jest taka że CPX $xxxx od CPX #$xx wykonuje się o dwa cykle dłużej.

U mnie działają wszystkie z tych wersji. Naprawdę nie wiem co może być przyczyną tego że u Ciebie nie działa. Próbowałeś ładować jakoś inaczej niż z AVG? SIO2PC? (np. używając RespeQT i Boot Atari Executable)? Ew. czy możesz sprawdzić jeszcze czy jeżeli wykonasz po załadowaniu tej mojej wersji "patched" warm-start (RESET) to czy to cokolwiek zmienia?

http://www.atari.org.pl/forum/misc.php?action=pun_attachment&item=9380

baktraaa napisał/a:

To interesujące. Program ładujący UM ma następującą sekwencję instrukcji.

Mówisz o tych dwóch instrukcjach NOP? To nie powinno mieć teoretycznie znaczenia po potem procedura odczytu dla UM i tak czeka na "ton pilotujący".

Przejrzałem kod "mini" i "pack"... procedury odczytu faktycznie zmieniają także stan linii COMMAND...  czyli wychodzi dokładnie na to samo co zrobiłem robiąc "patch" w tej wersji turbo 2000F którą wrzucałem na forum. Nie wiem czemu wersja którą udostępniłem u Ciebie nie działa... stan linii jest dokładnie taki sam:

Altirra> .pia
Port A control:   34 (IOR, motor line: low / on, proceed line: -edge)
Port A direction: 00
Port A output:    00
Port A edge:      pending
Port B control:   34 (IOR, command line: low / on, interrupt line: -edge)
Port B direction: ff
Port B output:    ff
Port B edge:      none

tyle że w przypadku mini/pack OS-ROM jest odłączony bo procedury odczytu są pod OS-ROM:

Altirra> .pia
Port A control:   34 (IOR, motor line: low / on, proceed line: -edge)
Port A direction: 00
Port A output:    00
Port A edge:      pending
Port B control:   34 (IOR, command line: low / on, interrupt line: -edge)
Port B direction: ff
Port B output:    fe
Port B edge:      none

Jest to dla mnie kompletne zaskoczenie! Do tej pory sądziłem że poza lokacją w pamięci wersje systemów Turbo 2000F/2001, etc. nie różnią się procedurami odczytu! A jednak jest jakaś różnica skoro wersje "mini" i "pack" u Ciebie działają, a mój "patch" nie działa (oczywiście wszystko działa niezależnie od wersji, etc. na magnecie wyposażonym w Turb 2000F lub ten klon czeskiego Turbo 2000 - u mnie działają wszystkie trzy wersje).

Po pierwsze będę musiał zgłębić temat nieco bliżej, po drugie zaskoczyło mnie to że owe wersje "mini" i "pack" sterują linią COMMAND, do tej pory wersje Turbo 2000F/2001 które widziałem nie dotykały PBCTL. Kolejny temat do wyjaśnienia zatem! Ale to niech się trochę chłodniej zrobi! ;-)

ps1) Wersja Turbo 2001 którą sprawdziłeś nie działa bo nie dotyka linii COMMAND, chciałem się upewnić czy aby na pewno UM ma tak samo aktywowany tryb pracy turbo interfejsu. Już się bałem że coś na schemacie mam źle, albo że u Ciebie jest jakoś inaczej. Dzięki za test!

ps2) zauważyłem na filmiku że wpisujesz "D:*.*", nie wiem czy nie wygodniej pisać "D***", ja tak czynię bo szybciej, a efekt ten sam :) Tak zresztą było w instrukcji do KSO 2000 którą kiedyś dostałem jak mi je zamontowano.

No to muszę rzucić na schemat Turbo UM, bo to jest ciekawostka. Ten soft "... CMD patch ...", jak pisałem sprawdzałem z klonem czeskiego turbo 2000 który akurat miałem pod ręką, sprawdziłem tez na magnecie z Turbo ROM i było OK! Wygląda na to że w przypadku UM (przynajmniej tego w Twoim magnecie) linia COMMAND ma zupełnie odwrotne działanie :) tzn. jej aktywacja powoduje że magnetofon przechodzi w tryb NORMAL, zatem mój patch tylko psuje :) Teraz rozumiem czego nie zrozumiałem wcześniej "pack", "patch", etc.  pomerdałem wszystko i nie zrozumiałem co do mnie mówisz ;D

No ale to że kult się nie wczytuje poprawnie wynika z tego co pisałem wyżej  "mini" i "pack" pakują się pod OS-ROM. W załączniku wrzucam wersję Turbo 2001 (zgodne z F) która lokuje się od $700, gdybyś mógł to sprawdzić. To wersja bez żadnych przeróbek dotyczących linii COMMAND.

eee.... Turbo2000F_minisoft.xex oraz Turbo2000_pack.xex w ogóle nie powinny Ci działać na magnecie z UM turbo! :) UM włącza się linią command... nie wydaje mi się aby *.minisoft czy *.pack sterowały linią COMMAND w odpowiedni sposób (ale mogę to sprawdzić). Sądziłem że używałeś softu z tego postu: Turbo 2000F CMD & Phase Select Patch v.1.2

Do kompletu wersje "minisoft" i "pack" lokują się pod ROM, dużo z tych gier które tu wrzucałem nie pójdzie. Tzn. wszystko co się będzie pakowało pod OS-ROM zniszczy procedury Turbo. Ten "... CMD & Phase ..." siedzi w pamięci nisko od $700 jak DOS i większość tych zestawów oczekuje właśnie takiej lokacji systemu turbo (pewnie dlatego KULT wysypuje Ci się na emulatorze). Ja każdy z tych CAS-ów sprawdziłem i każdy z nich ładował mi się na emulatorze. Używałem co prawda carta od KSO Turbo 2000 (sygnał na drugim porcie JOY-a)... ale robiłem tak dlatego że jeżeli były dołączone loadery L1, L2 to one były zazwyczaj w wersji dla KSO również, założyłem zatem iż te zestawy sa po prostu przeznaczone dla KSO.

To jeszcze podpowiedz jak nagrywasz na kasetę plik i ew. z którego zestawu... konwertujesz z CAS-ów do WAVE-ów? Dopytuję bo ja testowałem to na magnetofonie z klonem czeskiego Turbo 2000 oraz Turbo ROM i wszystko działało. Nie testowałem natomiast na UM, bo nie miałem pod ręką, ale będę musiał to sprawdzić w takim razie.

Piguła/Shpoon napisał/a:

AVG użyłem dlatego, że wczytanie narzędzia ze stacji lub sio2pc powoduje problem z obsługą urządzenia D

To sprawdzę również i ten problem. W sumie to nie wpadłem na to żeby to załadować z DOS gdy urządzenie "D:" juz w systemie istnieje. Ale załadowani z DOS i RESET (warm start) też ten problem występował? Niemniej jednak sprawdzę i poprawię.

Dobrze że zgłosiłeś uwagi, nie byłem świadom istnienia tych problemów.

Sikor napisał/a:

Niekoniecznie, spotkałem się z wersją montującą się jako T:, jak przy przegrywaniu kopierami dyskowymi.

Ale ja mówiłem o tym konkretnym przypadku. Muszę zajrzeć do procki instalującej handler. Być może ta wersja softu korzystna z systemowej procki i jej uruchomienie z poziomu np. DOS-a który to już instaluje wcześniej urządzenie "D:" powoduje jakiś problem. Sprawdzę to, może od razu dodam opcję wyboru urządzenia D/T. Ale tak czy inaczej ten soft z DOS-em współpracować nie będzie, ponieważ lokuje się w pamięci od adresu $700 a więc tak czy inaczej będzie kolidować z DOS-em. Ja tego .xex ładowałem używając SIO2PC ale używałem opcji "BOOT Atari Executable" z RespetQT. Nie ładowałem tego z poziomu DOS-a, więc nawet nie byłem świadomy istnienia takiego problemu.

Hej!

Aby być pewnym co i jak to rozumiem że przekonwertowałeś CAS na WAV i nagrałeś to taki plik na kasetę, po czym próbowałeś wczytać to za pomocą przerobionego softu dla Turbo 2000F? Używałeś wersji z opcją odwracania fazy sygnału? Przy odwróconej fazie też nic nie działało?

A czemu aż trzeba było angażować AVG cart? Nie działało wczytanie tego xex za pomocą dowolnego loadera plików binarnych? Soft do turbo 2000F powinien zainstalować i tak swoje urządzenie "D:" niezależnie od tego czy już jakiś wpis dotyczący urządzenia "D:" w HATABS istnieje.

Dzięki QTZ za wrzucenie tego! Niezła kolekcja! Nie byłem świadom że tyle tego było! W sensie miejsc w których się takie zestawy sprzedawało, a co za tym idzie sporo wzorów i etykiet jest! Fajnie to zobaczyć po latach. Ja to widziałem na własne oczy tylko kilka sztuk z tych które zaprezentowałeś!

Hej!

Udało mi się znaleźć chwilę aby ogarnąć ten Blizzard-owy cart Marka Góreckiego, w załączniku archiwum zawierające między innymi wersję .XEX oraz wyłuskany 4kB obraz. Pod emulatorem można go uruchomić wybierając typ carta "4K Blizzard". Archiwum zawiera wszystkie pliki które zostały wykorzystane do "obróbki" materiału, czyli źródło (.xsm) zamieniające zrzut pamięci EPROM w plik .XEX oraz makefile który obrabia oryginalny plik z "simple cart dumpera".

Coś mi się wydaje że będę musiał dorobić obsługę 16kB cartów do dumpera, bo pewnie też i takie carty zalegają w waszych szufladach ;D

@kkrys ... to to ciekawostka :) wygląda na "klona" carta od M.Góreckiego, co ciekawe M.Górecki próbował zabezpieczyć swój cart przed podmianą napisów :) Jednak autor "klona" podmenił również ten fragment kodu, tak aby po podmianie napisów XOR z wybranych komórek się zgadzał ze zmienioną zawartością :D Fajnie że wrzuciłeś ten "dump", bo można podejrzeć jak wyglądała walka autorów cartów z "klonerami" :D

SHA256 EPROM-a z carta od Grzegorza:

ec7a4803ff543c5edbe04065b07bbfbfd87ec4dd696c40c164ea7a955a350135  egrblz_4k.bin

W załączniku poniżej zgrany i obrobiony materiał.

A jeżeli chodzi o schemat carta to jest on tożsamy z tym cartem Blizzard 4K cartridge zaprezentowanym w poście #55 tegoż właśnie wątku. Wartości elementów są nieco inne ale to nie ma większego znaczenia. C1 w tym wypadku ma wartość 390pF, natomiast R1 wygląda na 6.2 kOhm (o ile ten pierwszy pasek to niebieski jest ;P)

Hej!

Dzięki za materiały do obróbki. Tak na szybko rzuciłem na to okiem! Jeden z cartów (Blizzard) udało Ci się poprawnie zrzucić! Podpowiedz proszę czy ten cart da się łatwo rozebrać? Pytam aby potwierdzić rozmiar pamięci która jest w cartridge. Powinno być coś wielkości 2764 lub mniejsze (z analizy dumpa wygląda że to będzie 2732). Dlaczego pytam? Bo mój dumper jest naprawdę sample i zrzuca tylko 8K blok pamięci znajdujący się w obszarze $A000-$BFFF. 

I właśnie dlatego drugi z dumpów (ten drugi cart z grami) nie  będzie kompletny, ponieważ ma on o wiele większą pamięć zapewne i zupełnie inną konstrukcję niż carty do Turbo... zapewne ma też jakiś mechanizm przełączania banków, którego "simple dumper" nie wspiera. Więc wykonany nim dump, dał tylko kawałek pamięci która jest w tym carcie z grami.

Jeżeli chodzi o taśmy, to szybki rzut okiem pokazuje że nie dość że są one w stanie dość kiepskim, to niestety są one wielokrotnie napisane innymi programami, są tam głównie niekompletne jakieś dłuższe nagrania, zastąpione krótszymi programami... niewiele chyba z tego da sie odzyskać... z pierwszej strony udalo mi się na szybko wczytać co ciekawe jakiś inicjalizer dla dyskietek oraz "Rythmizer AT1":

http://www.atari.org.pl/forum/misc.php?action=pun_attachment&item=9352

Jest tam też jakiś program zapisany w Turbo Blizzard, ale jeszcze tego nie analizowałem. Druga strona też nie wygląda lepiej, tzn. z tego co przesłuchałem na szybko, to część dłuższych nagrań jest niekompletna i podkasowa, w dodatku są też zaniki sygnału ta taśmie (pewnie zagniecenia). No ale temu się jeszcze przyjrzę...

Tera wrócę jeszcze do carta z blizzardem który udostępniłeś! Tego carta jeszcze nie mieliśmy tutaj w kolekcji! Za dump bardzo Ci dziękuję! Niebawem obrobię pliki i wystawię komplet, teraz tylko screen-shot:

http://www.atari.org.pl/forum/misc.php?action=pun_attachment&item=9353

Hej!

takron27 napisał/a:

No i chyba musze coś przedsięwziąć odnośnie moich kaset zestawów turbo 'the marauder'. Ale to może osobny wątek założę. Bo myślę nie tylko o dump'ie taśm, ale może bardziej o uzupełnieniu informacji, skąd one, ile, itp. w tamtych latach to moje ulubiene były..

No koniecznie! To kawał historii, warto ją zachować i skatalogować i opisać! Czekam z niecierpliwością na Twój wątek!

dely napisał/a:

Dzięki wielkie Seban za włożoną pracę. Jeśli będą stawiane pomniki, wręczane statuetki itp., to powinieneś być pierwszy w kolejce.

Odpowiem tak... to nie moja zasługa, mi tylko stworzono taką możliwość... wszystko się tak poukładało że mogę robić to co robię... ale to wszystko dzięki różnym ludziom, którzy sprawili że to wszystko stało się możliwe. To wszystko co tu się dzieje, to także w dużej mierze zasługa forumowiczów, ludzie ze środowiska którzy zechcieli się podzielić, lub włączyć się do tego szalonego nieco przedsięwzięcia. Ja wiem że niewielu ludzi to interesuje... ale dla mnie to ciekawa przygoda. Mimo że jęczę sobie, narzekam, kwękam czasami... mam nadzieję że nie traktujecie tego poważnie i bierzecie poprawkę na te moje wygłupy... jakiś element humorystyczny musi w końcu w tym wszystkim być? Nieprawdaż? :)

A co do statuetki i pomników... to nie dla mnie one... są o wiele bardziej zasłużeni ludzie, dzięki którym to wszystko się zadziało :)

Dobra, wracam na chwilę do carta KSO2000 z którego dump zrobił Dely... obiecałem przetworzyć ten 8KB dump, tak aby był dostępny w różnych postaciach. Udało mi się znaleźć chwilę czasu aby to uczynić, ale tym razem wrzucam całe archwium z masą plików, może się komuś przyda. W archwimum oprócz wersji XEX, BOOT, BIN (oryginalnej i zawierającej patch) dodałem również skrypt i makefile przetwarzający to wszystko od początku do końca. Dodaję cały ten śmietnik w celach poznawczych, może ktoś będzie chciał sobie kiedyś samemu spróbować dokonać takich eksperymentów, może to być dobry materiał do startu. I proszę nie protestować że Linux potrzebny, etc. W dobie maszyn wirtualnych każdy może mieć Linuxa pod "windą", czy to będzie jakiś darmowy VirtualBox czy też WSL to już pozostawiam zainteresowanym tematem.

Dla nie zainteresowanych w archiwum są również gotowe i przetworzone pliki wynikowe czyli:

  • KSO2000_2k.bin - wyłuskana 2KB oryginalna zawartość pamięci EPROM

  • KSO2000_2k_cctl_patch.bin - oryginalny obraz + patch umożliwiający automatyczne (nie czasowe) wyłączenie carta

  • KSO2000_4k_cctl_patch.bin  - "powdojony" oryginalny obraz (do rozmiaru 4kB) + patch umożliwiający automatyczne (nie czasowe) wyłączenie carta - ten obraz bez problemu obsługuja emulatory, wystarczy wybrać Blizzard 4K pod emu i cart samoczynnie wystartuje.

  • kso2000.xex - obraz przetworzony do formatu XEX, można sobie go uruchomić z dowolnego urządzenia typu SIO2SD, SIO2PC, etc.

  • kso2000.boot - obraz przetworzony do formatu BOOT, można sobie nagrać na kasetę za pomocą jakiegoś programu kopiującego a potem wczytywać przez START+OPTION

  • kso2000.cas - obraz przetworzony do formatu CAS, można użyć np. Turgen aby nagrać sobie to na kasetę i wczytywać z magnetofonu w standardowej prędkości :P

suma SHA256 2kB obrazu EPROM:

03d1c0d28f7dd2fc71a19bff17fc8d0638fdefbcec51813476a5637453c2d0aa

W archiwum są też inne pliki, np. makefile, a8cas-util od FUJI-ego (potrzebny do wygenerowania pliku CAS), pliki .XSM (cart2boot.xsm oraz cart2xex.xsm) to kod kompilowany za pomocą Fox-owego XASM, extract.sh to BASH-owy sktypt umożliwiający wyciągnięcie początkowych 2KB z 8KB pliku generowanego przez "simple cart dumper", skrypt ten również aplikuje "patch" za pomocą narzędzia "bbe" dostępnego dla systemu Linux (taki SED tylko dla plików binarnych). Ale jak mówię te wszystkie dodatki, to tylko dla zainteresowanych "how it was done".

Hej!

Piguła/Shpoon napisał/a:

ps. Tylko, ja w tym Twoim hexie przy 4 rekordzie widzę  ->  00 00 00 0d ; block no=2 ; length=24705 ; checksum(xor)=8d BAD

Tak! Dokładnie tak ma być. To zostało tak nagrane przez UM, a8cas-util nie radzi sobie czasami z przesunięciami bitowymi danych w nietypowych formatach i generuje takie kwiatki, ale dane w rekordzie są poprawne. Brakujący bit sumy kontrolnej jest dodany jako następny blok ("pwmc 00000 24 1"). Skąd mam pewność? sprawdziłem dane wczytywane z bez konwersji z pliku WAV który udostępniłeś.

Jako loader danych w formacie T2000 UM wykorzystało swoje procedury, zmieniając tylko czasy impulsów reprezentujących "0","1"... a ponieważ w Turbo UM suma jest liczona jako XOR, to postanowili w blokach formatu T2000 zmienić sumę kontrolną z mod256 na XOR, właśnie po to aby wykorzystać tę samą procedurę odczytu.

W sumie to nie wiem po co zrobili ten cyrk z blokami w T2000.... być może tę wersję robili z jakiejś *AJKOWEJ wersji (o ile taka istniała). Sugeruję się tym co widziałem w Winter Olimpiad'88 robionej przez *AJKA. Czy to jest przeróbka jakieś wersji The Eidolon z Turbo2000 czy też ich własna inwencja twórca, tego nie wiem, ale jeżeli to byłaby ich własna/autorka produkcja, to po co zostawialiby dwa bloki w formacie Turbo2000?

tego BAD miałem poprawić (w sensie opisu na końcu rekordu danych, bo dane są poprawne), ale pośpiechu już zapomniałem i potem mi się nie chciało poprawiać. Podczas prób jak pisałem miałem wiele wersji wygenerowanych tak że CRC się niby zgadzało, ale dane były niepoprawne, w sumie śmieszne bo niektóre z tych wersji źle renderowały te jaskinie.

No i Lucasarts ma u mnie "minusa" ;-) ... Kurdę musieli spaprać wersję dla Atari... wersja na ZX Spectrum ma zakończenie, wersja C64 ma zakończenie... a co ma wersja na Atari? napis "game over" i "press start to clear".... nie wiem czego zabrakło? chęci czy czasu... bo przecież miejsca na dyskietce by starczyło :P

A co do HEX-a to należało by go trochę posprzątać, tzn. wywalić ciszę/przerwy i znormalizować długości synchronów... ale nie robiłem tego bo sądziłem że wersja bez ostatniego poziomu nie będzie zadowalająca... więc wrzuciłem tak jak wyszło z konwertera, z drobnymi ręcznymi poprawkami.

To ja teraz na szybko... bo udało mi się to ogarnąć... rekordy #3 i #4 to faktycznie rekordy w formacie długich bloków danych Turbo 2000 (KSO/2001/F) tyle że liczenie sumy kontrolnej zmieniono z modulo256 na XOR ... nie wiem kto wymyślił używanie XOR jako "sumy kontrolnej", to jest tak podatne na przekłamania że nie rozumiem tego sposobu... no chyba że chodziło o to aby się "pewniej" wczytało... gdzie "pewniej" znaczy z błędami! A nóż tak wczytana gra się uruchomi? może błędy będą na grafice, etc. takie podejście to czyste dziadostwo :( szczególnie że liczenie sumy kontrolnej modulo256 nie jest jakoś specjalnie bardziej czasochłonne!

Udało mi się rekordy #3 i #4 skonwertować poprawnie... mimo że wiele razy dzięki temu wspaniałemu XOR-owi miałem błędne dane po konwersji mimo że XOR się zgadzał! szczególnie w tym długim bloku #4 ... no ale koniec końców się udało...

Pozostała walka z rekordem #41... który to został specjalne uszkodzony! Nie to że nagranie jest błędne... nagrano rekord o złej długości!!! Sądzę że zrobiono to celowo... po prostu wczytywanie miało się wysypać podczas siódmego poziomu... a dlaczego??? ponieważ brakuje dalszej części danych! Nie ma bloków z danymi dla poziomu #8  ... widać w UM założyli że nikt nie przejdzie i tak tej gry do końca ... i nie chciało im się wykonać poprawnej wersji tejże gry.

Dane z brakującego rekordu #41 odzyskałem (posiłkując się wersją na 130XE dostępną na AoL). Rekord na taśmie zawiera tylko 3375 bajtów, podczas gdy loader oczekuje 3484 bajtów danych (wraz z sumą XOR). Dodałem brakujące bajty (poszukując brakującej sekwencji w wersji dla 130XE) i spreparowałem poprawną sumę dla tak przygotowanego rekordu.

Tyle że wyszła z tego lipa bowiem okazało się że próba wczytania poziomu #8 powoduje że loader oczekuje na więcej danych... a dalszych rekordów już w nagraniu nie ma :(

W dodatku aby możliwe było przechodzenie z poziomu na poziom, należy robić to bezbłędnie i bez śmierci... "ponieważ gdyż" ta wersja nie wypisuje jakie segmenty danych ją interesują do wczytania i wciąga z taśmy co jej tam podejdzie co prędzej czy później kończy się błędem wczytywania lub "zwiechą".

Aby to wszystko przetestować musiałem pogrzebać w kodzie gry... bo nie wyobrażałem sobie abym za każdym razem przechodził te wszystkie poziomy od nowa :( zatem gdyby kogoś interesowało to aby przejść do następnego poziomu to pod emulatorem należy:

  1. wejść do debuggera/monitora

  2. pod adresem $CDB4 umieścić kolejny numer poziomu (jeżeli jesteśmy na pierwszym poziomie wpisujemy tam wartość 2)

  3. pod adresem $CDB7 umieścić zero

  4. wrócić do gry

pod atari800 robimy to tak (przejście z poziomu #1 to poziomu #2), wciskamy F8 (wejście do monitora/debuggera), a potem na konsoli piszemy:

c CDB7 0
c CDB4 2
cont

aby przejść z poziomu #2 do #3 piszemy:

c CDB7 0
c CDB4 3
cont

itd.

Dla chętnych w załączniku plik HEX, nie porządkowałem go zbytnio, bo i tak ta wersja gry jest totalnie spartolona przez tego kto ją wykonał. Zrobił to na odwal się, licząc że nikt z graczy nie zabrnie tak daleko. Cóż za podejście :D Autorowi takiego hacka można "pogratulować" ... ale chyba braku cierpliwości... wygląda na to że rzeźbił, rzeźbił i mu się znudziło! :)

Ale numer z blokiem #41 jest wręcz żenujący! :D No chyba że faktycznie na tej kasecie nagrano jakąś uszkodzoną lub niedorobioną wersję i gdzieś może istnieje wersja poprawna?

Hej!

Piguła/Shpoon napisał/a:

Mam do Ciebie jedną prośbę!  W zestawie 4 Empexu ode mnie masz grę Eidolon, na AOL'u jest jej wersja jako XEX, ale wymaga 128KB. Nagranie ode mnie ładuje się z pliku WAV na Atari z 64KB - zobaczy czy jak przepuścisz nagranie przez swój wynalazek to uda się poprawnie zdekodować  rekord 3,4 oraz 41.

Wiesz co? Przejrzałem ten rekordy bit po bicie i wszystko z nimi jest OK! tzn. zapis jest poprawny... potem zajrzałem do kodu loadera... cóż zobaczyłem... loader tak podobny do tego siedzącego w *AJKOWYM Winter Olympiad'88 że sądzę że to jest przeróbka The Eidolon z wersji *AJKA... bloki 3 i 4 mają długości impulsów zgodne z Turbo 2000 :) A więc to co obserwujesz to nie jest kwestia złego zgarnia sygnału, ale zabezpieczenie przed kopiowaniem!

można próbować konwertować te bloki 3,4 z użyciem -t turbo2000, ale zmieniony jest mechanizm liczenia sumy kontrolnej z modulo256 na XOR! Problem by rozwiązał -cksum xor, ale suma kontrolna jest zaszyta w ciele loadera, a nie jest obecna na końcu rekordu. ... a jednak nie! da się rekordy 3,4 przetworzyć jako -t turbo2000 --cksum xor, postaram się to jakoś ogarnąć i wrzucę tutaj.

Co do bloku #41 to jeszcze nie patrzyłem, bo nie wiem jak dotrzeć do wczytywania tego fragmentu nagrania! (zapomniałem jak się grało w The Eidolon!) ... można spróbować to skonwertować na dwa sposoby... jeden to zabawa z edycją plików .hex i poprawki ręczne ... druga to wyłuskać bloki #3, #4, #41 i skonwertować je za pomocą -t generic.

To właśnie dlatego udaje Ci się to wczytać pod emulatorem, a nie udaje sie konwersja do formatu .CAS przy pomocy -t um

Wybaczcie moją ignorancję i niewiedzę, ale tego też nie wiedziałem. Dzięki za wyjaśnienie.