Source file: /~heha/hs/kcemu/kcswberg.zip/DISK/CAOSFV.ASM

CAOSFVASM;	CAOS 3.4 - ROM F
;	Version V.24 / RS 232
;
;	Date: 11.06.1991  (c) by '#+$'
;
SIO	EQU 008H	;SIO PORT A
CTC	EQU 00CH	;SIO-CTC
; StrByte des Interface-Moduls
UMODL	EQU 1EEH	;M003 V24
 
	ORG 0F000H
 
PRESET:	JP PWRON	;>> POWER ON <<
	JP PV1		;DEFB NR
	JR PV2		;(ARGC)
ZEI0:	DEFB 0
	JR PV3		;REG. E
ZEI2:	DEFB 2
	JR PV4		;+IRM
ZEI4:	DEFB 4
	JP RCALL
	JP NEWOS	;>JUMP<
	JP PV5		;(ARGC)
	JP IRMON
	JP IRMOFF
 
PV6:	PUSH BC		;*** PV 6 ***
	CALL IRMON
	CALL PV2
	JR PV51
 
PV5:	PUSH BC		;*** PV 5 ***
	CALL IRMON
	CALL PV3
PV51: 	CALL IRMOFF
	POP BC
	RET
 
PV4:	PUSH AF		;*** PV 4 ***
	IN A,88H
	OR 4
	OUT 88H,A
	POP AF
	CALL PV3
SCROFF:	PUSH AF
	IN A,88H
	AND 0FBH
	OUT 88H,A
	POP AF
	RET
 
PV1:	PUSH HL		;*** PV 1 ***
	DI
	POP HL
	POP HL
	INC HL
	PUSH HL
	DEC HL
	DEC SP
	DEC SP
	EI
TABJP:	PUSH DE
	LD E,M
PV11:	LD D,0
	LD HL,(0B7B0H)
	PUSH AF
	ADD HL,DE
	ADD HL,DE
	POP AF
	LD E,M
	INC HL
	LD D,M
	EX DE,HL
	POP DE
PV1END:	EX (SP),HL
	RET
 
PV3:	SCF		;*** PV 3 ***
	DEFB 0EDH
PV2:	AND A		;*** PV 2 ***
PV21:	PUSH HL
	PUSH DE
	PUSH BC
	PUSH HL
	LD HL,POPS3
	EX (SP),HL
	PUSH HL
	PUSH DE
	JR C,PV11
	LD DE,(0B780H)
	JR PV11
 
IRMON:	POP BC		;*** IRM ON ***
	DI
	LD (IX+0BH),A
	IN A,88H
	SET 2,A
	OUT 88H,A
	LD (0B7CBH),SP
	LD SP,(0B7AEH)
OFFEND:	LD A,(IX+0BH)
	EI
	PUSH BC
	RET
 
IRMOFF:	POP BC		;*** IRM OFF ***
	DI
	LD SP,(0B7CBH)
	LD (IX+0BH),A
	IN A,88H
	RES 2,A
	OUT 88H,A
	JR OFFEND
 
INTB:	PUSH HL		;UP 16 INTB
	LD HL,(0B7BBH)
	JR TABJP
 
OCHRP:	LD A,(0B7D9H)
OCHR:	PUSH HL		;UP 24 OCHR
	LD HL,(0B7B9H)
	JR TABJP
 
RCALL:	EX (SP),HL	;*** RCALL ***
	LD E,M
	INC HL
	LD D,M
	INC HL
	EX DE,HL
	ADD HL,DE
	EX DE,HL
	EX (SP),HL
	PUSH DE
	RET
 
;*** Switch & Jump ***
 
	DEFW 7F7FH	;>SWITCH<
	DEFM 'SWYTCH'
	DEFB 1
	;
	LD D,E
	CALL MODU
MODOUT:	;Ausgabe 3 Bytes L,H,D
	CALL LHSPCE
	LD A,H
	CALL AHSPCE
	LD A,D
	CALL AHEX
	JP CRLF
 
MODU:	;VR:AF,H,BC,(D)	;UP 26 MODU
	LD H,0B8H
	LD C,80H
	LD B,L
	CP 2
	JR NC,MDL2
	LD D,M
MDL1:	IN H,(C)
	RET
 
MDL2:	LD M,D
	LD B,L
	INC B
	IN A,88H
	DJNZ NRAM0
	AND 0F5H
	BIT 0,D
	JR Z,RAM01
	SET 1,A
RAM01:	BIT 1,D
	JR Z,OUTB
	SET 3,A
OUTB:	OUT 88H
	JR MDL1
 
NRAM0:	DJNZ NIRM
	BIT 0,D
	RES 2,A
	JR Z,OUTB
	SET 2,A
	JR OUTB
 
NIRM:	DJNZ NROM
	RLA
	LD H,D
	RR H
	RRA
	JR OUTB
 
NROM:	LD B,L
	OUT (C),D
	JR MDL1
 
	DEFW 7F7FH	;>JUMP<
	DEFM 'JUMP'
	DEFB 1
	RET Z
	LD A,L
	;
JUMP:	OR A		;UP 27 JUMP
	JR Z,SYS
	LD B,A
	LD C,80H
	IN A,(C)
	INC A
	JP Z,ERRM
	LD D,0FFH
	CALL MOSW2
	XOR A
	LD B,(IX+4)
	LD L,B
	LD M,A
	JR SYS1
 
SYS:	LD C,88H
	IN A,(C)
	SET 0,A
SYS1:	DI
	JP 0B7B4H
 
;====== POWER ON =======================
;(Einspr}nge PWRON,NEWOS,BYE)
 
PWRON:	DI
	LD SP,1C4H
	LD A,3EH
	OUT 88H
	CALL MODSW1
	LD E,(IX+4)
	XOR A
	LD B,0E0H
	LD H,A		;Clear Memo
	LD L,A
PWRO1:	LD M,A
	INC L
	JR NZ,PWRO1
	INC H
	DJNZ PWRO1
	LD C,80H	;Modul off
	LD A,E
PWRO2:	CP B
	JR Z,PWRO3
	OUT (C),L
PWRO3:	DJNZ PWRO2
	LD B,E
NEWOS:	DI
	LD (IX+4),B
	CALL SYSI	;Systeminit
	XOR A
PWRO4:	LD (0B79BH),A	;Windows
	CALL WCOPY
	INC A
	CP 0AH
	JR C,PWRO4
	CALL MODSW
 
BYE:	LD SP,1C4H	;UP 0D BYE
	LD A,1EH
	OUT 88H		;init.MEM on !!
	CALL SYSI
	JR MEN1
 
	DEFW 7F7FH	;>MENU<
	DEFM 'MENU'
	DEFB 1
	;
	POP HL
