1

(36 odpowiedzi, napisanych Software, Gry - 8bit)

Zająłem się projektem "Turbo Ba-SIC!" - i trochę się oderwałem od pracy nad Laurą, jednak praca nad tym projektem zazębiła się z tym co widziałem w kodzie Laury, więc na chwilkę wróciłem, nie wdrożyłem zapowiadanej poprawki, póki co naprawiłem w dużej części (brakuje jeszcze obsługi jednej z wersji) automatyczne budowanie plików Laury, więc teraz znowu jednym kliknięciem mogę utworzyć wszystkie (prawie) wersje na raz... co trwa kilka minut...

Ale do sedna - sprawdziłem, czy banki które w Laurze mają na końcu (ostatnie 16 bajtów banku) różniące się dane (są takie trzy - 10,11 i 13) mają prawidłową sumę kontrolną, a co za tym idzie czy prawidłowo wg zamysłu Larka przełączają bank na bank początkowy przy resecie.

No i nie - czyli gdy naciśniemy reset, gdy jest wybrany jeden z tych banków następuje coldstart, co chwilkę trwa, a tak się złożyło, że te banki są wybrane w menu gry i w samej grze, więc najczęściej właśnie gdy one są wybrane naciskamy reset. efekt jest taki, że za pierwszym razem następuje coldstart (czekamy) i kartridż startuje od zera, za kolejnym razem suma tego banku jest zapisana jako bazowa i wtedy reset z tego banku przebiega już szybko, ale gdy znowu naciśniemy reset przy innym wybranym banku sytuacja się powtarza.

Widać to szczególnie dobrze w wersji RNG gdzie gdy naciśniemy reset w menu gry (tym z Pełnym obrazkiem Laury) wracamy do menu kartridża, ale przez coldstart (czyli wolno) i gdy znowu naciśniemy reset - w pierwszym menu - kolejny raz czekamy na przejście coldstartu. Gdy jednak będziemy kolejny raz naciskać reset dokładnie w tym samym menu, lub w grze, wtedy reset będzie przebiegał szybko (nie kasując pamięci).

Także skorygowałem wartości dla tych trzech sum kontrolnych modyfikując nieużywany bajt skoku RTS tuż po instrukcjach przełączających bank na bazowy. Teraz każdy reset działa błyskawicznie, a sumy kontrolne dla wszystkich banków są identyczne.

Edit: Uzupełnienie: "Komórka" w której Atari OS zapisuje sumę kontrolną to $03EB. Altirra OS nie ma tego mechanizmu.

Przy okazji zauważyłem inny błąd - gdy po resecie tuż przed pojawieniem się napisów naciśniemy fire, na ekranie przez chwilę pojawia się obrazek z dziadkiem Laury :)

Wersje z tą drobną, a jakże znaczącą poprawką do pobrania w załączniku.

2

(36 odpowiedzi, napisanych Software, Gry - 8bit)

Mając dokładne adresy w których są "przełączniki" banków kartridża, pomyślałem, że dzięki ich modyfikacji możliwe staje się umieszczenie dwóch (SIC!/SIC!+) lub czterech (SIC!+) wersji Laury 256kB na jednym kartridżu. Każdy z wybranych obrazów kartridża wystarczyło odpowiednio zmodyfikować wstawiając odpowiednio 2X, 3X, AX, BX. Problemem był brak możliwości wyboru aktywnego "kartridża" i ryzyko, uruchomienia gry z niewłaściwego flasha - gdy przełącznik zamieni układy miejscami.

Dodanie wyboru kartridża było dość proste, jednak wymagało wiedzy o działaniu kartridża i przemyślenia jak takie sterowanie rozwiązać przy możliwie krótkim programie. SI na początku pomógł mi zebrać potrzebną wiedzę, choć nie obyło się bez pomyłek, udało się ustalić gdzie trzeba dokonać modyfikacji, SI wymyślił że można skopiować kod do pamięci i stamtąd bezpiecznie przełączać bank. Początkowo było to rozwiązanie konieczne, jednak po kolejnych modyfikacjach wydaje mi się, że można by z niego zrezygnować. Przełączanie aktywnych kartridży najprościej było zrobić na klawiszach konsoli (wersja 4in1):

- standardowo uruchamia się "ROM1"

- START przełącza na "ROM1" (powrót)
- SELECT przełącza na "ROM2"
- START+OPTION przełącza na "ROM3"
- SELECT+OPTION przełącza na "ROM4"

- START+SELECT przełącza cyklicznie na kolejne "ROMy"
- OPTION przełącza cyklicznie na poprzednie "ROMy"

Wybór działa podczas uruchamiania kartridża, można więc włączyć Atari trzymając np. SELECT+OPTION aby wybrać "ROM4", ale też działa po naciśnięciu klawisza RESET, więc można przytrzymać pożądaną "kombinację" i nacisnąć RESET już po uruchomieniu gry.

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

Trudniejsze do zrealizowania było wykrywanie niewłaściwej pozycji przełącznika układów flash kartridża SIC!+. Czy wybrany jest bank zgodny z oczekiwaniem sprawdzane jest po każdym restarcie, gdy bank się nie zgadza, wyświetlany jest komunikat, a program wpada w pętlę nieskończoną.

Wyświetlanie okazało się najtrudniejsze. SI próbowało wyświetlić tekst na trzy sposoby, z czego pomysł z użyciem DL okazał się skuteczny.

Przykładowy plik Laura 4in1 dla SIC!+ udostępniam w załączniku. Zawiera on prawie wszystkie wersje Laury Revolve (brakuje mapki świątecznej), w różnych wersjach językowych dla łatwego rozróżnienia, że wybraliśmy inną wersję gry. Ponieważ emulator nie ma jeszcze możliwości przełączania układów flash SIC!+a, załączam też wersję z bankami odwróconymi, która wyświetli błąd i się zatrzyma.

Edit: Była tu pewna niekonsekwencja, bo program przełączający banki uruchamia się z pamięci RAM, a pętla nieskończona po wyświetleniu napisu znajdowała się w pamięci kartridża, wydawało się, że ponieważ program jest skopiowany 4x nie powinien się przełączyć w miejsce gdzie takiej pętli nie ma. Jednak nie wziąłem pod uwagę, że użytkownik przełączy nie ten przełącznik i wyłączy kartridż, przez co program trafi w pamięć RAM. Dlatego teraz również ta pętla jest kopiowana do RAMu.
Testowałem na Altirrze, gdzie nie ma wyłącznika i możliwości przełączania flashy.

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

Edit2:SI spodobał się pomysł z autodetekcją zmiany położenia przełącznika, nie było łatwo, ale i taka wersja powstała. Przetestowana póki co tylko na emulatorze z ręcznym przełączaniem z debugera, może nie działać na realnym sprzęcie.

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

Edit3:Do testów powstał też program SIC!+Test, który ma pokazać jak zachowuje się kartridż przy przełączaniu przełączników SIC!+a.

Edit4:Doszła zapomniana wcześniej wersja 2in1 dla SIC! (512 KB), tu przełączanie działa podobnie:

- standardowo uruchamia się "ROM1"

- START przełącza na "ROM1" (powrót)
- SELECT przełącza na "ROM2"

- START+SELECT przełączy na "ROM" przeciwny do wybranego.

Wybór działa jak wyżej - przy włączaniu i resecie.

Edit5/6:Na realnym sprzęcie wyszedł zupełnie inny problem - klawisz START uruchamiał sekwencję odczytu z magnetofonu.

Oryginalnie Laura zabezpiecza klawisz START, ale nie przy włączeniu komputera, a dopiero gdy już się uruchomi - przy naciśnięciu START i RESET / START+OPTION i RESET. Podobnie zauważyłem na innym kartridżu, a na kilku innych takiego zabezpieczenia nie ma wcale.

Żeby zablokować boot magnetofonu wystarczy w sekcji init kartridża dopisać:

    lda #$00
    sta $03E9

...a jak to zrobić nie powiększając kodu init w miejscu gdzie jest - zastąpić RTS skokiem JMP - adres zostanie odczytany z wektora, dokładniej postaram się to opisać wkrótce...

Poprawione wersje 2in1 i 4in1 (z i bez autodetekcji) w załączniku. W wersji z autodetekcją też udało się zmieścić poprawkę, dodatkowo doszła funkcjonalność kombinacji klawiszy - patrz uzupełniony opis powyżej.

Edit7:Do wersji 4in1 z autodetekcją doszła zmiana koloru tła przy wyłączeniu kartridża i zerowanie attract mode, program zajmuje dokładnie tyle ile poprzednia wersja.

Edit8:Nurtowało mnie dlaczego wersje SIC! przy pierwszym uruchomieniu nie wyświetlają okienka tekstowego, a po każdym kolejnym resecie to okienko się pojawia.

Początkowo chciałem to okienko usunąć, co udało się poprzez przekierowanie wektora w HATABS w sekcji init programu na program który przywraca ten wektor, a także ustawienie kilku "poke" m.in. aby działał inverse.

Jednak nadal nie wiedziałem dlaczego to okienko się nie pojawia przy pierwszym uruchomienu. Okazuje się, że wynika to z domyślnego ustawienia banków w SIC!, gdzie początkowo jest udostępnione wyższe 8kB, więc system ustawia RAMTOP na $A0, a nie na $80, co powoduje że system okienko próbuje utworzyć w obszarze kartridża, który w init ma odblokowane już 16kB okno. Okienko się nie pojawia, bo system nie może go tam zapisać. Po resecie gdy już 16kB jest odblokowane RAMTOP jest ustawiany na $80, więc okienko jest tworzone prawidłowo. Także okazuje się, że czany ekran jest efektem ubocznym nie ustawienia RAMTOP!

Przy okazji sprawdziłem w oficjalnej wersji Laury na SIC!, którą jest wersja RNG (i prawdopodobnie 3 edycja kartridżowa, której nie posiadam) czy RAMTOP jest ustawiony prawidłowo i niestety nie, i to jest przyczyną czarnego ekranu, a nie celowe jego wygaszenie.

Sprawdziłem też, że oficjalne menu z SIC! generatora, to okienko wyświetla, ale robi to przy RAMTOP = $A0, a potem przełącza $D500, RAMTOP zostaje bez zmian, później jest ustawiane nawet na $C0. Reset w zależności od $D500 ustawia RAMTOP na różne wartości ($C0,$A0,$80), ekran miga.

Uwaga:Teoretycznie można w init ustawiać RAMTOP źle na $A0, co w prosty sposób zapobiegnie pojawianiu się okna tekstowego [nie usunie "śmieci", które zostaną na ułamek sekundy podświetlone], spowoduje to jednak, że system będzie próbował zapisywać dane w obszarze "ROM" kartridża, co jak czytałem jest niepożądane gdy używamy obrazu kartridża z A8PicoCart (tej wielkości kartridża A8PicoCart nie udźwignie, ale tak samo można zrobić [celowo lub niechcący] przy mniejszym, który A8PicoCart obsłuży).

Stąd nowe wersje 4in1, mają RAMTOP ustawiony na $80 i wyświetlają okienko przy każdym starcie (i restarcie)!

(Wyłączenie okienka tekstowego sposobem opisanym nieco wyżej [przekierowanie wektora] z uwagi na brak miejsca wymagałoby przeniesienia bootselectora, więc z tego zrezygnowałem).

Edit9:W załączniku poprawiona wersja 2in1, ale także wersja 2in1 z czarnym ekranem. Zablokowanie okienka tekstowego zmieściłem w 40 bajtach, czyli w wersji 4in1 bez autodetekcji też dałoby się to zmieścić bez kombinowania.

Czy tak jest poprawnie i czy nie trzeba ustawić czegoś więcej nie mam pewności, jednak w tym przypadku to działa. SI oryginalnie rozwiązał to nieco inaczej - zmodyfikowany wpis w HATABS wskazywał trwale na "ROM" kartridża, gdzie SI umieścił tablicę adresów, "ROM" jednak mógł być w każdej chwili przełączony, więc w mojej wersji jest tak jak opisałem wyżej - po skoku pod zmodyfikowany adres wstawiam w HATABS adres odpowiadający oryginalnemu (taki jaki zastajemy tam oryginalnie - sprawdzone na kilku wersjach os).

SI wypisał jeszcze kilka adresów, które uznał za konieczne do ustawienia, jednak większość z nich ma domyślnie wartość 0 (za wyjątkiem jednego, mało istotnego), więc ustawianie ich pominąłem.

Zapis do RAM w SIC!+ Teście, nadal nie został poprawiony, nie wiem czy ten błąd jest w wersji opublikowanej, ale poprawkę postaram się przygotować.

Obrazy kartridża można wgrać na SIC!+ analogicznie jak opisałem w powyższym poście, najnowszym flasherem dla SIC!+.

PS. Oczywiście da się zmieścić więcej, gdyby wspólne elementy każdej z wersji umieścić tylko raz, ale to wymaga dużo więcej pracy, przykładem jest wersja RNG 512 kB, gdzie jest kilka wersji gry i jeszcze sporo miejsca zostało.

3

(36 odpowiedzi, napisanych Software, Gry - 8bit)

Kilka dni temu, zanim zasilacz w PC mi strzelił, miałem zamiar poprawić jeden z błędów w Laurze... Nie udało się...
Jednak dzięki temu, wpadłem na pomysł, żeby skonwertować obraz kartridża MegaCart na SIC!a, co po zapoznaniu się z dokumentacją wydawało się banalne, gdyż tymi kartridżami bardzo podobnie się steruje.

Sprawdziłem jakie wartości zapisują oryginalne wersje (wersja RNG jest "fabrycznie" dostosowana do SIC!a).
Zapisy pod $D500 różnią się tylko starszymi bitami (0x->2x).
Na początku programu znajduje się "przełącznik", który odczytuje wartości z tabeli, która w tej wersji ma 6 Bajtów (w RNG 4).
Oprócz tego przełączeń banków jest sporo, przy okazji ich wyszukiwania zauważyłem, że "uszkodzenia" na końcu banków, o których pisałem, to kod przełączający banki.
Po zmianach wartości w programie i w tabeli gra ruszyła, jednak klawisze Start i Select nie wybierały poprawnej mapy, jeszcze większy problem był z kodami. Znalazł się też jeden przypadek, którego dłuższy czas nie udawało mi się namierzyć.

