
;
; (C) 1990 by Jrgen Weber
;

EXTRN bios88ret:far,z80ini:far,ctrl_break_req:far
EXTRN interrupt_request:far,nmi_irq:far


; CS: EMULATOR CODE
; DS,ES: Z80 CODE
;
;
; Z80EMU als seperates Modul:
;

; FAR Modul, benoetigt FAR Modul PORTIO


;
; Eintritt bei PUBLIC FAR bios88ret durch JMP FAR (KEINE CALLS)
;
;  SS:SP   Stack, >= 16 Words
;  DS,ES   64K Segment freier Speicher fr Z80

;  SI      zeigt auf Speicherzelle, ab der Z80 ausfhren soll
;  AL      A Register
;  BX      HL
;  CX      BC
;  DX      DE

;

; Ausgang bei Code 76 HALT : CALL FAR prg_exit
;         bei Code EDED    : JMP  FAR bios88, AL = Folgebyte hinter EDED
; es werden bei beiden KEINE Register auf dem Stack gesichert
; nach Aufruf von ctrl_break_req wird beim n„chsten Befehlsholezyklus
; ebenfalls prg_exit aufgerufen

; ein Aufruf von nmi_irq bewirkt eine non-maskerable Interrupt Behandlung
; ein Aufruf von interrupt_request bewirkt eine Interrupt Behandlung
; des Z80 beim Befehlsholezyklus
; on entry: al contains a byte that
;   if im0 is interpreted as opcode
;   if im1 is ignored
;   if im2 is used (bit 0..6) together with I as index to introutine

; note: zsim supports only one-byte opcodes with im0