MEN1:	CALL OSTR
	DEFB 0CH
	DEFB 0AH
	DEFM '* HC-CAOS 3.4 *'
	DEFB 0
MENU:	LD HL,0C000H	;UP 46 MENU
	LD C,L
	LD B,L
MEN2:	CALL CRLF
MEN3:	CALL BRKT
	JR C,LOOP
	LD A,(IX+9)
MEN4:	CPIR
	JP PO,LOOP
	CPI
	JR NZ,MEN4
	CALL OCHRP
MEN5:	LD A,M
	CP 2
	JR C,MEN2
	CP 30H
	JR C,MEN6
	CP 60H
	JR NC,MEN6
	CALL OCHR
	INC HL
	DEC BC
	JR MEN5
MEN6:	CALL CLLN
	JR MEN3
 
NLP1:	POP HL		;LOOP
NLP2:	CALL ERRM
LOOP0:	LD A,0BH
	CALL C,OCHR
	CALL CLLN
LOOP:	CALL OCHRP	;UP 12 LOOP
	CALL INLIN
	JR C,LOOP0	;Brk
	INC DE
	LD A,(DE)
	CP 21H
	JR C,LOOP
	CALL MSUCH
	JR NC,NLP2
	PUSH HL
	CALL GARG
	JR C,NLP1
	LD HL,LOOP
	EX (SP),HL
	LD A,M
	INC HL
	PUSH HL
	AND A
	CALL LARG
	CALL Z,SCROFF
	AND A
	RET
 
MSUCH:	LD HL,0C000H
	LD B,L
	LD C,L
	LD A,(IX+9)
 
ZSUCH:	CPIR		;UP 1D ZSUCH
	SCF
	CCF
	RET PO
	CPI
	JR NZ,ZSUCH
	PUSH AF
	PUSH DE
ZS1:	LD A,(DE)
	CP 21H
	JR C,ZS3
	INC DE
	CPI
	JR Z,ZS1
ZS2:	POP DE
	POP AF
	JR ZSUCH
ZS3:	LD A,M
	CP 2
	JR C,ZS4
	CP 20H
	JR C,ZS2
	INC HL
	JR ZS3
ZS4:	POP BC
	POP AF
	SCF
	RET
 
WAIT1:	DEC A
	RET Z
	PUSH AF
	POP AF
	JR WAIT1
 
CBNRO:	CALL CLLN
BNROST:	LD A,(IX+2)
AHOSTR:	CALL AHEX
	;
OSTR:	EX (SP),HL	;UP 23 OSTR
	CALL ZKOUT
	EX (SP),HL
	RET
 
NORM:	CALL NIN	;UP 13 NORM
	;
NOUT:	LD HL,ZEI0	;UP 20 NOUT
	;
SOUT:	PUSH HL		;UP 1E SOUT
	LD HL,(0B7B9H)
	EX (SP),HL
	LD (0B7B9H),HL
	POP HL
	RET
 
NIN:	LD HL,ZEI4	;UP 21 NIN
	;
SIN:	PUSH HL		;UP 1F SIN
	LD HL,(0B7BBH)
	EX (SP),HL
	LD (0B7BBH),HL
	POP HL
	RET
 
BRKT:	CALL KBDS	;UP 2A BRKT
BRKT1:	CP 3
	SCF
	RET Z
	CP 13H
	SCF
	CCF
	RET NZ
	CALL RESFL
	CALL KBD1
	JR BRKT1
 
KBD:	BIT 6,(IX+8)	;UP 4 KBD
KBD1:	PUSH HL
	PUSH DE
	PUSH BC
	JR NZ,KBD8
KBD2:	CALL CUCP
KBD3:	CALL KBDZ
	JR NC,KBD3
	CALL CUCP
KBD4:	BIT 5,(IX+8)
	LD D,A
	CALL NZ,RCLICK
	LD A,D
	LD HL,0B7A2H
	BIT 4,M
	CALL NZ,CRT
	JR NZ,KBD2
KBD5:	CP 1BH
	JR NZ,KBD6
	SET 4,M
	JR KBD2
 
KBD6:	CP 0F1H
	JP C,POPS3
	SET 6,(IX+8)
	SUB 0F0H
	LD B,A
	LD HL,0B900H
KBD7:	LD A,M
	AND A
	INC HL
	JR NZ,KBD7
	DJNZ KBD7
	JR KBD9
 
KBD8:	CALL BRKT
	JR C,KBD10
	LD HL,(0B7D1H)
KBD9:	LD A,M
	INC HL
	LD (0B7D1H),HL
	AND A
	JP NZ,POPS3
KBD10:	RES 6,(IX+8)
	JR KBD2
 
;*** CCP ***
 
INLIN:	CALL INTB
	CALL OCHR
	CP 0DH
	JR Z,ILN1
	CP 3
	JR NZ,INLIN
	SCF
ILN1:	PUSH AF
	CALL CRLF
	LD DE,(0B7A0H)
	CP D
	JR NZ,ILN2
	LD A,(0B79FH)
	LD D,A
ILN2:	DEC D
	PUSH HL
	CALL DABR
	EX DE,HL
	POP HL
	POP AF
	RET
 
HLHX:	LD A,H		;UP 1A HLHX
	CALL AHEX
LHSPCE:	LD A,L
AHSPCE:	CALL AHEX
	;
SPAC:	LD A,20H	;UP 2B SPAC
SPAC0:	JP OCHR
 
ERRM:	CALL OSTR	;UP 19 ERRM
	DEFM 'Error'
	DEFB 7
	DEFB 0
	;
CRLF:	CALL OSTR	;UP 2C CRLF
	DEFB 0DH
	DEFB 0AH
	DEFB 0
	RET
 
HOME:	LD A,10H	;UP 2D HOME
	JR SPAC0
 
CLLN:	LD A,2
	JR SPAC0
 
AHEX:	PUSH AF		;UP 1C AHEX
	RRA
	RRA
	RRA
	RRA
	CALL AHEX1
	POP AF
AHEX1:	AND 0FH
	ADD 90H
	DAA
	ADC 40H
	DAA
	JR SPAC0
 
HLDE:	CALL HLDE1	;UP 1B HLDE
HLDE1:	CALL HLHX
	EX DE,HL
	RET
 
RHEX0:	INC DE
	;
RHEX:	LD A,(DE)	;UP 18 RHEX
	CP 20H
	JR Z,RHEX0
	XOR A
	LD HL,0B798H
	LD M,A
	DEC HL
	LD M,A
	DEC HL
	LD M,A
RH1:	LD A,(DE)
	OR A
	RET Z
	CP 20H
	RET Z
	SUB 30H
	RET C
	CP 0AH
	JR C,RH2
	SUB 7
	AND 0DFH
	CP 0AH
	RET C
	CP 10H
	CCF
	RET C
