Happy Warp

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 11:20, 14 wrz 2012
Trub (Dyskusja | wkład)

← Previous diff
Wersja z dnia 16:24, 5 kwi 2017
KMK (Dyskusja | wkład)
(Protokół transmisji US Doubler / Happy Warp)
Next diff →
Linia 22: Linia 22:
# metodą "prób i błędów". # 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 SIO|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.+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 SIO|suma kontrolna]] przesłana razem z komendą zgadza się z jej obliczoną od nowa wartością), 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ę [[Lista_komend_SIO_według_funkcji#US_Doubler|'?']] (SEND [[HS Index|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. Stacje z rozszerzeniem US Doubler implementują dodatkową komendę [[Lista_komend_SIO_według_funkcji#US_Doubler|'?']] (SEND [[HS Index|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.

Wersja z dnia 16:24, 5 kwi 2017

Zaawansowane rozszerzenie do stacji 1050. Oprócz szybkiej transmisji - w trybie UltraSpeed - dodano kopiowanie dysków zabezpieczonych sektorami CRC oraz sektorami podwójnie numerowanymi.

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łana razem z komendą zgadza się z jej obliczoną od nowa wartością), 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

Opis wykonania rozszerzenia jest dostępny na stronie Jurka Soboli: http://dereatari.republika.pl/serw.htm.

Rozszerzenie może być wyposażone w opcjonalny układ 1050 Controller, który umożliwia sterowanie zabezpieczeniem zapisu oraz trybem szybkiej transmisji. Instalowane są przy tym 2 przełączniki oraz sygnalizacyjna dioda LED.

Konfiguracja

Stację z rozszerzeniem Happy Warp można skonfigurować wysyłając do niej komendę SIO 'H' ($48) 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 - brak danych o znaczeniu tego bitu
  • b3,b4 - służą do konfiguracji opcjonalnego układu 1050 Controller (programowe zezwolenie lub zablokowanie zapisu)
  • 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.

Szybki zapis

Standardowo stacje z Happy Warp uruchamiają się z wyłączonym tzw. szybkim zapisem. W celu jego włączenia należy przesłać do stacji komendę 'H' z DAUX1=$20 i DAUX2=$00 (tj. skasować bit konfiguracyjny b5). 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.

Niektóre wersje Happy Warp automatycznie włączają szybki zapis po komendzie '?'.

Obsługa dyskietek IBM PC

Od wersji 7.1 rozszerzenie potrafi obsługiwać 180k format PC DD 512. Dostęp do takiej dyskietki jest jednak utrudniony, odbywa się z pomocą dedykowanych komend SIO, a nie typowych poleceń odczytu i zapisu. W praktyce oznacza to konieczność używania firmowego programu IBMXFR.

Zobacz też

Bibliografia

Odnośniki zewnętrzne

Personal tools