Emulator organizera Elektronika MK-87
Wersja programu 06, ostatnie uaktualnienie 2021/12/21
mk87emsr.zip - teksty źródłowe programu w Delphi
mk87emex.zip - skompilowana wersja programu
Sposób użycia: rozpakować pliki do pustego katalogu a następnie uruchomić program mk87.exe
![Zrzut ekranu emulatora MK-87](mk87emu1.png)
![Okno debugera emulatora MK-87](mk87emu2.png)
- Pliki rom.bin i ram.bin zawierają odpowiednio obrazy pamięci ROM i RAM.
Są załadowywane po starcie programu.
Po zakończeniu programu zapisywana jest na dysk zaktualizowana wersja pliku ram.bin.
Brakujący plik ram.bin jest odtwarzany, ale musi wtedy zostać zainicjowany klawiszem F8.
- Emulator może być obsługiwany myszą lub z klawiatury rosyjskojęzycznej.
Specjalne funkcje klawiszy:
Escape С
Del СК
Ctrl-+ П+
Ctrl-- П-
Ctrl-Del СП
Ctrl-Enter П->X
lewa i prawa strzałka
Ctrl+strzałki = czarne strzałki
Ctrl-P Phonebook
Ctrl-N Notepad
Ctrl-T Table
Enter <>
Home ВВ
Insert ВН
Backspace УД
End СИ
F8 równoczesne wciśnięcie klawiszy [СИ]+[С]+[СК],
inicjuje zawartość pamięci RAM
F7 klawisze [СИ]+[СК]+[4], wyjawia hasło
F6 klawisze [С]+[СК]+[К], wyjawia autora programu
F5 klawisze [С]+[СК]+[Н]
F3 wstrzymuje wykonywanie programu i wywołuje okno debugera
Panel deasemblera
- Przy wywołaniu okna debugera początkowy adres deasemblacji jest zgodny z zawartością rejestru Program Counter.
Można go zmienić klikając na adres w pierwszym wierszu i wpisując nową wartość.
Dozwolony zakres: $0000..$1FFE dla obszaru ROM, oraz 28000..$1FFE+RamSize dla obszaru RAM.
Nowa wartość musi być potwierdzona klawiszem Enter.
- Po kliknięciu na zdeasemblowaną instrukcję można wpisać nową.
Podobnie jak w przypadku adresu, konieczne jest wciśnięcie klawisza Enter żeby zmiany zostały przyjęte.
Po zakończeniu programu zapamiętywane są tylko modyfikacje zawartości pamięci RAM, natomiast wszelkie zmiany dokonane w obszarze ROM są utracone.
Panel edytora binarnego
- Edytor binarny pozwala na przeglądanie/edycję zawartości pamięci RAM.
- Można zmienić adres początkowy oraz zawartość pamięci klikając na nie i wpisując nową wartość.
Zmiany muszą być potwierdzone klawiszem Enter.
Panel rejestrów
- Kliknięcie na zawartość rejestru umożliwia wpisanie nowej wartości.
Zmiany muszą być potwierdzone klawiszem Enter.
- Ostatni wiersz pokazuje stan bitów TNZVC rejestru PSW.
Sterowanie programem
- Zamknięcie okna debugera wznawia wykonywanie programu bez żadnego śledzenia.
- Wciśnięcie klawisza [Run] w grupie Single step powoduje wykonanie jednego rozkazu maszynowego.
- W celu wykonania określonej ilości rozkazów maszynowych należy wpisać żądaną wartość (dziesiętnie) do pola Number of steps a następnie wcisnąć przyporządkowany klawisz [Run].
- Panel Breakpoint umożliwia zdefiniowanie pułapki, tzn. wartości licznika programu, której osiągnięcie powoduje wstrzymanie wykonywania programu i ponowne wywołanie okna debugera.
Niektóre parametry emulatora można dostosować do indywidualnych potrzeb modyfikując plik mk85m.ini za pomocą dowolnego edytora tekstowego.
Opis zawartości tego pliku:
CpuSpeed=1000
- Ta wartość określa prędkość emulowanego procesora (ilość instrukcji wykonywanych co 10ms).
RamSize=2048
- Ta wartość definiuje fizyczny rozmiar emulowanej pamięci RAM.
Nie ma znaczenia dla aktualnej wersji oprogramowania zakładającego stały rozmiar 2kB, mimo że sprzęt obsługuje do 48kB.
Po każdej zmianie konieczne jest skasowanie pliku ram.bin (w celu uniknięcia ostrzeżenia o próbie odczytu poza końcem pliku).
WatchMode=0
- Ta wartośc wybiera tryb wyświetlania wbudowanego zegarka:
0 - godziny, minuty, sekundy
1 - godziny, minuty, dzień miesiąca
2 - tryb kalendarza: dzień, miesiąc, rok
Inne wartości wyłączają zegarek.
Radix=16
- Ta wartość określa podstawę systemu liczbowego używaną przez debuger (16 dla szesnastkowego, 8 dla oktalnego).
W celu usunięcia emulatora wystarczy skasować podkatalog w którym został zainstalowany.
Program nie dokonuje w systemie żadnych zmian poza swoim podkatalogiem.