Czasem przeglądając internet czy gazety trafi się na jakieś ciekawostki dotyczące ST, o których może nie każdy wie.
Pomyślałem, że  fajnie byłoby się tym podzielić. W tym wypadku dotyczy to sprzętu ST und kompatybile :)
To "und" jest w tym miejscu celowe, gdyż większość opisana jest w języku naszych zachodnich sąsiadów.

Na początek zestaw ST do laboratorium.

Post's attachments

1.jpeg 228.93 kb, liczba pobrań: 147 (od 2013-10-03) 

Tylko zalogowani mogą pobierać załączniki.
Było miło :) Do widzenia.

2

A tu "przemysłowe" ST

Post's attachments

a.jpeg 83.41 kb, liczba pobrań: 107 (od 2013-10-03) 

b.jpeg 70.78 kb, liczba pobrań: 51 (od 2013-10-03) 

c.jpeg 39.33 kb, liczba pobrań: 45 (od 2013-10-03) 

d.jpeg 138.45 kb, liczba pobrań: 52 (od 2013-10-03) 

Tylko zalogowani mogą pobierać załączniki.
Było miło :) Do widzenia.

Były takie wersje robione przez 3rd parties, zasadniczo kupowali normalne kompy i przekładali je do obudów przemysłowych i/lub rack, dodając np interfejs do podłączenia większej ilości kart VME.

Atari: FireBee (Falcon030 CT60e SuperVidel SvEthlana CTPCI) TT (520ST Pak030 Frak PuPla Panther) (520ST 4MB ST RAM 8MB TT RAM CosmosEx SC1435) (1040STFM UltraSatan SM124) (1040STE 4MB ST RAM 8MB TT RAM CosmosEx NetUSBee SM144 SC1224) 260ST, 520 ST+, (MEGA ST SM125) (65XE Rapidus U1MB VBXE SIDE2 SIO2PC) (Jaguar JagCD SkunkBoard GameCart) (Lynx II AgaCart GameCart) 2xPortfolio Hades

4

artik-wroc to przypomina klon ST - IBP 190 ST i IBP 190/020 ST

http://phoenix.inf.upol.cz/~opichals/li … ;index=148

Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org

5

Cyprian właśnie też o tym pomyślałem, gdyż już wcześniej mi się obił o oczy :)

Było miło :) Do widzenia.

6

Jako ciekawostkę dodam Atari ST2 które jakiś czas temu kupiłem. Nie jest to klon i nie ma żadnych dodatków, ale komputer startuje z systemem OS9/68000 i automatycznie uruchamia aplikację do analizy związanej z medycyną. ZTCP jak szukałem co to za dziwadło, to w komplecie była jeszcze wielgachna maszyna laboratoryjna (ale nie chcę dokupować do "kompletu" ;-) ).
W miejsce naklejek "Atari" wklejono logo firmy.

marekp: zapodaj zdjęcia obudowy i wnętrzności.

Atari: FireBee (Falcon030 CT60e SuperVidel SvEthlana CTPCI) TT (520ST Pak030 Frak PuPla Panther) (520ST 4MB ST RAM 8MB TT RAM CosmosEx SC1435) (1040STFM UltraSatan SM124) (1040STE 4MB ST RAM 8MB TT RAM CosmosEx NetUSBee SM144 SC1224) 260ST, 520 ST+, (MEGA ST SM125) (65XE Rapidus U1MB VBXE SIDE2 SIO2PC) (Jaguar JagCD SkunkBoard GameCart) (Lynx II AgaCart GameCart) 2xPortfolio Hades

8

Adam: Sprzęt zalega u rodziców (u mnie nie ma miejsca). Jak tylko będzie okazja to porobię fotki i wrzucę do tego wątku.

9

Cyprian napisał/a:

artik-wroc to przypomina klon ST - IBP 190 ST i IBP 190/020 ST

Ha, nawet powiem, że nie przypomina, a jest. Na jednym ze zdjęć u dołu jest napis 190ST ;P
Poszukajcie w którymś starym Bajtku - był opis ST dostosowanego do szafy rakowej.
Był jeszcze niemiecki klon Megi ST - pamiętam u Jędrzeja ze Stęszewa, ale nazwy nie pomnę :/

Sikor umarł...

10

Poszukałem w archiwum fotek (głównie z Ebay'a) i znalazłem to o czym pisze Sikor, czyli SYNTari.

Post's attachments

syntari.JPG 8.93 kb, nikt jeszcze nie pobierał tego pliku. 

syntari2.JPG 14.2 kb, nikt jeszcze nie pobierał tego pliku. 

Tylko zalogowani mogą pobierać załączniki.
Było miło :) Do widzenia.

11

Jeszcze kilka fotek 190ST

Post's attachments

vme1.jpg 94.48 kb, nikt jeszcze nie pobierał tego pliku. 

vme2.jpg 95.25 kb, nikt jeszcze nie pobierał tego pliku. 

vme3.jpg 95.84 kb, nikt jeszcze nie pobierał tego pliku. 

