I ja poproszę jedną sztukę.

krap napisał/a:

(...)wiecej niz wav2cas(...)

Starusieńki wav2cas działa tylko dla nagrań w dobrym stanie, lepiej używać tych narzędzi, które wymieniłem. Pierwsze z nich dla nagrań w normalu jest prostsze w użyciu i daje podobne rezultaty co drugie.

krap napisał/a:

(...)a tych jego .hexow nie umim edytowac(...)
a jeszcze - troche wiecej na temat 'pousuwac smieci'?

Przecież to czytelny plik tekstowy.
Dla pliku w normalu (bez zabezpieczeń) powinny zostać tylko linie:

A8CAS-HEX
FUJI nazwa programu
baud 00595
data xxxxx xx xx xx .... xx ; stan sumy konrolnej i inne
data xxxxx xx xx xx .... xx ; stan sumy konrolnej i inne
...

xxxxx przy pierwszym rekordzie każdej części (np. loader i główny program) powinno być około 20000, przy kolejnych około 00267. Sumy kontrolne powinny być OK a nie BAD.
Jeżeli wyjdzie błędna suma kontrolna, to trzeba albo przy dekodowaniu spróbować dodać jakieś opcje (dla a8cas-util najczęściej pomaga manipulacja opcją --resistor - próbowac wartości 0.01-0.04 lub mniejsze, albo 0.1-0.2), albo zgrać jeszcze raz, albo w edytorze audio poprawić jakość sygnału (wzmocnić, odszumić), a w najgorszych przypadkach analizować .wav bit po bicie i poprawiać ręcznie. W audacity dobrze też narysować sobie widmo fragmentu nagrania (w środku bloku danych), Analiza-narysuj widmo. Powinny się pojawić dwa szczyty w okolicach 4000Hz i 5200Hz (inne zignorować). Jeżeli prędkość przesuwu taśmy jest zła i wyjdzie np. 3500Hz i 4700Hz, to albo trzeba podnieśc prędkość w edytorze audio, albo przy dekodowaniu (a8cas-util) podać wartości z wykresu (np. --space 3500 --mark 4700).

krap napisał/a:

w atari przeciez nigdy sie nie krecilo glowica

Jak się nie miało turbo to się nie kręciło. Przy turbo się kręciło jak w świecie commodore.
Jak napisałem - generalnie kręcić tak, żeby sygnał był najsilniejszy, ale trzeba patrzeć, czy np. nie wychodzą tylko silne impulsy szerokie, a wąskie bardzo słabe, wtedy próbować przestawić tak, żeby były równiejsze. Jeśli chodzi o głośność to raczej się starać nie przesterować, tak, żeby nie obcinało wierzchołków fali. Chociaż dla turbo czasem przesterowanie pomaga poprawić błędy.
Najlepiej by było to na obrazkach pokazać, ale musiał bym do tego usiąść na chwilę...

krap napisał/a:

(...)tak zeby paski byly mozliwie najbardziej podobne do oryginalu(...)

No niestety gołym okiem pojedynczych złych bitów z pasków się nie wyłapie, nawet jak paski wyglądają dobrze.
Próbowałeś odwrócić polaryzację ? W audacity: efekty-odwróć (effects-invert). Próbowałeś zmieniać głośność przy odtwarzaniu  ?
Jak byś udostępnił nagranie, to mogę je zbadać.

Magnetofony - dla  zgrywania w zasadzie nie ma wielkiego znaczenia, czy magnetofon jest z niższej czy z wyższej półki. Zgrałem trochę kaset na starym, rozklekotanym walkmanie i było też ok. Częstotliwość próbkowania wystarczy 44100 lub 48000, więcej rzadko się przydaje.

