1990 Copyright by Artur Muszyński Kopiowanie dozwolone. MACFACE II + MAD 4.0 i MACSAVE 1.02 1. Przeznaczenie Przystawka ta opracowana została dla komputerów ZX Spectrum 48K/128K i TIMEX 2048/2068. Służy ona do ułatwienia rozbijania, przerabiania i uruchamiania programów. Dodatkowo umożliwia wczytywanie i zapisywanie programów na magnetofon z podwójną prędkością (TURBO). Zawiera ona 2KB pamięci stałej EPROM oraz 16KB pamięci RAM. Pamięć stała zawiera procedury obsługi TURBO oraz przerwania niesiaskowalnego, natomiast pamięć RAM dostępna jest dla programów narzędziowych dostępnych po przerwaniu, a także może służyć jako rozszerzenie pamięci operacyjnej ZX Spectrum np. jako tzw RAMdysk (po napisaniu programu obsługującego) itp. Wraz w przystawką dostarczany jest program monitora MAD oraz program kopiujący pamięć komputera na dysk MACSAVE. 2. TURBO Przełącznik TURBO służy do włączania szybkiej transmisji taśmowej (programy będą się 2 razy szybciej wczytywały i zapisywały). Jeżeli dioda nie świeci się, to znaczy, że TURBO jest wyłączone, jeśli świeci się to TURBO jest włączone. Turbo można włączyć lub wyłączyć również programowo (patrz punkt 5). Najlepiej do pracy z TURBO nadaje się odpowiednio przerobiony magnetofon, tzn taki, w którym został zainstalowany przełącznik podwajający szybkość obrotów silnika. Pozwala to na szybkie wczytywanie programów bez żadnych ich przeróbek. 3. MAD 4.0 Program ten jest podstawowym programem narzędziowym dostarczanym wraz z przystawką MACFACE II. Umożliwia on monitorowanie i modyfikacje pamięci komputera, wczytywanie i zapisywanie bloków na magnetofon lub dysk, powrót do BASICu i ponowne uruchomienie programu. Cenną jego zaletą jest to, że nie zajmuje pamięci RAM. Po wczytaniu programu z dysku lub taśmy (przełącznik TURBO musi być w pozycji włączonej, co sygnalizuje świecąca się dioda na górze obudowy przystawki) możemy go uruchomić w dowolnym momencie przez wciśnięcie przycisku NMI. A oto szczegółowy opis jego opcji: 5 (lewo) - zwiększenie wskaźnika pamięci o pół strony; 6 (dół) - zwiększenie wskaźnika pamięci o 1 instrukcję; 7 (góra) - zmniejszenie wskaźnika pamięci o i bajt; 8 (prawo) - zmniejszenie wskaźnika pamięci o pół strony; P - zmiana zawartości bajtu (POKE); L - wyświetlanie zawartości pamięci w kodzie ASCII (X - wyjście); J - wczytanie bloku (LOAD); S - zapisanie bloku (SAVE); Q - powrót do BASIC'u; R - uruchomienie programu od PC: W - wstawienie pułapki w miejsce wskaźnika pamięci; D - konwersja DEC-HEX; H - konwersja HEX-DEC; G - szukanie wzoru (X - dowolny bajt); N - szukanie następnego wzoru; M - ustawienie wskaźnika pamięci; C - kopiowanie bloku pamięci; F - zapełnienie bloku pamięci danym bajtem; 1 (EDIT) - zmiana zawartości rejestrów (I - zmiana, X - wyjście, D, H, 6, 7 - jak normalnie); Z - zmiana statusu przerwań (DI/EI); B - zmiana numeru banku (ma sens tylko przy pracy ze SPECTRUM 128K); V - podgląd ekranu (VIEW); O - zmiana urządzenia we/wy (taśma/dysk); K - zapisanie ekranu. Po przerwaniu zapamiętany jest stan wszystkich rejestrów, stan bitu statusu przerwań maskowalnych, zawartość ekranu oraz numer aktualnego banku. Pamiętaj, że MAD nie będzie działał, jeżeli przełącznik TURBO będzie w pozycji wyłączenia (dioda nie świeci się). Po powrocie do monitora z pułapki oryginalna zawartość pamięci jest odtworzona (tylko jednej pułapki), MAD będzie obecny w pamięci przystawki do wyłączenia komputera z sieci. Istnieje możliwość poszukiwania niezwartego ciągu bajtów (opcja G), np: wpisanie po opcji G ciągu CD,X,C0 (i ENTER) spowoduje wyszukanie wszystkich rozkazów typu: CALL #C0nn, gdzie nn jest dowolnym bajtem. Uwaga: Wszystkie dane jednobajtowe (np do opcji G i P) można wpisywać również jako znak ASCII. Piszemy wtedy "x (cudzysłów, znak ASCII). 4. MACSAVE 1.02 Program ten służy do automatycznego kopiowania programu znajdującego się w pamięci na dysk. Po zainstalowaniu będzie on stale obecny i uaktywni się po wciśnięciu przycisku NMI. Należy wtedy podać nazwę (bez rozszerzenia) i wcisnąć 1 lub 2 w zależności, czy kopiujemy program na 48K czy 128K (wtedy kopiowane są również banki). Tak skopiowany program można normalnie wczytać z dysku. Uruchomi się on w takim stanie w jakim został przerwany. Ta wersja MACCSAVE'a nie posiada jeszcze wbudowanego kompresora, lecz można skopiowane przez niego bloki skompresować FILE COMPRESSORem (blok z rozszerzeniem .COD) i BANK COMPRESSORem (banki, z rozszerzeniami ,Bn). 5. Konstrukcja i programowanie przystawki. Działanie przystawki programuje się portem o adresie 123; w BASIC'u rozkazem OUT 123,n gdzie poszczególne bity n oznaczają: bit O = O - TURBO włączone, = i - TURBO wyłączane; bit 1 = O - zapis do RAM'u uwożliwiony, = 1 - zapis zablokowany (RAM is write protected); bit 2 = 0 - widoczny jest ROM komputera, = 1 - zamiast ROM'u widoczny jest RAM; Jeżeli przełącznik TURBO jest w pozycji wyłączonej, to port jest nieaktywny (zapis do portu jest zablokowany). EPROM zawierający procedury TURBO oraz procedurę obsługi przerwania (włączenia RAM'u i skoku pod adres 2048) podstawia się od adresu O do 2047 zamiast R0M'u lub RAM'u w zależności od stanu przełącznika TURBO i stanu bitu 0 portu 123. Uwaga dla użytkowników IX Spectrum 128: Podczas pracy z edytorem BASICu w trybie "128" oraz po zresetowaniu komputera, przełącznik TURBO musi być wyłączony. KONIEC