@Mq, Dzięki, to mi wiele wyjaśniło :)
Sprawdziłem udostępnione pliki car / bin (również te z źródeł - są tam wersje opublikowane i inne niż opublikowane). Wszystkie mają kopię banku 0 w banku 127, stąd na emulatorze działają niezależnie czy się je uruchomi z banku 0 czy 127.
Update czystego MaxFlash-a do aktualnej wersji 1.0.2 (po dwukrotnym potwierdzeniu) daje plik car/bin, różniący się tylko tym, że ma blok 127 pusty (poprzedni stan), stąd po użyciu updatera (również po zmianie wersji) gra nie startuje z banku 127, a wyłącznie z banku 0.
Przy updacie jest informacja, że sektory (po 8 banków), kiedy zapisywane są w nich banki, są czyszczone, więc można zrobić update nie mając na carcie żadnej wersji gry, gdyż potrzebne dane się nagrają a banki, które są oryginalnie puste zostaną wyczyszczone - czyli nie trzeba wgrywać wersji 1.0.0, a od razu można wgrać wersję 1.0.2.
Uwaga: update do wersji 1.0.1 nie zawiera wszystkich plików w związku z tym nie zainstaluje się cała gra, więc i downgrade nie jest wskazany.
Przy updacie nie zostanie wyczyszczony obszar gdzie powinien znajdować się zapis stanu gry (od banku 56), więc jeżeli zostaną tam przypadkowe dane, może być konieczne wyczyszczenie tych danych z poziomu gry - skasowania wadliwego stanu gry (updater weryfikuje te dane, więc może nie będzie to jednak koniecznie). Przypominam, że kiedy użyjemy update-u na istniejącą na carcie wersję gry, prawidłowy zapis stanu gry pozostanie.
Standardowo update kończy zapis na sektorze 6, więc nawet jak dogramy banki z zapisem stanu gry (BANK_56.BNK, BANK_57.BNK...) to zostaną pominięte, pominięty zostanie też bank 127 z kopią banku 0, jeżeli taki umieścimy na dyskietce.
W związku z tym wyszukałem w źródłach gdzie jest ograniczenie zapisywanej liczby sektorów i zmieniłem z 7 na 16, czyli z 6 na 15 (nie wiem jak się kompiluje ten program, więc odnalazłem tę wartość w pliku wykonywalnym i tam ją zmieniłem), co powoduje, że updater może zapisać stan gry, zapisze też kopię banku 0 w banku 127, jeżeli takie pliki umieścimy na dyskietce.
Teraz możliwy jest update, wgranie naszego stanu gry z emulatora na Atari (odwrotnie, jak i z carta na inny cart, być może też - przy użyciu dodatkowego narzędzia o którym napisał Pin) i najważniejsze - możliwe jest uruchomienie gry z banku 127 (przed flash-owaniem kopiujemy BANK_0.BNK na BANK_127.BNK na dyskietce z update-rem).
Pytanie jak się zachowa dedykowany cart, gdy spróbujemy sflash-ować nieistniejący sektor? Nie wiem czy zapisze dane w niewłaściwym miejscu, czy po prostu taką operację zignoruje (zapisze w powietrze)?
Rozumiem, że nawet jeżeli nic złego się nie dzieje chodzi o to żeby było elegancko, czyli żeby updater wykrywał pojemność carta i w zależności od tego wgrywał możliwą maksymalną liczbę sektorów (jeżeli znajdzie pliki do zapisania). A jak się domyślam zrobienie tego wykrywania nie jest proste? Ale może jednak nie ma to znaczenia dla dedykowanego carta i nie jest konieczne?
W załączniku updater-y do wersji 1.0.0, 1.0.1 i 1.0.2, umożliwiające pełną instalację, upgrade i downgrade (uzupełniłem pliki wersji 1.0.1 i przerobiłem wersję 1.0.0 na wersję z updaterem), działające również na starszym MaxFlashu startującym z banku 127 (do każdej wersji dodałem odpowiedni plik).
Jeżeli bank_127.bnk sprawia problem dla dedykowanego cartridge'a to przed użyciem z dedykowanym cartridge'm można ten plik usunąć.
Przy okazji - problem ze sterowaniem z klawiatury (shift i strzałki), będę mógł teraz sprawdzić, czy również występuje na Atari, ale nieco później...
Edit: Update - flasher bazujący na wersji 1.0.3 (oryginalna poprawka dot. wykrywania wersji poniżej 1.0.2 do patchowania) i pliki updatów do najnowszych wersji 1.0.3 i 1.0.3b (1 Bajt zmieniony).
Post's attachmentsflob_100_101_102_103_103b_fixed.7z 229.7 kb, liczba pobrań: 2 (od 2022-08-27)
Tylko zalogowani mogą pobierać załączniki.