1 i 2.
a) Zapis turbo działa na zupełnie innej zasadzie (PWM) niż normal (FSK). Modulacja PWM jest znacznie prostsza, więc bardziej niezawodna, sygnał jest w znacznie mniejszym stopniu przetwarzany przez magnetofon i w mniejszym stopniu zależy od jakości elektroniki.
b) tak jak napisał mono - bezpośredni związek z bugiem w OS. Procedury odczytu turbo są od niego niezależne.
c) pośredni związek z bugiem w OS - przy pewnych szczególnych prędkościach bug manifestuje się znacznie cześciej
d) pośredni związek z bugiem w OS - przy pewnych szczególnych odstępach pomiędzy blokami danych bug manifestuje się znacznie częściej - tak jak by następowała swoista synchronizacja sygnału z taśmy z wyświetlaniem obrazu, tzn. odstęp pomiędzy ostatnim bitem poprzedniego bloku i pierwszym następnego potęguje efekt do tego stopnia, że błąd może występować zawsze w tym samym miejscu nagrania
e) sposób działania Pokeya - według dokumentacji Pokey potrafi odczytywać dane z prędkością do 5% większą niż aktualnie ustawiona, nie ma słowa o odczytywaniu z prędkością niższą niż aktualnie ustawiona. W związku z tym są pewne szczególne graniczne wartości prędkości, przy których najmniejsze wahnięcie obrotów magnetofonu w dół (czy rozciągnięcie taśmy itp.) może powodować błąd; może się też zdarzać, że obliczana prędkość transmisji jest kwalifikowana do błędnego przedziału i Pokey jest programowany na prędkość wyższą niż powinien być (taka łagodniejsza wersja buga w OS). Nawet 1 baud różnicy w prędkości transmisji może mieć znaczenie. Natomiast zapis turbo nie korzysta ze sprzętowej obsługi transmisji Pokeya, jest od tego niezależny.
3.
a) w normalu - po zgraniu przekonwertować na .hex, w edytorze tekstowym pousuwać śmieci, ustawić modelową prędkość transmisji (594-595 baud, źródła podają równe 600). Po poprawkach przekonwertować na wav. Nawet wtedy będzie od czasu do czasu występował błąd związany z bugiem w OS.
b) w turbo - istotne jest dobre ustawienie skosu głowicy przy zgrywaniu, zwykle trzeba ustawić tak, żeby sygnał był najsilniejszy, jeszcze istotniejsze jest, żeby kształt fali był jak najbardziej zbliżony do fali prostokątnej (choć w przypadku większości nagrań będzie bardziej podobny do sinusa), dobrze też jeżeli amplitudy wąskich i szerokich impulsów są do siebie zbliżone. Prędkość przesuwu taśmy jest dość istotna, bo większość systemów turbo (w tym turbo 2000) nie ma programowej kompensacji zmian prędkości (nie pamiętam teraz, czy poza Blizzardem jakiś system turbo ma - no jest jeszcze Sistema Injektor, ale to jeszcze inny rodzaj zapisu).
c) turbo - po zgraniu przekonwertować na hex, w edytorze tekstowym pousuwać śmieci, poustawiać odpowiednie szerokości impulsów itp. Po poprawkach przekonwertować na wav.
4.
a) W przypadku turbo i adapterów bardzo ważna jest siła sygnału - nie może być ani za mała, ani za duża. Trzeba dobrać eksperymentalnie. Zwykle lepiej ustawić ciszej niż dla normal.
b) Dla wielu systemów turbo istotna jest polaryzacja sygnału, tzn. czy impuls zaczyna się od zbocza narastającego czy opadającego. Nie pamiętam w tej chwili na pewno, ale Turbo 2000 chyba powinno być od tego w jakimś stopniu niezależne, natomiast odwrócenie polaryzacji może w każdym przypadku i tak pomóc lub zaszkodzić. Dość ważna jest szerokość ostatniego półimpulsu przed pierwszym impulsem synchronizującym, która to połówka ma tendencję do bycia skróconą i rozpoznawaną jako pierwsza połowa impulsu synchronizującego. Jak nagranie się nie wczytuje, to warto w edytorze audio spróbować zrobić inwersję sygnału. Polaryzacja może się zmieniać w wielu miejscach (przy zgrywaniu, przy odtwarzaniu z komputera, w adapterze kasetowym, w magnetofonie Atari...)
c) w pewnym stopniu ważna jest prędkość przesuwu taśmy przy zgrywaniu, co za tym idzie wynikowa szerokość impulsów.
5.
a) http://a8cas.sourceforge.net/ (tylko normal, bo a8cas-convert obsługujący turbo mam chyba tylko ja, nie upubliczniałem bo nie dokończyłem przeróbek)
b) http://www.arus.net.pl/FUJI/a8cas-util/ (normal i turbo, tylko pod linuksa)

