Dodałem do repozytorium zaktualizowaną wersję kodu źródłowego Speedy2700. Teraz możliwe jest stworzenie wersji, która jest plikiem startowym kasety.

Ulepszę Turgena, aby można było wybrać, czy program ładujący ma zostać przekonwertowany do formatu naturalnego KSO Turbo 2000, czy do pliku startoweho z  kasety. Będzie to wpis konfiguracyjny.

Czasowo zabrakło mi cierpliwości do ATASM i jego błędów, więc przerzuciłem się na MADS. Mam nadzieję, że tak będzie lepiej. Nie chcę was torturować CA65 i jego plikami konfiguracyjnymi linkera.

https://github.com/baktragh/turgen_tape … speedy2700

Komentowane źródło Speedy 2700
https://github.com/baktragh/turgen_tape … speedy2700

Mogę zgłosić duże postępy w Speedy 2700. Wprowadziłem zmiany, które pozwalają konwertować pliki do formatu Speedy 2700 za pomocą Turgena do repozytorium GIT. Gra Ridiculous Reality (mój ulubiony przedmiot testu) załadowała się między innymi dobrze.

Co zostało?
1. Trochę udoskonalamy loader i publikujemy jego kod źródłowy.
2. Dokładniejsze testowanie i wydawanie TS 8.8.4

Spróbuję.

Ściągnąłem plik ajek_speedy_2700_splited.7z, aby "pożyczyć" loader binarny i uruchomić go przez deasembler.

To dobra wiadomość, że loader obsługuje już różne wejścia sygnału (port joysticka/DATA IN). Z ciekawości porównam rozwiązanie z moim Omicronem Turbo.

Skrócenie loadera na niewiele się zda, bo nadal będzie to blok 3KB, chociaż im więcej zer w bloku, tym szybciej się ładuje. Widzę też, czy Super Packer może loader trochę skompresować.

Pod względem programowania w Javie będzie to łatwe. Format pliku Unerring Masters jest zasadniczo identyczny, więc będzie to CTRL-INSERT, SHIFT-INSERT z pewnymi modyfikacjami.

...Boże. Program ładujący sam się przemieszcza i xoruje. W ramach bonusu samomodyfikujący się kod. Ale z debuggerem Altirra odniosę sukces.

...Izolowałem rdzeń kodu programu ładującego binarnego. Można go uruchomić i zajmuje adresy od 0x0700 do 0x089E. Całkiem mały.

Aby był w pełni użyteczny, będę musiał wprowadzić pewne zmiany

1. Dostarczę mu inny relokator - byłoby to pożądane, gdy loader najpierw ładuje się pod adres 0x2100, a następnie przenosi się do 0x0700, aby nie zniszczył przedwcześnie KSO. Ale bez XORingu ani innych dziwactw. Potrzebny będzie również kod inicjujący.

2. Błąd ładowania zostanie zgłoszony tylko przez zwykły różowy ekran. Nie ma gwarancji, że jakiekolwiek litery i tak będą mogły zostać wyświetlone w takim scenariuszu.

Deasemblacja wygląda czytelnie, więc dodam skomentowany kod źródłowy do mojego repozytorium GIT.

Spodziewam się, że zmodyfikowana wersja będzie miała długość około 600 bajtów i upewnię się, że reszta bloku 3 KB jest wypełniona zerami, aby skrócić czas ładowania.

Ten format pliku i program ładujący Speedy 2700 jest interesujący, a także bardzo gęsty. Sygnały pilota marnują tylko niezbędny czas. Może rozważę wsparcie go w Systemie Turgen. Bloki 3KB są niezgrabne dla oprogramowania wymagającego pamięci, a mój system L3 marnuje dużo czasu na sygnały pilota.

Pecus napisał/a:

Uważam też, że znana z AST idea zapisywania jednego bloku (obszaru pamięci) jaest na prawdę dobra.... ale nie dla Atari, które już w tym okresie dysponowało formatem binarnym umożliwiającym "skakanie" po pamięci. A przerobienie pliku rozrzucającego się w czasie ładowania po całej pamięci na jeden blok bywało czasem karkołomne.

Zostało to rozwiązane przez program ładujący BUT i jego format pliku. Jednak najbardziej wydajne podejście obrał ładowacz Unnering Masters - nowy blok dopiero po segmencie INIT.

Nigdy w pełni nie rozumiałem formatu BUT. Wypróbowałem kilka przykładowych plików i nie znalazłem wystarczającej liczby podobieństw. Wygląda na to, że będę musiał disassemblovać oryginalny loader BUT z cartu AST.

107

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

Nowy Turgen z obsługą nowego 1-blokowego programu ładującego.
Skopiujcie plik turgen.jar do istniejącej instalacji Turgena.