RH2:	INC DE
	INC M
	INC HL
	RLD
	INC HL
	RLD
	DEC HL
	DEC HL
	JR Z,RH1
	DEC DE
	SCF
	RET
 
GARG:	LD BC,0B781H	;UP 22 GARG
	XOR A
	LD (BC),A
	INC DE
GARG1:	CALL RHEX
	RET C
	LD A,M
	OR A
	RET Z
	INC HL
	INC BC
	LD A,M
	LD (BC),A
	INC HL
	INC BC
	LD A,M
	LD (BC),A
	LD L,81H
	INC M
	LD A,M
	ADD 0F5H
	JR NC,GARG1
	RET
 
;*** Systeminit ***
 
SYSI:	LD HL,KCTAB0
	LD D,5+2	;+2:V.24-Interf.
	CALL INIMEI
	LD DE,0B799H
	LD BC,STBL1
	LDIR
	LD E,0D8H
	LD C,STBL2
	LDIR
	LD A,1
	;
SIXD:	DI		;UP 31 SIXD
	LD HL,ISRTAB
	LD (0B7D7H),A
	LD I,A
	LD E,0E4H
	LD D,A
	LD BC,0CH
	LDIR
	PUSH DE
	LD E,(IX+4)
	POP IX
	LD (IX+4),E
	LD (IX+8),88H
	LD (IX+9),7FH
	LD (IX+0EH),KTAB
	LD (IX+0FH),0FDH
	LD D,4
	LD HL,KCTAB1
	CALL INIME
	LD HL,103H
	LD (0B800H),HL
SIXD2:	LD A,(IX+7)
	AND 1FH
	LD (IX+7),A
SIXD3:	LD A,0FFH
	OUT 89H
	LD (IX+5),0
	LD (IX+6),0B7H
	EI
	JP RESFL
 
INIEA:	PUSH BC		;UP 43 INIEA
	LD C,M
	INC HL
	LD B,M
	INC HL
	OTIR
	POP BC
	RET
 
INIMEI:	IM 2
INIME:	CALL INIEA	;UP 44 INIME
	DEC D
	JR NZ,INIME
	RET
 
;*** Tape-Routinen ***
 
	DEFW 7F7FH	;>SAVE<
	DEFM 'SAVE'
	DEFB 1
	;
	CP 2
	JP C,ERRM
SAVE1:	CALL OSTR
	DEFM 'Name :'
	DEFB 0
	CALL INLIN
	RET C
	LD HL,6
	ADD HL,DE
	;
SAVE:	LD DE,0B700H	;UP 36 SAVE
	LD BC,11
	LDIR
	XOR A
	LD (DE),A
	LD HL,0B781H
	LD E,10H
	LD C,15H
	LDIR
	CALL NBWI
	RES 5,(IX+7)
	LD HL,(0B782H)
SAVE0:	LD (IX+5),L
	LD (IX+6),H
	LD DE,80H
	ADD HL,DE
	LD DE,(0B784H)
	SBC HL,DE
	CCF
	JP C,NBW1
	CALL NBW
	JP C,CRO0
	JR SAVE0
 
LARG:	LD BC,(0B786H)	;UP 15 LARG
	LD DE,(0B784H)
	LD HL,(0B782H)
	LD A,(0B781H)
	RET
 
NBL1:	CALL OSTR
	DEFM '???'
	DEFB 0
NBL2:	JP CMBI		;END CSRO
 
	DEFW 7F7FH	;>VERIFY<
	DEFM 'VERIFY'
	DEFB 1
	;
VERIFY:	RES 0,(IX+7)	;UP 11 VERIFY
	JR LOAD0
 
	DEFW 7F7FH	;>LOAD<
	DEFM 'LOAD'
	DEFB 1
	;
LOAD:	SET 0,(IX+7)	;UP 10 LOAD
	;
LOAD0:	CALL IMBII
	CALL NBR
	RES 5,(IX+7)
LOAD1:	JR C,NBL2	;>CSRO
	LD HL,0B700H
	LD B,11
LOADN:	LD A,M
	INC HL
	CALL CRT
	DJNZ LOADN
	CALL SPAC
	BIT 0,(IX+7)
	JR Z,LOAD4
	LD L,10H
	LD A,M
	SUB 2
	CP 8		;A=0..7
	JR NC,NBL1
	RLCA
	RLCA
	LD H,A
	LD A,(IX+7)
	AND 3
	OR H
	LD (IX+7),A
	LD BC,(0B715H)
	LD DE,(0B713H)
	LD HL,(0B711H)
	LD A,(0B781H)
	AND A
	JR Z,LOAD3
	PUSH BC
	LD BC,(0B782H)
	ADD HL,BC
	EX DE,HL
	ADD HL,BC
	EX DE,HL
	BIT 3,(IX+7)
	JR NZ,LOAD2
	EX (SP),HL
	ADD HL,BC
	EX (SP),HL
LOAD2:	POP BC
LOAD3:	LD (0B782H),HL
	LD (0B784H),DE
	LD (0B786H),BC
	CALL HLDE
LOAD4:	CALL CRLF
	EX DE,HL	;Ziel=DE
LOAD5:	CALL NBR
	JR C,LOAD1	;>CSRO
	BIT 0,(IX+7)
	JR Z,LOAD6
	PUSH HL
	SBC HL,DE
	LD BC,80H
	SBC HL,BC
	ADD HL,BC
	JR NC,BLC1
	LD C,L
BLC1:	LD HL,0B700H
	LDIR
	POP HL
LOAD6:	INC (IX+2)	;FF?
	JR NZ,LOAD5
	;
CSRI:	CALL CMBI	;UP 0B CSRI
	LD A,(IX+7)
	RRA
	RET NC		;bei VER.
	AND 0EH
	RES 0,(IX+7)
	RET Z		;2 ARG
	;
	BIT 1,(IX+7)	;AutoSt.enable ?
	JR Z,CSRI3
CSRI1:	CALL OSTR
	DEFM 'Run'
	DEFB 0
	CALL YESNO
	JR Z,CSRI3
	CP 'S'
	RET NZ
	LD A,3
	LD (0B781H),A
	CALL SAVE1	;PROGR. COPY
	JR CSRI1
 
CSRI3:	LD HL,(0B786H)
	JP (HL)		;AUTOSTART-ADR.
 
YESNO:	;PA:Z=1 bei YES, RG A
	CALL OSTR
	DEFM '? (Y):'
	DEFB 0
	CALL INTB
	PUSH AF
	CALL OCHR
	CALL CRLF
	POP AF
	RES 5,A
	CP 'Y'
	RET
 
NBR:	;NewBlockRead
	PUSH HL
	LD L,4		;4 Versuche
	LD H,(IX+3)