P.S. Część moich twierdzeń jest wydedukowana na podstawie obserwacji i nie potwierdzona badaniami ;).

Format nagrań wygląda na zgodny zarówno z oryginalnym (?) Turbo 6000 jak i z Turbo Star 6000 o którym mowa w tym wątku na AOL. Oprogramowanie z wszystkich trzech wersji turbo 6000 wczytuje te same nagrania. Procedury odczytu wyglądają na identyczne.

5

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

Analizowałem takie nagrania TurboROM dawno temu. Wygląda to tak:
- suma kontrolna JEST obliczana i kontrolowana, psucie pliku cas zepsuje wczytywany program, choć przy pewnej dozie szczęścia może nie zepsuć sumy kontrolnej
- suma kontrolna jest liczona ze wszystkich bajtów całego bloku turbo (o ile pamiętam po prostu xor)
- prawidłowa suma kontrolna jest przechowywana w loaderze, nie w bloku turbo
- nie można sumy kontrolnej wyciągnąć wprost z loadera, bo cały loader jest "zaszyfrowany" (o ile pamiętam dwukrotny xor). Ja po prostu uruchamiam wczytywanie pod emulatorem i znajduję odpowiedni bajt pod debuggerem. Pewnie gdzieś na biurku wala mi się kawałek papieru, na którym mam zapisane, który to bajt (spotkałem się z dwiema wersjami loadera)
- blok turbo jest wczytywany jak leci i poza liczeniem sumy kontrolnej nie jest sprawdzane nic innego (np. loader nie wie, ile bajtów ma wczytać)
- warunkiem koniecznym i wystarczającym do zakończenia wczytywania jest wystąpienie błędu odczytu (zbyt długiego lub zbyt krótkiego impulsu)
- po błędzie odczytu sprawdzana jest suma kontrolna. Jeżeli jest OK, to program jest uruchamiany, jeżeli nie, to ponownie uruchamia się odczyt
- w związku z powyższym nagranie idealne, czyli takie, w którym ostatni impuls nagrania odpowiada ostatniemu bitowi danych nigdy nie skończy się wczytywać
- ten typ nagrań był głównym powodem, dla którego przy dorabianiu zapisu turbo w emulatorze atari800 dodałem tworzenie sztucznych zakłóceń na końcu zapisu każdego nagrania turbo (paru niewymiarowych impulsów po wyłączeniu silnika magnetofonu); takie zakłócenia w niczym nie przeszkadzają, a pomagają w tym i w jeszcze jakimś jednym przypadku

@Szwanke_Michal w załączniku to co jest na drugim obrazku. Działa pod emulatorem atari800 jako "standard 8kb cartridge" - po pojawieniu się napisu "Czekaj..." po krótkiej chwili trzeba wejść do menu i odłączyć karta (opcja "reboot after cartridge change" musi być na "no").

Edit:
Pliki, które podesłał piwkooo też są OK. Jak się je powiększy do rozmiaru 8kb poprzez skopiowanie tej samej zawartości i załaduje do emulatora według instrukcji powyżej to ruszają. K.S.O.2000.rom (zlepić 4 kopie) to pierwszy obrazek, KSO_COPY.BIN (zlepić 2 kopie) to drugi obrazek.

7

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

Jak by co to ja też mogę pomóc. W zasadzie to może mogę pomóc zaoszczędzić czas na dumpowanie i skanowanie, bo mam sporo kaset i większość jest już zarchiwizowana. @uicr0Bee - masz jakiś spis ? Albo mogę Wam podesłać na priv swój spis.

8

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