Żeby gra poprawnie wybierała poziom po wpisaniu kodu, potrzebne były dwie zmiany, po tych poprawkach gra w trybie standardowym wyświetlała te same kody co w trybie bonusu, to wymagało jeszcze jednej zmiany, którą wyszukałem spodziewając się że program sprawdza czy wybrany jest dany bank i to się potwierdziło.

Zmiany te były trudniejsze do wprowadzenia, gdyż program zapisuje wartości, które inna część programu w niego wstawia, także wstawiane wartości zapisane są gdzie indziej.

Edit1: Gra działa, przeszedłem 23 poziomy + finalne. Zmodyfikowane przełączenia sprawdziłem z wartościami zapisanymi podczas gry w oknie debugera Altirry, sprawdziłem też zmodyfikowane fragmenty programu.

Przy starcie gry program nadpisuje 2 domyślne wartości, dzieje się tak, gdy grę wystartujemy klawiszami konsoli lub gdy wpiszemy poprawny kod, nie nadpisuje ich kiedy uruchomimy grę poprzez fire. Także mała poprawka - uzupełniłem przegapioną wartość, która jest kopią drugiej wartości zwiększoną o jeden.

Edit2: W załączniku paczka w wersji 2d. Każda wersja 256kB (MegaCart) dostała teraz alternatywną wersję SIC! (RNG - jak pisałem wyżej - w wersji 512kB "fabrycznie" jest zgodna z SIC!). Pliki są zapisane z nagłówkiem car dla emulatora i być może skorzystają z niego multicarty. Aby zaprogramować "tradycyjny" kartridż trzeba z pliku car usunąć nagłówek car - 16 pierwszych bajtów, zapisać plik z rozszerzeniem bin i używając odpowiedniego flashera zaprogramować kartridż. SIC!a można zaprogramować z poziomu Atari przygotowując dyskietkę/atr z flasherem i plikiem bin.

Nie testowałem jeszcze na realnym sprzęcie, ale powinno być ok.

4

(36 odpowiedzi, napisanych Software, Gry - 8bit)

Update - nowe sterowanie zrobione wg tego co wcześniej opisałem - teraz gra się o wiele swobodniej - idąc w lewo lub prawo można przechodząc przez skos zmienić kierunek na górę lub na dół, tak samo jak przy przejściach z kierunków góra lub dół w lewo lub prawo.

Dzięki temu można teraz bardzo dynamicznie omijać stworki i inne przeszkody.

https://www.youtube.com/watch?v=yIl9us3Az60

Sytuacje które widziałem u innych graczy i których sam doświadczyłem, że poruszając się w bok, gdy chcę się skręcić przed przeszkodą w górę albo w dół, kiedy Laura na ruch joysticka nie zareagowała i ginęliśmy w błędnym przeświadczeniu, że za wolno zareagowaliśmy, zostały wyeliminowane.

https://www.youtube.com/watch?v=v2YLPPUJXSU

Program sterowania joystickiem w czterech kierunkach w wersji maszynowej został przygotowany przez AI. Można go podejrzeć w grze od adresów 0x3F5B (kartridż 512KB) lub 0x3F4D (kartridż 256KB).

Program opublikuję też osobno w wersji dla Basica, wraz z kodem źródłowym, gdzie zajmuje 114 Bajtów (w tym dwie zmienne zapisane na końcu kodu). Tak aby każdy mógł go użyć w programach które wykorzystują cztery podstawowe kierunki.

Z paczki zostały usunięte świąteczne wersje w plikach xex, gdyż nie zostały uaktualnione.

PS1. Przez kiepską klawiaturę może się zdarzyć, że np. któryś z ukosów nie będzie działał z wciśniętym fire, wtedy rozwiązaniem jest przemapowanie fire w emulatorze na inny klawisz i ponowne sprawdzenie, aż do znalezienia odpowiedniego klawisza, u mnie problemem była kombinacja lewo-dół z lewym controlem.

PS2. Nie testowałem tej modyfikacji na realnym Atari, ale wydaje się, że nie ma żadnych problemów. Cała paczka została wygenerowana automatycznie.

PS3. Paczkę dla edytora uaktualnię później.

Edit: Odczyt joysticka podmieniłem w trzech miejscach w kodzie gry, jednak jak się okazało drugi odczyt działa w sytuacji gdy znajdziemy maszynę i niestety wstawienie tam nowego kodu spowodowało nadpisywanie rejestrów X i Y. Także wersja v2 była popsuta. Poprawiona wersja w załączniku. Zmieniłem kolejności wykonywanych instrukcji. Maszyna działa, problem rozwiązany.

Uwaga: Wersja v2 miała błąd, w sterowaniu "maszyną", także wszystkich którzy ją ściągnęli proszę o re-download.

Pozdrawiam i życzę przyjemnej gry :)

5

(81 odpowiedzi, napisanych Fabryka - 8bit)

Sprawdziłem dlaczego w SIC!+ zapisywany jest układ flash przeciwny do wybranego - dokładnie tak jak napisał Phaeron.

W SIC! bit 7 $D500 to "Write enable (=1 enabled, =0 disabled)", w SIC!+ ten bit wybiera aktywny układ, co nie zostało uwzględnione w opisie na schemacie plusa. Także kiedy starszy flasher zapisuje ustawia ten bit do zapisu, a faktycznie w ten sposób przełącza aktywny układ i zapisuje na przeciwnym do wybranego.

Nie jest tudno sprawdzić czy mamy podłączony kartridż w wersji SIC! czy SIC!+, więc myślę, że moglibyście poprawić flashera zapisującego wersję SIC!, tak, że gdy wykryje wersję SIC!+ nie ustawi bitu 7, tylko będzie flashował wybrany w danym momencie układ, no i super żeby dało się odczytać dalsze pliki z dyskietki - tak jak w menu - naciskając spację.

Teraz testuję Turbo Basic i napisałem sobie proste wykrywanie, być może da się to zrobić lepiej / inaczej, żeby dodatkowo rozróżniać czy podłączony jest SIC!/SIC!+ czy jakiś inny kartridż (myślę, że flashery sprawdzając układ/y weryfikują czy jest podłączony SIC!, tylko nie weryfikują wersji).

Pliki i opis (napotkane problemy w Turbo Basicu) umieściłem w odpowiednim wątku na AtariAge: https://forums.atariage.com/topic/20433 ... nt-5839398 (Nowszą wersję testu umieściłem tutaj - poniżej vvv)

W ogóle flasher mógłby być jeden wspólny, tak, żeby flashował różnej wielkości pliki, mniejsze do 512kB do wybranego przełącznikiem układu w SIC!+, lub do SIC!. Większe naturalnie do SIC!+, a do SIC! ewentualnie mógłby wgrywać, po potwierdzeniu, tyle ile się zmieści, czyli np. połowę wsadu dla SIC!+.

