Happy Warp

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 23:18, 26 sty 2010
KMK (Dyskusja | wkład)
(Protokół transmisji US Doubler / Happy Warp - na tomsie multi świat się nie kończy)
← Previous diff
Aktualna wersja
Jer (Dyskusja | wkład)
(Opis sprzętowy)
Linia 1: Linia 1:
-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.+Zaawansowane rozszerzenie do stacji [[1050]]. Oprócz szybkiej transmisji - w trybie UltraSpeed - dodano kopiowanie dysków zabezpieczonych sektorami CRC oraz sektorami podwójnie numerowanymi.
-Więcej informacji oraz opis wykonania rozszerzenia na stronie [[Jerzy Sobola|Jurka Soboli]]: [http://dereatari.republika.pl/serw.htm http://dereatari.republika.pl/serw.htm]+== 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]], [[Formaty_dyskietek#DD_512|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 Doubler / Happy Warp==
-Protokół transmisji [[US Doubler]]a (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. Praca w standardowym 19,2 kbps także jest możliwa. Stacja przełącza się automatycznie pomiędzy tymi dwoma trybami pracy, a prędkość transmisji rozpoznawana jest, w zależności od implementacji, korzystając z sygnału CLOCK OUT w [[Gniazdo SIO|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, jeśli odebranie komendy powiedzie się, stacja pracuje dalej z rozpoznaną prędkością. +Protokół transmisji [[US Doubler]]a (i zgodnego z nim Happy Warp), znany też jako UltraSpeed bądź po prostu "Ultra", jest identyczny jak w [[SIO#Połączenia szeregowe|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:
-Stacje z rozszerzeniem US Doubler implementują dodatkową komendę POLL ('?'). 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.+# na podstawie sygnału CLOCK OUT w [[Gniazdo SIO|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 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.
 + 
 +== Opis sprzętowy ==
 + 
 +Opis wykonania rozszerzenia jest dostępny na stronie [[Jerzy Sobola|Jurka Soboli]]: [http://jsobola.atari8.info/dereatari/schematy.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 [[buforowanie ścieżek|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 [[Lista_komend_SIO_według_funkcji#US_Doubler|'?']].
 + 
 +== Obsługa dyskietek IBM PC ==
 + 
 +Od wersji 7.1 rozszerzenie potrafi obsługiwać 180k format PC [[Formaty_dyskietek#DD_512|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ż== ==Zobacz też==
Linia 13: Linia 67:
* [[Systemy Turbo]] * [[Systemy Turbo]]
-[[Kategoria:Atari 8-bit]]+== Bibliografia ==
 +* [http://www.atarimax.com/members/happy/users.pdf Happy 810 & 1050 Enhancement Warp Speed Software Rev. 7 Users Manual]
 + 
 +==Odnośniki zewnętrzne==
 +* [http://en.wikipedia.org/wiki/Happy_Computers Happy Computers w Wikipedii]
 + 
 +[[Kategoria:Peryferia 8-bit]]
[[Kategoria:Rozszerzenia]] [[Kategoria:Rozszerzenia]]

Aktualna wersja

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: [1].

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