Hej!
Walcząc z różnymi systemami turbo przywykłem już do tego że zawsze znajdzie się coś czego jeszcze nie widziałam, ostatnio wywnętrzałem się o "Wrocławskim Turbo 2000" i tym że był to właściwie klon Czeskiego Turbo 2000. Ale ludzie z woj. dolnośląskiego mieli o wiele więcej pomysłów i projektów związanych z przyspieszaniem transmisji wykorzystującej interface pomysłu Jiri Richtera, płyta interface pozostawała ta sama, oprogramowanie ewoluowało i było sprzedawane lub klonowane czy też powielane ze zmianami lub bez, przez co powstało kilka standardów wykorzystujących ten sam hardware, przykładem takiego formatu może być rozwiązanie nazwane "Rapider 7500", przykład ładowania pliku w tym systemie można obejrzeć na krótkim filmiku który przygotowałem z użyciem emulatora zmodyfikowanego przez FUJI-ego:
http://www.youtube.com/watch?v=Xfpks2h9neo
Nagranie składa się z dwóch bloków standardzie oraz bloków zapisanych w turbo. Czy prędkość transmisji wynosi jak sugeruje nazwa systemu 7500 bitów/sek? Chyba raczej nie... impulsy użyte do kodowania poszczególnych stanów (sync, 0, 1) chyba są bliższe temu co oferuje Turbo2000, ale mogę się mylić bo dokładnie nie sprawdzałem i przyznaję tutaj że liczę na pomoc eksperta w tej sprawie jakim jest autor Turgen System czyli baktraaa. Przyznam że liczę na to że baktraaa zechce dodać również ten system do turgen-a.
A jak się zapisuje nagrania w tym systemie? Pierwszy program kopiujący który potrafi nagrać na taśmę większość plików file z dyskietki udostępnił chyba tEDDYbOAR, a potem KAZ z AtariOnline w wymianie e-mailowej zapytał o ten system, na AOL był również wątek o PALMASOFT, które to prawdopodobnie dystrybuowało nagrania w tym systemie, program kopiujący wyglądał tak:
^^^ po lewej stronie wersja kopiera sygnowana przez BANFISOFT, datowana na 1989 rok, natomiast po prawej stronie ten sam kopier sygnowany już przez PALMAsoft i datowany na 1990 rok.
Archiwum z oboma programami można ściągnąć stąd: Rapider 7500
Jak widać program do dość duży bufor który wynosi ~58kB. Program nie potrzebuje do pracy DOS-a, ma własne procedury odczytu danych z dyskietki w formacie Atari DOS, pracuje w gęstościach SD,ED,DD.
Dla zainteresowanym prześledzeniem struktury zapisu załączam archiwum zawierające pliki WAV, HEX i CAS zawierające intro Gnome Design które widać na filmie wyżej, oczywiście zapisane w formacie wygenerowanym przez powyższy program kopiujący:
Rapider 7500: Gnome Design Hobby Tronic 1990 Intro
Kto był pierwotnie autorem tego rozwiązania? Tutaj nie mam praktycznie żadnej wiedzy, jednak mogę spekulować po tym co udało mi się wygrzebać w sieci. Być może, ale podkreślam że to tylko przypuszczenie i to podparte myśleniem roszczeniowym, że pierwotnym autorem tego rozwiązania mógł być Krzysztof Polak, autor takich programów jak Speeder1400 jak też wcześniejszych "Ultima Ratio" lub "Enigma Copy".
Skąd ten wniosek? Sugerowałem się winietą programu kopiującego "Normal --->Turbo Rapider", który został podpisany inicjałami K.P.
Bardzo chętnie przeczytałbym czy ktokolwiek z was szanowni forumowicze miał styczność z tym systemem i jakie były jego doświadczenia. Również bardzo chętnie dowiedziałbym się kim był Pan Krzysztof Polak który w tamtym czasie stworzył trochę programów kopiujących różnego rodzaju.
Wrócę jeszcze może na chwilę do formatu Turbo Rapider, spróbujmy przybliżyć strukturę nagrania w tym systemie, możemy się posłużyć formatem .hex w którym będziemy mogli przekonać się naocznie jak wygląda takie nagranie: (oczywiście nie całe obciąłem dane po paruset bajtach bloku PWM, całość dostępne w archiwum do którego link podawałem wyżej):
A8CAS-HEX
FUJI gnome design hobby tronic '90 intro
baud 00595
data 19502 55 55 fc 00 01 6b 03 00 07 a2 00 a9 09 85 55 a9 05 85 54 8a 48 bd 9c 03 f0 12 10 08 e6 54 29 7f 85 55 d0 03 20 b0 f2 68 aa e8 d0 e7 a9 52 20 3f fe 4c 00 04 89 54 55 52 42 4f 2d 52 41 50 49 44 45 52 20 42 41 4e 46 49 53 4f 46 54 89 57 72 6f 63 6c 61 77 20 75 6c 2e 4d 69 6b 6f 6c 61 6a 61 20 38 30 8f 74 65 6c 2e 33 35 36 36 35 81 20 8b 20 20 20 47 4e 4f 4d 45 20 44 45 53 49 47 4e 20 20 20 00 82 ; standard record; length=132, checksum=82 OK
data 00267 55 55 fc a0 00 98 20 09 04 4c 00 07 48 8d 0e d4 8d 00 d4 78 a9 f7 8d 03 d3 85 06 a2 4a 20 5c 04 b0 f9 e0 62 90 f5 e6 06 d0 f1 a2 a2 20 62 04 b0 ea e0 b3 b0 f5 20 62 04 90 01 60 a2 bc a9 01 91 0c 20 62 04 90 01 60 e0 c8 33 0c a2 bc 90 f2 68 51 0c 48 a2 bf c8 d0 e5 68 f0 02 02 60 18 60 20 62 04 90 01 60 a9 20 20 0e c9 e8 f0 f7 ad 0f d2 29 10 c5 00 f0 f4 85 00 4a 8d 1a d0 05 00 8d 01 d2 60 00 d4 ; standard record; length=132, checksum=d4 OK
fsk 00001 ; length=0; duration=0 ms
pwms msb_first falling_edge_first 0044100
pwml 00001 20 19 20 20 19 20 20 20 19 20 20 19 20 20 19 20 20 19 20 20 19 20 20 19 20 20 20 19 20 20 19 20 19 20 20 20 19 20 20 19 20 20 19 20 20 20 19 20 19 20 20 19 20 20 20 19 20 20 19 20 20 19 20 20 19 20 20 19 20 20 19 20 20 20 19 20 20
No i co my tu widzimy? po pierwsze widać dwa rekordy w standardowym zapisie, a potem bloki danych w turbo.
Dwu-rekordowy loader w standardzie wykorzystuje pewien trik, o którym już wcześniej pisał Pecuś, gdy opublikował swój 1-rekordowy loader AST (post opisujący rozwiązanie zagadki znajduje się: tutaj).
W tym loaderze zastosowano ten sam trik. Pierwszy rekord ładuje się od adresu $36b, po czym następuje jego uruchomienie (load_address+6, czyli tzw. BOOT-INIT). Co znajduje się w tym rekordzie dalej? Właściwie procedura wypisująca nagłówek i nazwę ładowanego programu oraz procedura powodująca odczyt następnego rekordu.
A co w następnym standardowym rekordzie? Minimalistyczna procedura odczytu bloku w turbo (256 bajtów), która to po uruchomieniu ładuje dalszą część loadera jest ładowana począwszy od adresu $700 i uruchamiana. Loader plików w formacie Atari-DOS (binary DOS file) korzysta z procedury odczytu która została załadowana jako drugi standardowy rekord pod adres $400.
Procedura odczytu używa "nielegalnych" instrukcji 6502 (np. RLA ($0C),Y), a także bezpośrednich skoków do ROM komputera, także loader może nie zadziałać w przypadków innej wersji ROM-u Atari.
Nie analizowałem jeszcze dokładnie kodu loadera, ale po strukturze pliku .hex widać że występują 3 długości impulsów, tzn. sync/pilot, 0, 1. Wychodzi także na to że po segmentach INIT następuje sygnał pilota/synchronizacji, nie przyglądałem się dokładnie więc nie wiem czy kolejny segment pliku powoduje również wygenerowanie sygnału pilota/sync.
Format wydaje się mieć podobną konstrukcje do tej którą zastosował *AJEK w Speedy 2700, ale wydaje się że Rapider powstał wcześniej?
Na koniec należą się podziękowania dla tEDDYbOAR-a za to że udostępnił dyskietkę z softem do Turbo2000/3000 na której znalazł się TurboRapider 7500. Ogromne podziękowania również należą się dla VOY-a który dzielnie te wszystkie programy zbiera, odzyskuje i kataloguje, dzięki jego pracy można podziwiać całkiem spore archiwum zawierające masę oprogramowania dla TurboRapider-a 7500, oraz Speeder 1400 (a to temat na zupełnie inny wątek, notabene był już poruszany na tym form ale będziemy do niego jeszcze wracać). Podziękowania należą się również KAZ-owi który swoimi pytaniami sprowokował mnie do szybszego zajęcia się tym tematem.
Gdzie szukać tej masy softu pokatalogowanej i udostępnionej przez VOY-a, no oczywiście na pigwie:
Turbo Rapider 7500 & Other Stuff
Nie ukrywam że bardzo liczę na to że baktraaa zainteresuje się tym tematem i będzie miał czas i chęci aby dodać nowy format do Turgen (no chyba że się okaże że to jest jakiś znany format czeskiego turbo ;] wtedy wymięknę). Dla Ciebie baktraaa również ogromne podziękowania za ogrom pracy który wkładasz w pracę nad tym całym softem dzięki któremu możemy cieszyć się ponownie zapomnianą już technologią.
Wielkie podziękowania dla Ciebie baktraaa zarówno za Turgen jak i za Turbo Decoder!
No i ogromne podziękowania dla FUJI-ego, dzięki któremu ta cała zabawa z rapiderem nie była by możliwa, to dzięki jego zmodyfikowanemu emulatorowi, w którym mnogość obsługiwanych systemów turbo jest ogromna! i możliwości zapisywania plików CAS/HEX/WAV bezpośrednio z tego emulatora była możliwa szybka analiza rapidera. Bez pomocy Twoich narzędzi to wszystko nie byłoby możliwe do zrealizowania w tak krótkim czasie.
ps1) jeżeli ktoś ma wiedzę i będzie mógł zaprzeczyć lub potwierdzić moim domysłom dotyczącym autorstwa Rapider 7500, bardzo proszę o informację. Napisałbym wtedy artykuł na Atariki dotyczący tego systemu.
ps2) jeżeli ktoś coś więcej wie o Krzysztofie Polaku też bym prosił o podzielenie się wiedzą, spostrzeżeniami, etc. Przyda się do opracowania nowych wpisów na Atariki.
ps3) w archiwum VOY-a na pigwie jest jeszcze Rapider 4500, ale nie wiem czy format zapisu różni się jakoś i czy prędkość jest inna, jutro to sprawdzę dokładnej, tzn. przyjrzę się strukturze nagrania i loaderowi.