Altirra nie ma niestety przełącznika kolejności układów flash, a flasher 1.5 jednak zapisuje tam w drugiej połowie SIC!+, tak jak to robi na Atari, czyli jest tak samo myląco, a nawet gorzej, bo nie można sobie tego przełączyć. (Nie można też przełączyć jak się wgra dwa biny po 512kB, ale to już Phaeron musiałby ten przełącznik dodać.)

Wersja 1.6 (która jak wiem, jest przeznaczona dla SIC!+) kiedy się wybierze bin o wielkości 512kB wyświetla błąd, że brak drugiego układu, czyli nie sprawdza, że ma podłączonego SIC!-a, a nie SIC!+, stąd do tej wielkości plików używam wersji 1.5 no i ta też nie sprawdza i zapisuje na przeciwnym układzie do wybranego (ustawia bit 7 do zapisu, zmieniając faktycznie bit 5 adresu), a że nie ma błędu (to dobrze), to da się taki plik wgrać i mieć dwa SIC!e na jednym SIC!+, przełączane przełącznikiem.

EDIT: Sprawdziłem i poprawiłem / zmieniłem / usunąłem / uzupełniłem.

EDIT: Nowa wersja z najnowszą wersją TB-R na AtariAge (program uruchamiany z kartridża, dołączony flasher). Poniżej wersja z czarnym tłem.

6

(20 odpowiedzi, napisanych Kupię / Sprzedam / Zamienię Atari)

Lizard napisał/a:

%1000 = $10 = 16 Czy tak jest jaśniej?

%1000 to 8, czyli mniej niż dał Dely, czyli może chodziło o 8$, czyli ~29 PLN ;), a może chodziło o promile czyli 10 + 1 ewentualnie 10 + 10, czyli 20 PLN ;) AI twierdzi, że zależnie od interpretacji może to też być 110 PLN :) (Jakby co to ja nie licytuję).

seban napisał/a:

dyrektywa "ERT" (error if true) generuje błąd kompilacji jeżeli warunek jest prawdą. W tym wypadku to sprawdzenie czy skompilowany kod nie przekroczył adresu $CFFF. Jeżeli skompilowany kod przekroczy ten adres, to XASM po prostu zgłosi błąd. Usunięcie tabulatora zapewne spowodowało że "ERT" zostało potraktowane jako etykieta

Zgadza się - zamiast modyfikacji dla testu spróbowałem dopisać nop-y i już siódmy powoduje błąd:

oerto*>$d000
handler_test.xsm (950) ERROR: User error

Zmyliło mnie to, że zamiast tabulacji komunikat zawiera znaki "o". No i usunąłem tę tabulację... robiąc z tego etykietę... ech... Dzięki za wyjaśnienie :)

Być może moja przeróbka TLC też była zbyt długa, dlatego dopiero po przeniesieniu fragmentu działa.

Dzięki,

AUTOCOPY 3.0 zapisuje inną długość bloku: $0B16, zamiast $0C17

AUTOCOPY 3.1 chodzi o sumę, ale nie wygląda żeby chodziło o XOR-a.
Nie wiem czemu ldx, ale wydaje mi się, że chodzi o inną wartość początkową sumy:

            lda #$00       ;obydwie wersje
            ldx #$a3       ;dopisane w 3.1
            stx chksum     ;a tu zamiast sta chksum

Ja to rozwiązałem tak, że działa to tylko dla odczytu - kiedy kopier ma już odczytywać bloki, no i miałem jakiś problem z kodem, że dalszy kawałek przeniosłem, bo inaczej nie działało...

XOR był chyba w T1 - do wyboru w TLC.

W pliku c3_copy.xsm jest w poniższej linii " ' " zamiast " ; " i w Mads to nie przechodzi.

    sta    $5d        ' set also OLDCHR value

Próbowałem dopisać linijki podobne do powyższych, ale efekt jest taki, że program nie znajduje nagłówka - nie ma nawet błędu :|

Dodatkowo Mads ma wtedy problem z linijką:

    ert    *>$d000

działa jak usunąłem tab na początku linii.

Chyba nic więcej nie wymyślę, także nie mam wyjścia, poczekam na nową wersję, ew. jeszcze potestuję obecną na Atari. Ps. W Altirrze faktycznie odczyt działa, zapisu nie sprawdziłem.

@JLS Teraz raczej nazwisk na domofonach nie ma bo RODO - może warto kogoś zapytać?

@Seban Mi dziś przyszło do głowy, żeby zajrzeć do kodu Twojego Handlera Turbo KSO, bo pomyślałem, że jeżeli jest podobny do kodu Turbo Long Copy (Long Turbo Copy) to też można by było wprowadzić te same zmiany i byłyby równoległe wersje do odczytywania zabezpieczonych plików z autocopy 3.0 i 3.1. Zmiany dotyczą fragemtu "prepare for block read/write", który trochę się różni, niewiele rozumiem jak to działa, ale zauważyłem błąd w zapisie i przez co w wartości - w linii:

    lda    #%001111000    ; motor off + DIR reg. select

jest 9 bitów, co kompilator odczytał jako $78, a wygląda na to, że w tym miejscu powinna być wartość $38 - czyli jest o jedną jedynkę za dużo - wnioskuję to z tego, że poniżej jest linia:

    ldx    #%00111000    ; motor-off + DIR reg. select

a i w Turbo Long Copy jest w tym miejscu wartość $38. Także nie wiem co ten dodatkowy bit powoduje, ale raczej nie powinien być ustawiany?

Najlepiej gdybyś takie wersje anty AUTOCOPY dodał oficjalnie w pakiecie. Ale póki co ja może jeszcze chwilę powalczę.

Póki co uruchomiłem handler na emulatorze Altirra, gdzie chyba KSO nie działa, ale nawet nie udało mi się uruchomić handlera z Basic-iem. Włączony Basic zawiesza wybór K,F, a po resecie Basic nie działa tak jak powinien - LIST wypisuje zera.

10

(30 odpowiedzi, napisanych Software, Gry - 8bit)

Poczekam tydzień ;-) i jak nie będzie odzewu to wtedy napiszę.

https://www.youtube.com/watch?v=x2EmYl0E1Gc

11

(30 odpowiedzi, napisanych Software, Gry - 8bit)

Hej @krap, cały czas czekamy, nadal wymagane hasło i nazwa użytkownika.
Może wstawisz te pliki z "Mojego Atari" po prostu jako załącznik do wiadomości w tym wątku? Plis :)

12

(6 odpowiedzi, napisanych Sprzęt - 8bit)