NBR0:	CALL BRKT
	JR C,NBREND
	CALL MBI
	LD A,(IX+2)
	PUSH AF
	CP H
	JR Z,NBR2
	INC A		;FF?
	JR NZ,NBR4
	LD A,L
	CP 4		;4 Versuche
	JR NZ,NBR4	;Kein 1.Vers.
	DEC H
	JR Z,NBR41	;01 erwartet
	INC H
NBR2:	POP AF
	JR C,NBR5
	BIT 5,(IX+7)
	JR NZ,NBR3
	CALL CBNRO
	DEFM '> '
	DEFB 0
NBR3:	INC H
	LD (IX+3),H
NBREND:	POP HL
	RET
 
NBR41:	INC H
NBR4:	POP AF
	CALL BNROST
	DEFM '*'
	DEFW 808H
	DEFB 8
	DEFB 0
	JR NBR0
 
NBR5:	LD H,A		;falls FF
	DEC L
	JR Z,NBR6
	CALL BNROST
	DEFM '? '
	DEFB 7
	DEFB 0
	JR NBR0
 
NBR6:	CALL BNROST
	DEFM '!'
	DEFB 1EH	;CRNL
	DEFB 0
	JR NBR3
 
NBW:	;NewBlockWrite
	CALL BRKT
	RET C
NBW1:	LD BC,(0B7DAH)	;mit CY=1 !
	BIT 5,(IX+7)
	JR Z,NBW2
	LD BC,500H
NBW2:	JP C,CSRO
	CALL MBOT
NBW3:	CALL BNROST
	DEFM '<'
	DEFB 0DH
	DEFB 0
	RET
 
NBWI:	CALL ISROI
	CALL CLLN
	JR NBW3
 
;*** Monitor ***
 
	DEFW 7F7FH	;>COLOR<
	DEFM 'COLOR'
	DEFB 1
	;
COLOR:	PUSH AF
	LD A,1FH
	AND L
	RLA
	RLA
	RLA
	LD L,A
	POP AF
	CP 2
	LD A,E
	JR NC,COL1
	LD A,(0B7A3H)
COL1:	AND 7
	OR L
COL2:	LD (0B7A3H),A
	RET
 
ESC2:	LD A,(0B7A3H)	;Blinken on/off
	XOR 80H
	JR COL2
 
DPMEMO:	CALL HLHX
	PUSH HL
	LD B,C
DPM1:	LD A,M
	INC HL
	CALL AHSPCE
	DJNZ DPM1
	POP HL
	LD B,C
	LD A,9
	CALL OCHR
DPM2:	LD A,M
	INC HL
	CALL CSTBT
	DJNZ DPM2
	RET
 
CSTBT:	PUSH HL		;UP 42 CSTBT
	LD HL,0B7A2H
	SET 3,M
	CALL OCHR
	RES 3,M
	POP HL
	RET
 
	DEFW 7F7FH	;>DISPLAY<
	DEFM 'DISPLAY'
	DEFB 1
	;
DISP:	SUB 3		;UP 3B DISP
	JR NC,DISP1
	LD C,8
	INC A
	JR Z,DISP1
	LD E,4
DISP1:	PUSH DE
DISP2:	CALL DPMEMO
	CALL CRLF
	CALL BRKT
	JR C,DISP3
	DEC E
	JR NZ,DISP2
	CALL INTB
DISP3:	POP DE
	CP 3
	RET Z
	CP 13H
	JR NZ,DISP1
	JR MO1
 
	DEFW 7F7FH	;>MODIFY<
	DEFM 'MODIFY'
	DEFB 1
	;
	LD C,E
	CP 2
	JR NC,MO1
MODI:	LD C,1		;UP 2E MODI
MO1:	CALL DPMEMO
	LD A,5
	LD (0B7A0H),A
	CALL INLIN
	RET C
	PUSH HL
	CALL RHEX
	LD A,M
	POP HL
	JR C,MO10
	AND A
	JR Z,MO1
	LD HL,(0B797H)
MO2:	PUSH HL
	CALL RHEX
	LD A,M
	AND A
	INC HL
	LD A,M
	POP HL
	JR Z,MO4
MO3:	LD M,A
	INC HL
MO4:	LD A,(DE)
	CP '.'
	RET Z
	CP ','
	JR NZ,MO5
	INC DE
	LD A,(DE)
	INC DE
	JR MO3
MO5:	CP ':'
	JR NZ,MO6
	DEC HL
	JR MO1
MO6:	CP '/'
	JR NZ,MO7
	INC DE
	CALL RHEX
	JR C,MO10
	LD HL,(0B797H)
	JR MO1
MO7:	CP 27H		;Hochkomma
	JR NZ,MO9
	INC DE
MO8:	LD A,(DE)
	INC DE
	AND A
	JR Z,MO1
	CP 27H		;Hochkomma
	JR Z,MO4
	LD M,A
	INC HL
	JR MO8
MO9:	AND A
	JR Z,MO1
	CP 20H
	JR Z,MO2
MO10:	CALL ERRM
	JR MO1
 
	DEFW 7F7FH	;>WINDOW<
	DEFM 'WINDOW'
	DEFB 1
	;
	AND A
	JR Z,WINAK
	DEC A
	JR Z,WINAK0
	CP 3
	JR C,ERRM2
	LD H,L
	LD L,C
	LD D,E
	LD A,(0B788H)
	LD E,A
	LD A,(0B78AH)
	JR NZ,WIN5
	LD A,(0B79BH)
WIN5:	CALL WININ
	RET NC
ERRM2:	JP ERRM
 
WININ0:	LD A,(0B79BH)	;von BASIC
WININ:	PUSH AF		;UP 3C WININ
	CALL PART
IAD21:	JP C,IAD2
	POP AF
	PUSH DE
	PUSH HL
	CALL WCOPY
	POP HL
	POP DE
	LD (0B79CH),HL
	LD (0B79EH),DE
	LD (0B7A0H),BC
	RET
 
WINAK0:	LD A,L
WINAK:	CALL WCOPY	;UP 3D WINAK
WINAK1:	CALL WINANF	;von BASIC
	RET C
	INC HL
	EX DE,HL
	JR WCPY1
 
WINANF:	LD HL,0B79BH
	LD A,M
	ADD 0F6H
	RET C
	ADD A
	LD E,A
	ADD A
	ADD A
	ADD E
	LD E,A
	LD D,0B9H
	AND A
	RET
 
PART:	ADD 0F6H
	RET C
	LD A,D
	SUB 1
	RET C
	ADD H
	RET C
	ADD 0E0H
	RET C
	LD A,E
	SUB 1
	RET C
	ADD L
	RET C
	ADD 0D8H
	RET
 