https://sourceforge.net/p/turgen/turgen … format=raw
https://atariage.com/forums/uploads/monthly_2021_04/35444104_obrzek_2021-04-08_103436.png.b1a1972c837cef208bc66cc8328c1d9a.png

108

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

micromax napisał/a:

Moja propozycja, może udało by się dodać przeglądarkę z FTP z grami? tak jak w PLAYZX, który sciąga grę automatycznie po wyszukaniu jej.

Problem polega na tym, że archiwa obrazów taśm .cas są w jakiś sposób rzadkie (podczas gdy archiwa TAP i TZX są obfite). Idealnym rozwiązaniem byłoby, gdyby CAS2Audio mogło akceptować pliki .xex. Gdyby obsługiwany był cały system turbo, oznaczałoby to przepisanie wszystkich wtyczek Turgen System (TS) na Androida. Trudne zadanie. Dlatego CAS2Audio został zaprojektowany jako mały satelita TS. TS tworzy pliki CAS z plików .xex, CAS2Audio je odtwarza.

109

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

Wersja 1.0.2 nie reaguje na przypadkowe obroty, więc sygnał nie jest przerywany.
https://github.com/baktragh/CAS2Audio/r … /tag/1.0.2

110

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

https://github.com/baktragh/CAS2Audio/projects/1

111

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

takron27 napisał/a:

baktraaa, a może da się to prosto zrobić? na przykład: w aplikacji suwak/przełącznik blokowania układu/położenia ekranu.

Rozwiązanie nie jest takie proste. Domyślnie Android całkowicie restartuje aplikację po obróceniu urządzenia. Nawet jeśli ponownie uruchomię strumień audio, będą luki w sygnale.

Pierwszym krokiem będzie po prostu zapobieganie rotacji w CAS2Audio. Można to zrobić w manifeście aplikacji.

Android pozwala również na przesłonięcie domyślnego zachowania. Oznacza to, że aplikacja może samodzielnie obsługiwać obrót urządzenia. Jest to bardziej złożone i będzie rozwiązaniem długoterminowym.

112

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

To jest błąd. Spróbuję to naprawić, kiedy zorientuję się, jak obracający się ekran wpływa na cykl życia aplikacji.

113

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

Posiadam szablon do taśm Maxell UR90. LibreOffice Draw (.odg)
https://drive.google.com/file/d/1T9kd4P … sp=sharing
Drukuję je na papierze - 160g / m2

114

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

Biorąc pod uwagę listę segmentów, ten konkretny plik binarny wymagałby bardzo „wąskiego” programu ładującego;ładowarki Blizzardą są niszczone podczas ładowania. Lepiej uzyskać inny plik binarny.

Z drugiej strony BLOCKLOADER Omicron Turbo jest bardzo mały (2048-2704).

Inny Swiat (1994)(Mirage)(PL).xex
---------------------------------------
DATA 00559-00559 [022F-022F] 
DATA 54272-54272 [D400-D400] 
DATA 00065-00065 [0041-0041] 
DATA 01305-01775 [0519-06EF] 
DATA 03840-03858 [0F00-0F12] 
DATA 01280-01287 [0500-0507] 
INIT 00738-00739 [02E2-02E3] I:01305 [0519] 
DATA 12304-17617 [3010-44D1] 
DATA 01280-01287 [0500-0507] 
INIT 00738-00739 [02E2-02E3] I:01305 [0519] 
DATA 04048-04082 [0FD0-0FF2] 
DATA 03845-03845 [0F05-0F05] 
DATA 03949-03949 [0F6D-0F6D] 
DATA 00559-00559 [022F-022F] 
INIT 00738-00739 [02E2-02E3] I:04048 [0FD0] 
DATA 32768-47103 [8000-B7FF] 
DATA 09204-09274 [23F4-243A] 
INIT 00738-00739 [02E2-02E3] I:09216 [2400] 
DATA 30942-49151 [78DE-BFFF] 
DATA 00208-00213 [00D0-00D5] 
DATA 09216-09697 [2400-25E1] 
DATA 09728-09757 [2600-261D] 
RUN 00736-00737 [02E0-02E1] R:09728 [2600] 

115

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

Zalecam częstotliwość 48 kHz dla Turbo Blizzard i Turbo 6000 . Wszystkie typy wyjść (cas, wav audio).

Chcę tylko przypomnieć, że suwak „Amplitude” nie przejmuje kontroli nad ogólną głośnością dźwięku telefonu. Po prostu kontroluje wartości bajtów w strumieniu audio. Na przykład. Przy 100% amplitudzie wartość wysokiej próbki będzie wynosić 32767, a niskiej próbki -32768.

Ostateczna siła sygnału zostanie wówczas określona przez regulator głośności w telefonie.

Jeśli chodzi o problemy z Blizzardem, najbardziej prawdopodobnym przypadkiem jest to, że jakiś element w łańcuchu sygnałowym obcina wyższe częstotliwości. Może to być sam telefon, może to być nawet boom box. Aby znaleźć przyczynę, potrzebny byłby oscyloskop..

