• Przełącznik Kickstartu 1.3/3.5 do Amigi CDTV

12.05.2007 21:52, autor artykułu: Robert Krajcarz
odsłon: 17713, powiększ obrazki, wersja do wydruku,

Każda Amiga posiada układ, w którym zapisana jest część systemu operacyjnego. Układ ten to pamięć ROM, który został nazwany Kickstartem. Są w nim zapisane procedury odpowiedzialne za start komputera, a także obsługę urządzeń takich jak klawiatura czy stacja dysków. Dzięki temu po włączeniu zasilania, komputer jest gotowy do pracy. W zależności od modelu Amigi wersja systemu zawarta w Kickstarcie była różna. W A500 wersja ta miała oznaczenie 1.3, choć można było spotkać tez 1.2. W A600 zastosowano nowsze oprogramowanie oznaczone 2.0, w A1200 wprowadzono 3.0 a później 3.1. Kolejne zmiany jakie były dokonywane miały na celu: wyeliminowanie zauważonych błędów, dodanie funkcji dla nowych urządzeń, np. twardego dysku lub ułatwić prace programistom. Z czasem różne firmy zaczęły oferować tak zwane przełączniki Kickstartów umożliwiające podmianę starszej wersji na nowszą z możliwością przywrócenia poprzedniej wersji jeśli jakiś starszy lub źle napisany program tego wymagał.

Ekrany W swoim artykule chciałbym przedstawić opis jak można wykonać taki układ samemu. Od razu napiszę, że choć sam układ wygląda bardzo prosto, to jego wykonanie może przysporzyć wiele problemów, które chciałbym tutaj przedstawić.

Wykonany przeze mnie układ jest zamontowany w Amidze CDTV, jednak po odpowiednich zmianach może być użyty też w innym modelu, np. A500. Zasada działania takiego przełącznika jest bardzo prosta. Każda pamięć ROM posiada wejście, dzięki któremu dostaje sygnał mówiący o tym, że procesor główny będzie chciał odczytać z niego pewne dane. Wystarczy więc przekierować ten sygnał do innej pamięci ROM.

Jesli ktoś zdecyduje się na budowę takiego układu, niech przeczyta co go może czekać.

Pierwszy problem - zdobycie nowszej wersji Kickstartu

Niektóre sklepy oferują zaprogramowane już fabrycznie pamięci ROM. W takim przypadku nie ma większego problemu. Wystarczy tylko wyjęcie starego układu z podstawki i wstawienie nowego. Należy tu jednak zwrócić uwagę na to, czy dany typ ROM-u może pracować w Amidze którą posiadamy. Gdy jednak kupienie odpowiedniej wersji jest trudne lub wręcz niemożliwe, to jedynym ze sposobów jest zgranie takiej wersji do pliku od kogoś, kto takową posiada lub poszukanie jej na sieci. Jednak taka czynność jest podobno niedozwolona, gdyż dane takie są chronione prawem autorskim. W swoim projekcie wykorzystałem Kickstart 3.1 z łatką autorstwa Piru. Łatka ta wprowadza kilka zmian do exec.library w wyniku czego Amiga informuje nas, że posiadamy Kickstart w wersji 3.5. Plik z takimi danymi należy zapisać do programowalnegu układu ROM-u zwanego EPROM-em. Ale tu natkniemy się na...

Problem drugi - odpowiedni EPROM

Kick plytki Zastosowany we wszystkich modelach Amigi ROM jest zgodny elektrycznie z EPROM-em 27c4100. W A1200 można zastosować dwa EPROM-y o oznaczeniu 27c2100. Pamięć 27c4100 posiada organizacje 16-bitową o całkowitej pojemności 512 kB a 27c2100 - 256 kB. Jednak zdobycie takich pamięci graniczy z cudem. Bardziej dostępny jest EPROM o oznaczeniu 27c160. Moża go kupić w polskiej sieci TME. Pamięć ta ma pojemność 1 MB, a co za tym idzie ma o dwie linie adresujące więcej. Powoduje to, że po zamontowaniu jej do np. A500 będzie wystawała z podstawek. Aby dodatkowe wyprowadzenia nie wisiały w powietrzu należy połączyć je z masą. EPROM ten idealnie pasuje do A1200, gdzie przewidziano możliwość zamontowania takiej pamięci. Innym wyjściem z tej sytuacji jest zastosowanie innego EPROM-u np 27c4096, który różni się od poprzedniego tylko rozpisaniem wyprowadzeń lub zastosowanie kilku EPROM-ów nawet 8-mio bitowych, tak aby ich łączna pojemność pomieściła wszystkie dane z pliku. Rozwiązanie takie komplikuje jednak cały układ, gdyż głównym problemem jest odpowiedni układ połączeń.

Problem trzeci - programator

Mnie osobiście całkowicie przypadkowo udało się dostać na giełdzie elektronicznej EPROM o oznaczeniu 27c4100. Jednak tak samo jak zdobycie takiej pamięci, bardzo trudno jest znaleźć kogoś, kto posiada programator zdolny ją zaprogramować. Po długich poszukiwaniach w różnych punktach serwisowych, nawet komputerowych, udało mi się jednak tego dokonać. Pomocy udzielił mi prywatny punkt naprawy telefonów komórkowych.

Problem czwarty - nie działa

