+---------------------------------------------------------------------------+
|               I2Z - INTEL to ZILOG Source Code Translator                 |
|               erkennt auch die Makros aus der Z80.LIB !!!                 |
+---------------------------------------------------------------------------+

Kur(t)zanleitung
================
I2Z.EXE luft unter DOS bzw. in der DOS-Box (getestet mit Win2k). In einem
Verzeichnis liegen I2Z.EXE und der 8080-Assembler-Code (z.B. old.asm).
Dann startet der Befehl "I2Z old.asm>new.z80" die bersetzung!
Das Ergebnis sollte mit Z80ASM (o..) assemblierfhig sein.
Bitte Unterschiede zwischn verschiedenen Assemblern beachten (ASide weicht ab).

Genereller Hinweis
==================
Es ist ratsam, den Code vor der bersetzung zu testen. Liest ihn z.B. RMAC
fehlerfrei ein, so bestehen gute Voraussetzungen, dass auch die bersetzung
klappt.

Version 1.0 (11.7.09): Einschrnkungen an das Eingabeformat
===========================================================
1. Mnemonics in Kleinbuchstaben werden nicht erkannt:

	mov a,b ; wird nicht erkannt
	MOV a,b ; wird erkannt

Abhilfe schafft das beiliegende Programm UPPER. Es bernimmt
Kommentare unverndert und ersetzt ansonsten Kleinbuchstaben
durch Grobuchstaben. LOWER ist das Gegenstck.
-----------------------------------------------------------------------------
2. Mnemonics am Beginn einer Zeile werden nicht erkannt:

MOV A,B 	; wird nicht erkannt
	MOV A,B ; wird erkannt

Abhilfe: Tabulatoren oder Leerzeichen einfgen.
-----------------------------------------------------------------------------
3. Mnemonics direkt nach einem Doppelpunkt werden nicht erkannt:

LABEL:MOV A,B 		; wird nicht erkannt
LABEL:	MOV A,B 	; wird erkannt

Abhilfe: Tabulatoren oder Leerzeichen einfgen, ggf. Zeilenwechsel
-----------------------------------------------------------------------------
4. Doppelregister stehen im Quelltext eventuell verkrzt
   (B statt BC, D statt DE und H statt HL nach DADC, DSBC, ):

Aus 	DADC    B
wird	ADC		HL,B 	; produziert Compilerfehler
statt   ADC     HL,BC   ; wre in Ordnung

Abhilfe: bisher noch Korrektur per Hand
-----------------------------------------------------------------------------


Der I2Z-Baukasten und was man dazu unter Windows braucht:
===========================================================
Die Quellen enthalten Code, der ursprnglich von J.Sievers
(1989: cplhh.Hanse.de bzw. 2007 nadhh.Hanse.de) stammt und
von mir vor allem 2009 berarbeitet wurde. Es gehrt zum
guten Stil, bei eigenen Anpassungen die Hinweise im Quelltext
zu belassen.

1. flex++/bison++ for Win32, http://www.kohsuke.org/flex++bison++/
2. Fr den C-Compiler mingw, http://www.mingw.org/
3. Das Paket der Lexer-Dateien (I2Z.L, UPPER.L, LOWER.L)
4. Falls man das Ergebnis gleich berprfen mchte, bietet sich 22NICE an.
   Mit den enthaltenen GENCOM kann man sich aus den CP/M-Programmen RMAC,
   Z80ASM etc. lauffhige Varianten fr die DOS-Box erzeugen.
5. Meine Empfehlung fr den Entwicklungszyklus ist der Programmeditor
   PSPad (http://www.pspad.com/de/). Es lassen sich zu jedem Quelltyp
   Compiler- (oder Assembler-) Aufrufe einbinden, die auf Tastendruck
   gestartet werden. Die angepassten Dateien zu PSPad liegen auch im Paket.
6. Wenn man mit dem leben kann, was I2Z derzeit bereits leistet, dann sind
   die Lexer-Quellen (.L-Dateien) verzichtbar und man greift auf die aus-
   fhrbaren Versionen I2Z.EXE, UPPER.EXE und LOWER.EXE aus dem Paket zurck.
7. Unter Linux wird das Bauen der Lexer einfacher, da der C-Compiler stets
   dazu gehrt. Meines Wissens nach gibt es aber keine so schne Mglichkeit,
   die CP/M-Programme auf gleichem Level zu starten (Punkt 4).
   Zu Punkt 1 die Linux-Version nehmen und Punkt 2 weglassen :-)
-----------------------------------------------------------------------------
Bei Fragen, Anregungen oder Fehlermeldungen bitte wenden an: prof80@prof80.de
Viel Spass damit!
Stuttgart, 11.7.09 Wolfram Kurtz