Tylko zalogowani mogą pobierać załączniki.
Było miło :) Do widzenia.

12

A to "wersja mobilna" 190ST, choć raczej nie kieszonkowa :)

Post's attachments

msp1.JPG 45.67 kb, nikt jeszcze nie pobierał tego pliku. 

msp2.JPG 47.14 kb, nikt jeszcze nie pobierał tego pliku. 

msp3.JPG 37.93 kb, nikt jeszcze nie pobierał tego pliku. 

msp4.JPG 48.28 kb, nikt jeszcze nie pobierał tego pliku. 

msp5.JPG 29.67 kb, nikt jeszcze nie pobierał tego pliku. 

Tylko zalogowani mogą pobierać załączniki.
Było miło :) Do widzenia.

13

marekp napisał/a:

Jako ciekawostkę dodam Atari ST2 które jakiś czas temu kupiłem. Nie jest to klon i nie ma żadnych dodatków, ale komputer startuje z systemem OS9/68000 i automatycznie uruchamia aplikację do analizy związanej z medycyną. ZTCP jak szukałem co to za dziwadło, to w komplecie była jeszcze wielgachna maszyna laboratoryjna (ale nie chcę dokupować do "kompletu" ;-) ).
W miejsce naklejek "Atari" wklejono logo firmy.

Tak się składa, że w ostatnim czasie kupiłem taką MegaST:
http://artur.ataritt030.info/hardrest.html#bnt
do obsługi Nefelometru.
Okazało się również, że uicr0Bee kupił dysk od tego, nastąpiło "machniom ? machniom !" i mam oba. Po włączeniu startuje z dysku OS9.
Zaczyna się uruchamiać program do obsługi tegoż nefelometru i zgłasza błąd, bo go nie znajduje. Ściągnąłem listę komend do OS9, ale na razie nie wiem jak wejść do katalogu :)
Spod TOSu widać tylko partycję GEM (C:) jest jeszcze druga OS9, rzecz jasna pod TOSem niedostępna.

Było miło :) Do widzenia.

14

@artik-wroc: O właśnie :-) Takie coś mam (oczywiście bez nefelometru).
W sumie zdjęcia zrobiłem, ale ograniczyłem się do pokazania ich Adamowi na SV2k13.

15

Odświeżę wątek. U naszych zachodnich sąsiadów powstało wiele ciekawych dodatków do ST. Jest sporo różnorakich projektów opisanych w c't magazin czy piśmie Elrad. To projekt z tego drugiego. Karta z procesorem DSP produkcji TI. W jednym numerze jest opis karty, w kolejnym karty pozwalającej na podłączenie do ST przed DMA i kolejna karta, cały zestaw można sobie zmontować :)


sesam1
sesam2
sesam3

Było miło :) Do widzenia.

16

Wow, madness!

What can be asserted without proof can be dismissed without proof.

17 Ostatnio edytowany przez artik-wroc (2018-08-17 07:46:31)

Więcej kart VME w MegaSTE/TT:

vme
bus

Było miło :) Do widzenia.

18 Ostatnio edytowany przez artik-wroc (2020-05-04 07:58:53)

artik-wroc napisał/a:
marekp napisał/a:

Jako ciekawostkę dodam Atari ST2 które jakiś czas temu kupiłem. Nie jest to klon i nie ma żadnych dodatków, ale komputer startuje z systemem OS9/68000 i automatycznie uruchamia aplikację do analizy związanej z medycyną. ZTCP jak szukałem co to za dziwadło, to w komplecie była jeszcze wielgachna maszyna laboratoryjna (ale nie chcę dokupować do "kompletu" ;-) ).
W miejsce naklejek "Atari" wklejono logo firmy.

Tak się składa, że w ostatnim czasie kupiłem taką MegaST:
http://atari.wroclaw.pl/hardrest.html#bnt
do obsługi Nefelometru.
Okazało się również, że uicr0Bee kupił dysk od tego, nastąpiło "machniom ? machniom !" i mam oba. Po włączeniu startuje z dysku OS9.
Zaczyna się uruchamiać program do obsługi tegoż nefelometru i zgłasza błąd, bo go nie znajduje. Ściągnąłem listę komend do OS9, ale na razie nie wiem jak wejść do katalogu :)
Spod TOSu widać tylko partycję GEM (C:) jest jeszcze druga OS9, rzecz jasna pod TOSem niedostępna.

Jako ciekawostkę mogę dodać iż jakiś czas temu znalazłem komplet informacji odnośnie tego rozwiązania:

bnt

oprócz wersji MegaST którą miałem, istniała też wersja VME z MegaSTE:

bnt

Znalazłem też instrukcję serwisową ze schematami kart i oczywiście Atari, jest też opis instalacji OS-9:
http://atari.wroclaw.pl/pliki/bn100man.pdf

były też obrazy dysków OS-9:

Instructions for the OS9 68K Atari Image

OS9Boot.dsk        - Boot disk for OS9
OS9Image.img     - Image file for of the hard drive, original from an 8G UltraSatan SD card

