251

(29 odpowiedzi, napisanych Programowanie - 8 bit)

Panowie,

Rzuciłem sobie na szybko okiem co robi ten obraz cart-a. To jest jakaś przysłowiowa kicha... po wybraniu "A" oprócz odpalania Turbo Basic-a czy tam wczytywania DOS-a... obszar $0700-$1C7F jest nadpisywany jakimś DOS-em znajdującym się w obrazie cart-a. Nie wiem dokładnie jaki to DOS bo dalej nie wnikałem... ale taki CART nie tak powinien być zrobiony. To powinien być normalny cart który ma dopuszczoną opcję BOOT z dyskietki, a nie nadpisywać zawartość pamięci jakimś tam DOS-em zawartym w obrazie carta.

Reasumując w stacji nie musi być obecna żadna dyskietka z DOS-em, bo i tak boot z niej nie jest wykonywany.

EDIT: sprawdziłem bazując na archiwum utilsów AtariOnline, wychodzi na to że przepisywany w obszar $0700...$1C7F to MyDOS 4.53 lub 4.54 ... ale wygląda na to że albo przepisywany fragment pamięci jest uszkodzony albo nie przepisują całości ... i stąd wynika błędne działanie DOS-a.

Widzę że polecenia DIR, SAVE, LOAD, etc. działają (oczywiście jeżeli dyskietka jest w formacie MyDOS) natomiast napisanie polecenia DOS poziomu TBXL powoduje próbę przejścia do DOS-a, który to powinien podjąć próbę załadowania z dyskietki pliku DUP.SYS, niestety ta operacja się totalnie wykrzacza (jeżeli użyjemy obrazu/dyskietki z MyDOS 4.53/4 podlinkowanej niżej to wszystko działa)

Szkoda chyba czasu na wnikanie w ten obraz cara, on jest po prostu źle zrobiony, ew. działa z jedną konkretną konf. MyDOS, tzn. gdyby na dyskietce mieć tak samo skonfigurowany MyDOS jak autor tego carta to być może by to działało (chodzi mi konf. DOS-a, tzn. liczbę buforów, liczba jednocześnie otwartych plików, ilość aktywnych napędów, etc.)

EDIT: dobra... jeszcze pogrzebałem... gdy stacji umieści się ten obraz: MyDOS 4.53/4  z archiwum AoL to zaczyna działać nawet  przejście do DOS z poziomu TBXL.

Ale jak pisałem wcześniej, to nie powinno być tak zrobione ;/ To jest typowy "dirty hack", działa cudem :P i to z jednym konkretnym DOS-em.

Hej!

Jeżeli chodzi o Iron Turbo, bo w jego przypadku nie było możliwości zmiany prędkości, no chyba że zapisywałeś w opcji "standard", wtedy prędkość wynosiła 800bps lub 900bps i zapis był wykonywamy jako standardowe bloki po 128 bajtów.

Wybór różnych prędkości był za to możliwy w innych programach kopiujących od IRON SOFT. Dariusz Rogoziński napisał ich naprawdę całą masę.

Jeżeli chodzi o Iron Turbo to kasety w tym systemie jeszcze od Ciebie jeszcze do mnie nie dostały :)

A jeżeli chodzi o e-mail to jak najbardziej dotarł, tylko ja byłem jakoś mocno zajęty, przeczytałem go na telefonie, a potem jako że "zniknął" z nieprzeczytanych, to zupełnie o nim zapomniałem i nie odpisałem koniec końców. Nadrobię zaległości i zaraz odpiszę.

Zupełnie niejako przy okazji, wkleję też tutaj, może kogoś zainteresuje temat Iron Turbo, czyli programowego przyspieszacza dla standardowej transmisji który wyciągał 1200bps. Teoretycznie mógł działać na standardowym magnetofonie Atari, mi się jednak nigdy na XC12 nie udało uzyskać stabilnej pracy tego systemu, jednak z użyciem zewnętrznego interface do magnetofonu, oraz magnetofonu szpulowego M2405S czy też w późniejszym czasie prostego kaseciaka typu MK-250 udawało mi się uzyskiwać całkiem stabilną pracę tego systemu.

Skoro już po latach przypomniał mi się ten system, napisałem o nim nieco więcej na atariki: Iron Turbo. A dla zainteresowanych jak wyglądało wczytywanie gier zapisanych w tym systemie nagrałem krótki filmik z prawdziwego sprzętu obrazujący ten proces:

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

ps) jeżeli ktoś coś więcej pamięta, lub używał tego systemu bardzo proszę o informacje. Ja go przestałem używać ponieważ po pierwsze nie było możliwości przeniesienia nagrania do pierwotnej postaci, a po drugie kiedy już się stałem posiadaczem XC12 ten system nie działał zbyt stabilnie z moim egzemplarzem.

Piguła/Shpoon napisał/a:

Seban na kasetach będa inne dane niż pokazują to okładki.

A widzisz, to ja sie tak zasugerował okładkami że myślałem ze mają się ona zgadzać z zawartością plików. W takim razie wszystko jest jasne. Pliki HEX/CAS zestawów 6 i 9 są wyżej, walczyłem jeszcze z zestawem 14, ale nie bardzo idzie mi odzyskanie z tego czegokolwiek poza nazwami plików. Nie pomaga też stosowana w Turbo ROM metoda liczenia sumy kontrolnej (XOR) nawet jak jakimś cudem suma kontrolna się zgodzi nie mam żadnej pewności ze plik jest zdekodowany poprawnie... często mimo zgodności CRC o ile program się uruchomi to ma przekłamania w grafice czy kodzie.

baktraaa napisał/a:

Ostatnia uwaga na temat ATT. Pomyślnie dodałem obsługę ATT do TURGENa. Będzie to oficjalne wraz z następną wersją.

Dzięki raz jeszcze! Sprawdziłem pod emulatorem, działa znakomicie! Taka funkcjonalność jest jak najbardziej wystarczająca!

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

