[ Zu JKCEMU ]


JKCEMU als Kramer-MC-Emulator

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

Screenshot der Kramer-MC-Emulation

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


Monitorprogramm, Assembler und Editor sind in der JKCEMU-Hilfe beschrieben.

3. Speicheraufteilung

0000-03FF Monitorprogramm
0400-07FFDebugger
0800-0BFFReassembler
0C00-0FFFSystem-RAM
1000-3FFF RAM, Programmspeicher für BASIC
4000-7FFF RAM, Textspeicher für Editor
8000-AFFFBASIC-Interpreter
B000-BFFFRAM
C000-C3FF Editor
C400-DFFF Assembler
E000-FBFFRAM
FC00-FFFF Bildwiederholspeicher


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.

© 2009-2010 Jens Müller