To create the OS9 Boot disk you will probably will have to use fdutils on a Linux. See http://toolshed.sourceforge.net/ToolShed.html Disk Extraction Under Linux for more information on this topic and instructions on how to create the floppy image.

To create the OS9 hard drive copy the image file use Win32 Disk Image or dd on linux. This image come from an 8G SD originally.

When you have both of this completed. You should be able to load the hard drive into an Ultrasatan and place the boot disk into the Atari floppy drive. Start the Atari and use the High Res mode, it's the only one that I have gotten MGR to work under.

You will boot into TOS and it should start the Bootstrap Loader for OS9. Select BootOSK and from the menu that is displayed select the Boot from Floppy Disk. OS9 should boot and you will be presented with the shell prompt. Type in l<enter> to have run the alias I have created to run the .login on the /h0 drive. The s50 alias will put the screen into 50 line mode. To start the MGR windowing system use the /h0/startm command, to start it.

Było miło :) Do widzenia.

19

To już kiedyś było:
"System procesora sygnałowego wykorzystujący procesor Texas Instruments TMS 32010 został zaprezentowany wiosną na targach elrad. Ten komponent należy do pierwszej generacji procesorów sygnałowych. W 1985 roku TI wprowadziło na rynek następcę modelu, którego architektura jest już znacznie bardziej złożona, ale też wydajniejsza. Ten TMS 32020 służy do obsługi systemu opisanego w tej broszurze."
sesam



"Wiele dróg prowadzi do komputera; ale mało w środku. Dotyczy to tym bardziej bezslotowego Atari, które jest zazwyczaj zamknięte na zewnętrzne dane."
sesam

Było miło :) Do widzenia.

20

Transputer na Atari ST brzmi ciekawie.
Fajnie by było coś takiego przetestować.

Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org

21

https://www.jugend-forscht.de/projektda … puter.html

Było miło :) Do widzenia.

22

https://www.templetons.com/brad/alice.html

Było miło :) Do widzenia.

23 Ostatnio edytowany przez Cyprian (2023-07-19 12:26:12)

W epoce nie byłem przekonany do Pascala ale teraz widzę że program wygląda zachęcająco

Tutaj opis: https://www.atarimagazines.com/v6n2/Alice.html

https://www.atarimagazines.com/v6n2/Alice.gif

Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org

24

Mamy kogoś w Sunnyvale? :)

"[...]I do have about 8 boxes of the manuals left. I will donate them to anybody who can arrange to come pick them up in Sunnyvale, California. I will not ship single manuals, sorry.[...]"

Ciekawe czy aktualne.

<-- Kontakt przez "E-mail" gdyż albowiem moja skrzynka "PW" jest pełna i zaprawdę nie mam czego usunąć.

--== Kup Pan/i dyskietkę http://www.atari.org.pl/forum/viewtopic.php?id=18887 ==--

25

Znalazłem w jednym z magazynów Universal Interface podłączany przez DMA. Są schematy, niestety nie ma wsadów do GALi.
Do poczytania jednak może być :)

http://artik-wroc.pl/pliki/1r.png

http://artik-wroc.pl/pliki/2r.png

tłumaczenie trochę kanciaste :)

Atari ST wyposażony jest standardowo w wiele interfejsów wystarczających dla drukarek, modemów czy systemów MIDI. Dodatkowo posiada port ROM i magistralę DMA. Przedstawiamy MAUDE, uniwersalny wzmacniacz DMA mc-Atari i pokazujemy, jak podłączyć dysk twardy komputera.
Obecnie dostępnych jest wiele rozwiązań zewnętrznych producentów umożliwiających podłączenie urządzeń peryferyjnych innych niż oryginalne (np. poprzez prosty port I/O). Jednak większość z nich całkowicie zajmuje jeden z istniejących interfejsów i często nie pozwala już na użycie odpowiedniego portu. Alternatywa systemu magistralnego wymaga (z wyjątkiem modeli MegaST) ingerencji w komputer, co nie jest dla każdego.
Ponadto nie jesteś odporny na zmiany w komputerze dokonane przez Atari. Na przykład, jeśli odkręcisz Atari 1040 ST zakupiony w 1988 roku, znajdziesz płytę główną, która została całkowicie zmieniona w porównaniu do poprzednich modeli, i prawie nie ma już miejsca nad procesorem, aby „podłączyć się” do magistrali systemowej. Jest miejsce na blitter; ale to małe pocieszenie.

Podstawowe pomysły

Magistrala DMA stanowi jedyną (choć nie najłatwiejszą) alternatywę podłączenia urządzeń peryferyjnych do Atari ST bez wspomnianych wyżej wad. Aby to zrobić, odpowiedni interfejs musi być zgodny z protokołem ACSI (Atari Computer System Interface) w takim stopniu, aby możliwe było adresowanie kilku różnych urządzeń na magistrali DMA. Kto chce blokować połączenie z drukarką laserową?

Interfejs przedstawiony tutaj zapewnia interfejs pomiędzy Atari ST DMABus i łatwiejszą w obsłudze magistralą I/O.

