Happy Warp

From Atariki

Revision as of 20:33, 11 wrz 2012; view current revision
←Older revision | Newer revision→
Jump to: navigation, search

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:

  1. na podstawie sygnału CLOCK OUT w gnieździe SIO, lub
  2. 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 - wyłączenie szybkiego zapisu
  • b6 - wyłączenie buforowania ścieżek
  • b7 - wyłączenie rozszerzonych funkcji Happy Warp, emulacja nierozszerzonej stacji.

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 przy zapisie będzie włączone buforowanie ścieżek, 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.

Ciekawostką jest przesyłanie przez stację jej bieżącej konfiguracji jako zawartości sektora o specjalnym numerze $9700. Bajt 2 zawiera przy tym bieżące wartości bitów konfiguracyjnych (aktywne do zmiany dyskietki), zaś bajt 3 - wartości tych bitów które będą zastosowane później.

Zobacz też

Personal tools