No i rzutem na taśmę wrzucam od razu "zestaw 9", przynajmniej tak opisany był plik w Twoim archiwum, wydaje mi się jednak ze zawartość kaset ma niewiele wspólnego z okładkami, ponieważ plik "wav", opisany jako zestaw 9 zawierał:

01) unknown (missing/deleted 1st block [header&name])
02) Caterpigle
03) Computer War
04) Despatch Raider
05) Fill
06) Coco Notes
07) Ion Roadway
08) Kazoo
09) Match Racer
10) Moogles
11) Nuclear Nick
12) Pensate
13) Rabbits
14) River Raid LL
15) Sesame Street Letter-Go-Round (damaged tape)
16) Space Ball
17) SS Achilles
18) Starblade
19) Super Zaxxon
20) Up Up and Away

Link do pobrania archiwum z plikami HEX/CAS: Turbo Rom - Zestaw 9

ps1) pozostawiłem nazwy archiwów takie jakie były nazwy plików WAV z których dokonywałem konwersji, nawet jeżeli załączone okładki z podanymi numerami nie są zgodne z zawartością plików WAV. Nie chciałem już robić zamieszania na kolejnym poziomie.

ps2) plik opisany "zestaw 4" wskazuje na to że kaseta jest w dość kiepskim stanie (tak samo jak w przypadku pliku "mapasoft_strona_a.wav"), próbowałem do tego podejść jednak wysokie częstotliwości praktycznie nie istnieją, bardzo trudno będzie coś z tego "wydusić" w obecnej formie. Może dałoby to się zgrać z innym skosem głowicy? Spróbuję jeszcze podejść do pliku opisanego jako "zestaw 14", na pierwszy rzut oka wygląda nieźle ... chyba jednak nie jest tak dobrze jak sądziłem.

Hej!

Rzuciłem okiem na "zestaw 6", mimo że kiepsko z wysokimi częstotliwościami to dało się coś z tego wyciągnąć, było co prawda kilka plików w których sygnał zanikał praktycznie do zera i tych plików nie dało się przetworzyć, niemniej jednak większość udało się poprawnie przekonwertować. Co prawda nie widzę okładki do zestawu nr 6, więc mam nadzieję że nic nie pomieszałem z numeracją plików, oto lista odzyskanych programów:

01) Air Moon Patrol (damaged tape)
02) Alien Ambush
03) Atom Smasher
04) Aztec Challange
05) Butterflies
06) Bubble Trouble
07) Chambers of Zorp (damaged tape)
08) Chicken Chase
09) Divested Bell
10) Eggard
11) Encounter
12) Frantnic
13) Gladiator
14) High Rise
15) International Golf
16) King of the Ring (damaged tape)
17) Mad Marble Madness
18) Panther
19) Solo Flight
20) STORM

Pliki HEX i CAS do pobrania: Turbo ROM - Zestaw 6

Hej!

Przyjrzę się temu dokładniej, ale na pierwszy rzut oka wynika że dość kiepsko jest wyższymi częstotliwościami... nie wiem czy nie trzeba by spróbować zgrać to z innym skosem głowicy... ew. jeżeli używasz deck-a, to można użyć innego magnetofonu z którym można bez problemu regulować głowicę (szkoda kręcić głowicą w prof. decku)

http://seban.pigwa.net/aa/pg_mapa_a.png
^^^ to "podgląd" z kawałka pliku "mapasoft_strona_a.wav"

@Piguła: dzięki!
@baktra: super wieści! dzięki wielkie!

No to są super wieści! :) Czekam zatem cierpliwie :D

260

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

Ja miałem "problem" tego typu z jednym z magnetofonów, bardzo chętnie "łapał" transmisję od myszki bezprzewodowej (która nadawała na 2.4GHz) ale to nie było "buczenie" a raczej coś podobnego do serii pyknięć (coś jak gdy stary telefon GSM właził w tor "audio" ze swoim nadajnikiem). Co ciekawe magnetofon miał ten "ekran" od spodu.

Javalonde napisał/a:

ale jednak w praktyce, gdy odpalam, niektóre gry to wygląda to za fajnie.

Niestety dokładnie tak jest. Jak odpaliłem sobie np. Centipede w wersji NTSC na PAL-owskiej wersji konsoli to myślałem że mam albo uszkodzone TIA, albo że S-VIDEO mod który robiłem nie działa mi poprawnie ;) Zanim się zorientowałem że to wersja NTSC zacząłem dłubać w konsoli i szukać dziury w całym.

262

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

Nie wiem jakiego rodzaju buczenie u Ciebie występuje, ale Jer opisuje na swojej stronie chyba dość podobny przypadek: Przydźwięk w torze audio. Być może Ciebie właśnie spotkał ten "problem", ale przyznaję szczerze że ja się jeszcze z nim nie spotkałem osobiście.

Hej!

Grzegorz_29_ napisał/a:

Jeszcze raz bardzo, bardzo dziękuje.

Naprawdę nie ma za co, intrygowała mnie zawartość tej kasety, a że miałem akurat chwilę wolnego, postanowiłem wrócić do tematu. Cieszę się że w jakikolwiek sposób ta moja "zabawa" pomogła Ci przywołać pozytywne wspomnienia.

uicr0Bee napisał/a:

Tłumacz się nie popisał, niezależnie od tego w którą stronę tłumaczył :-D

To mnie akurat wcale nie dziwi... sam nie znając angielskiego jako nastolatek wypisywałem takie głupoty (próbując używać języka o którym miałem znikome pojęcie), że niejeden miał z tego niezły ubaw :) Takie były prawa "młodości" człowiek chciał być "cool!" więc "świrował nietoperza o północy" i robił różne głupoty! :) Często i gęsto będąc przekonanym co do swojej nieomylności ;-)