Interfejs został właściwie opracowany w celu opracowania kompletnego interfejsu magistrali SCSI ze sterownikiem NCR 5380 (SCSI = Small Computer System Interface).
Marzyłem o dyskach optycznych, CD-ROM-ach, gigantycznych dyskach twardych itp. W rezultacie powstała część 1 (dekoder magistrali, rejestr adresowy, sterowanie magistralą we/wy) interfejsu, zaimplementowana z dwoma GAL i transceiverem magistrali (GAL1, GAL2 ALS245).

Ponieważ chcesz załadować cały system Atari ST z dysku twardego, a zbudowanie systemu kompatybilnego z ACSI z kontrolerem NCR bez ograniczeń jest zbyt skomplikowane, bootowanie ROM (część 2 projektu) zostało opracowane w tym samym czasie, co część 1 (GAL3, GAL4, GAL5, EPROM).

Dysk twardy OMTI na Atari ST
Po przetestowaniu części 1 i 2 (bez kontrolera NCR) chęć podłączenia dysku twardego stała się coraz silniejsza, więc po prostu dostosowałem sygnały do IBM PC/XTBus (część 3, GAL 6) i podłączyłem dysk twardy OMTI sterownik napędu.

Niestety podczas testów okazało się, że bootowanie ROMu zadziałało tylko wtedy, gdy procesor w Atari ST miał dostęp tylko do obszaru RAM.
Powodem tego była zbyt wysoka szybkość transferu rozruchu ROM (2 MB/s).
Niestety, kontroler DMA Atari ST przestaje działać, gdy procesor uzyskuje dostęp do obszaru ROM i opuszcza określoną siatkę taktowania RAM.

Ten problem został rozwiązany za pomocą monoflopu, który zmniejsza szybkość przesyłania danych podczas rozruchu ROM. Do kompletnego interfejsu brakowało jedynie wyjścia DMA do podłączenia dodatkowych urządzeń do magistrali DMA (część 4, także GAL6 i ALS245).

Swoją drogą, mimo marzeń wszystkich, do dziś nie zbudowano interfejsu magistrali SCSI.
Jednak wiele pracy włożono w ten interfejs i połączenie IEEE-488. Gdy tylko te projekty otrząsną się z początkowych problemów, zaprezentujemy je w mc.

Jak już stało się jasne, interfejs (rysunek 1) jest praktycznie w całości zbudowany z GAL (GAL = Generic Array Logic).
Aby lepiej zrozumieć obwód, należy poznać kilka podstawowych właściwości GAL. Opis tych bardzo uniwersalnych i elastycznych elementów konstrukcyjnych można znaleźć w artykule Thomasa Schlengera-Klinka w mc, wydanie 1/88 ze strony 66, więc mogę to tutaj streścić.
GAL 20V8 lub 16V8 ma osiem programowalnych komórek wyjściowych i odpowiednio do 20 lub 16 wejść. Każde z wyjść może służyć jako wejście, rejestr lub normalne wyjście. Do jednego wyjścia przypisanych jest na stałe osiem linii produktowych programowalnej matrycy logicznej.

Wyrażenie logiczne może zatem zawierać maksymalnie osiem terminów (tj. osiem operacji OR operacji AND).
W przypadku korzystania z wyjść TriState (z wyjątkiem rejestrów) jedna z linii produktów służy do sterowania sygnałem włączającym.
Wszystkie rejestry w bloku mają wspólny zegar i wspólny sygnał włączający wyjście.
Te dwa sygnały można sterować tylko z zewnątrz za pomocą pinu (1, 13 lub 11).
Nie ma również możliwości asynchronicznego resetowania rejestru (bez resetowania).

Uniwersalny interfejs, część 1

Serce obwodu (część 1) składa się z dwóch GALi, 20V8 (GAL1) i 16V8 (GAL2).

GAL1 służy do generowania sygnałów sterujących, dekodowania adresu urządzenia DMA oraz jako kontroler przerwań. GAL2 zawiera 5-bitowy rejestr podadresów i rejestr kontrolny. Zegar rejestru (CLK1) wymagany dla obu GAL jest generowany w GALI z sygnałów /SEL i /RESET Atari ST. Opis nazw sygnałów zamieszczono w Tabeli I (magistrala Atari STDMA) i Tabeli 2 (Sygnały sterujące interfejsem).

Aby odróżnić reset od normalnego dostępu (można stosować tylko górne zbocze), potrzeba czegoś w rodzaju „pamięci krótkotrwałej”.
Jest to realizowane za pomocą kondensatora, rezystora i diody Schottky'ego, aby opóźnić górne zbocze sygnału /RESET.
Dioda Schottky'ego uniezależnia stałą czasową od obciążenia sygnału /RESET z innych urządzeń na magistrali DMA Atari ST.

