Hej!

Zajrzałem w kod gry... głównym problemem tą wersją 8KB Cartridge jest to że gra próbuje wykorzystać cały dostępny RAM od samego dołu a więc strony $200, $300,$400,$500,$600,$700 są wykorzystane przez grę na własne potrzeby. W przypadku XL-OS problemem jest wymazywanie przez grę trzeciej strony pamięci ($300), dokładniej chodzi o lokację $3FA (GINTLK) która w przypadku XL-OS zawiera informacje o stanie cartridge. Jeżeli ta zawartość tej komórki nie będzie równa wartości TRIG3 ($D013) system natychmiast przejdzie w pętlę nieskończoną [$C0DF: JMP $C0DF].

Patchowanie tej wersji mija się z celem, szczególnie że te 8K "obrazu" gry jest zapełnione w całości, w dodatku gra jest nie dość że jest zabezpieczona prostym kluczem szyfrującym (XOR), to jeszcze do kompletu jest skompresowana (lub po prostu ma oprócz XOR dodatkowo jakieś manipulacja bitowe zastosowane) i po uruchomieniu dokonuje dekompresji (lub deszyfrowania) w obszar RAM od $2000. Jakakolwiek  zmiana w zawartości gry wymuszałaby masę roboty. Nie ma więc większego sensu próba przystosowania tej wersji gry do współpracy z XL-OS, szczególnie że istnieje wersja plikowa działająca na maszynach z serii XE/XL.

Taką płytę trzeba by wyposażyć również w demodulator FSK który uciągnie 2600bps i jeszcze kilka innych pomysłów. Niby mam to w kolejce ale znając samego siebie to potrwa to wieki.

Cześć!

Witamy nowego forumowicza! Jakże miło czytać takie posty... fajnie że chce Ci się przywracać do życia ten sprzęt! Gratuluję samozaparcia i wytrwałości przy wykonywaniu masy mozolnej pracy! Tak trzymaj! Fajnie gdy ktoś nowy pojawia się w tym naszym małym i już kurczącym się świecie :)

Na początek chciałem powiedzieć że zrobiłeś super dokładny opis, masa zdjęć i informacji! Szacunek za włożoną pracę!

Żeby jednak nie przedłużać to wydaje mi się że głównym problemem jest plik którym zaprogramowałeś EPROM, nie patrzyłem jeszcze na organizację carta... ale sama nazwa pliku sugeruje problemy, a mianowicie użyłeś pliku o nazwie:

Gorf (1982)(Roklan)(US)[!][req OSb]

Co sugeruje że ten "wsad" wymaga Atari 800/400 do pracy ponieważ wymaga systemu OS-B. W Twoim Atari jest nowszy OS, tzn. XL-OS.

Sprawdziłem ten plik pod emulatorem, faktycznie gdy mamy włączony XL-OS, gra nie startuje i mamy czarny ekran, jednak gdy przełączy się emulator na OS-B, gra startuje, więc zachowanie które obserwujesz jest jakby normalne z tą wersją pliku którą zaprogramowałeś do EPROM-y.

Rozwiązanie? Albo trzeba poszukać gry w wersji dla XL-OS (o ile istnieje) albo próbować patchować to co jest dostępne. Prawdę mówiąc nie wiem ile czasu zajęłoby analizowanie co tej grze przeszkadza w uruchomieniu się na XL-OS, być może jest to jakaś pierdoła i poprawka byłaby niewielka, a być może gra wykorzystuje jakieś mechanizmy dostępne tylko w OS-B.  Rzucę okiem jak znajdę chwilę czasu, ale nic nie mogę obiecać.

Zapewne ten cart teraz w stanie w którym go masz ruszy bez problemu w Atari 400/800.

Na AtariMania, też piszą że gra wymaga OS-B: Gorf

Hej!

Mam nadzieję że się komuś przyda :) Swoją drogą dziwi mnie że nie powstał jakiś loader dla Turbo 2000F/2001/KSO dla tych systemów. Format prosty i system nieskomplikowany, większość interfejsów poradzi sobie z tym sygnałem. Jeżeli nie loader to chociaż jakiś program kopiujący albo handler który umożliwiałby przeniesienie danych pomiędzy systemami. Ale być może w tamtym czasie nie było na to zapotrzebowania, bo różne interfejsy i systemy turbo były "rozlokowane" w różnych rejonach geograficznych i być może właśnie dlatego nie było takiej potrzeby. Co prawda *AJEK miał jakiś "system converter" (chyba AST ---> Turbo 2000, lub odwrotnie) ale żaden inny soft tego typu nie trafiłem.

A co do wersji BLIZZARD,  to chciałem od razu zrobić wersję "All-In-One", ale nie pamiętałem czy Blizzard nie odwraca fazy sygnału o 180 stopni więc zachowałem tę modyfikację na czas kiedy to dokładniej sprawdzę... wtedy oczywiście puszczę wersję "SYS2000F_BLZ" :D

380

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

Hej!

Na AoL leży taki plik: Turbo 2600. To jest chyba wszystko co zebrał VOY. Pin w tym wątku pisał że on też udostępniał jakąś kasetę z softem do Turbo 2600 do archiwizacji VOY-owi... więc pewnie jest to to archiwum o którym mówisz. Jest w nim oczywiście ten soft który był na kasetach od Thomy-ego, część się zatem pokrywa, ale jak mówię zgrywałem 1:1, bez sprawdzania wersji, etc. Może ktoś kiedyś  będzie chciał porównywać sobie wszystko i analizować ;)

VOY wspominał że nagrania musiał "odzyskiwać", a te kasety które dostałem były w dobrym stanie nie musiałem nic odzyskiwać, w 99% przypadków narzędzie Krótkiego dokonywało bezbłędnej konwersji przy pierwszym podejściu.

381

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

Chwilę to trwało, ale udało mi się ogarnąć te dwie kasety które przekazał Thomy wraz z interfejsem. Kasety były w całkiem niezłym stanie i udało się przenieść wszystkie pliki do formatu CAS. Lista programów na przekazanych kasetach prezentuje się następująco:

