Turbo ROM
From Atariki
Wersja z dnia 23:53, 6 mar 2010 FUJI (Dyskusja | wkład) (→Struktura nagrania - - tym razem powinno być w miarę dobrze.) ← Previous diff |
Wersja z dnia 23:57, 6 mar 2010 FUJI (Dyskusja | wkład) (Drobne korekty.) Next diff → |
||
Linia 6: | Linia 6: | ||
==Technikalia, obsługa== | ==Technikalia, obsługa== | ||
- | ''Źródło: [[Tajemnice_Atari]] nr 5/91 (obszerne wyjątki) Uwaga: jest to recenzja systemu Turbo ROM Plus, ale obecność "Plus" w nazwie najprawdopodobniej odróżnia jednego dystrybutora, firmę Plus, od drugiego (firmy Mapasoft)'' | + | ''Źródło: [[Tajemnice_Atari]] nr 5/91 (obszerne wyjątki), jest to recenzja systemu Turbo ROM Plus, sprzedawanego przez firmę "Plus", ale różnice użytkowe w stosunku do rozwiązania firmy Mapasoft są niewielkie.'' |
(...)Zainstalowanie Turbo Romu polega na przeróbce magnetofonu oraz wymaga posiadania cartridge'a zawierającego oprogramowanie systemowe. Możliwa jest również praca bez cartridge'a, ale wtedy przed każdym programem umieszczony jest trzyrekordowy loader w systemie standard, a więc średnia szybkość transmisji jest dużo mniejsza. Z tego też powodu dużo wygodniejsza jest praca z dołączaną pamięcią ROM (...). | (...)Zainstalowanie Turbo Romu polega na przeróbce magnetofonu oraz wymaga posiadania cartridge'a zawierającego oprogramowanie systemowe. Możliwa jest również praca bez cartridge'a, ale wtedy przed każdym programem umieszczony jest trzyrekordowy loader w systemie standard, a więc średnia szybkość transmisji jest dużo mniejsza. Z tego też powodu dużo wygodniejsza jest praca z dołączaną pamięcią ROM (...). | ||
Linia 207: | Linia 207: | ||
*[[Systemy turbo]] | *[[Systemy turbo]] | ||
- | {{stub}} | ||
[[Kategoria:Atari 8-bit]] | [[Kategoria:Atari 8-bit]] | ||
[[Kategoria:Magnetofonowe systemy turbo]] | [[Kategoria:Magnetofonowe systemy turbo]] |
Wersja z dnia 23:57, 6 mar 2010
System "Turbo ROM" został opracowany wspólnie przez krakowskie firmy PLUS i MAPASOFT (źródło: opty.org).
Do wczytywania nagrań w tym formacie potrzebny był specjalny cartridge z oprogramowaniem ładującym, ewentualnie właściwe nagranie poprzedzał loader nagrany na taśmie w formacie standardowym.
Przeznaczeniem tego systemu była przede wszystkim dystrybucja gier i programów do szybkiego wczytywania z magnetofonu.
Spis treści |
Technikalia, obsługa
Źródło: Tajemnice_Atari nr 5/91 (obszerne wyjątki), jest to recenzja systemu Turbo ROM Plus, sprzedawanego przez firmę "Plus", ale różnice użytkowe w stosunku do rozwiązania firmy Mapasoft są niewielkie.
(...)Zainstalowanie Turbo Romu polega na przeróbce magnetofonu oraz wymaga posiadania cartridge'a zawierającego oprogramowanie systemowe. Możliwa jest również praca bez cartridge'a, ale wtedy przed każdym programem umieszczony jest trzyrekordowy loader w systemie standard, a więc średnia szybkość transmisji jest dużo mniejsza. Z tego też powodu dużo wygodniejsza jest praca z dołączaną pamięcią ROM (...).
Dzięki zapisaniu wszelkich niezbędnych do pracy programów na dołączanej, zewnętrznej pamięci ROM komputer równocześnie z włączeniem staje się gotowy do pracy w turbo. W cartridge'u umieszczone są cztery programy umożliwiające pracę w systemie Turbo Rom Plus. Są to:
- loader do gier i pozostałych programów;
- program umożliwiający współpracę z basicem;
- program kopiujący pliki zapisane w formacie cartridge'a;
- program do przenoszenia plików zapisanych w formacie standardowych na format Turbo Rom.
Wymieniony powyżej zestaw programów wystarcza w zupełności do wczytywania i kopiowania gier i programów w basicu, bo też do tego system został z założenia stworzony. Jest to więc system przeznaczony przede wszystkim dla osób, które większość czasu przed komputerem spędzają pokonując kolejne gry. Dla użytkowników korzystających często z programów użytkowych Turbo Rom Plus jest nieco mniej użyteczny. Wpływa na to głównie oprogramowanie pisane pod kątem zastosowań mniej profesjonalnych, bowiem możliwości sprzętowe systemu są bardzo duże i szkoda, że nie zostały w pełni wykorzystane.
Ta niedogodność uwidacznia się jednak tylko w czasie naprawdę poważnej pracy z komputerem, natomiast dla osób, którym Atari służy do zabawy system jest bardzo użyteczny, praktyczny i prosty w obsłudze. Umożliwia między innymi nadawanie nagrywanym programom nazw, pojawiających się w czasie ich późniejszego wczytywania. Jeżeli wybierzemy funkcję LOAD i nie podamy nazwy gry system zacznie "przeglądać" kasetę, a po napotkaniu każdego programu wyświetla jego nazwę, pytając jednocześnie czy ma ten program wczytać. Turbo Rom Plus charakteryzuje się bardzo dużą szybkością transmisji danych, oczywiście przy zachowaniu dużej pewności wczytywania. Na jednej kasecie C-60 można zapisać nawet do 100 gier (przy użyciu turbo z cartridge'm). (...)
Zalety:
- bardzo duża szybkość transmisji;
- możliwość nadawania programom nazw;
- praca możliwa zarówno w systemie turbo, jak i w transmisji nomalnej bez konieczności przełączania dodatkowego przełącznika;
- połączenie komputerem przy pomocy używanego standardowo kabla.
Wady:
- utrudniona praca z programami użytkowymi.
Struktura nagrania
Opis na podstawie analizy sygnału z taśmy i programu obsługi umieszczonego na cartridge-u
Nośnikiem informacji, jak w przypadku innych szybkich systemów turbo, jest szerokość impulsu (modulacja PWM). Przez impuls rozumiana jest sekwencja narastającego i opadającego zbocza sygnału (sekwencja poziomów wysokiego i niskiego, w tej kolejności).
Szerokości impulsów używanych w tym systemie zapisu wynoszą:
- 0.2 ms - 0.4 ms dla bitów "1"
- 0.08 ms - 0.2 ms dla bitów "0"
(wartości teoretyczne ustawiane przy zapisie do uzupełnienia)
Na sygnał pilotujący składa się długa seria impulsów "1". Szerokość tych impulsów jest trochę większa niż dla bitów 1, ale procedura odczytu spodziewa się tych samych wartości w obu przypadkach. Różnica wynika zapewne z różnic w procedurach zapisu i odczytu. Przy odczycie brany jest pod uwagę tylko czas trwania stanu "1" na linii data-in, co odpowiada niskiemu poziomowi sygnału na taśmie. Stan "0" jest po prostu omijany. Wynika to z tego, że odległości między zboczami sąsiadujących ze sobą impulsów "0" i "1" nie są ściśle zachowywane, co nie pozwoliło by na bezbłędny odczyt.
Program w systemie Turbo Rom składa się z maksymalnie dwóch bloków: bloku informacyjnego i bloku danych. Blok informacyjnych zawiera m.in. nazwę programu. Blok informacyjny wygląda różnie w zależności od rodzaju pliku. Bloku informacyjnego nie ma w przypadku programów poprzedzonych odpowiednim loaderem zapisanych w formacie standardowym, do ładowania takich programów nie jest potrzebny cartridge. W takiej sytuacji informacje zawarte normalnie w bloku informacujnym są zintegrowane z loaderem.
Ogólnie W bloku występują kolejno:
- sygnał pilotujący - dłuższy dla bloku informacyjnego (4884 impulsy "1", około 1.8 s) i krótszy dla bloku danych (516 impulsow "1", około 0.2 s)
- jeden impuls odpowiadający bitowi "0"
- bajty danych
- 4 impulsy odpowiadające bitowi "1" chroniące koniec bloku przed uszkodzeniem (ostatni impuls może być nieczytelny)
Koniec bloku danych jest wykrywany na podstawie zmierzonego czasu trwania impulsu - jeżeli czas ten jest dłuższy od maksymalnego czasu dla bitu "1" lub krótszy od minimalnego czasu dla bitu "0" to procedura odczytu się kończy i obliczana jest suma kontrolna (XOR) dla odczytanych danych.
Czas trwania impulsów jest mierzony w pętli wykonywanej przez mikroprocesor (pętla trwa 9 taktów zegara), podczas operacji odczytu i zapisu wyłączane są wszelkie przerwania i wyświetlanie obrazu.
Bity w bajcie zapisywane są w kolejności od najmłodszego do najstarszego (jak przy zapisie standardowym).
Budowa bloku informacyjnego dla programów typu COM/EXE
Offset | Długość | Zawartość |
---|---|---|
0 | 1 | Suma kontrolna (XOR) bloku informacyjnego |
1 | 2 | Adres ładowania bloku bez uwzględniania bajtu sumy kontrolnej, zawsze $0601 |
3 | 2 | Długość bloku bez uwzględniania bajtu sumy kontrolnej, zawsze $0028 |
5 | 1 | Suma kontrolna (XOR) bloku danych (następnego po obecnym) |
6 | 2 | Adres przepisywany do RUNAD ($02E0) - adres uruchomienia programu |
8 | 2 | Adres przepisywany do INITAD ($02E2) - adres inicjalizacji programu |
10 | 2 | Adres początku ładowania programu |
12 | 2 | Długość bloku danych (następnego po obecnym) |
14 | 1 | Zawsze 0 |
15 | 20 | Nazwa programu, zapisana w kodach ekranowych. Mogą być używane znaki o kodach od 0 do 63. Dwa najstarsze bity określają kolor wyświetlania znaku (w trybie 6 lub 7 Antica) |
35 | 1 | Typ programu. Dla programów com/exe zawsze równy 1. |
36 | 1 | Flaga określająca konieczność skoku do adresu w INITAD przed skokiem do RUNAD. Procedura w INITAD jest uruchamiana, gdy ten bajt jest równy 1. |
37 | 3 | ??? trzy zera |
40 | 1 | Kod rozkazu RTS ($60). W to miejsce wykonywany jest skok zaraz po pomyślnym odczytaniu bloku informacyjnego. |
Całkowita długość: 41 bajtów
Budowa bloku informacyjnego dla programów w BASICu
Offset | Długość | Zawartość |
---|---|---|
0 | 1 | Suma kontrolna (XOR) bloku informacyjnego |
1 | 2 | Adres ładowania bloku bez uwzględniania bajtu sumy kontrolnej, zawsze $0601 |
3 | 2 | Długość bloku bez uwzględniania bajtu sumy kontrolnej, zawsze $004D |
5 | 1 | Suma kontrolna (XOR) bloku danych (następnego po obecnym) |
6 | 6 | ??? (być może jak w przypadku com/exe, być może parametry specyficzne dla BASIC) |
12 | 2 | Długość bloku danych (następnego po obecnym) |
14 | 1 | Zawsze 0 |
15 | 20 | Nazwa programu, zapisana w kodach ekranowych. Mogą być używane znaki o kodach od 0 do 63. Dwa najstarsze bity określają kolor wyświetlania znaku (w trybie 6 lub 7 Antica) |
35 | 1 | Typ programu. Dla programów w BACIC-u zawsze równy 0. |
36 | 1 | Dla programów w BASIC-u równy 0. |
37 | 3 | ??? trzy zera |
40 | 19 | Procedura przygotowująca program do załadowania.
LDX #17 loop: LDA $660,X ;patrz dwa wiersze niżej STA 128,X DEX BPL loop LDA #158 STA $254 STA $268 ;COLDST RTS |
59 | 1 | Bajt równy 0. |
60 | 18 | Kopia pierwszych 18 bajtów następnego bloku danych. |
Całkowita długość: 78 bajtów