116

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

Montezuma napisał/a:

Jeszcze jedna próba z systemem AST - też nie działa...

Czy AST i Blizzard działają, gdy podłączysz boombox bezpośrednio do Peceta?
W większości przypadków Blizzard wymaga ustawienia częstotliwości próbkowania 48000 kHz w Turgenie. (Tools> Preferences> xxx output > Sampling rate). Wypróbuj .xex z wtyczką Turbo Blizzard, a także swoje .cas z wtyczką Tape Image.

Głośność na można dostroić za pomocą narzędzia „Pilot tone test”.
Uruchom Blizzarda i dokonuj zmian, aż zobaczysz paski ładowania.

Pamiętaj, jeśli obraz .cas jest tworzony z precyzją 44100 Hz, ustawienie CAS2Audio na 48 kHz nie pomoże.

117

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

Montezuma napisał/a:
baktraaa napisał/a:

Dobrze, że w końcu działa, @Montezuma.
Ogólnie polecam odinstalowanie, a następnie ponowne zainstalowanie, gdy przechodzę na najnowszą wersję.

Moje próby „zaktualizowania” aplikacji bez wcześniejszej dezinstalacji kończą się komunikatem „Nie można zainstalować”, ale nie ma możliwości uzyskania szczegółów, dlaczego. To mnie złości. Bez szczegółów nie jestem w stanie tego naprawić.

Prawdziwą główną przyczyną problemu jest to, że niewiele wiem o odpowiednim pakowaniu aplikacji na Androida, więc można je uaktualniać.

Ale to należy do jakiegoś forum Androida, więc przestanę narzekać. Nie chcę dostać bana.

Też nie na temat, ale fascynuje mnie, że tak dobrze piszesz po polsku, skoro mieszkasz w Pradze. Mieszkałeś kiedyś w Polsce? A może żona Polka :) ?

O nie, używam Google Translate. W większości przypadków rozpoznaję niechlujne tłumaczenie, więc przeformułuję oryginalny tekst. Moja dziewczyna jest cudzoziemką, ale nie z Polski.
Szczerze mówiąc, byłam w Polsce tylko raz, aby przemawiać na konferencji we Wrocławiu. Poświęciłem wystarczająco dużo czasu na zwiedzanie miasta.

118

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

Dobrze, że w końcu działa, @Montezuma.
Ogólnie polecam odinstalowanie, a następnie ponowne zainstalowanie, gdy przechodzę na najnowszą wersję.

Moje próby „zaktualizowania” aplikacji bez wcześniejszej dezinstalacji kończą się komunikatem „Nie można zainstalować”, ale nie ma możliwości uzyskania szczegółów, dlaczego. To mnie złości. Bez szczegółów nie jestem w stanie tego naprawić.

Prawdziwą główną przyczyną problemu jest to, że niewiele wiem o odpowiednim pakowaniu aplikacji na Androida, więc można je uaktualniać.

Ale to należy do jakiegoś forum Androida, więc przestanę narzekać. Nie chcę dostać bana.

119

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

Powinien również działać w wersji 4.2. Wypróbowałem to z moim starym tabletem.
Pobierz z https://github.com/baktragh/CAS2Audio/r … /tag/1.0.1

I nie zapomnij dać nam znać, czy to zadziałało!
Dzięki.

120

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

A jeśli odważę się zapytać. Czy z powodzeniem używałeś Turgen System do tworzenia taśm?

121

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

Wydałem ponownie wersję 1.0.1 jako 1.0.1a. Głupi błąd.


if (shorten_leader)
  pobierz pierwszy blok "data"
  ustaw AUX = 15000
endif

Został zmieniony na
if (shorten_leader)
   pobierz pierwszy blok "data"
   jeśli (AUX> 15000), to ustaw AUX = 15000
endif

122

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

1.0.1-test2. Lepszy układ interfejsu użytkownika.

123

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

Etykieta prawego dolnego przełącznika jest zbyt długa, więc nie pasuje.
Będę musiał znaleźć najlepszy sposób, aby to naprawić. Wydaje się, że lepiej byłoby mieć tylko jedną kolumnę przełączników.

124

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

Spróbuj z załączoną wersją 1.0.1-test1.

125

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

Montezuma napisał/a:

Czy mógłbyś proszę dodać ustawienia do appki, żeby nadpisać długość sygnału pilota?

Mogę to zrobić (przełącznik, który skróci pierwszy sygnał pilotujący do 15 sekund). Nie jestem jednak w 100% pewien, że długi sygnał pilotujący jest prawdziwą pierwotną przyczyną. Nie miałem problemu z załadowaniem taśmy z 30-sekundowym sygnałem pilota.

To byłoby pytanie dla Krotkiego, jaki jest maksymalny czas trwania sygnału pilotującego.