No dobra... skoro nie jest tak gorąco że nie da się myśleć, to zabrałem się resztką sił za stronę B kasety, ale poszedłem na łatwiznę i robiłem wszystko po najmniejszej linii oporu... kaseta niestety wielokrotnie "podkasowana", na starą zawartość zostały nagrane inne programy, widać iż było kilka prób nagrania niektórych pozycji, etc.

pierwszy program na taśmie wyglądał tak:

http://seban.pigwa.net/greg29/mystery_tapes/tape1_side_b/01_atari.png

drugi program:

http://seban.pigwa.net/greg29/mystery_tapes/tape1_side_b/02_comp_dath_(bas).png

trzeci program:

http://seban.pigwa.net/greg29/mystery_tapes/tape1_side_b/03_dwj_ami.png

Ekran tytułowy podpisany przez Dariusza i Wojciecha Jaroszów, do tego znana muzyczka w BASIC (gra trochę za wolno) ale cóż... zapewne to pierwsze kroki w BASIC-u Dariusza i Wojciecha :). Jeżeli ktoś chce to uruchomić może pobrać plik w formacie .bas (wczytywać przez LOAD z poziomu BASIC-a): DWJ_AMI.BAS.ZIP.

I teraz już będzie z górki, ponieważ reszta programów na kasecie to pokasowane kawałki gier. Użyłem znów bazy AOL jako referencji i szukałem w jej plikach sekwencji bajtów znalezionych w odzyskanych rekordach z taśmy, co spowodowało iż dowiedziałem się że pliki:

04) to gra Road Race (co ciekawe znowu zapisana w taki sposób że a8cas-util i a8cas-convert interpretowały nagranie jako rekordy zawierające po 133 bajty)

05) kolejne kawałki Road Race, tym razem jednak zapisane z nieco inaczej i tym razem narzędzie widziały już standardowe rekordy danych.

06) Spy vs Spy - The Island Caper
07) kolejne kawałki Spy vs Spy
08) i jeszcze jeden kawałek Spy vs Spy

09) Loader plików binarnych DOS-u (zapewne służył do załadowania gry "Laser Gates")

10) Gra "The Laser Gates", co ciekawe wiele sekwencji bajtów tej gry znajdowało się również w grze "Shanghai", aby się upewnić poszukałem napisów z czołówki dodanej przez cracker-a, osobnik ów jednak "schował" swoje napisy EOR-ując tekst występujący w czołówce z wartością $FF, po wykonaniu operacji EOR #$FF na początkowych bajtach pliku można zaobserwować:

http://seban.pigwa.net/greg29/mystery_tapes/tape1_side_b/10_laser_gates.png

Tak więc tajemnice kaset Grzegorza zostały rozwiązane. Nie próbowałem nawet odzyskiwać ani ratować tych danych bo wszystkie gry są dostępne chociażby w archiwum AOL. Poza tym gry mają w wielu miejscach podkasowania i uszkodzenia rekordów danych, nic by się na dało z tej "ciszy" wyłuskać, a ręczne składanie tego z tego co jest na taśmie i zastępowanie uszkodzonych fragmentów rekordami z innych źródeł mijało się z celem.

Wydaje się zatem że tę sprawę można uznać za zamkniętą.

EDIT: opisałem te moje działania dla tych którzy zechcieli by pobawić się w "detektywów przeszłości" i spróbować przeanalizować swoje stare (a nawet jak pokazał ten przykład) i zniszczone kasety. Nie opisywałem to jakich genialnych metod postępowania, a jedynie proste i "szybkie" pomysły, pozwalające zorientować się z jakimi danymi mamy styczność, być może są inne o wiele lepsze podejścia, ale być może ten mój opis zainspiruje kogoś do działania i własnych eksperymentów z danymi, oraz z identyfikowaniem i poszukiwaniem danych w zbiorach które posiada. Całą tę robotę wykonałem za pomocą emulatora (a właściwie emulatorów Altirra oraz Atari800) paru programów w Turbo Basic XL, oraz paru programów czy to dla Windows czy to dla Linuxa (w zależności od tego do jakiego komputera miałem akurat dostęp).

265

(8 odpowiedzi, napisanych Bałagan)

https://jsobola.atari8.info wskazuje obecnie na stronę o Apple ][ gs, poprzednia zawartość na chwilę obecną zniknęła? Tak ma być?

Dzień Dobry!

Dziś będzie taki dość nietypowy wpis, trochę ględzenia i opis metodyki mojego działania przy analizie zawartości kasety którą udostępnił Grzegorz_29_ we wcześniejszym poście. Grzegorz był ciekawy czy da się coś więcej z tej kasety odzyskać poza dwoma programami które dało się z tej kasety odczytać w dość łatwy sposób.

Pierwszy rzut oka wskazywał że szanse są niewielkie, ponieważ kaseta wyglądała na nagrana parę razy, a nowe nagrania kasowały wcześniej nagraną zawartość, kaseta (a dokładniej strona A) zawierała jakieś fragmenty poprzednich nagrań, jednak trudno było z tego wyłuskać sensowną całość, bo żadne z wielu nagrań nie zachowało się w całości.

Powstało jednak pytanie czy może uda się dowiedzieć co jednak było tam nagrane wcześniej? Pomyślałem sobie że być może analizując fragmenty nagrań uda się chociaż zorientować jakie programy były tam wcześniej nagrane, ten post ma na celu opisanie moje próby i podjęte eksperymenty przeprowadzone w celu określenia co też mogło się znajdować na owej kasecie, a właściwie to tylko stronie A tej kasety, ponieważ nie zdążyłem zająć się jeszcze stroną B.

Zatem zacznijmy tę nieco przydługą i zapewne dla większości z was mało fascynującą opowieść, niemniej jednak ciekawość nie pozwalała mi "przejść obojętnie" obok takiej kasety :) tak, tak... wiem jestem "porąbany" :D