Nie może mieć innej szybkości. Szybkość zależy od oprogramowania, a nie od sprzętu. Nie widziałem różnych wersji AST dla 1010 i XC-12. Magnetofon jest przecież głupi i nie da się rozpoznać, jaki model jest podłączony do komputera. Natomiast AST ma bardzo dużą tolerancję na różnice w szybkości transmisji (nawet do 3x między największą i najmniejszą), więc jeżeli konstrukcja 1010 powoduje, że przewija taśmę wolniej lub szybciej niż XC-12, to wtedy różnice w prędkości będą widoczne.

9

(9 odpowiedzi, napisanych Programowanie - 8 bit)

Wersja nieoficjalna usunięta. Sposób użycia opcji "pilot" został zmieniony ze względu na dodaną możliwość ustawiania opcji dla każdego pliku wejściowego oddzielnie. Od wersji 1.03 trzeba tak:

a8cas-util.pl conv --title Programik loader.bin:pilot=18000 program.xex:pilot=2000 data.bin program.cas

Z nagraniem wszystko jest w porządku, poza tym, że drugi blok danych jest zbyt mocno uszkodzony i nie da się w całości odczytać. Są tam dwa programy w basicu. Załączam pliki w jednym zipie:
- dump1.hex ze wszystkim co się odczytało
- dump1-file1.bas - pierwszy plik, uszkodzony, nie działa, patrząc po zawatości to "Edytor Basica"
- dump1-file2.bas - "Projektowanie znaków", działa, można uruchomić na emulatorze.

Konwertowane przy pomocy a8cas-util.pl, sygnał wymagał tylko wzmocnienia 4x:
a8cas-util.pl conv --turbo blizzard --amplify 4 dump1.flac dump1.hex
a8cas-util.pl conv --turbo blizzard --amplify 4 --maxgap 4800 dump1.flac dump1.bas (tworzy dwa pliki bas).

IMO 192kHz to przesada. 96kHz powinno wystarczać całkowicie.

EDIT:
Poprawka, tam są trzy programy w basicu, powinienem zrobić:
a8cas-util.pl conv --turbo blizzard --amplify 4 --maxgap 3800 dump1.flac dump1.bas (tworzy trzy pliki bas).

Dodałem do załącznika: dump1-file3.bas - działa ("Datamaker").

AtariX, jeżeli nie jesteś zainteresowany wypróbowaniem a8cas-util pod linuksem (wbrew temu co napisał voy dekodowanie nagrań turbo to chyba główna funkcja a8cas-util), to się nie będę tu wtrącał ;), w przeciwnym razie też służę pomocą. Dekodowanie Blizzarda jest dobrze przetestowane.

Odpowiadając na wcześniejsze pytania:
1. istniejące narzędzia są rozwijane od lat, więc raczej szkoda poświęcać czas na tworzenie nowych od zera, co nie znaczy że z odpowiednimi umiejętnościami nie można stworzyć czegoś lepszego
2. opis formatu Blizzard (budowy nagrania) na atariki  powstawał m.in. na podstawie analizy kodu handlera (liczyłem cykle zegara dla pętli odmierzających szerokości impulsów). Niemniej, jak tam jest wspomniane, w pewnym zakresie możliwe są odchylenia parametrów czasowych, handler dostosowuje się do rzeczywistej prędkości transmisji używając pierwszego (tego długiego) sygnału pilotującego
3. format z $FFFF na początku chyba nie nazywa się nijak oficjalnie, na atariki nazywa się Binarny plik DOS-u
4. do taśm w normalu narzędzia a8cas Krótkiego, a8cas-util (a jakże), albo legendarny wav2cas do prostych przypadków. Z tego co słyszałem Turgen też w jakimś stopniu obsługuje normal (nie próbowałem).
5. ... czasem mimo wszystko trzeba się pomęczyć.

Szumy w sygnale w przypadku nagrań turbo odgrywają marginalną rolę (w normalu zresztą też), w zasadzie moim zdaniem w ogóle nie trzeba się tym przejmować. Przerobiłem mnóstwo nagrań w normalu i różnych formatach turbo, i praktycznie nie korzystałem z opcji do obcinania szumów, którą dorobiłem na początku zmagań z a8cas-util.