KASETA #1

strona A)

01) Kopier DB
02) System Turbo 2600 + OPIS
03) Trans BASIC DB
04) CASDUP 2600
05) Trans CODE DB
06) Trans FILE DB
07) Kopier DB
08) System 2600 + Stacja Dysków
09) System 2600 + Stacja Dysków [1300 bps]
10) Error Copy 1.0 - Instrukcja, Andrzej Sarbinowski, 1989
11) Error Copy 1.0, Andrzej Sarbinowski, 1989
Strona B)

01) Wykres Funkcji, Olaf Rurak 1987, [ładować bez OPTION]
02) Assembler, C. Rutter 1982, [ładować bez OPTION]
03) Anty BOOT protect, D.Rogoźiński, 1988
04) Język Niemiecki, Marek Maciejewski
05) Język Niemiecki - zestaw słów, Marek Maciejewski
06) Lotnictwo Polskie w II wojnie światowej, Sławomir Majewski 1987, [ładować bez OPTION]
07) MAC/65 [DB]
08) BUG/65 [DB]
09) Program Instalacyjny [DB]
10) Kalkulator [DB]

KASETA #2

Strona A)

01) File Analyzer [BASIC]
02) Super Turbo Save, by RI-CO
Strona B)

01) HAPPY-MON 2.0, Thomas Fischermann, 1985 [DB]
02) Super Monitor, Andrzej Sarbinowski, 1989 [DB]
03) Super Monitor, Andrzej Sarbinowski, 1989 [DB]
04) Monitor - opis, Waldemar Chlebik, 1989.02.06 [BASIC]
05) Monitor, Waldemar Chlebik, 1989.02.06
06) Kombinator - Opis, L.K. AVALON [ładować bez OPTION]
07) Kombinator, L.K. AVALON [ładować bez OPTION]

Większość programów są to programy które były transmitowane w Radiokomputerze, nie wiem czy wszystkie tych programów były wcześniej dostępne w sieci, prawdę mówiąc nie sprawdzałem.

Zdziwił mnie jednak jeden programów. Chodzi mi o "Kombinatora", sygnowanego przez L.K. Avalon ... co ciekawe program zawiera sygnaturę informującą że jest to wersja dla słuchaczy Radiokomputera. Prawdę mówiąc nie pamiętałem faktu iż L.K.Avalon w ramach reklamy i auto-promocji wysyłał jakieś programy do Radiokomputera.

Niektóre z programów były nagrane na kasetę dwa razy, archiwizując te taśmy zostawiłem wszystko w takim układzie w jakim było nagrane na kasetach,  więc nie usuwałem duplikatów, etc.

Archiwum zawiera wersje WAV, HEX, CAS. Proces konwersji przebiegał w ten sposób że zgrywałem plik do postaci WAV, potem używając narzędzie "a8cas-convert" z pakietu A8CAS tools, autorstwa Krótkiego, konwertowałem plik audio do postaci HEX, potem poprawiałem ręcznie różne błędnie zinterpretowane dane i bloki, a na koniec dokonywałem konwersji do postaci CAS. Narzędzie Krótkiego sprawdziło się w tym wypadku znakomicie, ponieważ doskonale radziło sobie z formatem długich bloków Turbo 2600.

Aby więcej nie przedłużać, zainteresowanych zapraszam do pobrania całego archiwum (~312MB) z tego linku: Turbo 2600 tapes from Thomy.

A dla tych którzy nie maja ochoty na pobranie całości dość dużego archiwum, dodaję do tego posta archiwum zawierające tylko i wyłącznie pliki CAS.

Jeszcze raz bardzo dziękuję Thomy-emu za udostępnienie tych materiałów. Pozostało mi jeszcze zmontować prototyp na tzw. płytce stykowej (bread-board) aby sprawdzić schemat i opublikować sprawdzony już schemat.

382

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

Naprawdę nie ma za co dziękować :) Cieszę się że mogłem w jakiś sposób pomóc.

A co do nagrania składanki marzeń, to najprościej to byłoby gdybyś miał jakiś klasyczny magnetofon z możliwością nagrywania... wtedy za pomocą oprogramowania "Turgen" mógłbyś wygenerować sobie pliki audio które po prostu nagrałbyś na kasety, zarówno w Turbo 2000F jak i standardzie.

Użycie SIO2PC i oryginalnego magnetofonu Atari wymagałaby o wiele większego nakładu pracy i wymagałaby znajomości systemu turbo na takim poziomie aby określić które pliki jak nagrać, tzn. czy wystarczy samo nagranie w turbo czy też należy dołączyć odpowiedni loader. W przypadku Turgen-a wszystko masz zautomatyzowane.

383

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

Hej!

No teraz to zupełnie inna rozmowa :) skoro są zdjęcia to możemy już nie wróżyć z fusów, chociaż starałem się i właściwie to moje typy były całkiem poprawne, zmylił mnie trochę ten cart od Blizzarda, ale koniec końców Turbo 2000F było na mojej liście wróżb ;)

To co masz w magnetofonie to "Turbo 2000F" zwane czasami "Turbo 2001". Obawiam się że cartridge jest nie do kompletu. Nie wydaje mi się aby ten magnet z tą przeróbką uciągnął Blizzard-a, ale z ciekawości sprawdzę to u siebie jak skończę pilne sprawy w kolejce do zrobienia "na wczoraj".

anx239 napisał/a:

1 - oczywiście mogę rozkręcić i tak właśnie teraz zrobiłem, po prostu myślałem że są brak kabelka dodatkowego i zarazem obecność włącznika pozwolą łatwo zidentyfikować typ Turbo.

Niby tak, ale opcji było kilka, dlatego pozwoliłem sobie na żart z "rentgenem", bo przełącznik mógł sugerować Turbo 2000F, brak kabelka mógł sugerować albo Blizzard-a albo Czeskie (Super) Turbo 2000 albo właśnie w połączeniu z przełącznikiem właśnie Turbo 2000F.

