Emulator kalkulatora FX-7500G
Program wymaga komputera PC z systemem Windows.
Wersja programu 05, ostatnie uaktualnienie 2014/03/02
fx7500es.zip - teksty źródłowe programu w Delphi 5
fx7500em.zip - skompilowana wersja programu
Sposób użycia: rozpakować pliki do pustego katalogu a następnie uruchomić program fx7500g.exe
fc1000em.zip - zestaw plików zamieniających emulator kalkulatora naukowego FX-7500G w emulator kalkulatora finansowego FC-1000
Sposób użycia: Zastąpić pliki face.bmp, rom1.bin, keymap.dat w katalogu w którym został zainstalowany program.
fx7500el.zip - wersja dla środowiska Lazarus (wypróbowana pod Ubuntu Linux oraz Windows)
- Następujące pliki zawierają obrazy pamięci i są załadowywane przy starcie programu:
rom0.bin - wewnętrzna pamięć procesora ROM 18kB
rom1.bin - zewnętrzna pamięć ROM 32kB
ram.bin - pamięć RAM 8kB
register.bin - wewnętrzne rejestry procesora
- Po zakończeniu programu są zapisywane na dysk zaktualizowane wersje plików
ram.bin
i register.bin
.
Brakujące pliki są odtwarzane, ale muszą wtedy zostać zainicjowane przyciskiem F8.
- Emulator może być obsługiwany myszą lub z klawiatury.
Specjalne funkcje klawiszy:
Home: SHIFT
End: ALPHA
Esc: AC
Delete: DEL
Enter: EXE
F3: wstrzymuje wykonywanie programu i wywołuje okno debugera
F8: inicjowanie zawartości pamięci RAM (odpowiada przyciskowi z tyłu)
Funkcjonują również klawisze sterujące kursorem.
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ść, która 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.
Uwagi:
- nie można używać etykiet ani wyrażeń arytmetycznych
- akceptowane są liczby szesnastkowe (poprzedzone prefiksem &H) oraz dziesiętne
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.
- Pierwszy wiersz pokazuje stan sześciu najbardziej znaczących bitów rejestru Flag.
Ich stan można również modyfikować.
Panel rejestrów głównych (main register file)
- Kliknięcie na zawartość rejestru umożliwia wpisanie nowej wartości.
Zmiany muszą być potwierdzone klawiszem Enter.
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].
Uwaga: przejście do debugera gdy symulowany mikrokomputer jest bezczynny zwykle trafia w adres PC=&H811F, gdzie procesor oczekuje na przerwanie od timera.
Próba pracy krokowej w tym stanie nie przynosi żadnych efektów.
- 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 fx7500g.ini za pomocą dowolnego edytora tekstowego.
Opis zawartości tego pliku:
OscFreq=2000
- Ta wartość definiuje częstotliwość zegara emulowanego procesora.
SelfTest=0
- Ta wartość definiuje czas trwania zwarcia styków TEST na płytce drukowanej od momentu startu aplikacji (jednostką czasu jest ok. 30-60ms).
Dla normalnej pracy należy wpisać wartość 0.
Dla uruchomienia wbudowanej procedury diagnostycznej zalecana jest wartość 20.
W celu usunięcia emulatora wystarczy skasować podkatalog w którym został zainstalowany.
Program nie dokonuje w systemie żadnych zmian poza swoim podkatalogiem.
- W programie użyty został darmowy komponent ThreadedTimer, którego autorem jest Carlos Barbosa.