Hinweise zur Emulation des Kramer-MC

Unter Kramer-MC versteht man den Selbstbaucomputer, der in dem 1987 erschienenen Buch Praktische Mikrocomputertechnik von Manfred Kramer beschrieben ist.


1. Emulierte Hardware



1.1. Drucker

Es wird ein Drucker emuliert, indem JKCEMU die Betriebssystemaufrufe für Druckausgaben abfängt und die Daten an den aktuellen Druckauftrag anhängt. Diese Funktion ist jedoch standardmäßig deaktiviert und muss bei Bedarf in den Einstellungen eingeschaltet werden.

Der Hintergrund dieser Maßnahme ist, dass der logische Druckerkanal nach einem RESET auf den Bildschirm zeigt und das Monitorprogramm darüber auch noch die Startmeldung ausgibt. Ist das Abfangen der Druckausgaben aktiviert, wird somit mit jedem RESET ein Druckauftrag angelegt, der die kurze Startmeldung enthält. Um diese Unschönheit zu vermeiden, ist die Emulation des Druckers standardmäßig deaktiviert

2. Im ROM enthaltene Software



3. Speicheraufteilung

0000h-03FFh Monitorprogramm
0400h-07FFhDebugger
0800h-0BFFhReassembler
0C00h-0FFFhSystem-RAM
1000h-3FFFh RAM, Programmspeicher für BASIC
4000h-7FFFh RAM, Textspeicher für Editor
8000h-AFFFhBASIC-Interpreter
B000h-BFFFhRAM
C000h-C3FFh Editor
C400h-DFFFh Assembler
E000h-FBFFhRAM
FC00h-FFFFhBildwiederholspeicher


4. BASIC

JKCEMU bietet eine spezielle Unterstützung für das Speichern und Laden von BASIC-Programmen. Zum Speichern nutzen Sie bitte die Funktion BASIC-Programm speichern... im Menü Datei und speichern das Programm als Headersave-Datei mit dem Dateityp B.

Nur wenn Sie das BASIC-Programm so speichern, werden beim Laden des Programms die Systemzellen des BASIC-Interpreters richtig angepasst. In jedem anderen Fall können Sie zwar das BASIC-Programm laden, aber im Interpreter nicht richtig nutzen.

5. Sonstiges

5.1. JKCEMU-BASIC-Compiler

Der JKCEMU-BASIC-Compiler kann Programmcode für den Kramer-MC erzeugen, allerdings mit nachfolgend beschriebenen Einschränkungen.

5.1.1. Stack

Sie dürfen die Compiler-Option System-Stack verwenden nicht einschalten, da beim Starten eines Maschinencodeprogramms mit dem Kommando G<SADR> der Stack-Pointer den Wert 0000 hat und somit in den Bildwiederholspeicher hineinlaufen würde. Compilieren Sie immer mit der Option Eigener Stack-Bereich.

5.1.2. INKEY

Beim Kramer-MC, zumindest bei dem in JKCEMU integrierten Monitorprogramm, funktioniert die Tastaturstatusabfrage nicht richtig. Mit Ausnahme von Control-C (Abbruch) wird das Drücken einer Taste nicht erkannt. Aus diesem Grund funktioniert auch die INKEY-Funktion nicht bzw. nicht richtig.