Dodatnie zbocze sygnału generowanego w ten sposób (/DRESET) jest w rzeczywistości zbyt wolne, aby można je było wykorzystać jako sygnał wejściowy dla GAL, ponieważ zgodnie z arkuszem danych GAL wymagają czasu narastania mniejszego niż 5 ns (z mojego doświadczenia wynika, że to poważna sprawa).
W tym przypadku nie stanowi to problemu, ponieważ /DRESET jest używane tylko razem z rejestrami taktowanymi za pomocą CLKI. Liczy się tylko posiadanie określonego niskiego lub wysokiego poziomu w momencie impulsu zegarowego.

Protokół ACSI

W przypadku protokołu ACSI urządzenie jest wybierane poprzez wydanie bajtu polecenia z linią adresową A1 na niskim poziomie. Parametry są zawsze zapisywane lub odczytywane, gdy A1 ma wysoki poziom. Bajt polecenia zawiera adres urządzenia w trzech górnych bitach i polecenie w pięciu dolnych bitach (zazwyczaj
polecenie magistrali SCSI klasy 0).
Zgodnie z protokołem ACSI przesyłanych jest następnie pięć bajtów parametrów (Al = high), następnie następuje transmisja danych przez DMA i na koniec odczytywany jest bajt stanu (również przy A1 = high).
Przesyłanie bajtu parametru i bajtu stanu żądane jest za pomocą przerwania.

Prezentowany tutaj interfejs odpowiada protokołowi ACSI jedynie w zakresie bajtu poleceń, ale to powinno w zupełności wystarczyć do kompatybilności z innymi urządzeniami.
Nawet jeśli oprogramowanie zapyta inne urządzenie o wszystkie osiem adresów urządzeń za pomocą polecenia ACSI, nie spowoduje to żadnych uszkodzeń, ponieważ przerwanie żądające bajtów parametrów nie występuje w przypadku tego interfejsu.
Jeśli bajt polecenia jest wysyłany na magistralę DMA, trzy górne bity (adres urządzenia) są porównywane przez GALI z adresem, który można ustawić za pomocą przełączników DIP, a pięć dolnych bitów (właściwie polecenie) jest przechowywanych jako podadres w GAL2 .
Jeśli adres urządzenia odpowiada ustawionemu adresowi, rejestr zezwolenia jest ustawiany w GAL1, w przeciwnym razie jest usuwany.

Z ośmiu adresów urządzeń tylko siedem może zostać użytych ze względu na ograniczenia GAL. Można jednak uczynić cnotę konieczności i użyć ósmego adresu, aby całkowicie uniemożliwić dostęp do interfejsu.
W tym celu czwarty przełącznik DIP (rysunek 2) jest połączony szeregowo z trzema pozostałymi przełącznikami. Jeśli jest otwarty, ustawiony jest niedekodowany adres 0 i interfejs nie może zostać zaadresowany. W tym samym celu do wtyczki 3 można także podłączyć zewnętrzny przełącznik.
5-bitowy podadres, buforowane linie danych i sygnały sterujące (patrz tabela 2) zapewniają małą magistralę peryferyjną z przestrzenią adresową wynoszącą 32 bajty.
Jednakże adresy 8 i 9 na interfejsie są już zajęte. Adres 8 jest używany podczas rozruchu ROM, a adres 9 służy do zapisu 2-bitowego rejestru sterującego w GAL2.

Bit 0 tego rejestru jest dostępny jako DMAENAB (Tabela 3) na złączu urządzeń peryferyjnych. Nie znalazł jeszcze dalszego zastosowania.
Bit 1 umożliwia wyprowadzenie przerwania na magistralę DMA. Podczas RESETU oba bity są ustawiane na logiczne „1”, co oznacza, że dozwolone są przerwania. Pozwala to zapobiec przerwaniom na interfejsie niezależnie od podłączonych urządzeń peryferyjnych.

Przerwanie sterowania

Wejście przerwania na magistrali Atari DMA jest również wykorzystywane przez kontroler dyskietek, a przerwanie zewnętrzne mogłoby zakłócić dostęp do dyskietki. To, czy interfejs utworzył przerwanie (tzn. stan /INTIN), można sprawdzić poprzez dostęp do odczytu z A1 = 0. Jeśli /INTIN jest aktywne, otrzymasz 1 na bicie 7.
Linie na złączu urządzeń peryferyjnych ważne przy podłączaniu prostych urządzeń peryferyjnych (np. 8255) to SA0-SA4, D0-D7, R/W, /CLK2. CLK2 to sygnał trwający około 250 ns, który pojawia się przy każdym dostępie do interfejsu, jeśli A1 = 1 i interfejs został wcześniej wybrany.

Sygnały /IOW i /IOR są również przydatne, ponieważ łączą CLK2 z sygnałem R/W i mogą być podłączone bezpośrednio do pinów /WR lub /RD na przykład 8255. Oznacza to, że można podłączyć wiele wysoce zintegrowanych komponentów peryferyjnych, pod warunkiem, że mają one czas dostępu krótszy niż 200 ns.
Według arkusza danych są to na przykład 8255A-5, kontroler dyskietek WD1793 i kontroler magistrali IEC uPD 7210, żeby wymienić tylko najciekawsze.

