Programowanie stacji LDW Super 2000 i CA-2001

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 17:04, 7 lut 2006
Sc0rpi0 (Dyskusja | wkład)

← Previous diff
Wersja z dnia 17:26, 7 lut 2006
Sc0rpi0 (Dyskusja | wkład)

Next diff →
Linia 1: Linia 1:
- 
Używając komendy SIO "X" można przesyłać/wykonywać małe fragmenty własnych programów, pamiętając oczywiście, że w stacjach dysków LDW 2000 znajduje się procesor z rodziny Z80, więc wszelkie programy muszą być zapisane w kodzie maszynowym tego właśnie procesora. Można przy tym skorzystać z wbudowanych w ROM funkcji. Nie ma oczywiście gwarancji niezmienności tej tabeli funkcji, ale jest duże tego prawdopodobieństwo. Używając komendy SIO "X" można przesyłać/wykonywać małe fragmenty własnych programów, pamiętając oczywiście, że w stacjach dysków LDW 2000 znajduje się procesor z rodziny Z80, więc wszelkie programy muszą być zapisane w kodzie maszynowym tego właśnie procesora. Można przy tym skorzystać z wbudowanych w ROM funkcji. Nie ma oczywiście gwarancji niezmienności tej tabeli funkcji, ale jest duże tego prawdopodobieństwo.
-Aby użyć danej funkcji nalezy jej numer załadować do rejestru C procesora, a następnie wywołać procedurę spod adresu $0004 (call). Rejestry, z których korzysta się przy wywołaniu/powrocie z funkcji znajdują się w nawiasach.+Aby użyć danej funkcji nalezy jej numer załadować do rejestru C procesora, a następnie wywołać procedurę spod adresu $0004 (call). Rejestry, z których korzysta się przy wywołaniu/powrocie z funkcji znajdują się w nawiasach, z wyjątkiem funkcji 0C, która używa
 +flagi przeniesienia (carry) procesora (CF).
Poniżej lista funkcji (numery funkcji zapisane szesnastkowo): Poniżej lista funkcji (numery funkcji zapisane szesnastkowo):
Linia 11: Linia 11:
03 - odczyt sektora (E) ze scieżki (D)<BR> 03 - odczyt sektora (E) ze scieżki (D)<BR>
04 - zapis sektora (E) na scieżce (D)<BR> 04 - zapis sektora (E) na scieżce (D)<BR>
-05 - edit+05 - odbiór bajtu (transmisja szeregowa) (C)<BR>
-06 - edit+06 - wysłanie bajtu (A)<BR>
-07 - edit+07 - odbiór rekordu o długości (B) pod adres (DE)<BR>
-08 - edit+08 - wysłanie rekordu o długości (B) spod adresu (DE)<BR>
-09 - edit+09 - konwersja pojedynczej cyfry wyswietlacza (A) do (A)<BR>
-0A - edit+0A - konwersja dwucyfrowa decymalna (A) do (DE)<BR>
-0B - edit+0B - konwersja dwucyfrowa heksadecymalna (A) do (DE)<BR>
-0C - edit+0C - włączenie (CF=1) lub wyłączenie (CF=0) silnika<BR>
0D - edit 0D - edit
0E - edit 0E - edit

Wersja z dnia 17:26, 7 lut 2006

Używając komendy SIO "X" można przesyłać/wykonywać małe fragmenty własnych programów, pamiętając oczywiście, że w stacjach dysków LDW 2000 znajduje się procesor z rodziny Z80, więc wszelkie programy muszą być zapisane w kodzie maszynowym tego właśnie procesora. Można przy tym skorzystać z wbudowanych w ROM funkcji. Nie ma oczywiście gwarancji niezmienności tej tabeli funkcji, ale jest duże tego prawdopodobieństwo.

Aby użyć danej funkcji nalezy jej numer załadować do rejestru C procesora, a następnie wywołać procedurę spod adresu $0004 (call). Rejestry, z których korzysta się przy wywołaniu/powrocie z funkcji znajdują się w nawiasach, z wyjątkiem funkcji 0C, która używa flagi przeniesienia (carry) procesora (CF).

Poniżej lista funkcji (numery funkcji zapisane szesnastkowo):

00 - zwraca wersje ROMu (DE)
01 - powrót głowicy
02 - ustawienie głowicy nad konkretną półścieżką (D)
03 - odczyt sektora (E) ze scieżki (D)
04 - zapis sektora (E) na scieżce (D)
05 - odbiór bajtu (transmisja szeregowa) (C)
06 - wysłanie bajtu (A)
07 - odbiór rekordu o długości (B) pod adres (DE)
08 - wysłanie rekordu o długości (B) spod adresu (DE)
09 - konwersja pojedynczej cyfry wyswietlacza (A) do (A)
0A - konwersja dwucyfrowa decymalna (A) do (DE)
0B - konwersja dwucyfrowa heksadecymalna (A) do (DE)
0C - włączenie (CF=1) lub wyłączenie (CF=0) silnika
0D - edit 0E - edit 0F - edit 10 - edit 11 - edit 12 - edit 13 - edit 14 - edit

       Strona w trakcie edycji
Personal tools