Na początku kasety znajdował się pierwszy plik który dość łatwo było przetworzyć na postać cas/hex/raw, a był to:

http://seban.pigwa.net/greg29/mystery_tapes/tape1_side_a/01_game_loader.png

Dziwić może jedynie fakt że ktoś nagrał na kasetę inicjalizer przeznaczony dla stacji dysków, ale cóż, może to był jakiś eksperyment naukowy NASA! :D

Patrząc na zrzut kasety który przygotował Grzegorz, można zaobserwować że tuż za pierwszym nagraniem znajduje się nadpisane drugie nagranie, zapewne zapisane na innym magnetofonie z innym "skosem głowicy", gdyż jego poziom jest dość niski w porównaniu z pierwszym nagraniem na kasecie:

http://seban.pigwa.net/greg29/mystery_tapes/tape1_side_a/trk_01_02.png

Ale od czego mamy programy do obróbki i przetwarzania dźwięku, taki słaby sygnał można "wzmocnić cyfrowo" i próbować przetworzyć te wzmocnione rekordy danych za pomocą a8cas-util lub a8cas-convert do postaci hex/cas/raw. Tak też uczyniłem i otrzymałem 285 rekordów danych, co prawda nie wszystkie były poprawnie zdekodowane, ale to nie miało większego znaczenia, postanowiłem tak przetworzone dane obejrzeć w formie "graficznej". Oczywiście z pomocą przyszedł stary dobry Turbo Basic XL i prosty program odczytujący przetworzony wcześniej plik wprost do "pamięci ekranu" po otwarciu trybu graficznego GRAPHICS 8. Na szczęście przy korzystaniu z emulatora można posługiwać się wirtualnym dyskiem twardym, więc wszystkie operacje są po prostu łatwiejsze i szybsze:

10 GRAPHICS 24:TRAP 99
15 OPEN #1,4,0,"H2:GRG2.RAW"
20 S=DPEEK(88):L=$1800
25 BGET #1,$0600,32
30 TRAP 50
40 BGET #1,S,L:GET K:GOTO 40
50 POKE 712,2
99 GOTO 99

Długo na efekty pracy programu nie trzeba było czekać po paru "ekranach danych", oczom moim się ukazało:

http://seban.pigwa.net/greg29/mystery_tapes/tape1_side_a/02_last_v8_pic.png

No i już wiadomo jaki program został "nadpisany" przez nagranie na początku kasety "game loadera", jak widać okazało się że była to gra "The Last V8", dla porządku jeszcze tylko przejrzałem ten plik w formie kodów Internal:

http://seban.pigwa.net/greg29/mystery_tapes/tape1_side_a/02_last_v8_txt.png

... i jak widać odnalazły się tym pliku również napisy występujące w grze.

Sprawę nagrania nr 2 można zatem uznać za rozwiązaną bo jest to po prostu gra "The Last V8" szeroko dostępna wszędzie w sieci :) Na szczęście żaden "biały kruk" nie został zniszczony przez nadpisanie go czymś innym. Można zatem było się zająć następnym nagraniem na stronie A kasety.

Następne nagranie prezentuje się dość dziwnie:

http://seban.pigwa.net/greg29/mystery_tapes/tape1_side_a/trk_03.png

tzn. na początku nagrania jest o dziwo nagrany loader plików binarnych, tzw. "wykrzyknik", a potem następują kolejne bloki danych, z tym że wykrzyknik jest nagrany z niskim poziomem, jakby to była jakaś pozostałość, a następne bloki danych są nagrane już z nieco większym wysterowaniem. Do tego wychodzi na to że owe siedem bloków danych które występuje po wykrzykniku nie są wcale plikami binarnymi w formacie Atari DOS.

Co można było w tej sytuacji zrobić? Najpierw przyjrzałem się tym plikom za pomocą HEX-edytora, to pozwoliło zobaczyć że każdy z plików składa się 128 bajtowego nagłówka, który zawiera się powtarzający się bajt będący zapewne identyfikatorem pliku (plik nr 1 miał pierwsze 128 bajtów równe 1, plik nr 2 miał pierwsze 128 bajtów równe 2, etc.). Co pozwalało się domyślić iż pierwszy rekord danych każdego służył jako identyfikator tegoż pliku. Potem w każdym z plików występowało trochę kodu 6502, a potem następowała seria danych które wyglądały na grafikę, jednak nie do końca łatwo identyfikowalną:

http://seban.pigwa.net/greg29/mystery_tapes/tape1_side_a/04)%20The%20Ghonies_lvl1.png

Z układu pikseli w grafice widać było że to nie jest Hi-Res, więc spróbowałem trybu kolorowego (Graphics 15), ale też nie dawało to rezultatów pozwalających na identyfikację programu, więc pomyślałem sobie że może grafika jest przechowywana w nieco innym formacie (np. są do dane reprezentujące bloki 4x8 pixeli, czyli coś jak zestaw znaków z którego konstruuje się dany poziom/planszę), przerobiłem nieco kod w TBXL tak aby inaczej rysował dane z pliku i rysował je jako zestaw czcionek:

10 GRAPHICS 31:S=DPEEK(88)
11 POKE $02C4,$32:POKE $02C5,$74:POKE $02C6,$0E
20 OPEN #1,4,0,"H2:GRG4A.RAW"
21 TRAP 99
30 FOR Y=0 TO 23
31   FOR X=0 TO 39
32     FOR J=0 TO 7
33       GET #1,B
34       POKE S+X+Y*320+J*40,B
35     NEXT J
36   NEXT X
37 NEXT Y
99 GOTO 99

Zaczęło sie pojawiać coś więcej:

http://seban.pigwa.net/greg29/mystery_tapes/tape1_side_a/04)%20The%20Ghonies_lvl1_color.png

