MONX
====

V. Pohlers, September 2026



monx ist die Erweiterung des ACC-3.1-Monitors um Funktionen zur Arbeit mit SD (und mehr).
Diese Erwriterung belget den Speicherplatz 800h..FFFh und einige Systemzellen ab 1880H.

Beschreibung s. monx_interface_v110.txt



Damit diese Erweiterungen auch mit anderen Monitoren genutzt werden knnen, bietet es sich an,
diese auf andere Adressen zu linken. Das betrifft auch die genutzten Speicherzellen. Zum Glck
werden diese nicht direkt angesprochen, sondern ber einen Funktionsaufruf berechnet.

monx_E000.z80		ist MONX 1.1.0 fr Adresse E000...E7FF
			die Speicherzellen liegen in diesem Bereich

Diese Monitorerweiterung wird im MON3.1-Monitor geladen. Dann kann der Monitor 
gewechselt werden, z.B. MON SCCH 10/88.

Die Monitorerweiterung monx_E000 steht nun im SCCH-Monitor zur Verfgung.

ABER: Damit Programme ihn auch nutzen knnen, mssen die Programme natrlich
darauf vorbreitet werden, statt der originalen Systemrufadressen auf 800h ff nun andere
Adressen zu nutzen.
Dafr muss man die Programme mit der include-Datei

	include monx_inc.asm
	call	xinit		; ret A=FF, NZ, wenn keine Monitoerweiterung gefunden

assemblieren. Diese enthlt statt einfacher EQU's einen kleinen Sprungverteiler,
der je nach vorhandener Monitorerweiterung auf 800h, oder E000h zeigt oder - wenn 
gar keine Monitorerweiterung vorhanden ist, Fehler ausgibt.

Die Routine xinit ist zwingend beim Programmstart o.. einzubinden, mindestens vor dem
ersten Aufruf einer MONX-Systemroutine.
Ein Test auf eine vorhandene Monitorerweiterung durch den Vergleich, ob auf 0FFEh "pi" steht, 
ist leider nicht mehr allgemein mglich und muss auskommentiert werden. Stattdessen liefert 
xinit den Wert FF zurck, wenn keine Monitorerweiterung gefunden wurde, sonst 0.


Was bringt das nun?
-------------------

1.	Die SD-Karte kann unter allen Monitoren genutzt werden
	Die Zusatzkommandos im MONX sind unverndert dabei

2.	Programme, die mit monx_inc arbeiten (oder umgeschrieben wurden), laufen unter
	allen Monitoren

3.	die Monitorerweiterung kann auf eine beliebige x000h oder x800h-Adresse kompiliert 
	werden, E000 ist mein derzeitiger Favorit.

	
und ...

4.	statt des originalen MONX-Codes kann man auch andere Treiber laden, die beispiels-
	weise VDIP-USB statt SD-Karte nutzen. Solange sich die MONX-Systemkommandos wie
	die originalen Versionen verhalten, sollten Programme (siehe 2.) nun nicht mehr
	nur am picoAC1 laufen, sondern auch z.B. im JKEMU oder AC-2010.
	
	Ein solcher Treiber ist in Arbeit (monx_vdip_E000.z80)
	
	
	
	
	
	8 Bit reichen
	Volker