Sposób konkretnego zaadresowania interfejsu można znaleźć w przykładowym programie na rysunku 3.
Ważne jest, aby nigdy nie zapomnieć uniemożliwić procedurze obsługi VBL dostęp do kontrolera dyskietek (flock, ustaw $43E na wartość inną niż 0).
W przeciwnym razie Twój program będzie czasami działał niepoprawnie i trudno będzie znaleźć przyczynę tego.

Rozruch ROM, część 2

Jeśli chcesz podłączyć system dysku twardego do komputera za pośrednictwem magistrali SCSI lub magistrali PC, chcesz także mieć możliwość uruchamiania systemu z dysku twardego.
Aby to zrobić, musisz zintegrować sterownik dysku twardego z systemem i móc pracować bez dysku rozruchowego. Koncepcyjnie nie można użyć przedstawionego tutaj interfejsu do zbudowania systemu dysku twardego kompatybilnego z dyskiem twardym Atari ST SH20S, chyba że włożysz trochę więcej wysiłku w użycie zewnętrznego mikroprocesora.
Kontroler dysku twardego magistrali PC ma prawie identyczny zestaw instrukcji jak dysk twardy AtariST, ale adresowanie tego dysku twardego odbywa się za pomocą sektorów, głowic i cylindrów, a nie bezwzględnego numeru bloku. Kiedy komputer się uruchamia, BIOS Atari ST próbuje odczytać sektor rozruchowy o długości 512 bajtów z każdego z ośmiu możliwych urządzeń DMA. W tym celu boot ROM tego interfejsu odpowiada na polecenie odczytu ACSI (odpowiada podadresowi 8) i przesyła 512 bajtów do komputera poprzez DMA.
Implementacja odbyła się z trzema GAL 16V8 (GAL3, GAL4, GAL5), Monofiopem 7415123 i oczywiście EPROMem (2764 - 27512).
Układy GAL zawierają 9-bitowy licznik bajtów (sektor lub blok ma 512 bajtów) i 7-bitowy rejestr adresowy bloku, co razem daje 16-bitowy adres EPROM.
Zawierają także logikę dla przerwań i żądań DMA, a także „maszynę stanu” z czterema stanami jako kontrolerem.

Jeśli komputer wyda polecenie odczytu ACSI (wyświetlane przez GAL1 przy DECODE i przez GAL2 przy DEV8), 9-bitowy licznik jest ustawiany na 0 i żądany jest bajt parametru poprzez przerwanie.
Dla każdego przesłanego bajtu parametru licznik jest zwiększany o 1, gdy licznik osiągnie 2 (trzeci bajt), bajt parametru jest ładowany do rejestru adresowego bloku, a gdy licznik osiągnie 4, przechodzi w stan przesyłania DMA, przy czym licznik ponownie ustawia się na 0.
Po przesłaniu 512 bajtów przez DMA licznik jest ponownie kasowany, rejestr adresowy bloku jest ustawiany na 1 i ponownie tworzone jest przerwanie. Następnie komputer odczytuje bajt stanu z adresu EPROM $200. Następnie rozruch ROM powraca do stanu początkowego.
Bajt stanu powinien mieć wartość 0, w przeciwnym razie blok odczytu zostanie odrzucony przez BIOS.

Rysunek 4 przedstawia program dla ROMBoot, który z kolei może czytać i uruchamiać inne programy z ROM. W aktualnej wersji procedury taki program musi być napisany specjalnie w tym celu.
Ponadto musi umożliwiać pełną relokację, ponieważ nie można z góry określić adresu załadunku.
Adres wywoławczy wynika z adresu początkowego powiększonego o cztery, tak aby przed nim można było dodać polecenie BRA.
Oznacza to, że do wywoływania z dyskietki i do wywoływania z bootowania z ROM-u wymagana jest tylko jedna wersja programu. Sam program startowy działa w 1024-bajtowym buforze dyskowym BIOS-u (jest tam ładowany przez BIOS), dlatego należy zachować ostrożność podczas wywoływania niektórych funkcji BIOS-u/XBIOS-u.

Jednakże w starszej wersji TOS (6.2.86) procedura odczytu dla DMABus zawiera mały błąd.
Pierwszy bajt parametru jest nadal wyprowadzany z A1 = 0, co oznacza
a) inne urządzenie może sprawiać wrażenie zaadresowanego i
b) w związku z tym interfejs się wylogowuje i ponownie dezaktywuje bootowanie ROM.
Aby to naprawić, musisz zmienić bajt $293 w ROM U7 z $88 $ na $8A (użyj EPROM 200ns). Błąd został poprawiony w TOS z dnia 27 kwietnia 1987 (Blitter-TOS).

Interfejs magistrali PC, część 3

