PN ANLAY ; LAYO: EQU 00100H ; ORG 00C00H START: XOR A OUT 018H RST 020H DB 2 DB 12 DB 13 DB ' ' DB 'Nachbearbei' DB 'tung' DB 13 DB ' ' DB '***********' DB '******' DB 13 DB 13 DB 13 DB ' ' DB 'Achtung !' DB 13 DB 13 DB 'Rasterstru' DB 'ktur wird ' DB 'zerstört -' DB 13 DB 13 DB 'evtl. Prob' DB 'leme bei Änd' DB 'erungen !' DB 13 DB 13 DB 13 DB 13 DB ' D - Bild ' DB 'drehen' DB 13 DB 13 DB ' S - Bild ' DB 'spiegeln' DB 13 DB 13 DB ' Cursor - ' DB 'Feinscrolling' DB 13 DB 13 DB ' R - Return' DB 08DH LD HL,0EBFFH LD (02BH),HL OKR: RST 020H DB 1 AND 07FH CMP 060H JRC IGR-# AND 05FH IGR: CMP 'R' JPZ LAYO LD HL,OKR PUSH HL CMP 'D' JPZ DREH CMP 'S' JRZ MIRR-# CMP 8 JPZ FSL CMP 9 JPZ FSR CMP 10 JPZ FSD CMP 11 JPZ FSU POP HL XOR A OUT 018H JR OKR-# ; MIRR: LD HL,0EC00H LD DE,0EFE0H CZEI: LD B,8 MZEI: LD A,7 ADD B PUSH AF OUT 018H LD A,(DE) LD C,A LD A,16 SUB B OUT 018H LD A,M LD M,C LD C,A POP AF OUT 018H LD A,C LD (DE),A INC HL INC DE LD A,L AND 01FH JRNZ MZEI-# PUSH BC LD BC,32 SBC HL,BC EX DE,HL SBC HL,BC EX DE,HL POP BC DJNZ MZEI-# LD BC,32 ADD HL,BC EX DE,HL SBC HL,BC EX DE,HL LD A,H CMP 0EEH JRC CZEI-# RET DREH: LD HL,0 AT1: LD DE,MP1 LD B,H LD A,31 SUB H SUB L LD C,A CALL PUSH AT2: LD DE,MP2 LD A,H ADD L LD B,A LD C,H PUSH BC CALL PUSH AT3: LD DE,MP1 POP BC PUSH DE CALL DGET AT4: POP DE LD A,31 SUB H LD B,A LD A,H ADD L LD C,A PUSH BC CALL PUSH AT5: LD DE,MP2 POP BC PUSH DE CALL DGET AT6: POP DE LD A,31 SUB H LD C,A SUB L LD B,A PUSH BC CALL PUSH AT7: LD DE,MP1 POP BC CALL DGET AT8: LD DE,MP2 LD B,H LD A,31 SUB H SUB L LD C,A CALL DGET LOOP: INC L LD A,31 SUB H SUB H CMP L JRNZ AT1-# INC H LD L,0 LD A,H CMP 16 JRNZ AT1-# RET ZELL: PUSH DE LD HL,0EBE0H LD DE,32 INC B ZADD: ADD HL,DE DJNZ ZADD-# ADD HL,BC POP DE RET PUSH: PUSH HL CALL ZELL LD A,8 PUW: OUT 018H PUSH AF LD A,M LD (DE),A INC DE POP AF INC A CMP 16 JRC PUW-# POP HL RET DGET: PUSH HL CALL ZELL LD C,1 DG2: PUSH HL PUSH DE PUSH BC CALL DKV LD A,H POP BC POP DE POP HL PUSH AF LD A,16 SUB C OUT 018H POP AF LD M,A INC C LD A,C CMP 9 JRNZ DG2-# POP HL RET DKV: LD B,8 DK3: PUSH BC LD A,(DE) INC DE DK2: RLA DEC C JRNZ DK2-# RL H POP BC DJNZ DK3-# RET FSL: LD C,8 FSL2: LD HL,0EC01H LD DE,0EC00H LD A,C CMP 16 RNC OUT 018H LD B,32 SCBL: PUSH BC CALL SCL POP BC DJNZ SCBL-# INC C JR FSL2-# SCL: LD B,31 SCL2: LD A,(DE) LD C,M RL C RLA LD (DE),A INC HL INC DE DJNZ SCL2-# LD A,(DE) RLA AND 0FEH LD (DE),A INC HL INC DE RET FSR: LD C,8 FSR2: LD HL,0EFFEH LD DE,0EFFFH LD A,C CMP 16 RNC OUT 018H LD B,32 SCBR: PUSH BC CALL SCR POP BC DJNZ SCBR-# INC C JR FSR2-# SCR: LD B,31 SCR2: LD A,(DE) LD C,M RR C RRA LD (DE),A DEC HL DEC DE DJNZ SCR2-# LD A,(DE) RRA AND 07FH LD (DE),A DEC HL DEC DE RET FSU: LD HL,0EC00H LD B,32 NZT: LD C,9 GZT: PUSH HL PUSH BC CALL STHI POP BC POP HL INC C LD A,C CMP 17 JRC GZT-# LD DE,32 ADD HL,DE DJNZ NZT-# SBC HL,DE CLZ2: LD B,32 CLZ: LD M,0 INC HL DJNZ CLZ-# RET STHI: LD A,C PUSH HL CMP 16 JRNZ GLZ-# LD DE,32 ADD HL,DE LD A,8 GLZ: CALL STZ POP DE DEC A CMP 7 JRNZ POPZ-# LD A,15 POPZ: LD HL,MP1 JR STPZ-# STZ: LD DE,MP1 STPZ: OUT 018H LD BC,32 LDIR RET FSD: LD HL,0EFE0H LD B,32 NZTD: LD C,14 GZTD: PUSH HL PUSH BC CALL STLO POP BC POP HL DEC C LD A,C CMP 6 JRNZ GZTD-# LD DE,32 SBC HL,DE DJNZ NZTD-# ADD HL,DE JR CLZ2-# STLO: LD A,C PUSH HL CMP 7 JRNZ GLZD-# LD DE,32 SBC HL,DE LD A,15 GLZD: CALL STZ POP DE INC A CMP 16 JRC POPZ-# LD A,8 JR POPZ-# MP1: DB ' ' MP2: DB ' ' DB ' ' DB ' ' END ; END