WCOPY:	PUSH AF
	CALL WINANF
	JR C,IAD21
	POP AF
	LD M,A
	INC HL
WCPY1:	LD BC,0AH
JPLD:	LDIR
	OR A
	RET
 
KDISP1	INC HL
KYDISP:	LD A,M
	AND A
	RET Z
	CALL CSTBT
	JR KDISP1
 
	DEFW 7F7FH	;>KEY<
	DEFM 'KEY'
	DEFB 1
	;
	JR Z,KEYLI
	LD A,L
	;
KEY:	AND A		;UP 39 KEY
	LD HL,0B900H
	JR Z,KKILL
	CP 0DH
	RET NC
	LD B,A
KEY1:	LD A,M
	INC HL
	AND A
	JR NZ,KEY1
	DJNZ KEY1
	CALL KYDISP
KEY2:	PUSH AF
	DEC HL
KEY3:	POP AF
KEY4:	CALL INTB
	CP 13H
	JP Z,CRLF
	PUSH AF
	LD B,0
	DEC A
	JR NZ,KEY5
	LD A,M
	AND A
	JR Z,KEY3
	LD D,H
	LD E,L
	PUSH HL
	INC HL
	LD A,9CH
	SUB L
	LD C,A
	LDIR
	POP HL
	POP AF
	CALL OCHR
	JR KEY2
KEY5:	LD A,(0B99AH)
	AND A
	JR NZ,KEY3
	PUSH HL
	LD A,9BH
	SUB L
	LD C,A
	LD HL,0B99AH
	LD DE,0B99BH
	LDDR
	POP HL
	POP AF
	INC HL
	LD M,A
	CALL CSTBT
	JR KEY4
 
KKILL:	LD B,09CH
KKIL1:	LD M,A
	INC HL
	DJNZ KKIL1
	RET
 
KEYLI:	LD HL,0B900H	;UP 3A KEYLI
	LD BC,0CF0H
KEYL0:	INC C
	CALL CLLN
	LD A,C
	CALL AHOSTR
	DEFM ' :'
	DEFB 0
	CALL KDISP1
	CALL CRLF
	DJNZ KEYL0
	RET
 
CUCP:	PUSH HL		;UP 25 CUCP
	PUSH DE
	PUSH AF
	LD DE,(0B7A0H)
	CALL DABR
	JR C,CEND
	LD A,M
	CALL PADR1
	OR A
	JR NZ,CFARB
	SET 5,L
	SET 0,H
	LD A,M
	XOR 7FH
	LD M,A
	JR CEND
 
CFARB:	LD A,(DE)
	CPL
	LD (DE),A
	SET 5,E
	LD A,(DE)
	CPL
	BIT 7,(IX+8)
	JR NZ,CFAB1
	XOR 4
CFAB1:	LD (DE),A
CEND:	POP AF
	JR PUDEND
 
;*** Grafiktreiber ***
 
PUDE:	DEFB 3EH	;UP 2F PUDE
	;
PUSE:	XOR A		;UP 30 PUSE
	PUSH HL
	PUSH DE
	LD HL,(0B7D3H)
	LD DE,(0B7D5H)
	OR A
	JR NZ,PUDEJP
	CALL WTESTV
	CALL NC,POINT
PUDEND:	POP DE
	POP HL
	RET
 
PUDEJP:	CALL WTESTV
	JR C,PUDEND
	PUSH BC
	CALL BADR
	LD B,A
	LD C,M
	CPL
	AND C
	LD M,A
	LD A,B
	AND C
	LD A,(DE)
	POP BC
	JR PUDEND
 
LINE:	EXX		;UP 3E LINE
	PUSH HL
	PUSH DE
	PUSH BC
	LD DE,(0B788H)
	LD HL,(0B784H)
	EXX
	CALL LARG
	LD D,B
	LD E,C
LINE1:	XOR A
	SBC HL,DE
	JR NC,LINE2
	ADD HL,DE
	EX DE,HL
	EXX
	EX DE,HL
	EXX
	JR LINE1
LINE2:	EXX
	PUSH DE
LINE3:	SBC HL,DE
	JR NC,LINE4
	ADD HL,DE
	EX DE,HL
	OR 1
	JR LINE3
LINE4:	PUSH HL
	EXX
	POP BC
	PUSH HL
	SBC HL,BC
	POP HL
	PUSH BC
	JR NC,LINE5
	EX (SP),HL
	OR 2
LINE5:	PUSH HL
	LD B,H
	LD C,L
	EXX
	POP BC
	POP DE
	LD H,B
	LD L,C
	SRL H
	RR  L
	EXX
	POP HL
	EX DE,HL
	INC BC
LINE6:	CALL SHLDE
	EXX
	AND A
	SBC HL,DE
	JR NC,LINE7
	ADD HL,BC
LINE7:	EXX
	BIT 1,A
	JR NZ,VDE
	JR NC,IHL
VDE:	BIT 0,A
	INC DE
	JR Z,IDE
	DEC DE
	DEC DE
IDE:	JR C,IHL
	DEC HL
IHL:	CPI
	JP PE,LINE6
	;
CIREND:	POP BC
	POP DE
	POP HL
	EXX
	RET
 
CIRCLE:	EXX		;UP 3F CIRCLE
	PUSH HL
	PUSH DE
	PUSH BC
	LD A,(0B786H)
	LD C,A
	LD D,C
	CALL MULT
	LD H,B
	LD L,A
	LD D,H
	LD E,L
	LD A,C
	LD B,0
	SLA C
	RL  B
	DEC BC
	PUSH BC
	LD BC,1
	EXX
	LD C,A
	LD B,0
CIR1:	CALL CIRUP1
	CALL CIRUP1
	EXX
	AND A
	SBC HL,BC
	INC BC
	INC BC
	SBC HL,DE
	ADD HL,DE
	EXX
	JR NC,CIR2
	EXX
	EX (SP),HL
	EX DE,HL
	AND A
	SBC HL,DE
	DEC DE
	DEC DE
	EX DE,HL
	EX (SP),HL
	EXX
	DEC C
CIR2:	INC B
	LD A,C
	CP B
	JR NC,CIR1
	POP BC
	JR CIREND
 
CIRUP1:	LD A,B
	LD B,C
	LD C,A
	XOR A
	LD D,A
	LD HL,(0B784H)
	PUSH HL
	LD E,C
	ADD HL,DE
	CALL CIRUP2
	XOR A
	LD D,A
	POP HL
	LD E,C
	SBC HL,DE
CIRUP2:	PUSH HL
	LD HL,(0B782H)
	LD E,B
	AND A
	SBC HL,DE
	POP DE
	CALL SHLDE
	PUSH DE
	LD D,A
	LD E,B
	ADD HL,DE
	ADD HL,DE
	POP DE
	;