Sygnały wymagane do podłączenia kart PC dostarczane są przez GAL6. Są to /IOR, /lOW, IBMRESET, wejście przerwania (aktywny wysoki) i wejście żądania DMA (aktywny wysoki). W przeciwnym razie wystarczy rozdzielić pięć dostępnych linii adresowych pomiędzy dziesięć linii A0...A10 magistrali PC.
Przynależna płyta magistrali PC z dwoma gniazdami łączy SA0...SA3 z A0...A3 i SA4 z A5, AB, A9.
Linie adresowe A4, A6, A7 są podłączone do masy. Oznacza to, że adresy we/wy $00...$0F i $320...$32F mogą być adresowane na magistrali PC.
Sygnały magistrali komputera PC IRO5, DRQ3 i DACK3 są również podłączone. To przypisanie jest oczywiście specjalnie dostosowane do wymagań kontrolerów dysków twardych, takich jak OMTI 5520A/B.
Kolejny ważny sygnał - AEN - jest solidnie podłączony do masy. Wysoki poziom na tej linii ma na celu zapobieganie dekodowaniu wejścia/wyjścia na interfejsie komputera PC podczas DMA. W przypadku większości kart niski poziom AEN nie powinien powodować żadnych problemów z transferem DMA, jeśli wybierzesz adres odpowiedniego portu danych (np. kontroler dysku twardego OMTI) lub nieużywany adres. Szczególnie nadaje się do tego adres rejestru sterującego interfejsu (9), który jest chroniony przed dostępem DMA.

Z napięć na magistrali PC (+5 V, -5 V, +12 V, -12 V) oprócz 5 V podłączone jest tylko +12 V (zawsze zgodnie z wymaganiami sterownika OMTI). Wszystkie karty PC, dla których można ustawić adres we/wy i które nie wymagają dodatkowych sygnałów, można podłączyć bezpośrednio.
Dotyczy to na przykład przetwornika A/D prezentowanego w mc, wydanie 3/88. Warunkiem jest jednak to, aby odpowiednia karta była wystarczająco szybka, ponieważ nie ma możliwości spowolnienia dostępu do magistrali DMA Atari ST. W przeciwieństwie do tego, nawet najszybszy terminal AT jest spowolniony, jeśli chodzi o dostęp do wejść/wyjść. Jeśli masz wątpliwości, po prostu wypróbuj lub zapoznaj się z arkuszem danych.

Buforowane wyjście DMA, część 4

Jeśli chcesz podłączyć więcej niż jedno urządzenie peryferyjne do magistrali DMA Atari ST, każde urządzenie musi także posiadać gniazdo wyjściowe, aby można było podłączyć dodatkowe lub istniejące urządzenia. W samym Atari ST nie ma sterowniów magistrali, co oznacza, że magistrala może zostać szybko przeciążona.
Wbrew powszechnemu przekonaniu, problemem nie jest kontroler DMA, ale kontroler dyskietek WD1772, który dzieli linie danych z magistralą DMA. Interfejs magistrali WD1772 może sterować tylko 1,6mA (co odpowiada około czterem obciążeniom LS).
Kontroler DMA Atari ST (tabela 4) potrafi prawdopodobnie znacznie więcej.
W przypadku dysku twardego Atari SH205 buforowana jest tylko magistrala danych.
Jeśli oprócz danych buforujesz inne sygnały, będzie to tylko niepotrzebnie kosztować więcej czasu dostępu, a przy ósmym urządzeniu w łańcuchu ważna jest każda nanosekunda.
Idąc za przykładem dysku twardego SH205, w przedstawionym interfejsie buforowana jest tylko magistrala danych. Sygnały sterujące dla ALS245 (SH205 ma tylko LS245) pochodzą z GAL6. Podczas dostępu do zapisu bufor jest zawsze włączony, podczas dostępu do odczytu jest włączony tylko na czas trwania sygnałów /ACK lub /SEL, oczywiście tylko wtedy, gdy sam interfejs nie jest wybrany.

Kabel magistrali DMA

Oddzielny rozdział należy poświęcić kablowi magistrali DMA. Część problemu leży w niebuforowanym wyjściu Atari ST. Znacznie bardziej problematyczne jest jednak wykorzystanie sygnałów TTL do szybkiej transmisji danych. Krótko mówiąc, prosty kabel taśmowy nie nadaje się do podłączenia interfejsu. W przypadku stosowania złączy zaciskanych ważne i wrażliwe sygnały sterujące zatrzymują się pośrodku pomiędzy liniami danych, co prowadzi do problematycznych przesłuchów. Najlepszy i najdroższy jest kabel ekranowany, w którym każda żyła jest skręcona z własnym przewodem uziemiającym.
Można również zastosować kabel taśmowy, jeśli po zaciśnięciu wtyczek oddzielisz od siebie wszystkie kable i połączysz wszystkie kable do transmisji danych w jedną żyłę, ewentualnie z jednym lub dwoma kablami uziemiającymi. Pozostałe żyłki można bez problemu połączyć w drugą nić. Oddzielne kable taśmowe dla linii danych i reszty również działają, ale nie można już używać złączy zaciskanych.

Dysk twardy