anx239 napisał/a:

3 - są dwa przełączniki lecz chyba tylko trzy wsady (mogę się mylić) bo na jednym z ustawień zawsze wyświetla się Self-Test

To jak najbardziej prawidłowe zachowanie w tego typu carcie. To jest cart z 32KB pamięcią EPROM, i są w nim 3 "wsady" 2x po 8kB i 1x 16kB, a więc wszystko działa poprawnie.

anx239 napisał/a:

4 - dodam, że kart i magnetofon pojawiły się u mnie osobno i pierwotnie nie był to komplet

No i to by wszystko wyjaśniało.

Cartridge masz do systemu " Turbo Blizzard", a w magnetofonie masz "Turbo 2000F".

384

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

całkiem możliwe, dlatego zdjęcia płytki drukowanej umieszczonej w obudowie mogły by rozwiać wszystkie wątpliwości co do wieku carta, bo artefakty (dithering) na naklejce carta:

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

sugerują że to dość nowoczesny wydruk z laserówki.

385

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

Czekaj, czekaj... dobrze że wkleiłeś duże zdjęcie z dodatkowymi meta-danymi... nie wiem jaki masz model aparatu/telefonu ale dzięki temu że robi także zdjęcie w widmie rentgenowskim:

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

...to można powiedzieć że masz w ten magnet wbudowanego blizzarda, a dzięki przełącznikowi możesz ten interfejs włączyć na stałe... tak aby nie był sterowany poprzez soft dla blizzarda, więc jest szansa że dzięki temu przełącznikowi możesz używać magnetofonu do odczytu danych w innych systemach np. Turbo 2000F/2001/KSO, Czeskie/Wrocławskie Turbo 2000, AST/ATT/UM. Ale dokładniej to zależy od wersji interfejsu który masz wbudowany w ten magnetofon.

ps1) gdyby jednak rentgenowskie meta-dane były niepoprawne, to może to być równie dobrze zwykłe Turbo 2000F, a przełącznik służy do wyboru trybu pracy Turbo/Normal.

ps2) cartridge wygląda na replikę z obecnych czasów, a przynajmniej obudowa i naklejka wydrukowana na drukarce laserowej.

ps3) ażeby z całą pewnością stwierdzić co masz tak właściwie w tym magnetofonie to przydałby się zdjęcia ze środka pokazujące płytkę interfejsu z obu stron. To samo dotyczy carta... bo zdjęcia, a właściwie układ przełączników sugerują że masz prawdopodobnie taką wersję carta którą prezentowałem tutaj: Blizzard Big Cartridge lub jakiegoś klona tego typu, np. takiego: Shogun Blizzard Clone. Gdybyś pokazał co widać o uruchomieniu carta w każdej pozycji przełączników to bez "wróżenia" z fusów miałbyś odpowiedź jaki właściwie soft masz na carcie.

Napiszę post również w tym wątku, bo temat niejako związany, a może zainteresować posiadaczy magnetofonów wyposażonych w systemy:

  • Czeskie Turbo 2000 i jego klony (np. Wrocławskie Turbo 2000, AutoTurbo, Atari Hard Turbo, etc.)

  • AST/ATT/UM

  • Turbo ROM

... i wszystkie systemy które przełączają się na tryb pracy Turbo za pomocą linii COMMAND.

Z dyskusji w innym wątku (do którego link za chwilę) wyszło że jeden z forumowiczów ma magnetofon wyposażony w klon czeskiego Turbo 2000, a kasety którymi dysponuje zapisane zostały w formacie Turbo 2000F/2001/KSO2000. Już kilkakrotnie w tym wątku pokazywałem że możliwy jest odczyt tak zapisanych danych za pomocą innych interfejsów, jednak nie powstało żadne proste rozwiązanie tego problemu. Miałem podejść do tematu w późniejszym terminie, ale skoro nadarzyła się okazja to postanowiłem zadziałać już i teraz, aby nie odkładać spraw w nieskończoność... I rozwiązać problem w najprostszy możliwy sposób, czyli umożliwić wczytywanie za pomocą magnetofonów wyposażonych w inne modyfikacje, gier i programów zapisanych w systemie Turbo 2000F/2001/KSO2000.

Standardowe oprogramowanie dla systemów Turbo 2000F/2001 całkiem nieźle by pracowało również z innymi interfejsami turbo o ile byłoby świadome że może włączyć sobie interfejs turbo za pomocą linii COMMAND. Sprzętowo te interfejsy spełniają warunki zapewniające poprawny odczyt plików zapisanych w standardzie Turbo 2000F/2001/KSO2000... ale do tej pory nie spotkałem się z loaderem czy jakimś mini KOS-em zapewniającym odczyt danych w tym formacie.

Przyjrzałem się więc podstawowemu oprogramowaniu dostarczanemu z systemem Turbo 2000F, i dokonać takich poprawek w kodzie aby to oprogramowanie sterowało linią COMMAND w taki sposób aby podczas odczytu plików w Turbo aktywowało interfejsy innych typów.

Aby nie mnożyć bytów i nie publikować wszystkiego po kilka razy w różnych wątkach, zapraszam do innego wątku, a konkretnie do tego postu: Turbo 2000F+CMD, w którym to jest załączone oprogramowanie systemowe dla "Turbo 2000F" zmodyfikowane w sposób o którym napisałem wyżej. Aby odróżnić tą wersję softu od pozostałem pozwoliłem sobie na zmianę nazwy w nagłówku wyświetlanym przez program na "2000F+CMD". Oczywiście wersja zawierająca "poprawki" bez problemu nadal będzie mogła działać z magnetofonami wyposażonymi w Turbo 2000F/2001.

Poprawki nie były skomplikowane, wystarczyły zmiany w dosłownie dwóch miejscach w kodzie, a sprawę ułatwiła obecność małego stadka instrukcji NOP, w miejscu które przegotowywało procedury do odczytu danych. Może się to komuś przyda do jakiejś archiwizacji czy odczytywania kaset.