Autor projektu umieszczał fiermware w wątku na AtariAge (i na githubie, choć tam chyba mniej), a później zdaje się miał problemy ze zdrowiem i kolejne wersje uzupełniał o nowe formaty ascrnet, i też umieszczał w tym wątku. Na oficjalnym githubie, ani też na githubie ascrneta nie ma ostatniej aktualizacji, którą przygotowywał ascrnet - z tego co pisał zgłosił poprawki również autorowi. W tej chwili nie widać żeby miało się coś nowego pojawić, ale kto wie, jeżeli coś powstanie to myślę, że na pewno info pojawi się we wspomnianym wątku na AtariAge. A do tej pory wpis ascrnet-a wskazuje że jego wersja jest najbardziej aktualna - na jego githubie są przykładowe pliki do sprawdzenia (nie wszystkie są obsługiwane, ale więcej niż było).

13

(6 odpowiedzi, napisanych Sprzęt - 8bit)

Nie edytujesz plików samodzielnie, tu jest specjalny firmware, który wgrywasz, a plik do uruchomienia nazywasz i wrzucasz zgodnie z opisem:
https://forums.atariage.com/topic/35154 ... nt-5359780

W tym wątku jest też najnowszy firmware (nowszy jeżeli powstanie to też trzeba szukać w tym wątku), który obsługuje więcej formatów, ale prawdopodobnie nie obsługuje autostartu:
https://forums.atariage.com/topic/35154 ... nt-5629803

Warto ten wątek przejrzeć.

(Ja jeszcze nie doczytałem, więc mogę nie wiedzieć, jeżeli powstało coś z autostartem później)

Poproszę o rezerwację A8PicoCart. Napiszę na maila.

15

(63 odpowiedzi, napisanych Bałagan)

ArchiveTG wersja 1.0.1.5

- przy przetwarzaniu do pdf-a oryginalne pliki nie są już modyfikowane, przetworzone kopie są zapisywane w podkatalogach TEMP

- przetwarzanie do pdf-a wymaga teraz IrfanView (i_view64.exe). Ponieważ nie wszystkie opcje są dostępne z linii poleceń ustawienia konwersji png trzeba zrobić w tym programie (optipng osobno nie jest już używany) (wymagane są też jak poprzednio dwa inne programy - info w programie)

- ArchiveTG sprawdza czy w katalogu jest curl.exe i wymaga jego obecności - obecnie 19 teletekstów potrzebuje tego programu

- w silent mode, gdy użycie curl.exe jest konieczne, a niemożliwe (brak pliku curl.exe) tworzony jest pusty katalog. Plik makepdf.bat nie jest wtedy zapisywany (jak było do tej pory)

- wraz z programem są teraz pliki do hurtowego zapisywania teletekstów (część ma atrybut hide - są ukryte dla wygody) archive_all__all_at_once.bat i archive_all__8_at_a_time.bat.

UWAGA: ABY POPRAWNIE DZIAŁAŁY MUSZĄ BYĆ URUCHAMIANE Z LINII POLECEŃ W TRYBIE ADMINISTRATORA!

W trakcie działania tego drugiego zapisywane są pliki od A do H i wait. Jeżeli przerwiemy działanie batchy (w tle działają kopie ArchiveTG) przed ponownym uruchomieniem trzeba usunąć wymienione pliki.

Na końcu zapisywane są teleteksty, które nie są już uaktualniane, można je zaremować dopisując rem przed każdym.

- żeby uniknąć pustych katalogów batche również sprawdzają obecność programu curl.exe.

- uaktualnione linki - wszystkich teletekstów jest obecnie 67 z czego 4 nieuaktualniane. Z polskich został jeden.

16

(81 odpowiedzi, napisanych Fabryka - 8bit)

Patrzę na obrazy płytki SIC!+ i zauważyłem, że pady 3 i 6 układu U5 są mniejsze niż pozostałe w U5/U1. No i jeszcze drobiazg oznaczenie kondensatora C6 jest inne niż pozostałych. Gdyby były nanoszone poprawki to może też otwory pod U1/U5 by się dało dodać? ;)

17

(109 odpowiedzi, napisanych Fabryka - 8bit)

stryker napisał/a:

(...) tact switch ma 7mm wys. a z tego co zmierzyłem max to 6,5mm tak więc musiałem się pozbyć jego nóżki i kawałka metalu...

stryker napisał/a:

(...) kątowy tact switch jest o 1mm za wysoki. Może uda się go zamontować "głębiej w płytkę" bez cięć ...zapewne by trzeba było trochę pokombinować w "kolejnym" prototypowym pcb ....

Przycisk przelutowywałem kilka razy... (wersja +) za każdym razem zmniejszając blachę... uszkodziłem przy tym ścieżkę, pola lutownicze i jedną z nóżek przycisku... (głównie problemem było wylutowywanie, ale też cięcie blachy aby nie zgiąć / przeciąć nóżek przycisku), a także niepotrzebnie podciąłem "żebra" góry obudowy...

Patrząc na rysunek obecnej płytki wydaje się, że problem wysokości został rozwiązany i przycisk wpuszczony jest w płytkę.

Kolejnym istotnym problemem jest odległość zamontowania przycisku od krawędzi płytki, co chyba też zostało uwzględnione. Przycisk musi być cofnięty względem krawędzi płytki o ok. 1mm, gdyż lekko pochyła ścianka obudowy kartridża zabiera ok. 1mm miejsca, co nie pozwala, aby przycisk był zamontowany przy samej ściance. Przy takim montażu płytka była lekko przekrzywiona, a klips z obudowy nie łapał płytki... trudno było zauważyć czym jest to spowodowane.

Jak się zorientowałem to przycisk z przyciętą blachą wlutowałem odchylony.

Jeżeli przycisk zostanie tak zamontowany, to poza otworami na przycisk i przełączniki nie powinno być konieczne żadne inne cięcie wierzchu obudowy (niektóre luty mogą nieco zawadzać o "żebra", ale można je tak przygiąć i dać mniej cyny, że się zmieszczą - tak jak to przewidywałem).

Otwory początkowo zrobiłem dość ładnie, jednak nie do końca w dobrych miejscach, a później wyszło jak wyszło... dopiero jak to jest zmontowane można by było pomierzyć i otwory w kolejnej obudowie wykonać precyzyjnie.

Czytałem, że układ PLCC można wyjąć gdy pod podstawką w płytce jest wykonany otwór, nie wiem jak jest w praktyce z otworami, ale tu zostaje użycie ekstraktora PLCC, więc może na przyszłość byłoby dobrze gdyby takie otwory były.

---

Przy powyższej przeróbce gdybym ją robił kolejny raz, ścieżki przeciąłbym nie skalpelem (dosłownie), a nawierciłbym lekko cieniutkim wiertłem. Użyłbym też cieńszych przewodów i być może rozważyłbym inne połączenie zamiast skrobania lakieru na łączeniu oznaczonym nr 5.

---

Tak na marginesie mogłaby powstać wersja 3-4 flashowa (zmieści się ;)) do sterowania zabraknie chyba nóżek w GALu, ale można przełączać flashe przez demultiplekser lub przez bramki NAND (przy 3-ech flash-ach jeden NAND jako negator) :). Układy oprócz flashy i GALa można by było zastąpić mniejszymi odpowiednikami lutowanymi powierzchniowo. Nawet przylutować po obu stronach płytki.