Kick Schemat Po zaprogramowaniu natychmiast chciałem sprawdzić działanie nowej wersji Kickstartu. Podmieniłem odpowiednie układy, włączyłem zasilanie i... nic. Całkowity brak reakcji ze strony komputera. Przyczyn, dlaczego nie zadziałało, mogło być kilka: podczas wymiany układów uszkodziłem Amigę, uszkodziłem EPROM (np. ładunkiem elektrostatycznym), zostałem oszukany przez serwisanta. Pierwszą ewentualność wykluczyłem przez zamontowanie starego ROM-u. Dwóch ostatnich przypadków nie miałem jak zweryfikować, więc zrezygnowany włożyłem EPROM do szuflady. Pewnego dnia przyszła mi do głowy pewna myśl: czyżby bajty w 16-tu bitach były inaczej zapisane? Wykonałem prosty adapter, który zamienił zerowy bit z ósmym, pierwszy z dziewiątym itd. Kolejna próba uruchomienia i pełny sukces! Amiga powitała mnie swoją animacją dyskietki wkładanej do stacji. Nie przeprogramowywałem już pamięci tylko odpowiednie zmiany dokonałem w projekcie płytki drukowanej.

Powyższy opis można wykorzystać do budowy przełącznika Kickstartów w dowolnym modelu Amigi, jednak jego zainstalowanie w Amidze CDTV wprowadza kolejny problem. Amiga CDTV jest specyficznym komputerem, posiadającym kilka dodatków. Elektrycznie jest w 90% zgodna z A500. Jednak to, co ją wyróżnia, to wbudowany napęd CD-ROM. Niestety, wymiana Kickstartu zaowocowała tym, że nie dało się z niego korzystać. Po uruchomieniu komputera następuje kolizja Kickstartu z CDTV BOOT ROM-em, w którym zawarte są procedury odpowiedzialne za pracę CD-ROM-u.

Topologia Rozwiązań tego problemu jest kilka. Pierwszym z nich jest odłączanie CD-ROM-u, jeśli chcemy korzystać z nowszego oprogramowania. Rozwiązanie to, choć jest najprostsze, jest jednak najgorsze. Chyba nie trzeba tłumaczyć dlaczego. Lepszym rozwiązaniem jest wgranie do CDTV BOOT ROM-u nowszego oprogramowania, w którym problem ten rozwiązano. Odpowiednie dane w wersji 2.3 są dostępne legalnie do pobrania z sieci.

Chciałbym przedstawić inne rozwiązanie. Wcześniej w swojej Amidze CDTV miałem zainstalowany Kickstart 3.0 i problem kolizji już wtedy występował. Problem ten i sposób jego ominięcia był już opisywany w Magazynie Amiga. Polegał on na tym, że należało zamiast zwory JP15 znajdującej się na płycie, zamontować przełącznik, którym po resecie należało odłączyć CD-ROM, a później w odpowiednim momencie ponownie załączyć. Sposób skuteczny, jednak uciążliwy. Podczas prób odkryłem, że najlepszym momentem, kiedy należało załączyć CD-ROM, jest moment kiedy dioda sygnalizująca zasilanie zaświeca się. Wykonałem prosty układ z przerzutnikiem R-S. Przerzutnikiem tym sterowały dwa sygnały: RESET i LED. Po przyjrzeniu się schematowi zauważyłem, że oba potrzebne sygnały są dostępne na jednym z układów CIA. Działanie takiego układu jest bez zarzutu. Można uruchamiać komputer z dyskietki lub płyty CD.

Budowa układu

Jak widać na rysunkach, zastosowana płytka drukowana posiada ścieżki po obu stronach. Przy lutowaniu elementów należy pamiętać, aby te, które są po stronie elementów, też były przylutowane w odpowiednich miejscach. Płytkę przełącznika montuje się w miejscu układu ROM U13 a układ synchronizujący pod układem U9. Po poprawnym zmontowaniu i zainstalowaniu obu płytek wszystko powinno zadziałać odrazu. Należy sprawdzić czy działają poprawnie wszystkie kombinacje położeń przełączników. Powinne być następujące możliwości:

  1. CD-ROM wyłączony, KS 1.3 - łapka z dyskietką,
  2. CD-ROM włączony, KS 1.3 - obracający się napis CDTV,
  3. CD-ROM wyłączony, KS 3.5 - animacja dyskietki,
  4. CD-ROM włączony, KS 3.5 - czarny ekran, a po ok. 2 sekundach migająca dioda POWER.

Spostrzeżenia i uwagi dotyczące działania wykonanego przełącznika

CDTV

  1. Jeśli korzystamy z nowszego Kickstartu z załączonym CD-ROM-em i nie włożymy dyskietki do stacji dysków ani płyty CD do czytnika, to nie pokaże się firmowe logo, lecz nastąpi GURU. Jednak niegroźne, po automatycznym resecie znowu nastąpi próba uruchomienia z któregoś z napędów.
  2. Przy odtwarzaniu płyt muzycznych firmowy player pokaże się tylko na chwilę, po czym nastąpi reset.
  3. Jeśli czytnik jest załączony, nie da się wystartować z dyskietki nagranej w trybie FFS, co jest bardzo dziwne, gdyż po uruchomieniu systemu, np. z CD, dyskietki takie są obsługiwane bez problemu.
  4. Nie każdy wie, że z płyt CD, które nie chcą się zabootować, chociaż znajduje się na nich system w pełnej wesji wraz z startup-sequence (np. płyty dla CD32), da się jednak wystartować. Wystarczy do stacji dysków włożyć dyskietkę bez bootblocku lub, jeśli dyskietka ma bootblock, wybrać w Menu Startup boot z CD-ROM-u.

Na załączonej fotografii widać, że płytka z układem sterującym pracą CD-ROM-u jest inna i na dodatek posiada jakieś złącze. Jednak jest to temat na inny artykuł, który może też kiedyś też się ukaże.

 głosów: 1   
komentarzy: 4ostatni: 07.06.2009 21:10
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem