PMD 85 ROM

Z PMD 85 Infoserver

ROM pamäte


Obsah


PMD 85, rovnako ako mnoho iných počítačov, obsahuje pamäte typu ROM, v ktorých je uložený firmvér, tzv. MONITOR. PMD 85 obsahuje aj tzv. vymeniteľný ROM Modul, v ktorom je štandardne umiestnený jazyk BASIC G. Do ROM Modulu sa však umiestňovali aj iné programovacie jazyky a nástroje, ovládače tlačiarní a plotrov alebo i rôzne hry. Vzhľadom na možnosti doby, kedy počítač vznikol, sú použité PROM alebo EPROM (asi podľa toho, čo bolo práve k dispozícii) o veľkosti 1kB (MHB8608, MHB8708, 2708, К573РФ1) alebo 2kB (MHB2616, MHB2716, К573РФ5).

Download: PMD85-rom-files.zip

Základný MONITOR

Umiestnenie ROM Monitora na DPS PMD 85
Umiestnenie ROM Monitora na DPS PMD 85

MONITOR je základné programové vybavenie, ktoré umožňuje komunikáciu s mikropočítačom na najnižšej úrovni. Vytvára isté oddelenie a súčasne prepojenie medzi technickým vybavením mikropočítača a používateľom. MONITOR je uložený rezidentne v pamätiach typu (E)PROM. Monitor má v PMD 85 veľkosť 4kB alebo 8kB a je umiestnený na hlavnej DPS v štyroch (E)PROM 1kB, resp. 2kB. Existujú ale aj rozšírené verzie MONITORov s odlišnou veľkosťou, vyžadujúce obvykle hardvérovú úpravu PMD 85.

(E)PROM MONITORa v PMD 85 (0, 1, 2, 2A) sú označované písmenami E, D, C a B. Tieto písmenové označenia mávajú buď prefix 00, 01 alebo 02 (zvyčajne PROM-ky), alebo postfix 1, 2, A (zvyčajne EPROM-ky s nálepkou). Ale možno existovali aj iné varianty. PMD 85-3, ktoré nám prešli rukami, mali vždy osadené PROM 2616 a označenie bolo robené iba nálepkami. PROM MONITORa PMD 85-3 sú rovnako označované písmenami B až E a mávajú k označeniu pridané číslo 3. ROM sa umiestňujú v poradí E-D-C-B od mikroprocesora.

Súbory s obsahom jednotlivých ROM majú príponu .bin. V názve súboru je postfix podľa písmenného označenia. Súbory s príponou .rom predstavujú spojenie jednotlivých obsahov ROM do jedného súboru a sú určené pre Emulátor PMD 85.

PMD 85-1

Základný MONITOR, ktorý je v prvých modeloch s označením PMD 85, PMD 85-1 a aj v "prototypovom" PMD 85-0. Okrem pôvodnej verzie existovali aj upravené verzie.


  • monit1 - pôvodná verzia
    • veľkosť 4kB (4x 1kB)
    • umiestnenie v pamäťovom priestore od adresy 8000h
  • monit1u - upravená verzia
    • upravená inicializácia systémového PIO (8004h)
    • mazanie pamäti 7000h-7EFFh nahradené inicializáciou časovača 8253 (8276h)
    • veľkosť 4kB (4x 1kB)
    • umiestnenie v pamäťovom priestore od adresy 8000h
  • monit1cs - rozšírený monit1u
    • rozšírenie o úplnú znakovú sadu vrátane znakov s diakritikou, ktoré sa zapisujú cez kľúčové klávesy K0 až K11 (popis bol uvedený v Mikrobáze č. 8, str. 34)
    • nutná HW úprava
    • veľkosť 5kB (5x 1kB)
    • umiestnenie v pamäťovom priestore od adresy 8000h


PMD 85-2(A)

Základný MONITOR, ktorý je v modeloch s označením PMD 85-2 a PMD 85-2A. Uvedené verzie MONITORov sú tu označené ako 2, 2A a 2B, sú však použiteľné pre ktorýkoľvek model PMD 85-2 a aj PMD 85-2A, pretože v žiadnej z týchto verzií MONITORa sa nijako neriešia HW rozdiely medzi modelmi PMD 85-2 a PMD 85-2A. Ak je potrebné z nejakého dôvodu vymeniť ROM MONITORa v PMD 85-2 alebo PMD 85-2A, tak odporúčame použiť verziu 2B.

Oproti MONITORu pre PMD 85-1 boli prevedené mnohé zmeny:

  • ak je založený ROM Modul, po zapnutí alebo po Resete sa do pamäti načíta BASIC G (alebo iný program, ak je na to prispôsobený) a ihneď sa spustí
  • obsahuje úplnú znakovú sadu ISO-7, tzn. malú aj veľkú abecedu a ďalšie rôzne znaky, ktoré síce nie sú na klávesnici, ale sú prístupné užívateľovi
  • automatické opakovanie klávesov pri pridržaní klávesu
  • akustická signalizácia pri stlačení klávesu
  • mnohé klávesy majú ďalšie významy
  • nie je potrebná medzera medzi príkazom a parametrami
  • príkaz DUMP vypisuje obsah pamäte bez prestávky s možnosťou pozastavenia pomocou klávesu Shift a zastavenia klávesom Stop
  • grafický interpolátor aj vypisovanie znakov sú niekoľkonásobne zrýchlené
  • pri snímaní údajov z magnetofónu je signál programovo analyzovaný, čo umožnilo vyriešiť fázovo nezávislé snímanie nahrávok, tzn. záznam dát je nezávislý na type magnetofónu
  • číslo nahrávky môže byť 00 až 99


  • monit2.rom - verzia 2
    • veľkosť 4kB (4x 1kB)
    • umiestnenie v pamäťovom priestore od adresy 8000h
  • monit2A.rom - verzia 2A
    • veľkosť 4kB (4x 1kB)
    • umiestnenie v pamäťovom priestore od adresy 8000h
    • monit2A.rom sa od monit2.rom líši iba v rutine HEADIN na adrese 8EBEh
  • monit2B.rom - verzia 2B
    • veľkosť 4kB (4x 1kB)
    • umiestnenie v pamäťovom priestore od adresy 8000h
    • rutiny ROLL (808Eh), WRCHAR (854Ah) a ERASE (85A7h) sú upravené tak, že nepoužívajú register SP a tak nie je problém s využívaním prerušenia
    • príkaz JUMP (81F5h) nepovoľuje prerušenie
    • opravené poškodenie písmena `A` vo fonte po stlačení kľúčového klávesu, ak je Monitor prekopírovaný do RAM (8832h)


PMD 85-3(B)

Základný MONITOR, ktorý je v modeloch s označením PMD 85-3 a PMD 85-3B. Oba modely sa od seba hardvérovo nelíšia. Rozdiel je iba v samotnom MONITORe. Ak je potrebné z nejakého dôvodu vymeniť ROM MONITORa v PMD 85-3 alebo PMD 85-3B, tak odporúčame použiť verziu 3B.

Oproti MONITORu pre PMD 85-2(A) boli prevedené rôzne zmeny:

  • MONITOR je umiestnený od adresy 0E000h namiesto 8000h (prekrýva sa tak s VideoRAM)
  • využíva pamäť RAM v oblasti 0BC00h-0BFFFh pre SW kľúče, buffer dialógového riadku a stránkovacie rutiny
  • po zapnutí počítača sa vykonáva test pamäti ROM na kontrolný súčet a test pamäti RWM pomocou zápisu a čítania 4 vzoriek - 00h, 55h 0AAh, 0FFh
  • po teste pamätí sa testuje prítomnosť disketovej jednotky PMD 32 a ak je pripojená, pokúsi sa z nej naBOOTovať
  • obsahuje modifikovanú znakovú sadu v kódovaní KOI-8čs, vrátane znakov s diakritikou
  • obsahuje rutiny pre prácu s textovými a grafickými oknami, ktoré využíva BASIC V3.0
  • obsahuje ovládač PMD 32 a základ rutín BIOSu pre operačný systém MIKROS
  • obsahuje rutiny pre prechod do režimu kompatibility s PMD 85-2
  • oblasť pre SW kľúče je presunutá z adresy 7E00h na 0BC00h
  • buffer dialogového riadku a zásobník CPU sú presunuté z aresy 7F00h na 0BE00h
  • príkaz JUMP (0E1F5h) nepovoľuje prerušenie


  • monit3.rom - verzia 3
    • veľkosť 8kB (4x 2kB)
    • umiestnenie v pamäťovom priestore od adresy 0E000h
  • monit3B.rom - verzia 3B
    • veľkosť 8kB (4x 2kB)
    • umiestnenie v pamäťovom priestore od adresy 0E000h
    • rutiny ROLL (0E08Eh), ROLL2 (0FF70h), WRCHAR (0E54Ah) a ERASE (0E5A7h) sú upravené tak, že nepoužívajú register SP a tak nie je problém s využívaním prerušenia
    • kvôli týmto úpravám bola upravená aj rutina pre režim kompatibility (0FB64h) a tabuľky s tým súvisiace

Basic G

PMD 85 bolo štandardne vybavené ROM Modulom s programovacím jazykom BASIC G. Jednotlivé modely PMD 85 majú odlišnú verziu BASICu G, ktorá je ale vždy spätne kompatibilná.

(E)PROM BASICu v PMD 85 (0, 1, 2, 2A) sú označované písmenami F až N. Tieto písmenové označenia mávajú buď prefix 00, 01 alebo 02 (zvyčajne PROM-ky), alebo postfix 1, 2, A (zvyčajne EPROM-ky s nálepkou). Ale možno existovali aj iné varianty. PMD 85-3, ktoré nám prešli rukami, mali vždy osadené PROM 2616 a označenie bolo robené iba nálepkami. PROM BASICu PMD 85-3 sú označované číslicami 1 až 5. ROM sa umiestňujú v poradí, ako je to ukázané na obrázkoch.

Súbory s obsahom jednotlivých ROM majú príponu .bin. V názve súboru je postfix podľa písmenného/číselného označenia. Súbory s príponou .rmm predstavujú spojenie jednotlivých obsahov ROM do jedného súboru a sú určené pre Emulátor PMD 85.

Umiestnenie ROM BASICu v ROM Module 16kB (16x1KB)
Umiestnenie ROM BASICu v ROM Module 16kB (16x1KB)
Umiestnenie ROM BASICu v ROM Module 32kB (16x2KB)
Umiestnenie ROM BASICu v ROM Module 32kB (16x2KB)
Umiestnenie ROM BASICu v3 v ROM Module 32kB (16x2KB)
Umiestnenie ROM BASICu v3 v ROM Module 32kB (16x2KB)

PMD 85-1

BASIC-G V1.0 pre PMD 85-1. Spúšťa sa z Monitora príkazom BASIC G.

  • basic1.rmm
    • veľkosť 9kB (9x 1kB)
    • umiestnenie v ROM module od adresy 0000h
    • cieľové umiestnenie v pamäti od adresy 0000h

PMD 85-2

BASIC-G V2.0 pre PMD 85-2. Ak je ROM Modul s BASICom zasunutý, po zapnutí počítača alebo po Resete sa spustí automaticky.