Mogłaby powstać też wersja plus z układami w obudowach DIP :)

[Można też przerobić SIC! na SIC!+ co wymaga podobnych przeróbek jak prototypowa wersja SIC!+ na aktualną :) Ale bez nowej płytki trzeba by było flash-a na flash-a nalutować ;). Ew. odwrócony od spodu płytki :O.]

18

(15 odpowiedzi, napisanych Sprzęt - 8bit)

Nie to żebym kogoś namawiał, ale da się (programowałem / zgrywałem tak już kilka razy):
https://www.youtube.com/watch?v=9qLsXlx6R8o
Oczywiście nie jest to konieczne jeżeli mamy wersję SIC!-a/SIC!+-a z przełącznikiem on/off!

Atr-a tworzę w Altirrze (tu 16MB):
https://www.atari.org.pl/forum/misc.php?action=pun_attachment&item=13175
(Można MyDOS-a zapisać na tego atr-a spod MyDOS-a - opcja H)

Gotowy obraz atr w załączniku. Nie ma na nim plików ROM, te trzeba sobie samemu nagrać np. przy użyciu Atadim - http://raster.infos.cz/atari/forpc/atadim.htm . Obraz atr przygotowałem tak, aby 20 dodanych plików pojawiło się na liście jako pierwsze (tyle plików póki co maksymalnie wyświetlają flashery). Atr jest również przydatny dla SIC!+ (zawiera flasher15, flasher16, a także dumper).

Co do SIO2SD to nie trzeba wyłączać turbo permanentnie. Co drugi reset pojawia się menu turbo SIO2SD i wtedy można uruchomić turbo, ale nie trzeba - gdy wyświetlana jest listwa z info NIE wciskamy Start ani Select, a przytrzymujemy Option (gdy nie chcemy Basic-a) i naciskamy Reset - atr uruchomi się bez turbo.

19

(109 odpowiedzi, napisanych Fabryka - 8bit)

@paptak https://www.atari.org.pl/forum/viewtopi ... 01#p304001

Ale... nie było tu informacji, a okazało się, że w wersji finalnej zostało przeprojektowane sterowanie przełączaniem aktywnego układu flash i ta wersja jest niezgodna z aktualną.

Także dla wszystkich, którzy mają tę wersję i myśleli, że coś źle zrobili - instrukcja jak przerobić ją na aktualną :)

Przeróbka SIC!+ prototyp -> SIC!+ aktualna działająca wersja:

- usunąć scalak U7 (na górze pod diodą)
- usunąć scalak U6 (na dole pośrodku)
- usunąć kondensator C7
- przeprogramować U4 aktualnym wsadem (albo zaprogramować nowy GAL albo PALCE)

Pięć cięć (tego co w nawiasach kwadratowych NIE ruszamy - wstawiłem aby było wiadomo od czego odcinamy/odcięliśmy - do pomiaru):
Na wierzchniej stronie płytki (tam gdzie są luty):
A. przeciąć połączenie przy U4 16 [x U1/U5 28]
B. przeciąć połączenie przy U4 7 [x U1/U5 7 - 7 na złączu]
C. przeciąć połączenie przy U4 15 [x U3 17 - U2 19]
Na spodniej stronie płytki (tam gdzie są elementy):
D. przeciąć cienkie połączenie wychodzące z lewej strony rezystora R2 (ścieżka wchodzi pod oznaczenie JP2) [x U1/U5 1]
E. przeciąć cienkie pionowe połączenie po prawej stronie rezystora R2 (połączenie od środkowego styku jp2) [x U2 12 - U3 11]

Osiem plus jedno - połączenia:
Na wierzchniej stronie płytki (tam gdzie są luty):
1. w miejscu po U6 połączyć 2 - 3
2. w miejscu po U6 połączyć 11 - 12
3ab. połączyć U4 16 - U7 6 oraz U6 4 - U6 6 [alternatywnie U4 16 - U6 6 (albo do U1 22)]
4. połączyć U4 15 - R2 patrząc od strony lutowania z prawej strony rezystora (centralnie nad otworem)
5. połączyć środkowy pin przełącznika jp2 z masą (np.: zeskrobać lakier pomiędzy przyciskiem, a przełącznikiem i połączyć masę ze ścieżką, albo bardziej elegancko po drugiej stronie płytki do najbliższego punktu masy)
6. połączyć U4 7 z U2 19
7. połączyć U2 12 - U1 1 (jest połączony z U5 1)
8. połączyć U4 9 - U1 28 (U4 9 jest połączony z polem 2 złącza, a U1 28 z U5 28)

Sprawdzić połączenia (czy prawidłowo przecięte i połączone, czy nie ma zwarć?)!

Widok od strony układów:
U7 [miejsce po 74x74], U4 [GAL (zaprogramowany nowym wsadem)]
U3 [74x244], U2 [74x273]
U5, U1 [FLASHe]
U6 [miejsce po 74x00 - NAND] {w starszej wersji było 74x32 - OR}

Koniec.

Edit 1, 2 i 3... :)

W czasie gdy montowaliśmy te prototypowe SIC!+ ściągnąłem kilka "obrazków", m.in. udostępniony schemat nieco wcześniejszej wersji, różnice na szczęście są niewielkie.

https://www.atari.org.pl/forum/misc.php?action=pun_attachment&item=13140
(Wcześniejszy prototyp SIC!+)

W naszej wersji zamienione zostały bramki OR na NAND i wyeliminowana została negacja zrealizowana na tranzystorach. Prawdopodobnie różni się też wsad GAL-a.

https://www.atari.org.pl/forum/misc.php?action=pun_attachment&item=13142
(Wcześniejsza wersja płytki, jednak połączenia i elementy odpowiadają naszej [brakuje tylko jednego z kondensatorów])

Schemat wcześniejszego prototypu posłużył mi więc za punkt odniesienia. Wyraźnych zdjęć gołej płytki nie mam, także korzystałem z dostępnych, na których widać fragmenty.

W wersji finalnej sterowanie zostało uproszczone i zrealizowane wyłącznie na GAL-u (nowy wsad). Dzięki czemu wyeliminowane zostały dwa najmniejsze układy i jeden kondensator. Przełącznik nr 2 prawdopodobnie zmienił swoją funkcję. Na wielu wcześniejszych zdjęciach (np. na powyższym) w jego miejscu jest jumper albo nie ma tego przełącznika wcale.

https://www.atari.org.pl/forum/misc.php?action=pun_attachment&item=13141
(Aktualna wersja SIC!+)

Obecnie ten przełącznik jest wręcz niezbędny - umożliwia przełączenie aktywnego układu przez co daje możliwość wyboru który układ będzie w danym momencie uruchamiany. Jak już pisałem w innym wątku - na przykładzie Laury RNG i Laury RNG Revolve - można się w ten sposób przełączać w czasie działania programu miedzy tym samym programem zawierającym inne dane, co można ciekawie wykorzystać (można taki efekt uzyskać software-owo i przełączać np. z klawiatury, jednak oczywiście program musi być do tego dostosowany). Przełącznik jest też potrzebny przy robieniu dumpów (wybrana kość) i flash-owaniu plików bin 512kB (przy zapisie działanie przełącznika jest odwrócone).

