Happy Warp
From Atariki
Zaawansowane rozszerzenie do stacji 1050. Oprócz szybkiej transmisji - w trybie UltraSpeed - dodano kopiowanie dysków zabezpieczonych sektorami CRC oraz sektorami podwójnie numerowanymi. Stacja z tym rozszerzeniem potrafi również obsługiwać 180k format PC.
Spis treści |
Charakterystyka
- Inne nazwy: HAPPY DRIVE
- Producent: Happy Computers Inc., USA
- Procesor: 6502
- ROM: 8 KB
- RAM: 8 KB-6264
- PIO: 6532
- Kontroler: 2793
- Transmisja: 68200 bodów
- Gęstości: SD, ED, DD, ST/IBM
Uwaga: istnieją "w obiegu" stacje Top Drive 1050, które przedstawiają się jako "Happy Warp".
Protokół transmisji US Doubler / Happy Warp
Protokół transmisji US Doublera (i zgodnego z nim Happy Warp), znany też jako UltraSpeed bądź po prostu "Ultra", jest identyczny jak w standardzie, z tą różnicą, że układ POKEY programowany jest do pracy z prędkością 52 kbps. Z tą prędkością przesyłane jest wszystko, tj. komendy, potwierdzenia, bloki danych. Praca w standardowym 19,2 kbps także jest możliwa. Stacja przełącza się pomiędzy tymi dwoma trybami pracy automatycznie, a aktualna prędkość transmisji rozpoznawana jest przez nią na jeden z dwóch sposobów, w zależności od implementacji:
- na podstawie sygnału CLOCK OUT w gnieździe SIO, lub
- metodą "prób i błędów".
Ta druga polega na tym, że stacja stara się odebrać blok komendy ustawiając się kolejno na dostępne prędkości transmisji, a jeśli odebranie komendy powiedzie się (tj. suma kontrolna przesłanej komendy zgadza się z obliczonym), stacja pracuje dalej z rozpoznaną prędkością. Działa to dzięki temu, że komputer jest w stanie powtórzyć przesłanie tej samej komendy do 16 razy, zanim zgłosi błąd.
Stacje z rozszerzeniem US Doubler implementują dodatkową komendę '?' (SEND HIGH SPEED INDEX). Wysłanie - w standardzie - tej komendy do stacji dysków powoduje, że zwraca ona 1 bajt stanowiący wartość, jaką należy wstawić do licznika układu POKEY celem uzyskania szybkiej transmisji. W standardowych stacjach US Doubler wartością tą jest $0A, ale stacje innych producentów dzięki temu mechanizmowi mogą implementować wyższe prędkości i wciąż pozostają zgodne z US Doublerem.
Opis sprzętowy
Więcej informacji oraz opis wykonania rozszerzenia na stronie Jurka Soboli: http://dereatari.republika.pl/serw.htm
Konfiguracja
Stację z rozszerzeniem Happy Warp można skonfigurować wysyłając do niej polecenie "H" z odpowiednio ustawionymi DAUX1/2. Wartości bitów b1-b0 w DAUX1 mają następujące znaczenie:
- 00: zmiana parametrów pracy stacji wg bitów konfiguracyjnych podawanych w DAUX2 (zob. niżej); w DAUX1 należy przy tym ustawić odpowiedniki tych bitów z DAUX2, które mają być uwzględnione
- 01: ustawienie opóźnienia wyłączenia silnika obracającego dyskietkę wg wartości podanej w DAUX2 (zakres 0-6,5 sek., jednostka 0,1s)
- 10: programowa zmiana numeru stacji; w DAUX2 podaje się nowy numer z ustawionym bitem 7
- 11: restart stacji.
Funkcje bitów konfiguracyjnych:
- b0,b1 - nie używane, równe 0
- b2-b4 - brak informacji o znaczeniu tych bitów
- b5 - 1=wyłączenie szybkiego zapisu
- b6 - 1=wyłączenie buforowania ścieżek
- b7 - 1=wyłączenie rozszerzonych funkcji Happy Warp, emulacja nierozszerzonej stacji.
Aktualna konfiguracja stacji jest zwracana jako zawartość sektora o specjalnym numerze $9700. Bajt 2 zawiera przy tym bieżące wartości bitów konfiguracyjnych, tj. ważne do zmiany dyskietki, zaś bajt 3 - wartości, które będą użyte później.
Informacje użytkowe
Standardowo stacje z Happy Warp uruchamiają się z wyłączonym tzw. szybkim zapisem. W celu jego włączenia należy przesłać do stacji polecenie SIO "H" z DAUX1=$20 i DAUX2=$00. Wówczas buforowanie ścieżek będzie włączone także przy zapisie, a weryfikacja danych będzie się odbywać z wykorzystaniem bufora stacji. Włączenie szybkiego zapisu jest zwykle elementem zgodnych z Happy Warp procedur szybkiej transmisji (zawartych w DOS lub OS). Robi to np. sterownik INDUS.SYS w SpartaDOS X, i z tego powodu jego załadowanie jest konieczne, gdy używa się stacji Happy.