Forum

Z PMD 85 Infoserver

:: späť na začiatok témy :: späť na zoznam tém ::
Správa
Autor  Autor ::  Roman Bórik
Poslaná  Poslaná ::  23.11.2015 21:12:37
Predmet  Predmet ::  Re: použití podprogramu Transf (EC00)monitoru
Práve som sa chystal tiež niečo podobné napísať, len ste ma predbehli.
Doplním iba, že ak sa má skutočne nahrať z ROM Modulu BASIC, je potrebné po nahratí programu v BASICu na adresu 2400h, ešte zavolať rutinu na adrese 2295h, aby sa v BASICu inicializovali vektory konca programu. Takže:

CALL EC00
DW 2800
DW 03FF
DW 2400
CALL 2295
RST 0

Vo výsledku: CD 00 EC 00 28 FF 03 00 24 CD 95 22 C7
 
Správa
Autor  Autor ::  Tomáš Pecina
Poslaná  Poslaná ::  24.11.2015 07:54:05
Predmet  Predmet ::  Re: použití podprogramu Transf (EC00)monitoru
Ano, přesně tak, teplý start BASICu tuto kontrolu sám neprovádí, pouze se podívá na začátek programu.

Jen pro úplnost, kdyby tohle chtěl někdo dělat kompatibilně pro všechny tři modely PMD, musí postupovat jinak a volat 0x1e04, a předtím na zásobník uložit návratovou adresu a další hodnotu, která se před návratem uloží do HL, tedy např.

LXI H,0
PUSH H
PUSH H
JMP 1E04H

PMDčko je prostě rafinovaný stroj, u kterého jsou i ty nejjednodušší operace složité :-)
:: späť na začiatok témy :: späť na zoznam tém ::