https://www.atari.org.pl/forum/misc.php?action=pun_attachment&item=13149
(Rev. 1.1 - rekonstrukcja naszej wersji; zaznaczone ścieżki, które w Rev. 2 zostały zmienione)

https://www.atari.org.pl/forum/misc.php?action=pun_attachment&item=13189
(Rev. 2 - przeróbka z rev. 1.1 - czyli to co nas interesuje najbardziej)

https://www.atari.org.pl/forum/misc.php?action=pun_attachment&item=13185
(Rev. 2 - aktualna - dla porównania)

Zdjęcia przerobionej płytki wraz z oznaczeniami:

Spód:
https://www.atari.org.pl/forum/misc.php?action=pun_attachment&item=13168
Na spodniej stronie dwa cięcia D i E (ja zrobiłem drugie z nich na wierzchniej stronie, ale nie polecam) i widoczny brak trzech elementów (zostawiłem podstawki, ale nie można w nie wkładać już układów!)

[Przy JP2 uszkodziłem drugą ścieżkę - nie ma to znaczenia.]
[Zielony przewód na tej stronie (powyżej) - bo uszkodziłem ścieżkę przy przycisku - normalnie niepotrzebny.]

Wierzch:
https://www.atari.org.pl/forum/misc.php?action=pun_attachment&item=13187
Na wierzchu 3 cięcia i wszystkie 9 (8+1) połączeń.

Łączenia 3a i 3b są to dwie części jednego połączenia (znaki równości w dwóch kolorach oznaczają które nóżki się łączą na płytce).
Oznaczone luty przy U6 (usuniętym) to miejsca po wylutowanym kondensatorze C7.

Punkt nr 5 to miejsce w którym zeskrobałem lakier i połączyłem ścieżkę z masą (ja tego nie zrobiłem, ale bardzo by to ułatwiło skrobanie i lutowanie - oklejenie dookoła tego miejsca taśmą izolacyjną). Można to zrobić bardziej elegancko łącząc przewodem środkowy pin JP2 do któregoś z pinów masy. Trzeba uważać żeby nie dotykać lutownicą przełącznika i go nie przegrzać (mój ledwo żyje).

UWAGA: Trzeba też pamiętać o ponownym zaprogramowaniu układu GAL/PALCE wsadem dla Rev. 2 - aktualnym obecnie.

Uwagi do schematu:
Patrząc na schemat nie widać tego, ale razem złączone są wszystkie pola i nóżki mające takie same nazwy.
Nóżki układów Flash są połączone na płytce 1-1, 2-2, 3-3, itd. za wyjątkiem nóżek nr 22, które są sterowane osobno.

Uwaga: Układy / elementy są oznaczone tak samo jak w finalnej wersji, więc nie ma z tym problemu, jednak na płytce wszystkie układy zostały obrócone, a U2 dodatkowo zmienił położenie.

Jak widać na zdjęciach płytki przeróbka jest dość prosta i nie jest wcale aż tak dużo do zrobienia :)

Za sprawdzenie i informację, przez co motywację do wykonania tej przeróbki oraz pomoc przy uruchomieniu podziękowania dla Ccwrc.

20

(36 odpowiedzi, napisanych Software, Gry - 8bit)

Zupełnie zapomniałem, że Laura RNG w emulatorze działa na pierwszym SIC!-u i fizycznie chciałem ją sprawdzić na SIC!+-ie.

Mój SIC!+ nie działał jednak prawidłowo - flasher wyświetlał błąd, więc test Laury RNG odwlekł się w czasie. Niedawno nadarzyła się okazja, żeby kartridż sprawdzić i doprowadzić do stanu używalności i tak też się stało :)

Moje, jak się okazało wcale nie aż tak błędne przeświadczenie doprowadziło do uzyskania ciekawej funkcjonalności w grze.

Zaprogramowałem dwie wersje: Laura RNG mod i Laura RNG Revolve.

W tym celu wybrane pliki bin (512kB) połączyłem (append) i nagrałem na obraz atr wraz z flasherem 1.6 dostępnym z najnowszym generatorem tutaj: https://www.atari.org.pl/forum/viewtopi ... 01#p304001 [plik C:\Program Files (x86)\DLT\SIC! Generator\data\flasher2.bin (jest to plik wykonywalny - "xex")] i zaprogramowałem nim SIC!+-a z środkowym przełącznikiem przesuniętym w prawo.

SIC!+ działa jak dwa SIC!-e (lub jeden 2x większy), przełącznikiem wybieramy aktywną kość (przy programowaniu przeciwną).

Dzięki temu na przygotowanym jak wyżej kartridżu SIC!+ w Laurze RNG uzyskałem bardzo fajną funkcjonalność - w czasie gry można zmieniać jej wersję z normalnej na odwróconą - po przełączeniu przełącznika następny etap będzie odpowiednio odwrócony lub standardowy :)

Podobna funkcjonalność przydałaby się w emulatorze Altirra, gdzie da się wirtualnego SIC!+-a (i SIC!-a) zaprogramować, ale opcji przełączenia kości nie znalazłem.

W załączniku obraz atr z plikami dla SIC!+ (i SIC!).

Pliki dla SIC! (512kB) można flashować wersją 1.5, również na SIC!+ - wtedy programujemy jedną kość (przeciwną do wybranej przełącznikiem).

PS. Laura RNG uruchamiana z SIC!/SIC!+ nie wymaga rozszerzonej pamięci :)

Edit: Dołączony atr nie bootuje z "turbo". Dla użytkowników SIO2SD: aby się uruchomił - po pojawieniu się "menu" SIO2SD trzeba przytrzymując OPTION nacisnąć RESET - to uruchomi atr-a bez "turbo".

21

(81 odpowiedzi, napisanych Fabryka - 8bit)

Nie ma to związku z moimi spostrzeżeniami, ale przerobiłem prototyp wg schematu na aktualną wersję. Opis co usunąć, co przeciąć i co połączyć + zaprogramowanie GAL-a wrzucę w odpowiednim wątku (dla posiadaczy prototypu - nie jest tego dużo - zmiany dotyczą sterowania przełączaniem między układami).

Nie skończyłem też dokumentowania jak złożyłem całość prototypu i z czym miałem jeszcze problem, więc mam trochę do nadrobienia, przypuszczalnie to samo tyczy się też oficjalnej wersji - może się przydać.

To co jeszcze zauważyłem to to, że flasher zapisuje scalak który jest nieaktywny (lub od niego zaczyna), więc przełącznik musi być ustawiony na układ który chcemy zaprogramować jako drugi [flasher 1.6] (lub którego nie chcemy programować [flasher 1.5]).

Generalnie ten przełącznik - przy okazji tego, że możemy nim przełączać dwa "SIC!"-e - daje bardzo fajną możliwość, o czym piszę w wątku "Laura na karuzeli" :)