Oproti predošlej verzii BASICu V1.0 obsahuje BASIC V2.0 mnoho zmien:

  • číslo riadku môže byť iba v intervale <0,32769>
  • v jednom riadku môže byť viac grafických príkazov
  • premenné X a Y je možné používať, ako bežné premenné, aj keď sa používajú grafické príkazy
  • goniometrické funkcie sa počítajú presne na plných 6 až 7 desatinných miest
  • prepínanie medzi počítaním v stupňoch (DEG) alebo v radiánoch (RAD)
  • príkaz MONIT bol nahradený stlačením Shift+RCL
  • riadky programu dlhšie ako 48 znakov sa vypíšu do dvoch riadkov
  • možnosť zmeniť dĺžku vypisovaného riadku
  • možnosť nastavenia miesta pre výpis textu na obrazovku pomocou príkazu PRINT AT
  • možnosť nastavenia farby/spôsobu zobrazovania pomocou príkazov PEN a INK namiesto POKE
  • možnosť pozastaviť vykonávanie programu a výpisu textu pomocou klávesu Shift
  • možnosť zápisu celých čísel v šestnástkovej sústave
  • možnosť jednoduchej ochrany programu proti prezeraniu a kopírovaniu


  • basic2.rmm
    • veľkosť 9kB (9x 1kB)
    • umiestnenie v ROM module od adresy 0000h
    • cieľové umiestnenie v pamäti od adresy 0000h

PMD 85-2A

BASIC-G V2.A pre PMD 85-2A. Ak je ROM Modul s BASICom zasunutý, po zapnutí počítača alebo po Resete sa spustí automaticky.

Oproti predošlej verzii BASICu V2.0 obsahuje BASIC V2.A drobné zmeny:

  • využíva rozšírenú pamäť 9000h-9FFFh a 0BE00-0BFFFh
  • zápisník BASICu G je presunutý z adresy 5E00h na 0BE00h
  • voľná pamäť pre program je predĺžená o 4,5kB na 19kB
  • oblasť pre reťazce je presunutá z adresy 6000h na 9000h


  • basic2A.rmm
    • veľkosť 9kB (9x 1kB)
    • umiestnenie v ROM module od adresy 0000h
    • cieľové umiestnenie v pamäti od adresy 0000h

PMD 85-3

BASIC-G V3.0 pre PMD 85-3. Ak je ROM Modul s BASICom zasunutý a nie je pripojená disketová jednotka PMD 32, po zapnutí počítača alebo po Resete sa spustí automaticky.

Oproti predošlej verzii BASICu V2.0 obsahuje BASIC V3.0 mnohé zmeny:

  • využíva pamäť RAM v oblasti 8000h-0BBFFh
  • oblasť pre reťazce je presunutá z adresy 6000h na 9E00h
  • zápisník BASICu G je presunutý z adresy 5E00h na 0AE00h
  • oblasť pre načítanie 1kB ROM z ROM Modulu je presunutá z adresy 7000h na 0B000h
  • voľná pamäť pre program je až 30,5kB
  • rozšírený príkaz BEEP, ktorým je možné generovať tóny rôznej výšky a dĺžky
  • nové príkazy WINDOWA a WINDOWG pre definovanie grafických a textových okien
  • nové príkazy GCLEARA a GCLEARG pre zmazanie definovaných grafických a textových okien
  • nový príkaz REN na prečíslovanie riadkov programu
  • rozšírený príkaz NEW pre zmazanie a obnovenie časti programu


  • basic3.rmm
    • veľkosť 10kB (5x 2kB)
    • umiestnenie v ROM module od adresy 0000h
    • cieľové umiestnenie v pamäti od adresy 0000h (9kB) a 0B800h (1kB)

ROM Modul

Existovalo niekoľko verzií DPS ROM Modulu. V modeloch PMD 85-1, 2 a 2A sa najčastejšie objavovali verzie 16x1kB. 16x2kB veľmi zriedka. V PMD 85-3 už boli iba 16x2kB verzie ROM Modulu, ale DPS bola odlišná od 16x2kB DPS pre predošlé modely (viď. obrázky vyššie).


Consul 2717

Didaktik Alfa

Maťo