Do tej pory interfejs służył wyłącznie do łączenia dysków twardych z kontrolerami dysków PC typu OMTI 5520A/B. Powiązane oprogramowanie obsługuje podłączenie maksymalnie czterech kontrolerów OMTI, każdy z dwoma napędami, co daje w sumie osiem napędów w jednym urządzeniu DMA. Drugi interfejs nie jest obecnie obsługiwany przez oprogramowanie dysku twardego. Nawet jeśli do interfejsu podłączysz cztery kontrolery dysków twardych, nadal możliwe jest podłączenie innych urządzeń peryferyjnych, ponieważ kontroler OMTI zajmuje tylko cztery podadresy. Można także podłączyć inne kontrolery dysków twardych komputerów PC, pod warunkiem, że mogą one współpracować z istniejącymi sygnałami magistrali komputera. Przetestowano NDC 5427 firmy NCL. Ten kontroler jest trochę tańszy niż OMTI, ale nie obsługuje przeplotu 1 (tj. jest znacznie wolniejszy) ani ścieżek zapasowych. Dodatkowo wymaga napięcia -12V i nie można ustawić adresu, więc można zastosować tylko jeden kontroler.

Oprogramowanie

Istnieją oczywiście programy wspierające interfejs. Oprogramowanie składa się ze sterownika dysku twardego (MHDISK1.PRG), programu formatującego (MHFORMAT.PRG), modułu partycjonowania (MHPART.PRG) i kilku narzędzi. Sterownik dysku twardego można uruchomić z poziomu rozruchu pamięci ROM lub klikając na niego jak zwykły program. Potrzebujesz tego ostatniego, szczególnie jeśli chcesz zintegrować dodatkowe programy z bootowaniem ROM i nie są one jeszcze wolne od błędów.

Ponieważ „sektor rozruchowy” jest odczytywany z komponentu ROM, a nie z dysku twardego, można bez problemu włączyć jednocześnie system dysku twardego i komputer. Po załadowaniu sterownika dysku twardego cierpliwie czeka na uruchomienie wszystkich podłączonych dysków. Nie jest to możliwe w systemie, w którym sektor rozruchowy jest odczytywany z dysku (np. SH205), w przeciwnym razie musiałbyś ustawić limit czasu rozruchu DMA w BIOS-ie na nieznośnie długi dla wszystkich ośmiu urządzeń.

Program formatujący jest w stanie automatycznie rozpoznać typ zastosowanego kontrolera - tj. OMTI 5520 lub OMTI 5527 - i tym samym dostosować się do ilości sektorów/ścieżki (17 = MFM, 26 = RLL). Program odczytuje typ dysku twardego i listę uszkodzonych ścieżek z pliku parametrów, który zawiera już wiele informacji o dyskach twardych i ich parametrach.
Po sformatowaniu przeprowadzany jest test dysku twardego, z możliwością wyboru pomiędzy testem czystego odczytu (szybki) a testem, w którym zapisywanych jest kilka różnych wzorców (wolny).
Następnie przydzielane są ścieżki zapasowe i parametry dysku twardego są rejestrowane w pierwszym sektorze dysku twardego.

Za pomocą programu do partycjonowania możesz podzielić pojedynczy dysk twardy na maksymalnie 16 partycji i w ten sposób wykorzystać nawet bardzo duże dyski twarde. Pojedyncza partycja jest obecnie ograniczona do 16 MB, chociaż nowsza wersja TOS z 27.04.87 (Blitter-TOS) prawdopodobnie może również zarządzać 32 MB. Jednak zarządzanie dużą partycją jest nieco powolne.

Partycje

Podział, który ma sens dla własnych celów, często staje się widoczny dopiero podczas pracy. Program do partycjonowania obsługuje zatem późniejszą modyfikację partycji bez utraty danych na nienaruszonych partycjach. Myślę, że szczególnie w przypadku większych dysków sensowne jest nie dzielenie całego dysku od razu na początku, ale w razie potrzeby dodanie dodatkowych partycji. Możliwa jest także tymczasowa dezaktywacja partycji bez utraty danych, np. podczas testowania podejrzanych programów lub jeśli masz łącznie więcej niż 14 partycji GEM. GEMDOS może zarządzać tylko 16 napędami, z których dwa są już przydzielone na dyskietki.

Kolejną rzeczą, na którą warto zwrócić uwagę w przypadku sterownika dysku twardego, jest to, że jest on współbieżny i dlatego może być wywoływany przez procedury przerwań, gdy liczba zmiennych ($43E) wynosi „0”. Poziom przerwania musi wynosić cztery lub pięć. Pozwala to na przykład na napisanie bufora dla Signum na dużym dysku twardym. Dla tych, którzy mają już inny dysk twardy, dostępna jest specjalna wersja sterownika, która nie używa nazw dysków C, D, E i F. Jednak rozruch ROMu jest wtedy bezużyteczny.
Zwykły sterownik, jak wszystkie znane mi sterowniki do dysków twardych, jest bardzo uparty i montuje się jako dysk C, nie biorąc pod uwagę żadnych strat.

Było miło :) Do widzenia.