... ale i tak było ciężko się domyślić co widzę, jednak po przejrzeniu wszystkich 7 plików zacząłem się domyślać co właściwie widzę. Nie chciało mi się analizować kodu i szukać procedur rysujących plansze z widocznych danych, więc poszedłem na łatwiznę, tzn. ściągnąłem z AtariOnline archiwum gier, po czym w jednym z plików znalazłem sobie jakąś sekwencję kodu 6502 reprezentowaną przez ciąg liczb:

$AD $2F $11 $D0 $05 $A9 $00 $8D

http://seban.pigwa.net/greg29/mystery_tapes/tape1_side_a/04_goon_search_a.png

Przeszukałem całe archiwum gier z AOL w poszukiwaniu owej sekwencji danych, po czym ujrzałem:

http://seban.pigwa.net/greg29/mystery_tapes/tape1_side_a/04_goon_search_b.png

po czym moje kroki powędrowały od razu w stronę pliku: "Goonies, The (1985)(U.S. Gold)(GB).cas"

I to był przysłowiowy strzał w dziesiątkę. Okazało się że to co znajdowało się na kasecie (owe 7 plików) to właśnie pozostałość kasetowej gry The Goonies", piszę pozostałość, bo na taśmie zostały tylko dane poszczególnych poziomów z grą (oznaczone identyfikatorami 1-7) ... wcześniejszych danych, tzn. loadera, głównej części kodu gry, etc. brakowało (zostały nadpisane).

Kolejna zagadka rozwiązana, pozostało więc zabrać się za kolejny plik, a właściwie to co z niego zostało, a zostało niewiele po 22 rekordy w tym jeden obcięty (nadpisany), oczywiście kolejne nagranie było zapisane również z innym poziomem zapisu, (nieco większym niż wcześniejsze "The Goonies", jednak tym razem odzyskane rekordy nie wskazywały w żaden sposób z jaką pozostałością tym razem mamy do czynienia. Korzystając jednak z wcześniejszego sposobu, poszukiwania wybranej sekwencji bajtów w archiwum AOL udało się ustalić że owe pozostałe na taśmie 22 rekordy są częścią gry...

http://seban.pigwa.net/greg29/mystery_tapes/tape1_side_a/trk_05.png

^^^ można założyć niemal ze 100% pewnością że na kasecie była kiedyś nagrana w tym miejscu gra Zorro.

Następne nagranie na kasecie było zapisane w formacie Blizzard turbo... to akurat poznałem "na ucho", dzięki doświadczeniu ze zgrywaniem kaset w różnych formatach turbo, użyłem więc a8cas-util od FUJI-ego do konwersji tego nagrania na format strawny dla emulatora, używając obrazu carta "Phoenix by Hurek" mogłem dokonać próby wczytania tak zdekodowanego pliku, użyłem "universal file loader", ponieważ plik nie wyglądał na binarny plik DOS-u, a raczej jak blik typu BOOT, chwilę po odpaleniu loadera moim oczom ukazał się bardzo intrygujący tytuł:

http://seban.pigwa.net/greg29/mystery_tapes/tape1_side_a/06_HUJ_filename.png

cóż pozostało mi robić? z pewną obawą wcisnąłem klawisz "Y", poczekałem chwilę a moim oczom ukazała się gra:

http://seban.pigwa.net/greg29/mystery_tapes/tape1_side_a/06_HUJ_loaded.png

Ja rozumiem że gra jest trudna, ale żeby aż tak jej nienawidzić aby nadać jej tak "zaszczytny" tytuł? :D

Następnym plikiem nagranym na taśmę był wspominany wcześniej "Rythmizer @AT1", który to bez problemu wczytuje się czy też poddaje się konwersji. Plik na taśmie zapisano w formacie BOOT (zapewne w takiej postaci program był oublikowany):

http://seban.pigwa.net/greg29/mystery_tapes/tape1_side_a/07_rythmizer.png

Rythmizer był przed ostatnim programem nagranym na stronie A, za nim znajdował się dłuuugi plik zawierający aż 285 rekordów i tutaj miałem pewną "zagwozdkę", ponieważ to co zostało nagrane na taśmę wyglądało dość dziwnie, tzn. rekordy miały nie po 132 bajty (wliczając wszystkie informacje dodatkowe, tzn. sekwencję kalibracyjna, typ rekordu, etc). a po 133 bajty.. tzn. zamiast standardowego początku określającego rekord typu:

$55 $55 $FC

zarówno a8cas-util jak i a8cas-convert to nagranie interpretował jako zawierające o jeden bajt więcej przed właściwym rekordem:

$FF $55 $55 $FC

Prawdę mówiąc nie zastanawiałem się dlaczego tak właśnie jest i czy to efekt błędnego nagrania, czy też ktoś nagrał jakąś wersję zabezpieczeniami, poszedłem na totalną łatwiznę i skorzystałem w wyszukiwania w sekwencji bajtów w archiwum gier z AOL, co bardzo szybko pokazało mi że tym razem nagrany plik to gra:

http://seban.pigwa.net/greg29/mystery_tapes/tape1_side_a/08_road_search.png

ufff... przebrnąłem :) Ze 3 dni się zbierałem aby napisać ten post, a to za gorąco, a to mi się nie chce, a to tamto, a to to... zawsze coś... w końcu jednak mi się udało pokonać moje lenistwo i opisać cały przebieg akcji "analiza". Resztę pewnie zanudziłem, ale liczę na to że te informacje przydadzą się chociaż samemu Grzegorzowi :)

Oczywiście jak znajdę chwilę wolnego czasu przyjrzę się również stronie B owej kasety, ale wszystko w swoim czasie, tymczasem muszę się przełączyć na nieco inne zadania.

Jakiś czas temu w tym poście, kolega o nicku Grzegorz_29_ udostępnił pliki zgrane zakupionych kaset pisząc...

Grzegorz_29_ napisał/a:

Jakiś czas temu na giełdzie staroci w Bytomiu wpadły w moje ręce dwie kasety z programami do Atari.

