atarionline.pl Dyskowy Robbo Konstruktor na emulatorze - 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: CommentAuthorMDW
    • CommentTime2 Jul 2016
     
    Mój sześcioletni syn jest oczarowany Robbo Konstruktor. Program ma bardzo przyjemny i logicznie zrobiony interface, efekty można od razu zobaczyć i przede wszystkim jest po polsku więc nie muszę mu czytać nazw funkcji w menu. Żadna dzisiejsza gra na dowolną platformę nie jest w stanie pobić grywalnością tego hitu sprzed 26 lat. :)

    Niestety mam problem. Gdy się używa wersji dyskowej to po kilku minutach zabawy plansza sama się czyści. W wersji kasetowej nie ma tego problemu i wszystko działa poprawnie. No ale ja bym jednak wolał wersję dyskową żeby była możliwość zapisu tego co się zrobiło.

    Czy ktoś miał podobny problem z wersją dyskową Robbo Konstruktor uruchamianą na emulatorze? Sprawdzałem wszystkie ATRy dostępne na atarionline.pl. :(
    • 2:
       
      CommentAuthorvoy
    • CommentTime2 Jul 2016
     
    Oryginalna dyskietka Robbo Konstruktora była zabezpieczona przed kopiowaniem, ale niestety nie posiadam jej egzemplarza. Mógłbym wówczas zrobić jej obraz z zabezpieczeniami.

    Zamiast niego proponuję użycie Robbo Kreatora autorstwa Poklika: ->link<-

    Planety tworzy się na PC, ale można je zapisać jako .atr, jak i testować na bieżąco pod Altirrą.
    • 3: CommentAuthorMDW
    • CommentTime2 Jul 2016
     
    Powodem czyszczenia jest zabezpieczenie antypirackie?! Nigdy bym nie przypuszczał. :) Byłem pewien, że dostępna jest jakaś działająca wersja skoro powstaje tak dużo różnych Roboo robionych Konstruktorem.
    • 4:
       
      CommentAuthormiker
    • CommentTime3 Jul 2016
     
    Zabezpieczenie polegało na tym, po "niby" odbezpieczeniu ze sprawdzania bad sektora na dyskietce, próba najechania na twardy murek, np. w celu jego zmiany na inny, kończy się "bezpardonowym" skasowaniem całego zestawu. Nie pamiętam natomiast, czy ktoś to zabezpieczenie ostatecznie złamał.
    • 5: CommentAuthorMDW
    • CommentTime3 Jul 2016
     
    A to cwane Avalon. I tak bez jakiegokolwiek komunikatu. :)
    • 6:
       
      CommentAuthorvoy
    • CommentTime3 Jul 2016
     
    Nie ma to jak moja skleroza... :P Wśród dysków Yosha był ten z Lasermanią i Robbo Konstruktorem i okazało się, że jakiś czas temu zgrałem go przez ProSystem.

    Plik wrzuciłem do zbiorów i jest tutaj: ->link<-

    Dysk chodzi pod Altirrą i pod APE (gdyby ktoś chciał uruchamiać na fizycznym sprzęcie). Pod AspeQt i RespeQt nie działa.
    • 7: CommentAuthorMDW
    • CommentTime3 Jul 2016
     
    Przepraszam za lamerskie pytanie ale nie bardzo się orientuję w obecnej atarowej terminologii. :) Czy ten dysk powinien działać pod emulatorem?
    • 8:
       
      CommentAuthorvoy
    • CommentTime4 Jul 2016 zmieniony
     
    Tak, powinien i działa. :) Pod jakim emulatorem go uruchamiasz? Ten był sprawdzany pod najnowszą wersją Altirry: ->link<- i działa też pod Atari800 3.1.0: ->link<-

    Pod Atari800Win PLus 4.1 nie będzie działał, bo emulator ten nie obsługuje obrazów dyskietek z informacjami o zabezpieczeniach przed kopiowaniem, czyli obrazów .atx i .pro. Jest zupełnie przestarzały, choć ma parę fajnych funkcji.
    • 9: CommentAuthorQTZ
    • CommentTime4 Jul 2016 zmieniony
     
    Sprawdziłem...

    Uruchomiłem pod Altirrą i najechanie na murek wyczyściło planszę, zmieniłem ustawienie "System->Acceleration->D: patch (Disk SIO)" na wyłączone i teraz działa (!?)

    Edit: Sprawdziłem z ATR-a też działa jak się patch wyłączy (!?)

    Edit: jak się wyłączy SIO patch w Atari800WinPLus (ja używam wersji 4.1) to też z ATR-a działa (!?) (można użyć F7, aby wczytywanie przebiegało szybciej)

    Edit: na Atari800Win PLus z "kasety" się jeszcze wczytuje... i chyba już się nie wczyta...

    Edit: zaczynam mieć podejrzenie, że SIO patch coś miesza, że niektóre programy się sypią (!?)

    Edit: ciekawe czy na SIO2SD (sprzętowy emulator stacji dyskietek dla Atari) działa?

    Co ciekawe program wczytany z pliku .cas (w emulatorze Altirra) również czyści planszę (?!) (a jak widać po menu jest to specjalna wersja dla magnetofonu) Po wyłączeniu podobnej opcji dla "C" program się jednak nie wczytuje... pojawia się Self Test zaraz po wyświetleniu napisu w trybie tekstowym...

    W Atari800 może też coś trzeba specjalnie ustawić - zawiesza mi się tuż po wyświetleniu napisu...

    Edit: mój błąd - plik pro działa OK z Atari800 z wyłączonym SIO patch-em, tylko trzeba chwilkę poczekać... nie działa plik cas - o czym poniżej...

    Może ktoś, kto się zna by rzucił okiem na kod? ;)

    Edit: ew. może ktoś podrzuciłby temat autorowi Altirry? Z pewnością by go to zainteresowało ;)
    • 10:
       
      CommentAuthorvoy
    • CommentTime4 Jul 2016 zmieniony
     
    W Altirra należy wyłączyć wszelakie łatki, które przyspieszają pracę emulatora. W zwykłym trybie emulowana jest zwykła stacja i jej odpowiedzi na błędne sektory na dyskietce (tu w sektorze nr 989 jest ze statusem RNF - Record Not Found).

    Co do kasety, to trzeba do tego podejść inaczej. :) Po uruchomieniu emulatora i wyłączeniu C: patch wejdź do File --> Cassette --> Load i wskaż obraz kasety. Potem w menu System --> Cassette zaznacz opcję Randomize Starting Position. Następnie wywołaj zimny start przez Shift F5. Gra się wczyta. :) Podobnie jest z obrazem samej gry Robbo, zgranym z oryginału.

    W Atari800 faktycznie zawiesza się w momencie, gdy ma się wyświetlić napis.
    • 11: CommentAuthorQTZ
    • CommentTime4 Jul 2016 zmieniony
     
    Zrobiłem jak napisałeś - to samo - z wyłączonym "C" patchem - Altirra wychodzi do Self Test-u (sprawdziłem dwa razy). A z włączonym murek czyści planszę (a przecież jest to obraz kasety!). SIO patch musi coś psuć, bo nie ma znaczenia czy to plik .pro, czy .atr, czy obraz kasety (tu dodatkowo dochodzi jakiś problem z emulatorami).
    • 12:
       
      CommentAuthorvoy
    • CommentTime4 Jul 2016
     
    Też sprawdzałem i bez problemu chodzi. Ważna jest kolejność czynności i nie uruchamiaj przez powiązania plików w Windowsie, tylko spod menu emulatora. Której wersji Altirry używasz?

    Robbo Konstruktor kasetowy wczytuje się spod rozszerzonej wersji Atari800, którą zrobił Krótki (lepiej obsługuje magnetofon): ->link<-
    • 13: CommentAuthorQTZ
    • CommentTime4 Jul 2016 zmieniony
     
    Altirra ta, która podlinkowałeś powyżej - 2.80 test 45 (wersja 32 bit). Nie uruchamiam spod Win-a, nie mam powiązanych plików z Altirrą. Zrobiłem dokładnie jak napisałeś, ale uważam, że nie ma to nic wspólnego z opisanym problemem, bo gdy "C" SIO patch jest włączony program się wczytuje, ale murek kasuje planszę.

    Edit: Łatwo to sprawdzić rysując choćby jeden element - np. murek, który jest domyślnie ustawiony, a następnie wskazać go w menu - łatwo go zauważyć, bo jest zaznaczony i będzie migał. Jak nasz murek zniknie z planszy jest źle, jak nie zniknie jest dobrze :)

    Edit: Możemy od razu najechać na murek (będzie migał) i nacisnąć Return lub Fire - jak się nie zmieni to źle, jak się zmieni to dobrze :)

    Edit: w Atari800 Krótkiego, bez SIO patcha, wczytało się z pliku .cas i działa dobrze (aby było szybciej można wczytywać z F12; z SIO patchem od razu się zawiesza).

    Czyli na 100% można powiedzieć, że program jest wrażliwy na SIO patch, a różne emulatory mają problem z wczytywaniem z pliku/ów .cas przy wyłączonym lub włączonym SIO patch-u.

    Edit: Sprawdziłem wszystkie dostępne na AOL wersje - te z dopiskiem [cr ...] działają niezależnie od ustawienia SIO (trzy to pliki xex, które trzeba umieścić na dyskiet-ce/kach .atr - najlepiej z DOS-em, aby móc zapisać plik [te pewnie MDW próbowałeś?], jest też jeden gotowy .atr), do pozostałych (w tym oryginalnego .pro) trzeba SIO patch wyłączyć.

    Edit: poszukałem w sieci... i problem jest znany: ->link<- i u nas też było: ->link<- . Nie mam już czasu czytać, ale wygląda na to, że oprócz murka jest problem z zapisem... poczytam i potestuję później... tu jeszcze jakaś poprawiona wersja kasetowa: ->link<-

    Edit: sprawdziłem raz jeszcze pliki pro i cas z emulatorem Atari800. Pro z wyłączonym SIO patchem - mój błąd - trzeba chwilkę poczekać - wygląda jakby się zawiesiło, ale się wczytuje i działa OK. Z SIO patch-em wychodzi do Self Test-u. Plik cas się nie wczytuje wcale (czekałem chwilkę dłużej niż w wersji Krótkiego). W wersji Krótkiego obydwa się wczytują bez SIO patcha i działają OK, a z patchem - pro tak samo - Self Test, cas - nie wczytuje się.

    Być może pliki atr mają "poprawiony" loader (?), ale sam program dalej jest zabezpieczony.

    Co do wczytywania obrazu kasety to ten problem powinien zainteresować twórców emulatorów. Ciekawe też czemu zabezpieczenie się uaktywnia przy włączonym SIO patchu? (przecież na Atari czegoś takiego nie było?)
    • 14:
       
      CommentAuthorvoy
    • CommentTime4 Jul 2016 zmieniony
     
    Prawdę powiedziawszy, nie wiem, dlaczego nie działa ci wczytywanie pod Altirrą. Używam tej samej wersji, ale dla 64-bit. Jedno pytanie: upewniłeś się, że Randomize Starting Position jest zafajkowane przed zimnym startem? Aha, której wersji systemu Atari używasz? XL OS 1.2, 1.3 czy innej?

    W oryginalnym nagraniu po 3 rekordach loadera (a przed właściwym programem) jest króciutki impuls FSK. Loader najpewniej go odnotowuje.

    Na fizycznym Atari też nie masz SIO Patcha, nie licząc tych w U1MB i od Hiasa. System jest łatany w locie podczas pracy emulatora. Przy takich zabezpieczeniach kaset trzeba po prostu ustawić taki stan emulatora, jaki odpowiada standardowemu Atari. To samo dotyczy dysków w formatach .pro i .atx. W przypadku ładowania .pro z RK, ta dłuższa chwila to właśnie sprawdzanie zabezpieczonego sektora nr 989. Loader stwierdza, że zabezpieczenie jest OK i wczytuje dalej.

    W załączniku Robbo Konstruktor w formacie .hex. Widać tam blok FSK po loaderze.
    • 15: CommentAuthorQTZ
    • CommentTime4 Jul 2016 zmieniony
     
    Nie wiem, czy zauważyłeś - właśnie dopisałem, że z emulatorem Atari 800 plik pro działa (oczywiście bez patcha SIO), byłem zbyt niecierpliwy ;)

    Co do Altirry, ja nie mogę u siebie uruchomić wersji 64bit, ale u Ciebie powinny działać obie, więc możesz sprawdzić czy jest inaczej w wersji 32bit.

    Mam zafajkowane cały czas ;)

    Jeszcze raz próbuję... 00:01:14 i Self Test :)

    Do tego testu użyłem dwóch plików ROM (XL i Basic - ten drugi zbyteczny), które są dołączone do jednego (chyba pierwszego jaki powstał) z emulatorów, a link jest na stronie emulatora Atari800 :)

    No tak, na Atari nie ma SIO patch-a, ale przecież skoro go nie ma to jak zrobili przed nim zabezpieczenie? Spodziewali się, że taki patch powstanie? :D Coś na Atari musi temu odpowiadać... może jakieś turbo?

    Edit: jeszcze raz próbuję, zauważyłem, że domyślnie był ustawiony system NTSC (na co dzień nie używam Altirry), może zmiana pomoże...

    Wygląda na to, że winny był system NTSC... jeszcze się wczytuje... włączyłem "warp speed"... wczytało się i działa OK!

    Jeszcze raz sprawdzę... tak zmiana na NTSC - Self Test, zmiana na PAL - działa OK! Tak jak podejrzewałem w tym przypadku nie ma znaczenia opcja "randomize starting position" (wczytało się OK przy odznaczonej).

    Edit: Przy pliku cas nie ma znaczenia patch SIO dla "D", ale musi być wyłączony patch SIO dla "C"!

    Edit: Wcześniej włączyłem oba i było OK, ale wygląda na to, że coś jest nie tak z tymi opcjami w Altirrze i nie zawsze są ustawiane w pełni jak trzeba. Po restarcie Altirry, przy włączonym patch-u SIO dla "C" program działa niepoprawnie - murek czyści planszę.

    Czyli dla pliku cas w emulatorze Altirra wystarczy upewnić się, że mamy ustawiony system PAL i wyłączony SIO patch dla "C" i to wszystko :)

    Sprawdziłem też zapis - wygląda na to, że Altirra zapisuje plik na taśmę, ale wczytać się go nie da...

    Sprawdziłem pod emulatorem Atari 800 Krótkiego i tam zapis i odczyt działa poprawnie! Zapis ten da się wczytać również pod Altirrą.

    Altirra nie zapisuje impulsu przed danymi i dlatego nie są one odczytywane, ale poprzedzenie tych danych impulsem zapisanym z emulatora Atari 800 Krótkiego, umożliwia ich odczyt (żeby zdążyć, w Altirrze, trzeba to zrobić przy wyłączonym SIO patchu dla "C" - czyli zostawić tę opcję jak przy wczytywaniu programu).

    Zapisać i odczytać wygenerowaną grę w wersji kasetowej udało mi się wyłącznie pod emulatorem Atari 800 Krótkiego.

    Co do zapisu przy korzystaniu z wirtualnej dyskietki to trzeba dla niej ustawić R/W gdyż inaczej Altirra nie zapisze naszych zestawów, które program chce zapisywać wyłącznie na dyskietce z Robbo Konstruktorem, a do zapisu gotowej gry należy utworzyć nową dyskietkę.

    Na wszelki wypadek warto robić tzw. "Save State".

    Edit: w miarę testów uzupełniłem.
    • 16: CommentAuthorQTZ
    • CommentTime4 Jul 2016 zmieniony
     
    Sprawdziłem te wersje z archiwum i te z [cr ...] to wersje kasetowe, również ta nagrana na dyskietce... wszystkie mają kod pocztowy zamieniony na 00-000 :/, chyba nie ma z nimi problemu.

    Sprawdziłem też pozostałe wersje atr i xfd - na pierwszy rzut oka wygląda, że to ta sama wersja - wszystkie mają takie wpisy:

    Robbo Ko.n-
    struktor. by
    L.K.Aval.on
    --------.---
    fast hac.k
    by
    Mr.Bacar.di
    --------.---

    Jak widać rzeczywiście "fast", bo trzeba mieć SIO patch wyłączony...

    W wersji cas z poprawionym loaderem (z AA), zdarza się, że nie można stestować "planszy" bo występuje taki błąd:


    Nie pomaga czyszczenie...

    Wydaje mi się, że taki sam błąd miałem w jednej z wersji atr... teraz nie udało mi się tego powtórzyć...
    • 17: CommentAuthorMDW
    • CommentTime4 Jul 2016
     
    Widzę, że to grubsza sprawa. Ja pod moim starym Atari800MacX pewnie nie mam szans tego odpalić. :)
    • 18: CommentAuthorQTZ
    • CommentTime4 Jul 2016 zmieniony
     
    Z tego co czytam w instrukcji do najnowszej wersji ->link<- , to powinno pójść - wyłącz SIO patch-a i uruchom plik .pro.
    • 19:
       
      CommentAuthorvoy
    • CommentTime4 Jul 2016
     
    Pod ostatnią wersją 4.6.0 powinieneś dać radę uruchomić pliki .atx i .pro (przynajmniej tak jest napisane na stronie domowej).
    • 20:
       
      CommentAuthorKrótki
    • CommentTime5 Jul 2016
     
    Gwoli ścisłości - jak się używa oryginalnych obrazów dyskietek lub kaset, nie odbezpieczonych, to zawsze trzeba najpierw wyłączyć wszelkie patche, a dopiero później ewentualnie eksperymentować z opcjami. Patche SIO to jest taka "droga na skróty" z pominięciem niektórych czasochłonnych operacji, ale owe pominięte operacje mogą być kluczowe w przypadku niektórych zabezpieczeń.

    Np. ww. plik CAS Robbo Konstruktora w bazie AO to "zgrywka" z oryginalnej kasety, nie odbezpieczana. Po wgraniu program sprawdza, czy ostatni wczytany przez POKEY-a bajt (w rejestrze SERIN) jest równy $FF. Jeśli nie, to później jest ww. wspomniany problem z kasowaniem się plansz. W przypadku odczytu z patchami POKEY jest całkowicie pomijany, w związku z czym rejestr SERIN pozostaje bez zmian. W efekcie to, czy program można ładować z patchem SIO, zależy od tego co było wcześniej robione w emulatorze. Jeśli przypadkiem w SERIN znajduje się wartość $FF z poprzedniego ładowania (bo np. za pierwszym razem RK był wczytany bez patchy), to można wczytać RK z włączonym patchem SIO i będzie działać poprawnie. Ale po ponownym uruchomieniu Altirry SERIN się wyzeruje i już się programu z patchem wczytać nie da.

    Innym przykład - Green Beret. Tam zabezpieczenie polega na odczycie, po wgraniu programu z taśmy, komórki RTCLOK+1 i sprawdzeniu, czy ładowanie trwało ok. 3 minut lub więcej - takie zabezpieczenie przed przeniesieniem pliku na dyskietkę. Ponieważ z patchem SIO ładowanie trwa kilka sekund, gra się zawiesza na ekranie tytułowym.
    • 21: CommentAuthorQTZ
    • CommentTime7 Jul 2016 zmieniony
     
    Wielkie dzięki za wyjaśnienie - wszystko pasuje do tego co udało mi się ustalić :) A na prawdziwym Atari cold start też nie czyści tego rejestru? Zauważyłem przy testowaniu SIO2SD, że gra "Wyspa" nie daje się uruchomić, gdy jest wczytywana z turbo (niezależnie od jego ulokowania w pamięci), może to też efekt jakiegoś zabezpieczenia (na emulatorze z SIO patch-em działa)? W Altirrze jest problem z zapisem plików na wirtualny magnetofon, spróbuję zapisać po przełączeniu na NTSC :)

    Gdyby nie to, że program jest w wersji całodyskowej... niestety nie wiem jak go zamienić na file?...
    • 22:
       
      CommentAuthorvoy
    • CommentTime7 Jul 2016 zmieniony
     
    Phaeron zarzekał się jakiś czas temu, że nie rozbuduje emulacji magnetofonu, bo nie ma do niego cierpliwości i w ogóle ma inne urazy. :) Słowa do końca nie dotrzymał, ale podobno obsługi turbo już nie doda. Sama emulacja magnetofonu też nie jest zbyt dopracowana.
    • 23: CommentAuthorQTZ
    • CommentTime7 Jul 2016 zmieniony
     
    Sprawdziłem, w NTSC też "gubi" ten początkowy impuls... ale jakby ktoś Phaeronowi przekazał, to pewnie by to poprawił :)

    Wiesz może jakim narzędziem da się zgrać sektory z dyskietki do pliku? Sprawdziłem kilka programów i co najwyżej da się zapisać zmienione sektory ponownie na dysk... tu aby zrobić z "luźnych" sektorów plik potrzeba wiedzy... a gdyby tak od razu się dało z jednej dyskietki zapisać zakres sektorów jako plik na drugą... RK jest od czwartego sektora...
    • 24:
       
      CommentAuthorvoy
    • CommentTime7 Jul 2016 zmieniony
     
    Jeżeli dysk taki jak RK ma usunięty katalog, ale widać, że trzy ostatnie bajty sektora są podobne do siebie w kolejnych (czyli link pliku w filesystemie), to można zrekonstruować mapę dysku i katalog np. Szperaczem Dyskowym. Potem wystarczy dowolny kopier plikowy uruchomiony pod DOS-em.

    Metoda nic ci nie da w RK, bo program sprawdza, czy został wczytany z loaderem (z odczytem sektora 989) i po wybraniu muru twardego kasuje planetę.

    W załączniku plik wydobyty z obrazu .pro.
    • 25: CommentAuthorQTZ
    • CommentTime7 Jul 2016 zmieniony
     
    Dzięki, a mógłbyś jeszcze udostępnić ten zrekonstruowany plik pro, żeby można było zobaczyć jak to się robi? Ja póki co się poddałem, próbowałem skopiować te sektory na inny dysk i właśnie się coś z tymi ostatnimi Bajtami nie zgadzało... "Wrong directory index in sector." Plik po skopiowaniu był zbyt krótki i na końcu były jakieś fragmenty jakby z DOS-a... A skoro już jest wydobyty plik xex i wiemy na czym polega zabezpieczenie to można spróbować je zneutralizować :) Ja na Atari zabezpieczenie usunąłem tylko raz - odbudowałem tablicę zmiennych w plikach BCOM-a i kilku innych plikach przez niego zabezpieczonych :). Nie sądzę, że mi się uda ale spróbuję :)

    Nawet jak się odbezpieczy ten program, to podejrzewam, że "wersja plikowa" będzie miała problem z zapisem / odczytem danych... co chyba można już teraz sprawdzić :)

    Co ciekawe wyciągnięty plik, mimo, że normalnie wyświetla "operacje dyskowe" teraz wyświetla "operacje kasetowe", ale opcje dotyczą stacji(!?). Help również dotyczy stacji.

    Zapisać dane się da, ale tylko na dyskietce z RK, a wczytać już chyba nie... (dyskietka musi być w "napędzie" podczas wczytywania programu...) a przy "zapisz Robbo" błąd jak na screenie powyżej... z tego wynika, że najłatwiej by było odbezpieczyć program, ale zostawiając go na oryginalnej dyskietce... a może znajdzie się ktoś, kto przerobi tę wersję całkowicie na file? :)

    Po dalszym sprawdzeniu wygląda na to, że zapis gdy zabezpieczenie się uaktywniło zapisuje pustą planszę, bo wczytana z poprawnej wersji jest pusta...
    • 26:
       
      CommentAuthorvoy
    • CommentTime7 Jul 2016 zmieniony
     
    Wystarczy dowolny kopier sektorowy, np. Track Copier w wersji v2 z bazy AOL. Po wczytaniu zamontuj plik .pro w napędzie 1; w międzyczasie utwórz w drugim napędzie pusty dysk w gęstości rozszerzonej. Wciśnij dwukrotnie Start, a gdy program trafi na zabezpieczony sektor, naciśnij Select, by go pominąć. Po odczytaniu dysku zamień miejscami obrazy i naciśnij Start (możesz też nacisnąć Select, by obraz został sformatowany).

    Przenieś znów zapisany już dysk do drugiego napędu, a w pierwszym zamontuj Szperacz dyskowy.atr. Wywołaj zimny start; po wczytaniu naciśnij N i wybierz 2, potem O i dowolny klawisz. Teraz naciśnij D, potem W, następnie T i Escape. Teraz wciśnij R, znowu T, znów W i T. Powinien się pokazać raport z jednym plikiem dobrym o długości $DB. Po wyjściu z programu do DOS-a i wyświetleniu katalogu przez /2; lub DIR D2:*.* powinien wyświetlić się plik FILE00.BAK, który wyciągnąć możesz wtyczką do ATR-ów do Total Commandera od Pajero (wtyczka jest tutaj w bazie).
    • 27: CommentAuthorQTZ
    • CommentTime7 Jul 2016 zmieniony
     
    Dzięki, spróbuję... :)

    Póki co patrzyłem na listing z dekompilatora... nigdzie nie widzę odwołań do tego rejestru SERIN...
    • 28:
       
      CommentAuthorKrótki
    • CommentTime8 Jul 2016
     

    QTZ:

    A na prawdziwym Atari cold start też nie czyści tego rejestru?

    Nie mam jak sprawdzić - nie mam nic, co mógłbym podłączyć do gniazda Peripheral.

    QTZ:

    nigdzie nie widzę odwołań do tego rejestru SERIN...

    To ustaw w Altirrze breakpoint na odczyt z SERIN, a potem załaduj CAS-a z włączonym patchem, znajdziesz w mig.

    Mój opis był nieco uproszczony, w rzeczywistości SERIN jest odczytywany zaraz po zakończeniu odczytu, EORowany z bodajże DOSINI, które wówczas też zawiera $FF, a wynik jest zapisywany gdzieś. I potem, po najechaniu na murek, owo gdzieś jest sprawdzane - jeśli jest różne od 0, to następuje czyszczenie planszy.
    • 29: CommentAuthorQTZ
    • CommentTime8 Jul 2016 zmieniony
     
    Dzięki postaram się wszystkiego spróbować...

    A po wywołaniu "cold start" poprzez wielokrotne delikatne naciskanie reset-u? Czy to nie do końca "cold start"?

    Przy okazji zastanawia mnie też boot-owanie w SIO2SD, czyli czy to faktycznie boot? Po wybraniu danego programu z konfiguratora i po każdym "resecie" trzeba trzymać Option (i włącza się lub wyłącza turbo), więc to chyba boot, ale nie "cold start"? Czy wtedy kasują się rejestry Pokey-a (niektóre programy - chyba ten tzw. "konfigurator konfiguratorów" wymagają wyłączenia i włączenia Atari, choć może niekoniecznie z uwagi na te rejestry)?

    Wracając do tematu.... Pomyślałem (co póki co, zupełnie wybiega to ponad moje umiejętności), że można by było połączyć funkcjonalność obydwu wersji (kasetowej i dyskowej) i dodać możliwość zapisu plików pod dowolnymi nazwami w każdym formacie (boot c, boot d, "xex") i na dowolne urządzenie :) pozostawiając możliwość zapisu / odczytu zestawów na oryginalnej dyskietce (dla kompatybilności). Nie wiem jaki jest format zapisanych danych, ale fajnie by było, gdyby dały się wczytać do windowsowego edytora :) np. gdyby (opcjonalnie) to był plik tekstowy - tak jak to jest w wersji Robbo na PC.

    Robbo Kreator wyciąga mapy z plików atr wygenerowanych przez Robbo Konstruktora, więc fajnie, żeby też wczytywał / zapisywał w formacie tekstowym... jest tam export do pliku .rob, ale nie wiem co to za plik...

    Można by też uzupełnić wersję na Atari o dodatkowe funkcje... :)

    ------

    Edit: Póki co znalazłem, że to gdzieś to $9F8B. Można to "przełączać" z debuggera w trakcie działania programu i raz działa ($00), a raz nie :). Staram się zrozumieć jak to jest - ta wartość występuje tylko raz w kodzie - i myślę co z tym zrobić...

    Zmieniłem ten adres* i niby jest OK, ale ciągle występuje problem jak na screenie... może to jakiś bug, a może kolejne zabezpieczenie? Przy oryginalnym pliku xex (ten wyciągniętym z pro), pliku xfd i odblokowaniu murka z poziomu debuggera ten problem również występuje...

    *Początkowo na "+1" - tam domyślnie jest 0 i chyba jest nieużywane?, Ale żeby czegoś nie ustawić zmieniłem na $9F4D, które za chwilkę jest modyfikowane.

    Sprawdzę jeszcze dokładniej plik pro, bez SIO patcha...

    Wydaje mi się, że ten problem "za dużo robocików" nie występuje gdy wczytam plik pro z wyłączonym SIO patch-em, więc to raczej nie bug.

    Zmieniłem ten adres w pliku pro i teraz działa prawidłowo również z włączonym SIO patchem :)

    Zmieniony cas wychodził do Self Testu... wymagał zmiany "checksum" - udało się przy użyciu a8cas-convert.exe
    (konwersja cas->hex[edit]->cas->hex[fix checksum]->cas).
    W załączniku wersja na bazie oryginalnej i poprawionej z AA.

    Źle jest ("robociki") gdy z oryginalnym plikiem xex (zmodyfikowanym, czy nie) używam dyskietki (xfd), a problem występuje po zapisie / odczycie i dalszej edycji...

    Jak przeczytałem na AA to problem występuje gdy utworzymy więcej niż jedną planetę (nie ma to znaczenia - patrz poniżej) i jest problem z zapisem...

    Co do dołączonych plików to "RK test.pro" i "RK test.cas" są na bazie oryginałów z zabezpieczeniem, ale działają również z SIO patchem (cas wymaga Atari800 w wersji Krótkiego). "RK test.xex" do prawidłowego działania wymaga oryginalnej dyskietki..., a "RK test fix loader.cas" to wersja, która da się wczytać pod Atari800Win, ale nie działa poprawnie ("robociki").
    • 30: CommentAuthorQTZ
    • CommentTime11 Jul 2016 zmieniony
     
    Sprawdziłem, problem występuje jak uruchomimy program z nieoryginalnej dyskietki i wejdziemy w menu "operacje dyskowe", wybierzemy jedną z dostępnych (aktywnych) opcji i nie ma znaczenia, czy zaakceptujemy, czy nie - późniejsze dodanie dowolnego elementu do planszy (nawet pustej; niezależnie od ilości plansz [planet]) spowoduje blokadę przy testowaniu lub próbie nagrania gry, w postaci komunikatu "błąd - za dużo robocików!"...

    Z powyższego wniosek, że musi być jeszcze drugie "gdzieś", które jest sprawdzane-ustawiane na podstawie innego kryterium - bo gdy uruchamiam zmodyfikowany plik pro, z włączonym SIO patch-em powyższy problem nie występuje.

    Trzecie "gdzieś" to blokada, która się aktywuje po powyższej sekwencji.

    -----
    Póki co znalazłem tyle:

    db $0c75 -> ta komórka jest ustawiona na 1 gdy jest źle.
    e $0c75 $00 -> jej zmiana nie odblokowuje blokady...

    db $0513 -> od tego miejsca 3 Bajty, które gdy są dobrze ustawione (30 12 A2) nie wywołują blokady (pierwszy etap, gdy jest już zablokowane to niestety zmiana tylko tego już nie wystarczy).

    Jak zauważyłem przy odpowiedzi na pytanie "zapisać zestaw 01? tak nie" tylko za pierwszym razem te wartości są odczytywane (niezależnie czy są poprawne czy nie), pewnie równocześnie jest coś ustawiane, co blokuje ponowne próby weryfikacji.

    -----
    Porównując zrzuty pamięci (bez wnikania co się dzieje):
    Odblokowanie weryfikacji po naciśnięciu np. "nie":
    e $B47E $00
    e $B48C $0a
    e $B492 $04
    e $B4C9 $21
    e $B4CB $00
    i powyższa sekwencja (dane do weryfikacji):
    e $0513 30
    e $0514 12
    e $0515 A2
    jednak to nadal za mało...

    -----
    W załączniku zrzut pamięci z Atari800Win PLus 4.1 z odblokowanym RK (na bazie wersji xfd/atr). W D1: Trzeba zamontować obraz dyskietki np. atr z RK.

    -----
    Jakaś podpowiedź?

    Mam jeszcze pytanie związane z debuggerem - jak symulować wciśnięcie klawisza (Return)? Próbowałem tak:
    e $02FC $0C
    • 31:
       
      CommentAuthorWolfen
    • CommentTime27 Oct 2017
     
    Odswiezam watek...
    Czy istnieje sprawny Robbo Konstruktor (konkretnie wlasnie mi chodzi o Robbo Konstruktora - oczywiscie doceniam wklad Poklika i stworenie Robbo Kreatora ale zalezy mi wlasnie na tym "oryginalnym" Robbo Konstruktorze?

    Albo czy ktos cos probowal moze dalej "łatać" (z sukcesem) aby zechcial nie kasowac planszy przy najechaniu na murek?
    • 32:
       
      CommentAuthormicromax
    • CommentTime27 Oct 2017
     
    mam orginał na kasecie lasermania / robbo konstruktor jak to coś pomoże
    • 33:
       
      CommentAuthorKrótki
    • CommentTime28 Oct 2017
     
    @micromax: Tę wersję już many w bazie gier. Ale jeśli masz czas i chęci, żeby zgrać swój oryginał do WAV, to poproszę - przyda się do weryfikacji.
    • 34: CommentAuthorQTZ
    • CommentTime28 Oct 2017 zmieniony
     
    @Wolfen
    Problem z kasowaniem planszy dzięki pomocy Krótkiego ominąłem, ale został drugi "za dużo robocików" - nie można zapisać plików... - patrz post 30. Ja niestety nie potrafię tego obejść... jak teraz patrzę to też dzieje się tak po najechaniu na murek...
    • 35: CommentAuthormav
    • CommentTime28 Oct 2017
     
    Ja mam dyskietkową wersję konstruktora, który chyba żadnych błędów mi nie wywalał. Tłukłem ją naprawdę długo i nigdy nic się nie wywalało.
    Pytanie tylko, co mogę z tym zrobić? Czy da się ją zczytać? Są tam jakieś kompromitujące levele z dawnych lat :D