Powody błędów dekodowania mogą być różne:
- uszkodzenia taśmy, miejscowe osłabienie sygnału lub całkowite zaniki sygnału na odcinku pojedynczych bitów
- chwilowe przesterowania sygnału (też na odcinku pojedynczych bitów)
- zbyt duża różnica w prędkości odtwarzania w stosunku do prędkości nagrywania; Turgen jest tu dość elastyczny, bo pozwala łatwo definiować własne zestawy opisujące szerokości impulsów - wystarczy w edytorze audio policzyć sample dla każdego typu ipulsu (pilot, zero, jeden) i utworzyć plik konfiguracyjny
- zniekształcenia sygnału, spowodowane np. różnicą w ustawieniu głowicy przy nagrywaniu i odtwarzaniu (bity "0" odpowiadające wyższej częstotliwości mogą być znacznie osłabione) lub wadami elektroniki; np. zdarza się że szerokie impulsy (pilot, jedynka) zyskują dodatkowe "brzuchy", które mogą być dekodowane jako bity '"zero" (zwykle duże wzmocnienie to kompensuje, ale z drugiej strony duże wzmocnienie może zepsuć coś innego)
- zniekształcenia wytwarzane przez filtry używane przez program dekodujący (np. za duże wzmocnienie, podbicie/wygaszenie niewłaściwych częstotliwości)
- suma kontrolna liczona według algorytmu innego niż standardowy (np. xor zamiast modulo256)

Blizzard jest jednym z najszybszych systemów turbo, przy częstotliwości próbkowania 48kHz różnia w szerokości impulsów "0" i "1"  wynosi tylko kilka sampli, jest to więc dość czułe na nierównomierności prędkości przesuwu taśmy. Samplowanie na 96kHz może dać lepsze rezultaty, ale nie musi, natomiast sam proces dekodowania przy 96kHz działa lepiej niż przy 48kHz (przynajmniej w a8cas-util, jest programowo resamplowane).

Jeśli chodzi o samo zgrywanie kaset do wav to też nie ma uniwersalnej recepty. Czasem lepiej wychodzi, jak się sygnał przesteruje, żeby wyszła fala prostokątna, czasem o wiele lepiej jest zgrać tak, żeby nie tknąć wierzchołków fal, czasem jest lepiej ustawić dość cicho. Każdy przypadek może wymagać użycia różnych filtrów przy dekodowaniu i innych algorytmów przy resamplingu do wyższych częstotliwości (z interpolacją lub bez).

12

(9 odpowiedzi, napisanych Programowanie - 8 bit)

Proszę. Do ściągnięcia jest nieoficjalna wersja 1.02a. Dodana opcja --pilot. Można podawać wielokrotnie. Miejsce występowania nieistotne, kolejność odpowiada kolejności plików wejściowych. Długość w milisekundach:

a8cas-util.pl conv --title Programik loader.bin program.xex data.bin program.cas --pilot 18000 --pilot 2000

Pilot przed loader.bin będzie trwał 18s, przed program.xex 2s, przed data.bin domyślnie 20s.

13

(9 odpowiedzi, napisanych Programowanie - 8 bit)

Coś takiego miałem dorobić dawno temu, ale motywacji brak...
Od dzisiaj można tak:

a8cas-util.pl conv --title Programik loader.bin program.xex program.cas

Przerwy na wywołania init (jeszcze) nie są wspierane.

14

(3 odpowiedzi, napisanych Konsole)

https://atariage.com/2600/archives/consoles.html

15

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

wieczor napisał/a:

Szukam Tanksów w BASICu...

A może to  w załączniku ?

16

(20 odpowiedzi, napisanych Różne)

Z opóźnieniem trochę  dużym, ale  mail wysłany. Wybrałem kasety :)

Dziękuję organizatorowi i współzawodnikom za niespotykane emocje ;)

Nie wiem, czy się da tak łatwo przekonwertować, raczej nie automatycznie - albo trzeba zmieniać kod programu, albo podmienić handler C: (o ile program z takowego korzysta) - ale tu z kolei nie wiadomo, gdzie by było bezpieczne miejsce dla handlera. Mam kasetę Blizzarda z grą "Władcy Ciemności", ale też jest zrobione tak, że w turbo ładuje się tylko początek, a to co najdłuższe i tak idzie w normalu.