387

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

Hej!

Aby wszystko było jasne, napiszę to jeszcze raz. Powyższy soft nie wymaga stosowania przełącznika, drobne poprawki w nim dokonane po prostu włączają interface turbo za pomocą linii COMMAND przed rozpoczęciem odczytu bloku danych w turbo i przywracają stan linii COMMAND po zakończeniu odczytu.

Przełącznik możesz zastosować tylko w chwili gdy chcesz skorzystać z jakiegoś oprogramowania dla Turbo 2000F/2001 które nie ma wprowadzonych poprawek.

A teraz co do wprowadzenia zmian... linia COMMAND to pin nr 7 w gnieździe SIO. Masz klon czeskiego Turbo 2000, które nie wykorzystuje dodatkowego przewodu poprowadzonego od linii COMMAND do magnetofonu (normalnie w większości przypadków ten przewód dokładano i okręcano go wokół przewodu oryginalnego, ponieważ fabrycznie linia COMMAND nie jest podłączona w przypadku magnetofonu).

Zamiast prowadzenia dodatkowego przewodu linię COMMAND puszczono przewodem który pierwotnie był wykorzystany do przesyłania sygnału do pinu AUDIO_IN, a wiec w Twoim wypadku we wtyczce jest po prostu dodatkowy kondensator łączący linię AUDIO_IN z linią COMMAND. Linia COMMAND z punktu widzenia komputera ATARI jest linią wyjściową (sterującą) której stan odpowiada za włączenie lub wyłączenie trybu pracy interfejsu. Patrząc od strony płytki interfejsu ten sygnał nadchodzący ze strony Atari jest wejściowym sygnałem sterującym i na płytce interfejsu idzie on sobie do wejść dwóch bramek NAND znajdującego się w drugim z układów scalonych, wygląda to tak:

 [magnetofon (płytka interfejsu T2000)]-----------------[Wtyczka SIO, pin 7, linia COMMAND]

cała modyfikacja powinna polegać na odłączeniu/przecięciu przewodu idącego od linii COMMAND do płytki interfejsu i zamontowanie przełącznika tak aby zamiast linii COMMAND idącej z wtyczki SIO było możliwe podłączenie linii wejściowej interface albo do masy albo do tego przewodu który przychodzi ze strony komputera.

A więc w jednej pozycji przełącznika wszystko ma być podłączone tak jak na rysunku wyżej, a w drugim przypadku tak:

[magnetofon (płytka interfejsu T2000)]--------\    X-------[Wtyczka SIO, pin 7, linia COMMAND]
                                              |
                                              |
                                              |
                                           [MASA]

Czyli w jednej z pozycji przełączniki linia COMMAND idąca od Atari pozostaje nigdzie nie podłączona (można powiedzieć że "wisi w powietrzu"), a do kabla idącego do interfejsu podłącza się po prostu tzw. masa (GND) magnetofonu. To wymusi na interfejsie tryb pracy zawsze w Turbo (wczytywanie w "normal" nie będzie możliwe)

W drugiej pozycji przełącznika natomiast wszystko będzie działało jak przed przeróbką, bo linia COMMAND będzie podłączona do płytki interfejsu i to jej stan będzie wpływał na tryb pracy Turbo/Normal. Domyślnie komputer (a właściwie system operacyjny Atari) utrzymuje tą linię w stanie wysokim, co również powoduje że interfejs działa w trybie NORMAL i dopiero odpowiednie oprogramowanie Turbo zmieniając stan tej linii przełącza interfejs na tryb pracy "TURBO".

Linia COMMAND w normalnych warunkach służy do komunikacji ze stacją dysków. Autor tego turbo (Jiří Richter) wymyślił sobie że można linię tę wykrzystać do automatycznego sterowania przełączaniem Turbo/Normal, a żeby magnetofon nie przeszkadzał w transmisji ze stacją dysków (wtedy linia COMMAND też zmienia stan) to dodał jeszcze jeden warunek aby interface Turbo mógł być włączony... chodzi i sygnał MOTOR_CONTROL. Więc w przypadku gdy MOTOR_CONTROL oraz COMMAND będą aktywne magnetofon przechodzi do pracy w systemie turbo. Gdy tylko linia MOTOR_CONTROL pozostaje aktywna a COMMAND będzie w stanie wysokim to magnetofon będzie pracował w trybie NORMAL.

388

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

Hej!

Posiedziałem trochę i przerobiłem soft dla systemu Turbo 2000F, tak aby przechodząc w tryb wczytywania turbo, przełączał interface w tryb pracy Turbo, za pomocą użycia linii COMMAND. Dodaję do załącznika wersję XEX, CAS oraz WAV do nagrania na kasetę. Wersja CAS to właściwie wersja XEX poprzedzona moim starym Code3 Loader-em o którym pisałem w tym wątku.

@darczi1 jeżeli zastosujesz powyższy system, to nie będziesz potrzebował przełącznika do wczytania kaset które masz zapisane w formacie Turbo 2000F/2001/KSO2000.

Zastosowanie przełącznika nie wymagałoby przerabiania/patchowania softu. Cały montaż polegać musi na odlutowaniu (lub przecięciu) przewodu idącego od linii COMMAND to interfejsu turbo i podłączeniu przełącznika w taki sposób aby w jednej pozycji przełączał podłączał do przewodu który idzie do interfejsu albo przewód który szedł z gniada SIO albo masę, coś na tak kształt:

                  /*--------przewód idący do linii COMMAND we wtycze SIO
[interface]------*
                   *--------przewód podłączony do linii masy magnetofonu

w górnej pozycji interface będzie pracował w trybie AUTO, w dolnej pozycji interface będzie pracował w trybie turbo.


Jak to wygląda w praktyce? Poniżej film z emulatora prezentujący cały proces wczytywania:

389

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

@sikor: na chwilę obecną dodałem po prostu #REDIRECT, muszę pamiętać o tej podstronie również jak będę uzupełniał opisy systemów turbo.

390

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

Panowie,

Kolega ma w magnetofonie Wrocławskie Turbo 2000/3000. Jest to klon 1:1 Czeskiego Turbo 2000, które też opisałem w Atariki jakiś czas temu: Czeskie Turbo 2000

@sikor... napisałeś że czeskie nie jest opisane, ale jest, tylko system odnośników i miejsc w Atariki do różnych "systemów turbo" jest tak zamieszany że nie ogarniam aby we wszystkich miejscach to linkować, np. czeskie turbo widać tutaj: Systemy Turbo.

Problem z wczytaniem jest spowodowany tym że kolega ma kasety zapisane w standardzie Turbo 2000F/2001/KSO2000 i soft który dostał do tych systemów na carcie po prostu nie włącza tego interfejsu i magnetofon pracuje cały czas w normalu. Oczywiście za pomocą interfejsu który ma w magnetofonie można wczytywać również i takie kasety, ale to wymagałoby drobnej modyfikacji loader-a/softu dla Turbo 2000F/2001 aby ten aktywował interface Turbo w magnetofonie zmieniając stan linii COMMAND portu SIO na aktywny przed rozpoczęciem wczytywania danych w systemie turbo. Można dołożyć również przełącznik który będzie przełączał tryb pracy magnetofonu n Turbo manualnie, wtedy modyfikacja softu nie byłaby konieczna. W jednej pozycji przełącznika Turbo byłoby cały czas włączone, a drugiej pracą normal/turbo sterowałaby linia COMMAND tak jak ma miejsce to w chwili obecnej.

Podrzuciłem koledze plik do testów nagrany za pomocą "Special Copy 1.5" od Tomasza Rolewskiego który jest przeznaczony właśnie dla tego interfejsu. Dodaję go również w załączniku aby każdy posiadający to turbo mógł sobie przetestować jego działanie u siebie (plik WAV spakowany 7zip-em).

A poniżej podgląd z emu jak wygląda ten proces wczytywania:

391

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

pod atari800 też da się uruchomić ten ROM. Zamiast SELF-TEST jest klasyczny "MEMOPAD", kolory tła, ramki i liter są zamienione, z Atari 8-bit FAQ wynika:

Expander / The Expanders, by R.G.T. for Synergy Concepts, (c)1986
- For computers with up to 512KiB of Port B banked memory (576KiB total system RAM)
- XL OS with added Executive Program for managing up to four RAM drives
- All RAM drives contain 707 sectors.  RAM drive configurations supported:
   - One RAM drive of 90KiB (emulated SS/SD floppy disk drive)
   - Two RAM drives of 90KiB (emulated SS/SD floppy disk drives)
   - Three RAM drives of 90KiB (emulated SS/SD floppy disk drives)
   - Four RAM drives of 90KiB (emulated SS/SD floppy disk drives)
   - One RAM drive of 180KiB (emulated SS/DD floppy disk drive)
   - Two RAM drives of 180KiB (emulated SS/DD floppy disk drives)
- Renumber drives and boot from any drive
- Built-in mini-DOS

Wciśnięcie RESET+SELECT odpala takie menu:

http://seban.pigwa.net/aa/the_exppanders_ROM_by_RGT.png

... i albo słabo szukam, albo nie wiem co... bo niewiele o tym produkcie w sieci znaleźć mogę.

392

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

Hej!

Zgodnie z obietnicą w załączniku do pobrania wszystkie pliki na których przeprowadzałem eksperymenty z interfejsem Turbo 2600: Draconus - extended version

W archiwum pliki CAS, HEX, WAV. Oraz wersja FILE/XEX (z obrazkiem podczas ładowania) którą przygotowałem na potrzeby testów. Jest także wersja cas i hex w "standardzie" o którą prosiłem, poprzedzona loaderem jedno-blokowym o którym pisałem parę postów wyżej.

393

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

Hej!

xtrem007 napisał/a:

@seban: Czy możesz udostępnić wersję kasetową Draconus (Normal, FSK, 600 bps) w pliku cas lub wav?

Jasne! Tak jak pisałem wcześniej... udostępnię wszystkie pliki jak tylko dotrę do komputera na którym się obecnie znajdują (zapewne będzie to dziś wieczorem). Ta wersja Draconusa powstała właśnie na potrzeby testów które tutaj zaprezentowałem. Zrobiłem ją wykorzystując to co "leżało" na Atarimania (Draconus). Obrazek wyciąłem z wersji dyskietkowej, a resztę z wersji kasetowej, pozbywając się oryginalnego boot-loadera.

394

(5 odpowiedzi, napisanych Programowanie - 8 bit)

Hej!

xxl napisał/a:

dwa slowa, jesli szukasz miejsca na ZP to to wydaje sie najodpowiedniejsze dla tego typu programu:

Disk file manager system (FMS) page zero registers (seven bytes).

Dzięki za info, sprawdzę czy po użyciu tych lokacji zmieszczę loader w jednym rekordzie w pełnej wersji.

xxl napisał/a:

sprawa dwa... nie warto ograniczac sie do "128 bajtow" ze niby 1 rekord... wspanialy OS wymusza jeden rekord wiecej

No ale ta moja wersja 1-rekordowa uruchamia się dokładnie po wczytaniu jednego rekordu i nie wymaga rekordu EOF. Jak pisałem wcześniej ten pomysł podrzucił Pecuś opisując go dokładniej w tym poście: jedno blokowy BOOT, a zaczęło się od tego pytania.

Wracając to głównego wątków u mojej jedno-blokowej wersji loadera... masz dokładnie jeden rekord i potem już bez długiej przerwy IRG mogą lecieć następne rekordy zawierające dane pliku, widać to na tym przykładzie:

xxl napisał/a:

... ktory i tak musi byc co nie znacz :DDD ze ten rekord ma byc pusty :DDD prosta sztuczka z kopiowaniem zawartosci tego niby pustego rekordu i nagle zyskujesz miejsce na kod ;-)

No ale tak właśnie robi wersja 2-rekordowa, tzn. ładuje dwa rekordy (bez rekordu typu EOF) i potem kopiuje pozostałe dane z bufora magnetofonu ($400-$47F) w docelowe miejsce ($780-$7FF) po czym już bez przerwy IRG mogą lecieć dane wczytywanego pliku.

Zatem jak widać podane wielkości loderów podałem bez pustych rekordów EOF które w obu przypadkach nie są wymagane, a wręcz nie powinno ich być.

qbahusak napisał/a:

Że też nikt? W tamtych czasach nie wrzucił loadera na stos, tam się marnuje jakieś 240-250 bajtów przy prostych programach (a takim jest loader). Wtedy bufor robimy na stronie zerowej od 0x80 i wszystko się wczyta.

Powiem tak... w czasach kiedy powstawał ten loader, to wśród ludzi krążyły różne i tak dziwaczne wersje plików i gier że lokowały się gdzie popadanie, również na stosie (np. pliki wykonywalne potraktowane np. "Zagęszczaczem" od Darka Rogoźińskiego / IRON SOFT umieszczały swoje procedurę czyszczenia pamięci właśnie na stosie) ... do kompletów część programów podczas ładowania wykonywała jakieś karkołomne operacje w pamięci, przepisując się tu i ówdzie i korzystając w tym celu z "losowo" wybranych komórek na stronie zerowej. To wymuszało na człowieku który pisał loader aby nie wykorzystywał on żadnych lokacji na stronie zero, bo spora część programów podczas ładowania mogła pozmieniać zawartość różnych komórek na stronie zero.

Była cała masa plików typu "file" które łamały dobre zasady "kodowania" i lokowały się w różnych dziwnych miejscach, stąd właśnie chęć uniknięcia tych wszystkich różnych dziwnych obszarów... sam święty nie byłem i jak chciałem sobie zrobić wersję file jakiegoś dużego programu to upychałem swoje wstawki gdzie się tylko dało (np. w buforze drukarki $3C0-$3E7)

395

(5 odpowiedzi, napisanych Programowanie - 8 bit)

Hej!

Dawno, dawno temu... w czasach kiedy jeszcze magnetofon jako pamięć masowa nie był niczym dziwnym ... a różnego rodzaju gry i programy w binarnym formacie Atari DOS były zapisywane na taśmę i poprzedzone tzw. loaderem "!", dziwiło mnie zawsze czemu ten loader jest tak długi... nigdy jednak nie zgłębiałem jego tajemnic i nie analizowałem kodu tegoż loadera... jednak przyszedł czas że postanowiłem napisać własny tego typu loader... wtedy udało mi się go zmieścić w dwóch standardowych rekordach i można było sobie ów mój loader umieścić zamiast "!" przed programem w formacie "binary DOS file", potem powstał do kompletu "Code3 Tape Copy", ale ja nie o tym... przy okazji wątku o interfejsie Turbo 2600 firmy SZOK ze Świebodzina i testów które tam wykonywałem odkopałem ów mój loader wśród jakichś archaicznych źródeł... oryginał loader powstał gdzieś na początku lat '90 gdy jeszcze istniało Code3.

Przy okazji "walki" z testami wczytywania z pomocą interfejsu dla systemu Turbo 2600, przypomniało mi się że na tutejszym forum Pecuś zaprezentował swój loader dla systemu AST, który to miał pre-loader w standardzie który startował po wczytaniu jednego rekordu, opisał nawet metodę i trik jaki należy zastosować aby coś takiego można było stworzyć tego typu plik BOOT (taki który wystartuje po wczytaniu tylko jednego rekordu danych)... przypomniało mi się to i postanowiłem sprawdzić czy nie da się zmieścić całego loadera plików typu "file" w jednym rekordzie danych (a więc 128 bajtów + nagłówek typu BOOT). No i udało się... wziąłem kod swojego starego loadera i obciąłem go tak aby mieścił się w jednym rekordzie danych i startował ładowanie pliku typu file właśnie po wczytaniu tego jedynego rekordu danych.

Nie wiem czy to w dzisiejszych czasach komuś się jeszcze przyda, ale skoro już wygrzebałem to z przeszłości i dopisałem wersję 1- blokową, to postanowiłem to upublicznić, zatem gdyby ktoś był zainteresowany to zapraszam do zajrzenia do repozytorium zawierającego kod źródłowy tego loadera na github: CODE3 Tape Loader.

W repozytorium znajdują się dwa pliki:

  • c3_loader_pg7.xsm

  • c3_loader_1blk.xsm

Plik "c3_loader_pg7.xsm" zawiera oryginał loadera napisany latach '90, lokuje się on w przestrzeni $700-$7FF i może wczytywać pliki binarne które mieszczę się w adresach: $0480-$06FF, $0800-$FFFF. Loader wykonuje skoki do segmentów INIT (zatrzymując silnik magnetofonu) oraz uruchamia program skacząc pod adres wskazany przez segment RUN. Jeżeli program nie zawiera segmentu RUN, loader uruchomi program od pierwszego segmentu który jest obecny w pliku.

Plik "c3_loader_1blk.xsm"m zawiera skrócony loader który zajmuje teraz 128 bajtów i ładuje się w obszar $36B-$3EA, zatem wczytywany program może zajmować obszar $0480-$BFFF.

Obie wersje loaderów wykorzystują obszar $400-$47F jako bufor na rekord odczytany z magnetofonu. Oba loadery ze względu na optymalizację rozmiaru wykonują skoki bezpośrednio do OS-ROM i oczekują że mają do dyspozycji Atari XL/XE OS-ROM v.2.

Drugi loader (1-blokowy) nie będzie potrafił uruchomić gry/programu która nie zawiera adresu uruchomienia wskazanego przez segment RUN ($2E0-$2E1).

Oczywiście wczytywane gdy i programy mogą również korzystać z przestrzeni pod OS-ROM, jeżeli same przekopiują tam dane podczas wczytywania. Żaden z loaderów nie wykorzystuje żadnej lokalizacji na stronie zerowej. Zapewne dałoby się jeszcze skrócić loader 1-blokowy tak aby zmieścił się w jednym rekordzie i mógł programy nie zawierające segmentu RUN, gdyby wykorzystać jakieś komórki na stronie zerowej.

Przykład ładowania gry DRACONUS z wykorzystaniem 1-blokowego loadera można obejrzeć w wątku o "Turbo 2600".

Zdaję sobie sprawę że w dzisiejszych czasach taki loader zapewne nikomu przy zdrowych zmysłach potrzebny, ale skoro jak już pisałem wcześniej udało mi się to wygrzebać to publikuję. Jak odnajdę źródła "Code3 Tape Copy" (mam nadzieję że przetrwały) to też je opublikuję.

Aby wykorzystać ten loader należy go po prostu umieścić przed programem w formacie binarnym DOS-u. Jeżeli wczytywany program posiada segmenty INIT wato pamiętać o tym że po segmentach INIT w niektórych przypadkach będzie potrzebna dłuższa przerwa między rekordami. "Code3 Tape Copy" wykrywał te rekordy w których występują segmenty INIT i generował dodatkowe przerwy w odpowiednich momentach.

Dziś można skorzystać z Turgen-a ody Baktraaa i tam wszystko dzieje się z automatu (odpowiedni loader też jest dodawany). Więc stosowanie tego loadera nie wydaje się takie łatwe i oczywiste jak w przypadku gotowych narzędzi, no ale niech już to zostanie skoro była okazja aby to zaprezentować ;D

396

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

Hej!

Powoli zbliżam się do końca prac nad interfejsem. Wszystko wskazuje na to że schemat jest poprawny, kolega darpajdp zgłosił parę uwag i po poprawkach opublikuję całość. Ale wcześniej jeszcze chciałem przeprowadzić parę testów ładowania różnych programów i ich konwersj do długich bloków. Interesowała mnie też stabilność działania interfejsu oraz pewność wczytywania danych zarówno standardowych jak i tych w formacie 2600/DB. Powiem wam że nie udało mi się trafić na żaden błąd podczas wczytywania danych z użyciem interfejsu firmy SZOK. Nawet "standard" wczytywał się pewnie i poprawnie, co mnie dziwi bo powinienem przecież trafić na błąd który czai się w OS-ROM komputera na użytkowników komputera.

Zapewne już to nikogo nie interesuje, ale z kronikarskiego obowiązku przeprowadziłem sobie te wszystkie testy wczytywania na realnym sprzęcie. Do tego celu użyłem specjalnie przygotowanej przeze mnie gry DRACONUS, jej specjalne przygotowanie polegało po pierwsze na dołączeniu do niej obrazka podczas wczytywania, ale uczyniłem to w taki sposób aby było widać ten wczytujący się po kawałku obrazek w trakcie ładowania danych... a po drugie aby całość gry zmieściła się w buforze programu TRANS FILE DB, musiałem spakować grę... użyłem w tym celu Super Packera od TeBe i wybrałem kompresję za pomocą Exomizera. Gra zajmowała w oryginale obszar $600-$BBFF, wiec ciężko było aby to wraz z obrazkiem (który ma prawie 8 kB) zmieściło się z buforze "Trans File DB", aby nie przedłużać już więcej, to w tym poście publikuję filmy prezentujące wczytanie w formacie DB z prędkościami 2600, 1300, 800 bitów na sekundę oraz standardowe wczytywanie gry z prędkością 600 bps. W przypadku gry zapisanej w standardzie użyłem swojego 1-blokowego loadera plików binarnych Atari DOS (o tym więcej niebawem, bo powstał on niby dawno, dawno temu, ale skoro była okazja oby go wykorzystać to czemu nie), przed linkami do filmów na YT (których i tak nie będzie pewnie oglądał, bo nie nie ma właściwie czego oglądać ;P)

Zamieszczę tylko krótkie zestawienie:

Rozmiar wczytywanego pliku (w formacie binarnym Atari DOS) to: 35064 bajty.

Czas wczytywania poszczególnych wersji:

  • Draconus (T2600, DB, 2600 bps): 2 min 56 sek

  • Draconus (T2600, DB, 1300 bps): 5 min 15 sek

  • Draconus (T2600, DB, 800 bps): 8 min 24 sek

  • Draconus (T2600, DB, 600 bps): 11 min 04 sek

  • Draconus (Normal, FSK, 600 bps): 11 min 44 sek

I teraz linki do video na YT, przedstawiające proces ładowania. I tak jak poprzednio proszę ukryć zwierzęta domowe, a domowników wrażliwych na te przerażające dźwięki proszę odizolować, albo założyć na uszy słuchawki :) I tak samo jak poprzednio w kanale lewym leci dźwięk z Atari, w kanale prawym to co słyszy interfejs.

Dziś już nie mam czasu i siły ale jutro wieczorem wrzucę pliki (wav, cas, xex) do kolejnego postu w tym wątku. Dla ciekawych jak wygląda loader szybki link do repozytorium na GitHub zawierający kod źródłowy "Code3 Tape Loader. Parę słów więcej o tym loaderze napiszę w innym wątku na forum (w dziale programowanie).

DRACONUS, format DB ładowanie z prędkością 2600 bps:

DRACONUS, format DB ładowanie z prędkością 1300 bps:

DRACONUS, format DB ładowanie z prędkością 800 bps:

DRACONUS, format standardowy, ładowanie z prędkością 600 bps:

397

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

To jest KSO Turbo 2000. Bardziej rozbudowy opis na stronie JER-a w dziale serwis: Turbo KSO

NetSerwer napisał/a:

Czy potrzebny jest do tego cart z softem?

Przydałby się ze względu na wygodę, jeżeli nie masz to można się bawić we wczytanie KSO z kasety w trybie standard.

NetSerwer napisał/a:

Jak to było w magnetofonach z Turbo: jak się kabelka pod interface joy'a nie podłączy, to czy można zwykłe kasety wczytywać, czy po przeróbce to już tylko z Turbo?

Czy to z podłączonym czy bez podłączonego kabelka możesz wczytywać zwykłe programy w standardzie. Interface Turbo będzie działał dopiero wtedy gdy będzie aktywowany przez oprogramowanie.

398

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

Hej!

To że dźwięki systemu T2600 są tak mało "komfortowe" dla uszu może tłumaczyć jeden obrazek:

http://seban.pigwa.net/atari/Turbo_2600_from_Thomy/scr/T2600_fsk_spectrum.png

Ten obrazek pokazuje widmo sygnału zapisanego w systemie T2600 (standardowe rekordy po 128 bajtów, prędkość 2600 bps) ... z tego obrazka można wywnioskować iż widmo takiego sygnału jest bardzo bogate we wszelakie harmoniczne... co może generować bardzo nieprzyjemne interferencje w widmie dźwięku... to by też tłumaczyło konieczność stosowania filtra pasmowo-przepustowego na wejściu interfejsu.

Na przykładzie WARHAWK widać też ile "pary szło w gwizdek", na generowanie przerw między rekordami... nie przyglądałem się temu jeszcze dokładnie, ale wygląda na to że w przypadku "Turbo 2600" sekwencje kalibracyjne, lecą bezpośrednio w ciągłym strumieniu danych i procedury I/O systemu T2600 dokonują automatycznej kalibracji w chwili gdy ową sekwencję napotkają.

Zaczynam się zastanawiać czy ktoś kto projektował ten system nie miał doświadczenia zawodowego z jakimiś większymi systemami taśmowymi czy może jakimiś dużymi systemami dyskowymi.

Hrw napisał/a:

T2000F też miał długie bloki ale tam chyba nie dawało tak po uszach.

W przypadku T2000 najkrótrzy genrowany impuls kodujący "zero" logiczne miał 0.25ms a więc około 4KHz, więc to była częstotliwość nieco mniej drażniąca niż 5.1KHz wybrane dla kodowania "1" przy modulacji FSK.

tOri napisał/a:

Boszzzz ale to daje "po uszach" i "po głowie". Jak dawałem rade to wytrzymywać kiedyś?

A co do pisku i że teraz trudno tego słuchać... należy pamiętać że kiedyś pasmo wzmacniacza w jakimś telewizorze i monitorze nie było powalające, więc 3900 i 5100Hz na wbudowanym w TV/Monitor głośniku nie było aż tak dokuczliwe jak dziś, gdy słuchamy to na sprzęcie który potrafi bez problemu odtworzyć dość wysokie częstotliwości... paradoksalnie dzisiejsze TV czy Monitory mają problem raczej z niskimi częstotliwościami (z racji wymiarów skrzynek w których je obecnie się zamyka).

Sprawdziłem to nawet doświadczalnie na sobie... słuchając tego na głośniku wbudowanym w monitor TWM-315 daje się to wytrzymać... jednak daleko temu do "muzyki" jaką jest wczytywanie z prędkością 600 bps ;-)

399

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

Dzień Dobry!

Zapraszam na kolejną sesję straszenia nietoperzy.... tfu... to znaczy na kolejny przykład systemu Turbo 2600 w działaniu.

Tym razem postanowiłem zaprezentować ciekawą właściwość systemu Turbo 2600, który jest zaprojektowany tak aby udawał że go właściwie nie ma :) tzn. siedzi sobie cichutko schowany "pod systemem operacyjnym", a jego działanie ujawnia się dopiero gdy rozpoczyna się transmisja z magnetofonem. Dzięki takiemu zachowaniu gry czy programy które nie wykorzystują pamięci pod OS-ROM, mają szansę nie zauważyć (jeżeli za dobrze nie sprawdzają) że coś się w systemie zmieniło... dzięki temu różne niestandardowe programy ładujące mogą działać tak jak wcześniej i będą myślały ze ładują ze standardowego urządzenia "C:", a tymczasem system Turbo 2600 potrafi podrzucić swoje procedury obsługi transmisji i dzięki temu nawet jeżeli nie da się wykorzystać tzw. formatu DB (długich bloków) to da się ładować standardowe rekordy, tyle że zapisane z prędkością do 2600 bitów na sekundę.

Zatem załóżcie słuchawki, schowajcie domowe zwierzęta tak aby nie musiały tego słuchać i zapraszam na pranie mózgu przy pomocy modulacji FSK o prędkości 2600 bps:

Jak widać na początku jest ładowany system Turbo 2600, który to ładuje boot-loader gry WARHAWK (zapisany w oryginale w formacie BOOT), a potem loader startuje i ładuje sobie poszczególne bloki danych z urządzenia "C:", jednak działający w tle system turbo 2600, podmienia procedury transmisji z magnetofonu w taki sposób aby było możliwe ładowanie z prędkością 2600 bps.

Czas ładowania tak zapisanej gry to 3 min 53 sek, podczas gdy czas ładowania w standardzie tej gry to 10 min 34 sek.

400

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

Trochę mi to zajęło, bo graber nie chciał współpracować, a potem przy zestawieniu całości tworzyły mi się jakieś "pętle masy" pomiędzy całym sprzętem i miałem niezły "brum" w audio, zresztą nie jest wcale tak rewelacyjnie jeżeli chodzi o jakość dźwięku, ale lepiej tak niż wcale...

Zatem za zainteresowanych przykład wczytania gry DROPZONE przy użyciu systemu Turbo 2600. Grę zapisano w formacie długich bloków z prędkością 2600 bps. Wczytywano ją za pomocą interfejsu udostępnionego przez Thomy-ego. W lewym kanale słychać dźwięk z Atari, w prawym to co "słyszy" interfejs.

Czas wczytania gry w tym formacie to 2 minuty i 53 sekundy:

... dodam tylko że czas wczytywania tej gry w standardowym formacie to 11 minut 51 sekund.