Próbowałem się przyjrzeć tym plikom jednak jakość nagrania na taśmie była fatalna, wtedy wystarczyło mi że zobaczyłem że jest to nowożytna twórczość i że ktoś nagrał sobie coś co było okraszone nagłówkiem "RETRONICS", podjąłem kilka prób odzyskania tego nagrania, ale w niektórych miejscach sygnał zanikał kompletnie, więc dalsza walka nie miała sensu...

... jednak przyznaję że spokoju mi to nie dawało, ostatnio znalazłem chwilę czasu aby się bliżej temu przyjrzeć... i spróbować coś na to poradzić, stwierdziłem że skoro nie da się odzyskać tych danych, to może chociaż  uda się dowiedzieć co tak naprawdę zostało nagrane. Wymyśliłem sobie że doprowadzę nagranie do jak najlepszego stanu, a potem postaram się przetworzyć plik nawet z błędami i potem spróbować zorientować się cóż to może być za "produkcja". Tak też zrobiłem, udało się przetworzyć wszystko oprócz dwóch rekordów w których sygnał całkowicie zanikał lub był kompletnym szumem:

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

Liczyłem na to że przekłamania nastąpią w mało istotnych częściach programu, niestety okazało się że produkcja jest spakowana. Na szczęście użyty program kompresujący (exomizer?) nie pakował danych w taki sposób aby tworzyć przesunięcia bitów ... to pozwoliło podejrzeć trochę zawartość pamięci mimo uszkodzeń pliku, które wpłynęły na błędną dekompresje.

Napisałem sobie w Turbo Basic XL prymitywny program, który wyświetlał najpierw zawartość pliku w trybie graficznym:

10 GRAPHICS 24
20 OPEN #1,4,0,"H:RETR.RAW"
30 S=DPEEK(88)
35 TRAP 99
40 BGET #1,S,$1E00
50 GET K
60 GOTO 40
99 POKE 712,2:GOTO 99

ale nic ciekawego nie zauważyłem (poza masą nagłówków "cmc data file" i jednym zestawem znaków), więc postanowiłem te same dane obejrzeć w trybie tekstowym (kody Internal ANTICA-a) ... a może zobaczę jakieś napisy pomimo przekłamanych danych po dekompresji? Zatem drobna zmiana w super prymitywnym programie:

10 GRAPHICS 0
20 OPEN #1,4,0,"H:RETR.RAW"
30 S=DPEEK(88)
35 TRAP 99
40 BGET #1,S,40*24
50 GET K
60 GOTO 40
99 POKE 712,2:GOTO 99

i to był strzał w dziesiątkę:

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

Okazało się że jest to kolekcja muzyczna która była nagrana jako strumień danych w standardzie, na płycie "ATARI MUSIC COLLECTION CD vol.1".

Dalsze odzyskiwanie i grzebanie w tym pliku nie miało sensu, bo skoro już wiadomo to zostało na tę kasetę nagrane, to po co się męczyć? :)

Duddie wrzucił nawet film z tej kolekcji na YouTube:
https://www.youtube.com/watch?v=RszA_xMuekU

Także Grzegorzu, jedna z Twoich zagadek rozwiązana :) Przy jakiejś okazji sięgnę jeszcze do pozostałych :)

I to chyba na tyle, taka mała wrzuta z okazji przysłowiowego "sezonu ogórkowego" ;-)

268

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

Cześć!

Jeżeli chodzi o sprawdzenie czy wciśnięto OPTION i czy należy ustawić odpowiednią watość w PORTB B to posiłkując się książką o której wspominasz, możemy zajrzeć do rozdziału:

"2.3.1. Procedury rozpoznania cartridge'a i RAM (procedura CARTridge GOes)"

... a tam w zależności od tego czy mamy ward/cold start i czy wciśnięto OPTION w przypadku tego drugiego, lub czy ustawiony jest BASICF (w przypadku tego pierwszego) odpowiednio ustawiany jest PORTB (lda ... and #$FD ... sta), tak aby dołączyć wbudowany interpreter BASIC. Warunkiem dodatkowym jest oczywiście że nie ma żadnego innego fizycznego cart-a w gnieździe.

A potem sam start cartridge (BASIC jest traktowany jako cart wbudowany) wykonywany jest już w głównej procedurze RESET, którą opisuje rozdział:

"2.1.2. Przebieg procedury RESET"

Tam na końcu (od linii 2440) sprawdzana flaga (w rejestrze CARTOPT znajdujący się pod adresem $BFFD) czy należy uruchomić cartridge, jeżeli ona jest ustawiona następuje uruchomienie BASIC-a, natomiast w przeciwnym wypadku zostanie wykonany skok pod wektor znajdujący się w komórkach DOSVEC (która domyślnie wskazuje /jeżeli nie było wcześniej BOOT z dyskietki/ na wektor "SELF TEST").

perinoid napisał/a:

Albo inaczej - czy jeśli nie założę kości Basic to komputer wejdzie do self testu? Z tego co wiem. To tak, nie zawiśnie próbując Basic odpalić - czyli Basic niedostępny. Gdzie jest to wykrywane? Jak?

Jeżeli nie włożysz kości ROM zawierającej BASIC to jestem w stanie sobie wyobrazić sytuację w której przy braku pull-up na magistrali danych (65XE,130XE,800XE) z pod adresu $BFFD odczyta się wartość taka że akurat bit #3 będzie ustawiony i wtedy procedura RESET pominie próbę skodu do DOSVEC i wykona skok pod losowe wartości znajdujące się w komórkach CARTRUN ($BFFFA, $BFFB) i komputer po prostu zawiśnie, ponieważ wykonany skok nastąpi w losowe miejsce.

Ale przyznaję że nie przeglądałem aż tak dokładnie procedury RESET i być może jakieś wcześniejsze operacje wykonywane przez tę procedurą zapobiegną takiemu przebiegowi zdarzeń, jednak nie bardzo teraz kojarzę czy istnieją jakieś dodatkowe zabezpieczenia przed czymś takim.

269

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

Jeżeli dobrze rozumiem Twoje pytanie to pytasz w jakim stanie będą linie PORTB tuż po włączeniu komputera?

Jeżeli o to chodzi, to zwróć uwagę że po włączeniu zasilania (czy też RESET) wszystkie porty PIA są ustawione jako wejścia (tzn. PORTA oraz PORTB) ... normalnie stan na liniach PB0...PB7 byłby nieustalony (linie wiszą w przysłowiowym powietrzu, ponieważ teoretycznie nie nikogo kto bym sterował stanem tych linii), jednak w tym przypadku stany na liniach PB0...PB7 wymuszają rezystory "pull-up" obecne na płycie i podpięte do pinów PB0...PB7, a więc stan wszystkich linii PB0...PB7 będzie wymuszony za pomocą tychże rezystorów podciągających.

Z tego wynika, że do czasu skonfigurowania przez system operacyjny PORTB jako wyjścia i ustawiania tam odpowiednich wartość wszystkie układy podłączone pod PORTB będą widziały tam logiczną "1".

ps) Oczywiście PB6 jest normalnie nie podłączone i wisi sobie w powietrzu, ale dla uproszczenia wyżej pisałem PB0...PB7.

Dobry Wieczór!

Dziś będzie szybka akcja, ponieważ wcześniej prezentowałem już parę postów wyżej to co zastałem w magnetofonie od Piguła/Shpoon, tzn. Unerring Master Turbo, w końcu znalazłem chwilę czasu aby przeanalizować to turbo i przerysować schemat, na początek zdjęcie które było prezentowane we wcześniejszym poście, czyli widok  interfejsu:

http://seban.pigwa.net/pigula/um_turbo/photos/um_turbo_b.jpg

Interfejs turbo tworzą dwa scalaki; 6-krotny inwerter z przerzutnikami Schmidta na wejściach (7414) oraz 4-krotna dwu-wejściowa bramka NOR (7402).

Aby nie przedłużać poniżej załączam schemat interfejsu:
http://seban.pigwa.net/pigula/um_turbo/Unerring%20Master%20Turbo%20System.png
^^^ Po otwarciu obrazka w nowej zakładce będzie on zaprezentowany w wyższej rozdzielczości. Dla zainteresowanych również wersja wektorowa (PDF): Unerring Master Atari Turbo System.

Interface składa z trzech podstawowych bloków:

  • Układu kształtowania impulsów (C1,R1,R2 oraz U1B), bramka U1C przywraca fazę do oryginalnego stanu (ponieważ bramka U1B odwraca ją o 180°)

  • Multipleksera przełączającego sygnały Normal/Turbo (U1E, U2B, U2A, U2D)

  • Układu "miksującego" sygnał zapisu (U1D, U1F, U2C) tak aby możliwy był zarówno zapis sygnału pochodzącego z linii SIO_DATA_OUT oraz z linii COMMAND (ponieważ linia COMMAND w turbo AST, ATT, UM służy zarówno do przełączenia interfejsu pomiędzy pracą Normal/Turbo jak i też do zapisu danych w systemie turbo na taśmę)

Należy zwrócić uwagę że interfejs nie posiada wyjścia typu "Open Collector", a co za tym idzie, mogą pojawić się problemy przy współpracy z innymi urządzeniami podpiętymi do szyny SIO. Można (a nawet należy) dodać diodę (najlepiej jakąś mało-sygnałową diodę Schottky-ego) na wyjściu bramki U2A (katodą w stronę wyjścia bramki) tak aby "zaemulować" wyjście typu "otwarty-kolektor".

Montując to turbo do magnetofonu należy wykonać dwie zmiany na płycie magnetofonu:

  • zmienić wartość rezystora R6 (XC12) z 10 kΩ na 4 kΩ (to pozwoli na zwiększenie poziomu zapisu na taśmie, zarówno dla turbo jak i standardu)

  • usunąć kondensator C31 (XC12) z płyty magnetofonu co poszerzy pasmo przenoszenia przedwzmacniacza, co jest niezbędne dla poprawnego odczytu sygnału w turbo.

Testując magnetofon od Piguły, sprawdziłem że ten interfejs umożliwia odczyt innych systemów turbo takich jak:

  • Atari Hard Turbo

  • Wrocławskie Turbo 2000

  • Turbo 2000F/2001/KSO (wymaga odwrócenia fazy sygnału)

Z odwracaniem fazy sygnału jest spore zamieszanie... nie dość że co system to inne wymagania dotyczące fazy sygnału, to jeszcze nagrywając kasetę należy brać pod uwagę czy sprzęt którym dysponujemy nie odwraca fazy sygnału przy zapisie.

Ten interfejs ma jedną niewykorzystaną bramkę U1A, za jej pomocą oraz przełącznika można wykonać dodatkową modyfikacją interfejsu tak aby możliwe było odwrócenie fazy sygnału wychodzącego z interfejsu. Taką modyfikację należy wykonać tak aby w jednej pozycji przełącznika sygnał idący do SIO_DATA_IN szedł bezpośrednio z bramki U2A, natomiast w drugiej pozycji przełącznika sygnał idący do SIO_DATA_IN powinien pochodzić z wyprowadzenia nr 2 bramki U1A, natomiast na wyprowadzenie nr 1 bramki U1A musi być doprowadzony sygnał z wyprowadzenia nr 1 bramki U2A.

No i to chyba tyle jeżeli chodzi o ten system, mogę tylko przypomnieć że soft do tego systemu był dostępny zarówno na kasetach jak na cartridge-ach, na forum publikowałem schematy i zrzuty pamięci dwóch cartów dla tego systemu:

ps) Jeżeli chodzi o układ 7402 to niejako zgadywałem (tzn. poparłem to pomiarami, logiką, domysłami, symulacją). Nie chciałem rozdłubywać tak mozolnie zmontowanego układu aby podejrzeć napisy na dolnym scalaku, jednak w 99% jestem pewien że jest to właśnie 7402. Początkowo sądziłem że może to być 7401, ale pomiary wykluczyły że są to bramki z otwartym kolektorem.

271

(8 odpowiedzi, napisanych Bałagan)

Hej!

Jeżeli mówimy o tych stronach:

1) https://www.jsobola.atari8.info/dereatari/
2) https://jsobola.atari8.info/

To u mnie działa, jedyny problem który może powodować takie zachowanie o którym mówisz to problem z certyfikatem serwera (jeżeli używasz połączenia przez HTTPS). Firefox miał co do niego jakieś wątpliwości, ale chyba wtedy "zaakceptowałem ryzyko" i potwierdziłem że chcę iść dalej. Grafika ładuje się bez przeszkód, jednak FireFox ostrzega że pewne elementy strony (np. odnośniki do obrazków) są linkowane z użyciem "http://" zamiast "https://".

perinoid napisał/a:

Ale czemu dalej dostaję błąd 404 to już nie rozumiem - usunąłeś zasoby?

Ja mam 404 tylko gdy kliknę ze strony "https://jsobola.atari8.info/" w "schematy", ale zakładam że te schematy są pod tym linkiem:

https://www.jsobola.atari8.info/dereatari/schematy.htm

a jeszcze co do certyfikatu, to jest on "ważny/poprawny" dla sub-domeny "jsobola.atari8.info", ale dla "www.jsobola.atari8.info" już nie.

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

Więc gdy ktoś chce bez "akceptowania ryzyka" wchodzić na stronę z użyciem "https://", to musi pozbyć się "www" z adresu:

https://jsobola.atari8.info
https://jsobola.atari8.info/dereatari/

272

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

W sumie to można zrobić taki mikser (np. bazujący na kluczach analogowych 4066 lub podobnych) który byłby aktywowany sygnałem MOTOR_ON, tzn. klucze załączały by się gdy MOTOR_ON byłby aktywny i dopiero wtedy "domiksowywały" AUDIO_IN do obu kanałów wychodzących z POKEY-a.

273

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

No ale to wszystko działa POKEY-MAX w każdej wersji ... ten sygnał jest na wyjściu monitorowym. Oryginalne kasety z grą Yoomp! też są tak nagrane (przy wczytywaniu z magnetofonu w normalu leci kawałek fajnej muzy skomponowanej przez XRAY-a) ... nagrywając te kasety wiedziałem że nie będę tego słyszał na wyjściu "stereo" ze swojej Atarki, bo gdy sobie robiłem stereo (na oryginalnych POKEY-ach) to też sobie wyprowadziłem na gniazda cinch sam sygnał z POKEY-ów bez GTIA i AUDIO_IN z gniazda SIO (bo po co mi dodatkowe źródło szumu).

Ale jak pisałem już wyżej, gdy ktoś chce,  to może sobie to domiksować (za pomocą pewnie dwóch rezystorów), a jak ktoś chce być super-hyper-extra "politycznie poprawny" to zrobi sumator na dwóch tranzystorach czy tam jakimś low-noise op-ampie. Nie trzeba ingerować w POKEY-MAX w sensie dopisywać coś do VHDL-owego kodu, czy tam zmieniać coś na płytce POKEY-MAX-a.

274

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

Hej!

Ale co ma do tego POKEY? Sygnał AUDIO_IN z gniazda SIO w ogólnie nie idzie do POKEY-a... jest doprowadzony tylko i wyłącznie do układu LM358... i tam "domiksowany" analogowo do sygnału audio idącego do gniazda monitora... jeżeli masz wyprowadzone audio oddzielnie tylko z POKEY-a to po prostu nie usłyszysz tam sygnału przychodzącego z AUDIO_IN gniazda SIO, tak samo będzie w przypadku gdy zrobisz sobie stereo z dwóch prawdziwych POKEY-ów...

Dziwi mnie natomiast fakt że któraś wersja POKEY-MAX v3 doprowadzony ten sygnał i "domiksowuje" go do własnego wyjścia... ja bym tak nie chciał... bo bo co mi dodatkowy szum zbierany z zew. źródła i połowy płyty Atari? :)

Napisałeś że to niedogodność... a dla mnie to wręcz zaleta :D No ale to tylko moja prywatna opinia ... nie musisz jej brać pod uwagę :) Pewnie będzie tutaj zaraz tyle opinie ilu użytkowników forum :)

I żeby było jasne... bo czasami piszę w sposób pokręcony i mało zrozumiały... nie chodzi mi o torpedowanie Twojego pomysłu, po prostu "głośno" zastanawiam czy na pewno warto pakować ten cały analogowy szumek i zakłócenia do wyjścia z POKEY-MAX-a? Jak sam napisałeś kompletny analogowy sygnał audio możesz pobrać z wyjścia monitora lub bezpośrednio z LM358.

Ew. jak bardzo chcesz możesz domiksować to "analogowo" do obu wyjść POKEY-MAX. Nie sądzę aby POKEY-MAX v3 samplował to wejście (po co wprowadzać dodatkowy szum kwantyzacji) i miksował to cyfrowo, pewnie robi to analogowo już po wyjściu z DAC-a (nie wiem jak foft zaimplementował wyjście z FPGA, pewnie jakieś sigma-delta), oczywiście mogę się mylić, bo tylko i wyłącznie zgaduje i zastanawiam jak sam bym to zrobił.

To jeszcze jedno szybkie pytanie... dziurę pod przełącznik to mam Ci wiercić w tej obudowie, czy zostawić to Tobie i po prostu pozostawić przełącznik z kablami bez montowania go?