Z wieloczęściowych rzeczy w  pełni blizzardowych znalazłem tylko "Winter Olympiad". Wygląda tak, jak by było specjalnie przerobione na Blizzarda, nawet dźwięki przy wczytywaniu wydaje trochę inne niż standardowe loadery. Do ściągnięcia tu: http://www.arus.net.pl/FUJI/files/Atares_BL_29_A.wav. Zaczyna się od początku taśmy. Ładuje się microloaderem.

18

(20 odpowiedzi, napisanych Różne)

4 :>

Ale chyba dużo zależy od tego, jak się na początku rozłoży...

Masz całkowitą rację. Chyba nie tędy droga. przydało by się wcisnąć kilka dodatkowych instrukcji, tylko najpierw miejsce trzeba by na nie znaleźć...

Krótki napisał/a:

Niewiele by to zmieniło.

Oj, pod emulatorem by wiele zmieniło :P.

20

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

Ja mam jeszcze jedną, nr 54, ta z kolei jest nagrana w formacie Turbo 2600 (ale ze standardową prędkością).

Problem jest przede wszystkim tu:

; Zapisz aktualne VCOUNT i RTCLOK+2 w TIMER1, TIMER1+1
        LDX     VCOUNT          ;vertical line counter
        LDY     RTCLOK+2        ;low byte of VBLANK clock

Gdyby pomiędzy tymi dwoma instrukcjami były inne, których wykonanie zajmie minimum 12 cykli maszynowych, błąd powinien zniknąć. Sądzę, że poprzesuwanie instrukcji tak:

; Zapisz aktualne VCOUNT i RTCLOK+2 w TIMER1, TIMER1+1
        LDX     VCOUNT          ;vertical line counter
        STX     TIMER1
        STA     SAVIO           ;save serial data in
        LDX     #1
        STX     TEMP3           ;set mode flag???
        LDY     RTCLOK+2        ;low byte of VBLANK clock
        STY     TIMER1+1        ;save initial timer value
        LDY     #10             ;10 bits

mogło by pomóc. Pomiędzy "LDX VCOUNT" i "LDY RTCLOK+2" było by 4+4+2+4=14 cykli, a raczej niczego się nie popsuje.

W sumie nie problem sprawdzić....

Edit:
Efekt jest jakby połowiczny, zamiast dwóch różnych błędnych wartości dostaję teraz tylko jedną (8258), więc jak można było podejrzewać, chyba trzeba by też coś zrobić z tym:

; Po 10 zmianach sygnału, zapamiętaj aktualne VCOUNT i RTCLOK+2
        LDA     VCOUNT          ;???
        LDY     RTCLOK+2        ;???

Ale to już nie dzisiaj.

Nooooo.... z tym prawdopodobieństwem to tak pi x oko. Tak naprawdę to chyba wszystko zależy od poziomu szczęścia osobistego ;). Jak ktoś się chce zmierzyć z własnym szczęściem, to proponuję zagrać w nową grę p.t. "Klątwa magnetofonu". Gra wykorzystuje opisaną powyżej właściwość 8-bitowych komputerów Atari (na marginesie - trudno mi uwierzyć, że ta przypadłość nie była wcześniej wykryta, ale też nigdy o niej nie słyszałem, zawsze narzekało się na jakość magnetofonów).

Gra jest trudna, ale wciągająca, ma 10000 poziomów, a ponieważ za każdym razem przebieg rozgrywki jest inny, to grywalność też oceniam wysoko ;). Wytrwali otrzymują dodatkowy bonus w postaci niezwykłych, kolorowych efektów graficznych pojawiających się około poziomu 4100. Zadaniem gracza jest przejście wszystkich poziomów przy utracie jak najmnejszej liczby żyć. Celem ostatecznym jest jej zakończenie bez utraty żadnego życia. Obsługa jest bardzo prosta i nie wymaga dodatkowego komentarza.

