 |
CP/M 2.2
|  |
Spis treści:
System CP/M jest systemem operacyjnym w pełnym tego słowa znaczeniu. Jego różne wersje są dostępne dla niemal wszystkich komputerów, począłwszy od FDD3000, przez Commodore 128 i Amstrada, Spectravideo itp. aż na IBM PC skończywszy. Był on bardzo popularny w erze komputerów 8-bitowych. Do dziś można nawet pod MS Windows na PC uruchomić emulatory tego systemu. Dzięki temu, że narzucał on programistom pewne warunki i wymagał określonego sprzętu, programy można łatwo przenosić pomiędzy różnymi komputerami i uruchamiać je. Ponadto architektura systemu jest zbliżona do pierwszych wersji MS-DOS, stąd łatwość komunikacji przez porty szeregowe, obsługa drukarki oraz możliwość wymiany danych z dyskietkami w innych formatach (potrzebne są odpowiednie drivery do CP/M-a lub napisanie własnego oprogramowania).
Oprócz licznych zalet posiada też wady. Oferuje użytkownikowi tryb znakowy i nie umożliwia korzystania z rozszerzeń podłączonych do ZX Spectrum, ale to jest do "przeskoczenia", jeśli ktoś sobie napisze inny program terminala niż ten oferowany przez Timex lub Polbrit.
CP/M 2.2 w wersji dla Timex FDD3000 jest tak skonstruowany, że pracuje komputer zarządzający FDD3000. Rola podłączonego ZX Spectrum lub Timex Computer 2048 ogranicza się do funkcji terminala (klawiatura + monitor). Zatem korzystanie w bezpośredni sposób z AY-greka czy interfejsu joysticka jest niemożliwa. Stąd zła informacja dla fanów gier i demosów - CP/M do tego się nie nadaje. Cóż, za to łatwo pod nim pisze się programy i kompiluje je oraz wymienia pliki ze światem zewnętrznym.
Użytkownik komunikuje się z komputerem za pomocą poleceń systemu CP/M, podobnych nieco do poleceń DOS-a (DOS wzorował się na CP/M i odziedziczył po nim wiele cech). Ich opis znajduje się poniżej.
Warto jeszcze wspomnieć o znakach sterujących. Są to znaki uzyskiwane przez wciśnięcie np. CTRL-C itp. Ponieważ ZX Spectrum nie posiada klawisza Control, jego rolę spełnia jednoczesne wciśnięcie [Caps Shift] i [Symbol Shift]. Zatem CTRL-C uzyskuje się przez [CS]-[SS]-C.
Tak wygląda ekran Timexa 2048 po starcie systemu CP/M 2.2 na stacji dysków Timex FDD3000
Opis podstawowych poleceń systemu CP/M
Polecenia wewnętrzne
(dostępne zawsze z pamięci)
- ERA plik
Kasuje pliki. Np. ERA *.ASM skasuje wszystkie pliki z rozszerzeniem ASM
- DIR maska
Wyświetla wszystkie pliki na dyskietce. Możliwie jest włączenie filtru, czyli wyświetlenie tylko tych nazw, które np. zaczynają się na literę "T" (DIR T*.*) lub wyświetlenie katalogu wybranego napędu dyskietek np. DIR B:
- REN plik1=plik2
Zmienia nazwę pliku. Przykład: REN ASM.COM=KOMPILUJ.COM
- SAVE n plik
Zgrywa zawartość pamięci od adresu 100h do pliku. Pierwszym parametrem jest ilość 256-bajtowych bloków, zaś drugim jest nazwa pliku. Np. SAVE 4 COSTAM.RAW zgrywa zawartość pamięci od 100h do 4EFh do pliku COSTAM.RAW
- TYPE plik
Wyświetla zawartość pliku ASCII na ekranie terminala.
- USER numer
Pozwala na zmianę logicznego obszaru w obrębie tego samego katalogu. Standardowo jest to USER 0, ale można sobie zmienić na dowolny z zakresu 0-15. Wtedy na tej samej dyskietce mogą znajdować się pliki o takich samych nazwach, ale w różnych strefach.
Polecenia zewnętrzne
(dostępne z dyskietki systemowej)
- STAT argument
Podaje informaje o pliku/urządzeniu, zaś bez argumentu o aktualnie wybranym napędzie dyskowym. Jeśli argumentem jest nazwa pliku, wyświetlone zostaną informacje o:
- ilości 128-bajtowych rekordów alokowanych przez plik
- jego rozmiarze w kilobajtach
- numerze 16K rozszerzenia
- i lokalizcji, na jakim dysku się on znajduje.
Możliwe jest też ustawienie np. atrybutu "dysk tylko do odczytu" poprzez STAT a:=R/O , zaś przywrócić prawo zapisu można przez STAT a:=R/W
- ASM plik
Wczytuje do pamięci i uruchamia assembler kodu maszynowego i przeprowadza kompilację pliku. Komunikaty o błędach są wyświetlane na konsoli. Assembler generuje dwa pliki:
- z rozszerzeniem PRN zawierający oryginalny plik źródłowy uzupełniony o kody po kompilacji
- z rozszerzeniem HEX zawierający skompilowany program w formacie HEX Intel'a (dla procesorów 8080 i Zilog Z80). Taki plik można przetransformować do postaci wykonywalnej COM za pomocą polecenia LOAD.
- LOAD plik
Wczytuje kod maszynowy z pliku HEX i generuje plik COM, który można już uruchamiać jak każdy inny program.
- PIP cel = źródło1, źródło2, ...
Uniwersalne polecenie służące do kopiowania plików (jak COPY pod DOSem). Argumentami są nazwy plików, pierwsza jest nazwą docelową, następne (po znaku równości) są nazwami plików źródłowych. Zamiast informatycznego paplania przedstawię kilka przykład:
<>TD>PIP B:=A:*.*
Kopiuje wszystkie pliki z dyskietki A: na dyskietkę B: |
- ED plik
ED jest edytorem pozwalającym na edycję plików tekstowych ASCII. Patrz dokładniejszy opis poniżej.
- SYSGEN
Tworzy dyskietkę systemową. Aby przenieść system należy najpierw dyskietkę sformatować, potem wykonać polecenie SYSGEN (zostanie nagrany sektor startowy, system operacyjny, będa dostępne polecenia wewnętrzne), oraz skopiować wszystkie niezbędne pliki COM poleceniem PIP.
- SUBMIT polecenie
Służy do uruchamiania skryptów (plików wsadowych). System CP/M pozwala na tworzenie plików z rozszerzeniem SUB i uruchamiania ich poleceniem SUBMIT (analogia do pliów BAT w DOS).
- DUMP plik
Wyświetla zawartość pliku w formie hexadecymalnej oraz podaje w pierwszej kolumnie aktualny adres. Polecenie przydatne np. przy edycji plików binarnych.
- MOVCPM
Przenosi system operacyjny w inne miejsce pamięci.
Kody sterujące i znaki specjalne w systemie CP/M
| Znak |
Znaczenie |
| CTRL-C |
Restartuje system, jeśli wpisano na początku linii poleceń |
| CTRL-E |
Fizyczny koniec linii |
| CTRL-H |
Kasuje jeden znak za kursorem (backspace) |
| CTRL-I |
Znak końca linii (line feed) |
| CTRL-M |
Znak powrotu karetki (carriage return) |
| CTRL-U |
Kasuje aktualną linię |
| CTRL-X |
jak wyżej |
| CTRL-Z |
Znak końca pliku (używany przez PIP i ED) |
Urządzenia systemowe
| Urządzenie |
Opis |
| TTY |
Powolna konsola (teletype device) |
| CRT: |
Szybka konsola (cathode ray tube) |
| PTR: |
Czytnik taśmy perforowanej |
| PTP |
"Dziurkacz" do taśm perforowanych |
| LPT: |
Drukarka tekstowa |
Jak przegrać "firmową" dyskietkę 3" z programem terminala i systemem CP/M?
System CP/M dla stacji dysków FDD3000 jest dostarczany na 1 dyskietce 3-calowej. Na stronie A znajduje się oprogramowanie dla ZX Spectrum i Timexa, będące tekstowym terminalem sterującym pracą komputera w stacji FDD3000. Strona A jest zatem standardowo sformatowana pod systemem TOS i daje się bez problemu odczytywać. Druga strona dyskietki zawiera system operacyjny CP/M, polecenia zewnętrzne i kilka plików systemowych. Format jest niezgodny z TOS, dyskietkę zawartość strony B trzeb więc przekopiować w inny sposób.
Po kolei opiszę kolejne kroki kopiowania obu stron dyskietki z CP/M-em:
- Włóż dyskietkę firmową (str. A) CP/M do napędu "A" stacji FDD3000
- Przekopiuj jej zawartość na dyskietkę w stacji B (str. A), wszystkie pliki - zakładam, że znasz TOS
- Uruchom CP/M z dyskietki firmowej.
- Sformatuj dyskietkę docelową (str. B) pod CP/M-em poleceniem A> FORMAT
- Przenieś system operacyjny na dyskietkę docelową poleceniem A> SYSGEN
- Przekopiuj wszystkie pliki ze str. B dyskietki firmowej na str. B dyskietki docelowej. Zakładam, że dyskietka firmowa znajduje się w kieszeni A, zaś docelowa w kieszeni B. Wystarczy wykonać polecenie: A> PIP B:=*.*
Dyskietka została już poprawnie skopiowana i można z niej wystartować system.
Powrót do strony głównej...