SHLDE:	PUSH AF
	CALL WTEST
	JR C,ENDS
	PUSH HL
	PUSH DE
	CALL POINT
	POP DE
	POP HL
ENDS:	POP AF
	RET
 
POINT:	CALL BADR
	PUSH DE
	LD DE,(0B7D6H)
	BIT 1,E
	JR NZ,NOTPT
	BIT 0,E
	JR NZ,XORPT
	OR M
XORPT1:	BIT 2,E
	LD M,A
	LD A,E
	POP DE
	RET NZ
	AND 0F8H
	LD H,A
	LD A,(DE)
	AND 7
	OR H
	LD (DE),A
	RET
 
NOTPT:	CPL
	AND M
	LD M,A
	POP DE
	RET
 
XORPT:	XOR M
	JR XORPT1
 
BADR:	LD A,L
	LD D,E
	AND 7
	ADD HL,HL
	ADD HL,HL
	ADD HL,HL
	ADD HL,HL
	ADD HL,HL
	LD L,H
	ADD BITTAB
	LD E,A
	LD A,D
	CPL
	LD H,A
	LD A,(0B7D8H)
	LD D,A
	LD A,(DE)
	JP PADR
 
WTEST:	LD A,D
	ADD 0FFH
	RET C
WTESTV:	LD A,H
	OR A
	RET Z
	ADD 0FEH
	RET C
	LD A,L
	ADD 0C0H
	RET
 
;*** Byteweise Tape-Routinen***
 
MBOUT:	LD E,D		;UP 38 MBOT
	LD D,A
	PUSH DE
	PUSH BC
	BIT 3,E
	JR NZ,INITO
	LD A,(0B7DCH)
INITO2:	LD H,0B7H
	LD L,A
	LD M,D
	INC A
	BIT 6,E
	JR NZ,CLOSEO
	AND 7FH
	LD (0B7DCH),A
	JR NZ,POPS
	BIT 1,(IX+7)
	JR Z,KINITO
	CALL NBWI
	RES 1,(IX+7)
	JR POPS
 
KINITO:	CALL NBW
	JR NC,POPS
IOERRO:	CALL CRO0
IOERR:	LD HL,(0B7C9H)
	CALL IRMOFF
	JP (HL)
 
CLOSEO:	BIT 1,(IX+7)
	PUSH AF
	CALL NZ,NBWI
	POP AF
	CALL Z,NBW
	SCF
	CALL NBW1
POPS:	POP BC
	POP DE
	RES 3,E
	RET
 
INITO:	SET 1,(IX+7)
	LD A,M
	CP 'U'+80H
	JR NZ,INITO1
	SET 5,(IX+7)
INITO1:	PUSH DE
	LD DE,0B700H
	LD BC,11
	LDIR
	LD A,E
	POP DE
	JR INITO2
 
IOERRI:	CALL CMBI
	JR IOERR
 
MBIN:	LD E,D		;UP 37 MBIN
	PUSH DE
	PUSH BC
	BIT 6,E
	JR NZ,CLOSI
	BIT 3,E
	JR NZ,INII
	LD A,(0B7DCH)
	OR A
	LD L,A
	CALL Z,NBR
	JR C,IOERRI
BYTHOL:	LD H,0B7H
	LD D,M
	LD A,L
	INC A
	AND 7FH
	LD (0B7DCH),A
	LD A,D
POPS1:	JR POPS
 
INII:	RES 1,(IX+7)
	CALL IMBII
	CALL NBR
	JR C,IOERRI
	LD DE,0B700H
	LD B,11
	LD A,(DE)
	CP 'U'+80H
	JR Z,INII1
	RES 5,(IX+7)
INII1:	ADD 29H
	JR NC,INII2
	LD A,(DE)
	SUB 4
	LD (DE),A
	INC DE
	LD (DE),A
	INC DE
	LD (DE),A
	DEC DE
	DEC DE
	LD (35EH),A
INII2:	LD A,(DE)
	CALL CRT
	CP M
	JR Z,INII3
	SET 1,(IX+7)
INII3:	INC DE
	INC HL
	DJNZ INII2
	CALL CRLF
	BIT 1,(IX+7)
	RES 1,(IX+7)
	JR NZ,IOERRI
	LD L,E
	JR BYTHOL
 
CLOSI:	CALL CMBI
	JR POPS1
 
;*** Sonstiges ***
 
ZKOUT:	LD A,M		;UP 45 ZKOUT
	INC HL
	AND A
	RET Z
	CALL OCHR
	JR ZKOUT
 
SQR:	XOR A		;UP 40 SQR
	DEC A
	LD E,A
	LD D,A
SQR1:	INC A
	INC DE
	INC DE
	SBC HL,DE
	RET M
	JR SQR1
 
MULT:	XOR A		;UP 41 MULT
	LD B,8
	RR D
MU1:	JR NC,MU2
	ADD C
MU2:	RRA
	RR D
	DJNZ MU1
	LD B,A
	LD A,D
	RET
 
	DEFW 7F7FH	;>MODUL<
	DEFM 'MODUL'
	DEFB 1
	;
MODUL:	PUSH DE		;UP 47 MODUL
	LD L,A
MODUL1:	XOR A
	CALL MODU
	LD A,H
	INC A
	CALL NZ,MODOUT
	INC L
	JR NZ,MODUL1
	POP DE
	RET
 
;	f}r PWRON
MODSW:	LD DE,UMODL	;IO-Modul
	CALL MOSW
	LD (0B7E1H),A
MODSW1:	LD DE,43F6H	;64K
	CALL MOSW
	LD E,0F4H	;16K
	OR A
	CALL Z,MOSW
	LD DE,0C1FBH	;8K ROM
MOSW:	LD BC,680H
MOSW1:	XOR A
	INC B
	RET Z
	LD A,B
	CP (IX+4)
	JR Z,MOSW1
	IN A,(C)
	CP E
	JR NZ,MOSW1
	LD A,1
MOSW2:	LD H,0B8H
	LD L,B
	OUT (C),D
	LD M,D
	RET
 
;*** Druckertreiber (V24) ***
 