Gra jest przeznaczona do uruchamiania wyłącznie z magnetofonu, całość mieści się na jednej stronie 60-minutowej kasety. Można grać na emulatorze, ale preferowane jest używanie prawdziwego sprzętu ze względu na możliwość wykorzystania pomocniczych elementów w rodzaju szczekającego psa czy brata słuchającego głośnej muzyki, klaskania i krzyków, na które to emulator jest całkowicie nieczuły ;).

Instrukcja ładowania i uruchamiania: uruchomić komputer (emulator) z włączonym interpreterem Basica (należy wyłączyć SIO-patch). Umieścić taśmę w magnetofonie (lub załadować plik cas), wcisnąć "Play", wczytać grę poleceniem "CLOAD" i uruchomić poleceniem "RUN". Przycisk "Play" magnetofonu w trakcie gry musi pozostać cały czas wciśnięty (kwestia sprawdzania zabezpieczeń przed kopiowaniem).

Oto przykładowy zrzut ekranu przedstawiający przebieg gry:
curseoft screenshot

Aby ściągnąć grę, kliknij tutaj: The Curse of a Tape Player

Życzę wielu godzin mile spędzonych podczas zabawy.

Notatka techniczna:
podstawową cześcią programu jest fragment procedury systemowej umieszczony w pierwszym listingu przytoczonym przez Krótkiego. Dokonałem tylko drobnych zmian, żeby inne zdarzenia w systemie nie powodowały skoków w nieprzewidziane miejsca oraz żeby podprogram można było wywoływać z Basica i odczytać wynik obliczonej prędkości transmisji. Prędkość nagrania jest ustawiona na 600 bodów. Prawidłowo obliczone wartości to 1470, 1459 lub 1481 (ta ostania bardzo rzadko), które pozwalają prawidłowo ustawić generatory Pokeya. Liczby spoza zakresu 1400-1500 oznaczają ujawnienie się błędu procedury obliczającej prędkość (pojawia się tam 8258 lub 24680). Jak ktoś nie chce nagrywać testu na taśmę, można z powodzeniem wykorzystać np. AspeQt, tyle że traci się dodatkową losowość wprowadzaną przez magnetofon. A całość oczywiście ma na celu weryfikację, że bug w OS powoduje losowe błędy odczytu.

23

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

A dlatego (właściwie powninno być "Atar-Hit"):

Atar-Hit 53 image

24

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

seban napisał/a:

Zestaw 77 nagrany jest już z zabezpieczeniem (TurboCopy 3 lub 4), czyli loader to napis "Loading", niżej tytuł gry a na dole scroll z reklamą studia ;) Było chyba kilka takich programów u Strykera w cas-archivie. Jeżeli chcesz mogę wystawić linki do WAVE-ów. Zwykły wav2cas sobie z nimi nie poradził.

To poproszę linki do tego zestawu. A zwykły wav2cas jest obsolete i deprecated ;).

seban napisał/a:

Mam jeszcze gdzieś Auto-Turbo chyba i to był chyba w 100% klon czeskiego turbo (zarówno hardware jak i software). Ale to też do weryfikacji bo mogę źle pamiętać.

Jak masz jakiś soft to nawet z czystej ciekawości chętnie bym na to popatrzył. Jakoś nie mogłem na forum (ani nigdzie indziej) znaleźć żadnych dumpów tasiemek ani oprogramowania.

Dzięki.

25

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

LOL. Bawię się tasiemką w tym formacie od kilku miesięcy (tyle że mało intensywnie). Właśnie się chciałem podzielić z Krótkim, a on mi daje link do tego wątku XD.

W załączniku tasiemka (gry) przekonwertowana do formatu HEX, u mnie działa w całości na atari800-a8cas. Niestety na format CAS ani a8cas-convert, ani a8cas-util.pl nie potrafi jej w tej chwili przekonwertować (mój tool jest trochę przekombinowany i bardzo długie bloki 'fsk ' produkuje niekompatybilne ze standardem, a co jest nie tak z a8cas-convert - nie wiem).

(Kod loadera i szczegóły formatu zapisu mam zamiar analizować wkrótce).