Edit: W Altirrze przełącznik nie jest zaimplementowany (nigdzie go nie zauważyłem) i wygląda na to, że również nie jest zaimplementowana odwrotna kolejność podczas programowania. Gdyby było to zaimplementowane bez przełącznika, to nie dało by się uruchomić podwójnego kartridża z zaprogramowaną jedną kością, więc może tak jest dla wygody? Tak czy inaczej wygląda na to, że Altirra nie do końca emuluje SIC!+-a.

Ja raczej nie pomyliłem połączeń - sprawdzam połączenia coraz to innym sposobem - teraz łącząc ścieżki na zdjęciach i wszystko do tej pory się zgadza.
Poprosiłbym jednak o potwierdzenie, że na aktualnej płytce tak się właśnie SIC!+ zachowuje.

Chciałbym się upewnić i zgłosić prośbę o implementację przełącznika w Altirrze.
Poza tym warto wiedzieć jak to działa, żeby świadomie obsługiwać SIC!+-a.

A może jest to błąd i wymaga poprawki (tak działają obydwa flashery - 1.5 i 1.6, a tego od SDX i innych starszych, które znalazłem nie sprawdzałem)?

22

(81 odpowiedzi, napisanych Fabryka - 8bit)

Wreszcie udało mi się uruchomić SIC!+-a!
Postaram się niedługo to opisać w wątku o wersji prototypowej.

Dostrzeżone problemy:

Flasher nie wyświetla pełnego katalogu - nie ma możliwości wybrania dalszych plików bin - ostatni wyświetlony plik ma literę T. Spacja nie wyświetla dalszych plików.

Jeżeli nazwa pliku bin niewiele mówi np. zestaw15.bin to trzeba ten plik albo na PC wypakować i uruchomić w emulatorze, albo zaprogramować. Gdyby flasher wyświetlał zawartość składanek wygenerowanych generatorem byłoby dużo wygodniej - po wybraniu pliku bin mógłby wyświetlać listę i pytać czy ok.

W menu kartridża mogłyby działać też strzałki i Return.
W menu brak informacji, że jest kolejna strona (np.: ">" lub "2/5" - wtedy znaczki muszą być w opcjonalnych fontach!).

W generatorze opisy programów automatycznie są obcinane do długości jaka jest maksymalna w menu, ale ręcznie można wpisać trzy znaki więcej (obcinane później).
Szkoda, że opisy nie mogą być dłuższe (rozumiem, że dobrane optymalnie).

O co chodzi z opcją "Enable background screen" - zaznaczenie powoduje, że w menu nie wyświetla się tekst (inny problem niż opisany wyżej).

Pod tą opcją są kolory domyślnie ustawione na 0. Próbowałem zmienić te kolory jednak tekstu z tą opcją nie udało mi się zobaczyć (bez niej tak).

przem0c napisał/a:

Koniec licytacji sobota, 3 sierpnia 2025  godzina 22:00.

Nie ma takiej daty :)

Hej!

Wielkie dzięki za ten program :)

...Na razie nie mam jednak czasu go przetestować/używać...

Póki co przeczytałem readme i poprawiłem dostrzeżone błędy - plik do porównania i wykorzystania wedle uznania w załączniku.

Kopiowanie blokami umożliwiał już program "Kopiarka" W. Zabołotnego, brakowało trybu który umożliwiałby kopiowanie plików w całości do/z pamięci. No i nie można ich było bezpośrednio uruchomić spod DOS-a - myślę, że teraz jest to możliwe. Możliwe powinno być też używanie Turbo, stacji dyskietek i normalu naprzemiennie np. z poziomu Basic-a!

Także LOAD i SAVE są bardzo potrzebne i to nie tylko do normalu. Są niezbędne też gdy nie ma możliwości podłączenia kilku urządzeń jednocześnie (przełączamy przewód SIO do odczytu i zapisu) - co jak przypuszczam mało kto może zrobić z biegu (nie posiadając splittera / kabla/kabli).

[Dlatego też kiedyś zmodyfikowałem "Kopiarkę" i używałem jej jako prymitywnego handlera T: (zawiesza się przy dłuższych plikach, nie jest odporny na reset)].

Wg readme przy funkcji COPY należy podać nazwę pliku do zapisu zanim magnetofon znajdzie nazwę pliku który będzie odczytywał.

Ja większość kaset mam nie opisanych i zawierają mnóstwo małych plików m.in. w Basic-u, trudno więc przewidzieć jakie będą nazwy kolejnych plików (podobnie gdy przed właściwym programem jest loader).

Wiele nazw w Turbo KSO mam zapisanych w negatywie lub z innymi znakami niedopuszczalnymi przez DOS-y (i Windows-y) [jest to jeszcze większym problemem przy kopiowaniu programami rozpoznającymi sygnał na PC].

Dlatego też proste przeniesienie nazwy odczytanej z Turbo byłoby problematyczne. Nazwy też często się powtarzają bo zapisywałem kopie na wypadek gdyby się coś nie wczytywało.

Być może wygodniej byłoby gdyby program kopiujący sugerował nazwę do zapisu po zaakceptowaniu nazwy z taśmy i od razu zamieniał inverse w normalne znaki, jak i zamieniał znaki niedopuszczalne? (można np. użyć wielu kropek) Lub chociaż, żeby wyświetlał nazwę oryginału (nie wiem czy tak jest w przypadku @) i dopiero wtedy umożliwiał wpisanie nazwy do zapisu? (tylko gdy odczyt w turbo - blokami)

Mogłaby to być osobna komenda... sam nie wiem trochę to udziwnienie. Mogłaby wtedy też być komenda do seryjnego kopiowania - turbo -> dysk. ...tak luźno się zastanawiam... Oryginalnie w Turbo KSO można przerwać wczytywanie naciskając Start+Select+Option.

Ewentualnie można nawet mając podłączone razem turbo i inne urządzenie po prostu używać LOAD i SAVE - wtedy podamy nazwę świadomie.

A co się stanie gdy użyję samego T: / T1: / T2: (bez żadnego znaku i nazwy) przy odczycie jak i zapisie? Ciekawe co się stanie jak się użyje copy z DOS-a i jako docelowy plik *.*?

Ciekawostka: w KSO zauważyłem, że jako 'TAK' z jakichś przyczyn działa też klawisz '4' i jest to całkiem wygodne (być może jeszcze jakiś/-kieś inny/-e, których nie zauważyłem).

Code3 - to nazwa grupy, od której narzędzia brały nazwę? OK, znalazłem: http://atariki.krap.pl/index.php/Code3 ;)

Nie chcę obiecywać, kiedy, ale z pewnością ten handler sprawdzę w działaniu i być może wrócę do kopiowania moich plików z kaset :) Może też kiedyś zrobię przewód łączący magnetofon i SIO2PC/SIO2SD...

Jeszcze raz Dzięki Seban :)

25

(13 odpowiedzi, napisanych Bałagan)

Yt właśnie podrzuciło mi filmik Borga "UKOCHANA MARKA WRACA" i pomyślałem co mnie obchodzi ukochana jakiegoś Marka i co do tego ma Borg? :D