PRZK:	;folgt TAB, 1.Byte L{nge
	EX (SP),HL
	LD B,M
	INC HL
PRZK1:	LD A,M
	INC HL
	CALL PRINT
	DJNZ PRZK1
	EX (SP),HL
	RET
 
ECHO:	PUSH AF
	PUSH HL
	LD HL,0B7A2H
	BIT 4,M
	CALL CRT
	JR NZ,ECH4
	BIT 3,M
	JR Z,ECH2
	AND 7FH
	CP 20H
	JR C,ECH1
	CP 7FH
	JR NZ,ECH4
ECH1:	LD A,'_'
	JR ECH3
 
ECH2:	CP 9		;CUR
	JR NZ,ECH3
	LD A,' '
ECH3:	CP 0FH		;SH+CLR
ECH4:	POP HL
	JR Z,PRT	;POP+RET
	DEFB 0EDH	;NOP-BYTE
	;
PRINT:	PUSH AF
	NOP		;Freihalte-Bytes
	NOP		; f. CENTR.Vers.
WT:	CALL BRKT
	JR C,PRT
	IN A,SIO+2
	BIT 2,A
	JR Z,WT
	POP AF
	OUT SIO
	RET
	NEG
	NEG
PRT:	POP AF
	RET
 
SHCLX:	;Reaktion auf SH+CLR
	LD A,(0B7E1H)
	DEC A
	JR NZ,HCPX
	LD HL,(0B7B9H)
	LD A,M
	OR A
	JR Z,SHX1
	LD HL,PRINT
	LD BC,ZEI0
	JR SHX2
SHX1:	LD HL,ECHO
	LD BC,ZEI2
SHX2:	LD (0B7BEH),HL
	LD (0B7B9H),BC
	RET
 
ESC6:	LD A,(0B7E1H)	;HCOPY
	OR A
	RET Z
	JR HCPX0
HCPX:	CP 2
	RET NC
HCPX0:	PUSH DE
	LD HL,0
HCPX1:	CALL PRZK
	DEFB 9
	DEFB 1BH
	DEFB 'J'	;Vorschub 1/9"
	DEFB 24
	DEFB 0DH
	DEFB 1BH
	DEFB '*'	;Plottergrafik
	DEFB 5
	DEFW 140H
HCPX2:	PUSH HL
	CALL PADR
	CALL RDX
	LD C,8
HCPX3:	LD HL,0B78EH	;ARG7
	LD B,8
HCPX4:	RL M
	INC L
	RLA
	DJNZ HCPX4
	LD L,0A2H
	BIT 2,M
	JR Z,HCPX5
	CPL		;negiert
HCPX5:	CALL PRINT
	DEC C
	JR NZ,HCPX3
	POP HL
	INC L
	LD A,L
	CP 40
	JR NZ,HCPX2
	LD L,0
	LD A,H
	ADD 8
	LD H,A
	JR NC,HCPX1
	CALL PRZK
	DEFB 2
	DEFW 0D0AH
	POP DE
	RET
 
RDX:	;liest Zeichen nach ARG7
	LD DE,0B78EH
	LD BC,80H
	PUSH HL
	CALL RDX1
	POP HL
	SET 5,L
RDX1:	LD A,4
RDX2:	LDI
	ADD HL,BC
	INC BC
	DEC A
	JR NZ,RDX2
	RET
 
	DEFW 7F7FH	;>V24><
	DEFM 'V24'
	DEFB 1
	;
	LD A,L
	LD (0B7E1H),A
	RET
 
	DEFW 7F7FH	;>SEND<
	DEFM 'SEND'
	DEFB 1
	;
	RET Z
	LD B,A
	LD HL,0B782H
SND1:	LD A,M
	INC HL
	INC HL
	CALL PRINT
	DJNZ SND1
	RET
 
	DEFW 7F7FH	;>USER<
	DEFM 'USER'
	DEFB 1
	;
	CP 3
	JP Z,JPLD
	DEC A
	JP NZ,ERRM
	JP (HL)
 
	DEFW 7F7FH
	DEFM 'SEEK'
	DEFB 1
 
	CP	3
	RET	C
	EX	DE,HL
	SBC	HL,DE
	LD	B,H
	LD	C,L
	EX	DE,HL
SCHL	LD	DE,0B786H
	LD	A,(DE)
	CPIR
	JP	PO,CRLF
	PUSH	BC
	PUSH	HL
	LD	A,(0B781H)
	SUB	3
	LD	B,A
	JR	Z,GEF
NBYT	INC	DE
	INC	DE
	LD	A,(DE)
	CP	M
	INC	HL
	JR	NZ,NGEF
	DJNZ	NBYT
GEF	POP	HL
	POP	BC
	DEC	HL
	CALL	HLHX
	INC	HL
	CALL	BRKT
	JP	C,CRLF
	DEFB	11H
NGEF	POP	HL
	POP	BC
	JR	SCHL
 
;*** Tabellen ***
 
ESCTAB:	DEFW ASC5
	DEFW ESC1
	DEFW ESC2
	DEFW ESC3
	DEFW ESC4
	DEFW MODUL
	DEFW ESC6
	DEFW ESC7
	DEFW ASC6
	DEFW ESCF
	DEFW MOT
 
 
SUTAB:	DEFW CRT	;0
	DEFW MBOT	;1
	DEFW 0B7BDH	;UOUT 1
	DEFW 0B7C3H	;UOUT 2
	DEFW KBD	;4
	DEFW MBI	;5
	DEFW 0B7C0H	;USIN 1
	DEFW 0B7C6H	;USIN 2
	DEFW ISRO	;8
	DEFW CSRO	;9
	DEFW ISRI	;0A
	DEFW CSRI	;0B
	DEFW KBDS	;0C
	DEFW BYE	;0D
	DEFW KBDZ	;0E
	DEFW COLOR	;0F
	DEFW LOAD	;10
	DEFW VERIFY	;11
	DEFW LOOP	;12
	DEFW NORM	;13
	DEFW WAIT	;14
	DEFW LARG	;15
	DEFW INTB	;16
	DEFW INLIN	;17
	DEFW RHEX	;18
	DEFW ERRM	;19
	DEFW HLHX	;1A
	DEFW HLDE	;1B
	DEFW AHEX	;1C
	DEFW ZSUCH	;1D
	DEFW SOUT	;1E
	DEFW SIN	;1F
	DEFW NOUT	;20
	DEFW NIN	;21
	DEFW GARG	;22
	DEFW OSTR	;23
	DEFW OCHR	;24
	DEFW CUCP	;25
	DEFW MODU	;26
	DEFW JUMP	;27
	DEFW LDMA	;28
	DEFW LDAM	;29
	DEFW BRKT	;2A
	DEFW SPAC	;2B
	DEFW CRLF	;2C
	DEFW HOME	;2D
	DEFW MODI	;2E
	DEFW PUDE	;2F
	DEFW PUSE	;30
	DEFW SIXD	;31
	DEFW DABR	;32
	DEFW TCIF	;33
	DEFW PADR	;34
	DEFW TON	;35
	DEFW SAVE	;36
	DEFW MBIN	;37
	DEFW MBOUT	;38
	DEFW KEY	;39
	DEFW KEYLI	;3A
	DEFW DISP	;3B
	DEFW WININ	;3C
	DEFW WINAK	;3D
	DEFW LINE	;3E
	DEFW CIRCLE	;3F
	DEFW SQR	;40
	DEFW MULT	;41
	DEFW CSTBT	;42
	DEFW INIEA	;43
	DEFW INIME	;44
	DEFW ZKOUT	;45
	DEFW MENU	;46
 
 
CRTTAB:	DEFW DUMMY
	DEFW CLEAR
	DEFW DELLN
	DEFW DUMMY	;BRK
	DEFW DUMMY
	DEFW ASC5	;Tab
	DEFW ASC6	;Color
	DEFW BEL
	DEFW CUL
	DEFW CUR
	DEFW CUD
	DEFW CUU
	DEFW CLS
	DEFW CRN
	DEFW DUMMY
	DEFW HCOPY
	DEFW HOMEPG
	DEFW PAGE
	DEFW SCROL
	DEFW DUMMY	;STOP
	DEFW CLICK
	DEFW DUMMY
	DEFW SHLOCK
	DEFW DUMMY
	DEFW CEL
	DEFW CRN	;CCR
	DEFW INS
	DEFW ESC
	DEFW DUMMY	;LIST
	DEFW DUMMY	;RUN
	DEFW CRNL	;CONT
	DEFW DEL
 
 
KTAB:	DEFM 'Ww'
	DEFM 'Aa'
	DEFM '2"'
	DEFW 1908H
	DEFW 0C10H
	DEFM '-='
	DEFW 0F8F2H
	DEFM 'Yy'
	DEFM 'Ee'
	DEFM 'Ss'
	DEFM '3#'
	DEFM '^]'
	DEFW 0F01H
	DEFM ':*'
	DEFW 0F9F3H
	DEFM 'Xx'
	DEFM 'Tt'
	DEFM 'Ff'
	DEFM '5%'
	DEFM 'Pp'
	DEFW 21FH
	DEFW 4030H
	DEFW 0FBF5H
	DEFM 'Vv'
	DEFM 'Uu'
	DEFM 'Hh'
	DEFW 2737H
	DEFM 'Oo'
	DEFW 141AH
	DEFM '9)'
	DEFW 303H
	DEFM 'Nn'
	DEFM 'Ii'
	DEFM 'Jj'
	DEFM '8('
	DEFM ' ['
	DEFM 'Kk'
	DEFM ',<'
	DEFW 1B13H
	DEFM 'Mm'
	DEFM 'Zz'
	DEFM 'Gg'
	DEFM '6&'
	DEFW 51BH	;T.nicht vorh.
	DEFM 'Ll'
	DEFM '.>'
	DEFW 0FCF6H
	DEFM 'Bb'
	DEFM 'Rr'
	DEFM 'Dd'
	DEFM '4$'
	DEFM '_\'
	DEFM '+;'
	DEFM '/?'
	DEFW 0FAF4H
	DEFM 'Cc'
	DEFM 'Qq'
	DEFW 1616H
	DEFM '1!'
	DEFW 120AH
	DEFW 110BH
	DEFW 1809H
	DEFW 0F7F1H
	DEFW 0D0DH
 
 
ISRTAB:	DEFW ISRPA
	DEFW ISRPB
	DEFW INTEND
	DEFW ISRC1
	DEFW ISRC2
	DEFW ISRC3
 
 
KCTAB0:
	DEFB 88H	;PIO A D
	DEFB 1		;Anz.
	DEFB 1EH	;/NMI=H!
	;
	DEFB CTC	;SIO-CTC
	DEFB 2
	DEFB 47H	;9600 Bd
	DEFB 5BH
	;
	DEFB SIO+2	;Drucker SIO
	DEFB 6		;Takt *1
	DEFB 4		;8 Datenbits
	DEFB 4		;1 Stopbit
	DEFB 3		;keine Parit{t
	DEFB 20H
	DEFB 5
	DEFB 6AH
KCTAB1:
	DEFB 8AH	;PIO A C
	DEFB 3		;Anz.
	DEFB 0E4H	;I-Vektor
	DEFB 0FH	;Byteout
	DEFB 3		;DI
	;
	DEFB 8BH	;PIO B C
	DEFB 3		;Anz.
	DEFB 0E6H	;I-Vektor
	DEFB 0FH	;Byteout
	DEFB 83H	;EI
	;
	DEFB 8CH	;CTC 0
	DEFB 1		;Anz.
	DEFB 0E8H	;I-Vektor
	;
	DEFB 8EH	;CTC 2
	DEFB 2		;Anz.
	DEFB 47H	;Z{hler,DI
	DEFB 0CH	;Blink-ZK
 
 
SYSTAB:	DEFW SHCLX	;HCADR
	DEFB 0		;WINNR
	DEFW 0		;WINON
	DEFW 2028H	;WINLG
	DEFW 0		;CURSO
	DEFB 0		;STBT
	DEFB 39H	;COLOR
	DEFW SCRLPG	;WEND
	DEFW 0EE00H	;CCTL 0
	DEFW 0FE00H	;CCTL 1
	DEFW 0EE00H	;CCTL 2
	DEFW 0FE00H	;CCLT 3
	DEFW 01C4H	;SYSP
	DEFW SUTAB	;SUTAB
	DEFW CRTTAB	;CTAB
	OUT (C),A	;JUMP IN NEUES
	JP 0F012H	; CAOS
	DEFW ZEI0	;OUTAB
	DEFW ZEI4	;INTAB
	JP PRINT	;USER OUT 2
	JP DUMMY	;USER  IN 2
	JP DUMMY	;USER OUT 3
	JP DUMMY	;USER  IN 3
	DEFW 0DC82H	;ZEIG. IO ERROR
STBE1:	;
	DEFB 0FDH	;H-Teil Bittab
	DEFM '%'	;Prompter
	DEFW 0A0H	;Vortonl{nge
	DEFB 0		;Byte-Z{hler
	DEFW ESCTAB
	DEFB 11		;L{nge ESC-TAB.
	DEFB 5		;COUNT
STBE2:	;
	;
STBL1	EQU STBE1-SYSTAB
STBL2	EQU STBE2-STBE1
 
 
BITTAB:	DEFB 80H
	DEFB 40H
	DEFB 20H
	DEFB 10H
	DEFB 08H
	DEFB 04H
	DEFB 02H
	DEFB 01H
;
;
;	END.
À@Àt(Àp6ÀnTop of Text: End of T
	DEFB 40H
	DEFB 20H
	DEFB 10H
	DEFB 08H
	DEFB 04H
	DEFB 02H
	DEFB 01H
;
;
;	END.
À@Àt(Àp6ÀnTop of Text: End of T
Detected encoding: ANSI (CP1252)4
Wrong umlauts? - Assume file is ANSI (CP1252) encoded