4PCX090 ASM;------------------------------- ; ;Saveroutine f}r DEP Version 2.1 ; (mit Fehlertexten) ; ;Adresse: 0000 00B3H ; ;FSAVE2.ASM ` ml 06.08.93 ;------------------------------- ARGN EQU 0B781H ARG1 EQU ARGN+1 ARG2 EQU ARGN+3 PV1 EQU 0F003H WAIT EQU 14H INLIN EQU 17H ERRM EQU 19H AHEX EQU 1CH OSTR EQU 23H OCHR EQU 24H ;-------------------------- ORG 200H DW 7F7FH DB 'FSAVE' DB 1 LD A,(ARGN) CP 2 JR C,ERROR ; < 2 Arg. CALL PV1 DB OSTR DB 'Name :',0 CALL PV1 DB INLIN LD HL,17 ADD HL,DE ;Ende Name FSAVE LD E,12 ;L{nge LD BC,8EF3H NAMOUT: OUTD DEC E JR NZ,NAMOUT LD BC,80F2H;Datenpuffer CLEAR: OUT (C),E ;l|schen INC B JR NZ,CLEAR LD HL,ARGN LD DE,0B0BH;open/Anzahl LD BC,91F2H;Daten SCHR: OUTI INC B INC B DEC E JR NZ,SCHR LD BC,80F3H;n{chsten Block OUT (C),D NRDY: PUSH BC LD A,1 CALL PV1 DB WAIT POP BC IN A,(C) ;fertig? BIT 0,A JR NZ,NRDY BIT 7,A JR Z,WROK ;kein Fehler ERR: LD BC,83F1H IN A,(C) CP 20H ;DEP ab 2.0? JR NZ,ERRTX;ja LD BC,81F3H IN A,(C) ;Fehlernummer CALL PV1 DB AHEX ERROR: CALL PV1 DB ERRM RET ERRTX: LD B,0 ;Fehlertext ERRT1: IN A,(C) RET Z ;00-Ende INC B CALL PV1 DB OCHR JR ERRT1 WROK: LD BC,81F2H BIT 3,D JR Z,N3 LD HL,(ARG1);AAdr. N3: PUSH HL LD DE,(ARG2);Endadresse AND A SBC HL,DE POP HL LD BC,81F2H LD DE,0380H JR C,SCHR ;weiter LD BC,80F3H LD A,43H ;close OUT (C),A NEND: PUSH BC LD A,1 CALL PV1 DB WAIT POP BC IN A,(C) BIT 0,A ;fertig? JR NZ,NEND BIT 7,A RET Z JR ERR ;Fehler ; SAVE LD A,(FEBENEN) CP 0 JR Z,SAVE1 CP 1 JR NZ,END CALL SAVE2 SAV1 LD A,40 CALL 0F003H DB 14H CALL SAVE3 END RET SAVE1 CALL ARG LD HL,7FFFH LD A,(HL) PUSH AF LD A,5 LD (HL),A LD (0B782H),HL LD HL,ENPIC LD DE,ENNAME LD BC,3H LDIR LD A,22H OUT 84H,A LD HL,FNAME CALL FSAVE CALL RNAME POP AF LD (7FFFH),A RET RNAME LD HL,ENPCX LD DE,ENNAME LD BC,3H LDIR RET ARG LD A,2 LD (0B781H),A LD HL,8000H LD (0B782H),HL LD HL,0A800H LD (0B784H),HL RET SAVE2 CALL ARG LD HL,ENHIF LD DE,ENNAME LD BC,3H LDIR LD A,20H OUT 84H,A LD HL,FNAME CALL FSAVE CALL RNAME RET SAVE3 CALL ARG LD HL,ENHIP LD DE,ENNAME LD BC,3H LDIR LD A,22H OUT 84H,A LD HL,FNAME CALL FSAVE CALL RNAME RET DW 1A02H TEXT1 DB 'F1 Bild anzeigen',0 DW 1B02H TEXT2 DB 'F2 Bild speichern',0 DW 1C02H TEXT3 DB 'F3 Directory',0 DW 1D02H TEXT4 DB 8DH,' Bild laden',0 DW 1E02H TEXT5 DB '? Hilfe',0 DW 1A16H TEXT6 DB 'F4',0;Koordinaten DW 1B16H TEXT7 DB 'F5 Show',0 DW 1C16H TEXT8 DB 'F6 Info',0 DW 1D16H TEXT9 DB 'F7 Ende',0 DW 1E16H TEXT10 DB 'SPACE markieren',0 DW 7F7FH DB 'PCX',1 JP MENU INMENU CALL DIR CALL BLIAUS CALL INFENST CALL BILD0 CALL AUFENST CALL COLOR CALL NORMCLS CALL BILD1 CALL AUFENST CALL COLOR CALL NORMCLS CALL SCH1 CALL STRICH CALL DANZIN CALL INV LD A,0 LD (BILDDA),A RET STRICH LD HL,0 LD (0B782H),HL LD HL,3CH LD (0B784H),HL LD (0B788H),HL LD HL,13FH LD (0B786H),HL LD A,7CH LD (0B7D6H),A CALL 0F003H DB 3EH RET SCH1 LD DE,(TEXT1-2) LD HL,TEXT1 CALL SCHRITT LD DE,(TEXT2-2) LD HL,TEXT2 CALL SCHRITT LD DE,(TEXT3-2) LD HL,TEXT3 CALL SCHRITT LD DE,(TEXT4-2) LD HL,TEXT4 CALL SCHRITT LD DE,(TEXT5-2) LD HL,TEXT5 CALL SCHRITT LD DE,(TEXT6-2) LD HL,TEXT6 CALL SCHRITT LD DE,(TEXT7-2) LD HL,TEXT7 CALL SCHRITT LD DE,(TEXT8-2) LD HL,TEXT8 CALL SCHRITT LD DE,(TEXT9-2) LD HL,TEXT9 CALL SCHRITT LD DE,(TEXT10-2) LD HL,TEXT10 CALL SCHRITT RET H1 DB '[[[[[[[[[[[[[[[',0 DB '[ [',0 DB '[ D Drive [',0 DB '[ U User [',0 DB '[ I invers [',0 DB '[ R rotieren [',0 DB '[ [',0 DB '[[[[[[[[[[[[[[[',0 HILFE LD DE,90DH LD HL,H1 LD B,8 HILFE1 PUSH DE CALL SCHRITT POP DE INC D DJNZ HILFE1 CALL TAST CALL DANZ CALL INV JP MENU1 I1 DB '[[[[[[[[[[[[[[[[[',0 DB '[ [',0 DB '[ 4PCXSHOW V0.9 [',0 DB '[ ` Januar 94 [',0 DB '[ by HOJOE [',0 DB '[ [',0 DB '[[[[[[[[[[[[[[[[[',0 INFO LD DE,90DH LD HL,I1 LD B,7 INFO1 PUSH DE CALL SCHRITT POP DE INC D DJNZ INFO1 CALL TAST CALL DANZ CALL INV JP MENU1 F71 DB 'Das Programm ist Shareware.' DB 0 DB 'Es kann und soll weitergege' DB 'ben werden.',0 DB 'Wenn das Programm Ihnen ' DB 'gefallen sollte',0 DB 'schicken Sie mir einfach 5,' DB '-DM und IHRE',0 DB 'Adresse.',0 DB 'Meine Adresse lautet:',0 DB ' ',0 DB ' Holger J',7CH,'dicke',0 DB ' E.-Th',7BH,'lmann-Str. 31' DB 0 DB ' 99869 Uelleben',0D,0 F7E LD DE,101H LD HL,F71 LD B,0AH F7E1 PUSH DE CALL SCHRITT POP DE INC D DJNZ F7E1 CALL TAST RET SCHRITT LD (0B7A0H),DE SCH2 CALL 0F003H DB 45H RET DNAME DB '12345678' DNAME1 DB '123 ' DW 0 DOK DB 0 DZEIGER DW 0 DZ1 DW 0 DIRUEB2 DB 0 DIRUEB DB 0 DIRUEB1 DW 0 ZOBEN CALL AUFENST CALL COWE LD HL,1823H LD A,8BH CALL ZOUT RET ZUNTEN CALL AUFENST CALL COWE LD HL,1823H LD A,8AH CALL ZOUT RET ZLEER CALL AUFENST CALL COWE LD HL,1823H LD A,20H CALL ZOUT CALL STRICH RET ZOUT LD (0B7A0H),HL CALL 0F003H DB 0 RET DANZIN LD HL,DPLATZ LD (DZEIGER),HL LD A,0 LD (DIRUEB),A LD HL,0 LD (CUPOS),HL LD HL,DPLATZ+880 LD (DIRUEB1),HL LD DE,(BPLATZ) AND A SBC HL,DE JR C,DANZIN1 LD A,0 LD (DIRUEB2),A JR DANZIN2 DANZIN1 LD A,1 LD (DIRUEB2),A DANZIN2 CALL DANZ RET CU0 LD HL,0 LD (0B7A0H),HL RET DANZ CALL DIRFAU CALL CU0 CALL COLOR CALL NORMCLS LD A,(DIRUEB2) CP 0 JR Z,DANZ6 LD A,(DIRUEB) CP 0 JR Z,DANZ5 CALL ZOBEN JR DANZ4 DANZ5 CALL ZUNTEN JR DANZ4 DANZ6 CALL ZLEER DANZ4 LD HL,(DZEIGER) DEC HL LD (DZ1),HL LD B,16H LD HL,1 LD (0B7A0H),HL DANZ02 PUSH BC CALL DANZ1 LD A,(DOK) CP 0 JR NZ,DANZ01 POP BC LD HL,(0B7A0H) LD L,1 LD (0B7A0H),HL DJNZ DANZ02 RET DANZ01 POP BC RET DANZ1 LD B,3 DANZ11 PUSH BC CALL DANZ2 POP BC DJNZ DANZ11 LD HL,(DZ1) INC HL INC HL INC HL INC HL INC HL LD A,(HL) CP 0FFH JR Z,DANZ12 DEC HL LD (DZ1),HL LD A,0 LD (DOK),A RET DANZ12 LD A,1 LD (DOK),A RET DANZ2 LD IY,(DZ1) LD A,(IY+0CH) CP 0A0H JP Z,DRO JP NZ,DWE DWEITER LD HL,(DZ1) INC HL LD DE,DNAME LD BC,0BH LDIR LD (DZ1),HL LD HL,DNAME CALL SCH2 RET DGE CALL COGE JP DWEITER DRO CALL CORO JP DWEITER DWE CALL COWE JP DWEITER COGE LD A,31H LD (0B7A3H),A RET CORO LD A,11H LD (0B7A3H),A RET COWE LD A,39H LD (0B7A3H),A RET COLOR LD A,(COLORV) LD L,A LD A,(COLORH) LD E,A CALL 0F003H DB 0FH RET FENDAT DW 0 DW 2028H DW 0 DW 3900H DW 0E260H INFENS1 LD HL,FENDAT LD BC,0AH LDIR RET INFENS2 LD DE,0B99CH CALL INFENS1 LD DE,0B9A6H CALL INFENS1 LD A,17H LD (0B9A9H),A RET INFENST CALL INFENS2 CALL AUFENST CALL DIRFAU CALL INFENS2 RET AUFENST LD A,0 AUFEN1 CALL 0F003H DB 3DH RET DIRFAU LD A,1 CALL AUFEN1 RET NORMCLS CALL 0F003H DB 23H DB 0CH DB 0 RET BLIAUS IN A,89H RES 7,A OUT 89H,A RET BILD0 LD A,28H JP BLOUT BILD0H LD A,30H JP BLOUT BILD0HP LD A,32H JP BLOUT BILD1 LD A,2DH JP BLOUT BLOUT OUT 84H,A LD (IX+1),A RET BILD1P LD A,2FH OUT 84H,A LD (IX+1),A RET DRIVE4 LD A,0 LD BC,83F1H OUT (C),A LD A,50 CALL 0F003H DB 14H LD BC,83F1H IN A,(C) CP 0 RET DRIVE CALL DRIVE4 JP Z,MENU1 CALL AUFENST LD DE,1705H LD HL,DRIVE1 CALL SCHRITT CALL TAST PUSH AF LD DE,1705H LD HL,DRIVE2 CALL SCHRITT POP AF LD BC,81F1H OUT (C),A DEC B LD A,3 OUT (C),A DRIVE3 IN A,(C) BIT 0,A JR NZ,DRIVE3 BIT 7,A CALL NZ,FOUT JP F3 DRIVE1 DB 'Laufwerk : ',0 DRIVE2 DB ' ',0 USER1 DB 'User (0-F):',0 FOUT1 DS 41 FOUT LD BC,29F1H LD HL,FOUT1+28H FOUT2 DEC B IN A,(C) LD (HL),A DEC HL INC B DJNZ FOUT2 LD HL,FOUT1 LD DE,1700H CALL SCHRITT CALL BLIAUS CALL TAST LD A,20H LD DE,1700H LD (0B7A0H),DE LD B,27H FOUT3 CALL 0F003H DB 0 DJNZ FOUT3 RET USER CALL DRIVE4 JP Z,MENU1 CALL AUFENST LD HL,USER1 LD DE,1705H CALL SCHRITT CALL TAST BIT 6,A JR Z,USER2 LD B,9 ADD B USER2 AND 0FH PUSH AF LD HL,DRIVE2 LD DE,1705H CALL SCHRITT POP AF LD BC,82F1H OUT (C),A DEC B DEC B LD A,5 OUT (C),A JP DRIVE3 TAST BIT 0,(IX+8) JR Z,TAST LD A,(IX+13) RES 0,(IX+8) RET MENU CALL INMENU MENU1 CALL TAST LD B,15H LD HL,TAB1 LD DE,TAB2 ME02 CP (HL) JR Z,ME01 INC HL INC DE INC DE DJNZ ME02 JP MENU1 ME01 EX DE,HL LD A,(HL) LD E,A INC HL LD A,(HL) LD H,A LD L,E JP (HL) TAB1 DB 8,9,0AH,0BH DB 0F1H,0F2H,0F3H,0F4H DB 0F5H,0F6H,0F7H DB 3FH DB 20H,0DH,3 DB 11H,12H DB 49H,052H,44H,55H TAB2 DW MELI DW MERE DW MEUN DW MEOB DW O6 DW OSAVE DW F3 DW FNI DW F5 DW INFO DW F7 DW HILFE DW MESPACE DW ENTER DW F7 DW MESOB DW MESUN DW INVER DW ROTI DW DRIVE DW USER F7 CALL BILD0 CALL AUFENST CALL COLOR CALL NORMCLS CALL F7E RET F3 CALL DIRFAU CALL CU0 CALL COLOR CALL NORMCLS CALL DIR CALL DANZIN CALL INV JP MENU1 FNI JP MENU1 MESPACE CALL TOGBE DEC HL LD (DZ1),HL INC HL LD DE,(BPLATZ) AND A SBC HL,DE JR NC,MESPAC3 LD HL,(DZ1) LD DE,0CH ADD HL,DE CALL TOGEL CALL DANZ2 CALL INV MESPAC3 JP MEUN TOGBE LD A,(DIRUEB) CP 0 JR Z,TOGBE4 LD HL,DPLATZ LD B,15H LD DE,28H TOGBE1 ADD HL,DE DJNZ TOGBE1 TOGBE3 LD A,(CUPOS+1) LD B,A INC B TOGBE2 ADD HL,DE DJNZ TOGBE2 JR TOGBE5 TOGBE4 LD HL,DPLATZ-028H LD DE,028H JR TOGBE3 TOGBE5 LD A,(CUPOS) CP 2 JR Z,TOGBE6 CP 1 JR Z,TOGBE7 LD DE,0 LD C,1 JR TOGBE8 TOGBE6 LD DE,18H LD C,1BH JR TOGBE8 TOGBE7 LD DE,0CH LD C,0EH TOGBE8 ADD HL,DE LD A,(CUPOS+1) LD B,A LD (0B7A0H),BC RET TOGEL LD A,(HL) XOR 80H LD (HL),A RET MELI LD A,(CUPOS) CP 0 JR Z,MELI1 PUSH AF CALL INV POP AF DEC A LD (CUPOS),A CALL INV MELI1 JP MENU1 MERE LD A,(CUPOS) CP 2 JR Z,MERE1 INC A PUSH AF CALL INV POP AF LD (CUPOS),A CALL INV MERE1 JP MENU1 MEUN LD A,(CUPOS+1) CP 15H JR Z,MEUN1 INC A PUSH AF CALL INV POP AF LD (CUPOS+1),A CALL INV MEUN2 JP MENU1 MEUN1 LD A,(DIRUEB) CP 0 JR NZ,MEUN2 LD A,(DIRUEB2) CP 0 JR Z,MEUN2 LD A,1 LD (DIRUEB),A LD A,0 LD (CUPOS+1),A LD HL,(DIRUEB1) LD (DZEIGER),HL CALL DANZ CALL INV JR MEUN2 MEOB LD A,(CUPOS+1) CP 0 JR Z,MEOB1 DEC A PUSH AF CALL INV POP AF LD (CUPOS+1),A CALL INV MEOB2 JP MENU1 MEOB1 LD A,(DIRUEB) CP 0 JR Z,MEOB2 LD A,0 LD (DIRUEB),A LD A,15H LD (CUPOS+1),A LD HL,DPLATZ LD (DZEIGER),HL CALL DANZ CALL INV JR MEOB2 MESOB CALL INV LD A,0 LD (CUPOS+1),A CALL INV JP MEOB MESUN CALL INV LD A,015H LD (CUPOS+1),A CALL INV JP MEUN CUPOS DW 0 INV CALL BILD1P LD A,(CUPOS) CP 0 JR NZ,INV1 LD H,81H JR INV3 INV1 CP 1 JR NZ,INV2 LD H,8EH JR INV3 INV2 LD H,9BH INV3 LD A,(CUPOS+1) ADD A ADD A ADD A LD L,A LD E,L LD C,0BH INV4 LD L,E LD B,8 INV5 LD A,(HL) CPL LD (HL),A INC HL DJNZ INV5 INC H DEC C JR NZ,INV4 CALL BILD1 RET F51 DW 0 F5 LD HL,DPLATZ LD (F51),HL SHOW3 LD B,3 SHOW2 PUSH BC PUSH HL CALL ENTER1 JR NC,SHOWEND LD A,(IX+13) CP 03 JR Z,SHOWEND CP 0F7H JR Z,SHOWEND LD IY,(F51) LD A,(IY+11) CP 0A0H CALL Z,SHOW1 POP HL POP BC LD DE,0CH ADD HL,DE LD (F51),HL DJNZ SHOW2 INC HL INC HL INC HL INC HL LD (F51),HL JR SHOW3 SHOW1 CALL COPY CALL TPCX RET NZ CALL PCX SHOW4 CALL TAST RET SHOWEND CALL BILD1 POP HL POP HL JP MENU1 TPCX LD A,(HL) CP 50H RET NZ INC HL LD A,(HL) CP 43H RET NZ INC HL LD A,(HL) CP 58H RET COPY LD DE,NAME LD BC,8 LDIR RET ENTER1 PUSH HL LD DE,(BPLATZ) DEC DE AND A SBC HL,DE POP HL RET NC RET ENTER3 CALL COPY CALL TPCX RET NZ CALL PCX RET ENTER LD HL,0 LD (WX),HL LD (WY),HL CALL TOGBE CALL ENTER1 JR NC,ENTER4 CALL ENTER3 ENTER4 JP O6 KB DB 'kein Bild im Speicher' DB 0 DT DB '> druecke eine Taste <' DB 0 O6 LD A,(BILDDA) CP 0 JR NZ,O7 CALL BILD0 LD DE,0F02H LD HL,KB CALL SCHRITT LD DE,1112H LD HL,DT CALL SCHRITT LD A,30 CALL 0F003H DB 14H O8 CALL TAST CALL BILD1 JP MENU1 O7 CALL BILD0H O5 CALL TAST CP 8 JP Z,OL CP 9 JP Z,OR CP 0AH JP Z,OU CP 0BH JP Z,OO CP 11H JP Z,OSO CP 12H JP Z,OSU CP 18H JP Z,OSR CP 19H JP Z,OSL CP 49H JP Z,INVER CP 52H JP Z,ROTI CP 0F2H OSAVE CALL Z,SAVE O5END CALL BILD1 JP MENU1 OL LD HL,(WX) LD DE,8 AND A SBC HL,DE JR C,OLEND1 LD (WX),HL OLEND JP O5PCX OLEND1 JP O5 OR LD HL,(WX) LD DE,13FH ADD HL,DE JR C,OREND1 LD DE,(AX) AND A SBC HL,DE JR NC,OREND1 LD HL,(WX) LD DE,8 ADD HL,DE LD (WX),HL OREND JP O5PCX OREND1 JP O5 OU LD HL,(WY) LD DE,10FH ADD HL,DE JR C,OUEND1 LD DE,(AY) AND A SBC HL,DE JR NC,OUEND1 LD HL,(WY) LD DE,8 ADD HL,DE LD (WY),HL OUEND JP O5PCX OUEND1 JP O5 OO LD HL,(WY) LD DE,8 AND A SBC HL,DE JR C,OOEND1 LD (WY),HL OOEND JP O5PCX OOEND1 JP O5 O5PCX CALL PCX JP O5 OSO LD HL,(WY) LD DE,0FFFFH ADD HL,DE JR NC,OSOEND1 LD HL,0 LD (WY),HL OSOEND JP O5PCX OSOEND1 JP O5 OSU LD HL,(AY) LD DE,100H AND A SBC HL,DE JR C,OSUEND1 LD B,H LD C,L LD DE,(WY) AND A SBC HL,DE JR Z,OSUEND1 LD (WY),BC OSUEND JP O5PCX OSUEND1 JP O5 OSR LD HL,(AX) LD DE,140H AND A SBC HL,DE JR C,OSREND1 LD B,H LD C,L LD DE,(WX) AND A SBC HL,DE JR Z,OSUEND1 LD (WX),BC OSREND JP O5PCX OSREND1 JP O5 OSL LD HL,(WX) LD DE,0FFFFH ADD HL,DE JR NC,OSLEND1 LD HL,0 LD (WX),HL OSLEND JP O5PCX OSLEND1 JP O5 INVER CALL BILD0H CALL INVER1 CALL BILD0HP CALL INVER1 JP O6 INVER1 LD DE,8000H LD HL,2800H INVER2 LD A,(DE) CPL LD (DE),A INC DE LD BC,1 AND A SBC HL,BC JR NZ,INVER2 RET ROTI CALL BILD0H CALL INVER1 JP O6 OPEN LD BC,82F3H LD D,12 LD HL,NAME W1 LD A,(HL) OUT (C),A INC HL INC B DEC D LD A,D CP 0 JR NZ,W1 LD BC,80F3H LD A,9H OUT (C),A CALL OPEND CALL ERROR1 RET CLOSE LD BC,80F3H LD A,41H OUT (C),A CALL OPEND CALL ERROR1 RET READ LD BC,80F3H LD A,1 OUT (C),A CALL OPEND CALL ERROR1 RET OPEND LD BC,80F3H IN A,(C) BIT 0,A JR NZ,OPEND RET ERROR1 LD BC,80F3H IN A,(C) BIT 7,A RET Z LD A,0 LD (BILDDA),A CALL BLIAUS RET NAME DW 5F57H DW 5246H DW 4341H DW 3054H DB 2EH ENNAME DB 50H DB 43H FNAME DB 58H ENPCX DB 'PCX' ENHIF DB 'HIF' ENHIP DB 'HIP' ENPIC DB 'PIP' HOEHE DW 0 ZEILE DB 0 ZAEHLER DB 0 X DW 0 Y DW 0 WX DW 0 WY DW 0 AX DW 0 AY DW 0 BZEILE DB 0 MERKER DB 0 ZELLE DB 0 ERRORZ DB 0 FEBENEN DB 0 M2 DB 0 COLORV DB 0FH COLORH DB 1H BILDDA DB 0 PCX LD A,20H OUT 84H,A LD A,0 LD (8000H),A LD HL,8000H LD DE,8001H LD BC,27FFH LDIR LD A,22H OUT 84H,A LD A,0 LD (8000H),A LD HL,8000H LD DE,8001H LD BC,27FFH LDIR LD A,56 LD (0B7D6H),A CALL OPEN LD A,80H LD (ZAEHLER),A LD BC,80F2H IN A,(C) CP 0AH JR Z,EW1 LD A,0 LD (BILDDA),A CALL CLOSE RET EW1 LD BC,8AF2H IN A,(C) LD (HOEHE),A LD (AY),A LD BC,8BF2H IN A,(C) LD (HOEHE+1),A LD (AY+1),A LD BC,88F2H IN A,(C) LD (AX),A INC B IN A,(C) LD (AX+1),A LD BC,0C2F2H IN A,(C) LD (ZEILE),A LD BC,0C1F2H IN A,(C) DEC A LD (FEBENEN),A LD HL,0 LD (X),HL LD (Y),HL LD A,80H LD (ZAEHLER),A S1 LD A,(FEBENEN) CP 0 JR Z,S11 LD (M2),A S11 LD A,0 LD (BZEILE),A LD (X),A LD (X+1),A S2 CALL BYTEHO LD A,(ZELLE) LD B,A AND 0C0H CP 0C0H JR NZ,S3 LD A,(ZELLE) AND 63 LD (MERKER),A CALL BYTEHO LD A,(MERKER) LD B,A S7 CALL BYTEPR DJNZ S7 JR S4 S3 CALL BYTEPR S4 LD A,(BZEILE) LD B,A LD A,(ZEILE) CP B JR NZ,S2 LD A,(M2) CP 0 JR Z,N2 DEC A LD (M2),A JR S11 N2 LD HL,(Y) INC HL LD (Y),HL LD DE,(HOEHE) AND A SBC HL,DE JP NZ,S1 CALL CLOSE LD A,1 LD (BILDDA),A RET BYTEPR PUSH BC LD A,(M2) CP 1 JR NZ,BL1 LD A,20H OUT 84H,A JR BL2 BL1 LD A,22H OUT 84H,A BL2 LD HL,(X) LD DE,(WX) AND A SBC HL,DE JR C,BYTEEND SRL H RR L SRL H RR L SRL H RR L LD A,80H ADD L LD B,A LD HL,(Y) LD DE,(WY) AND A SBC HL,DE JR C,BYTEEND LD A,H CP 0 JR NZ,BYTEEND LD H,B LD C,L LD DE,8000H AND A SBC HL,DE JR C,BYTEEND LD H,B LD L,C LD DE,0A800H AND A SBC HL,DE JR NC,BYTEEND LD H,B LD L,C LD A,(ZELLE) LD (HL),A BYTEEND LD A,(BZEILE) INC A LD (BZEILE),A LD HL,(X) LD DE,08 ADD HL,DE LD (X),HL POP BC RET BYTEHO LD A,(ZAEHLER) BIT 7,A JR NZ,W2 LD BC,80F2H LD A,(ZAEHLER) ADD B LD B,A IN A,(C) LD (ZELLE),A LD A,(ZAEHLER) INC A LD (ZAEHLER),A RET W2 CALL READ LD BC,80F2H IN A,(C) LD (ZELLE),A LD A,1 LD (ZAEHLER),A RET ; 700H(6B8H) DIR LD HL,DPLATZ+28H LD (BPLATZ),HL LD A,0DH DIRL4 LD BC,80F3H OUT (C),A DIRL1 IN A,(C) BIT 0,A JR NZ,DIRL1 LD BC,80F3H IN A,(C) BIT 7,A JR NZ,DFEHLER CP 4H JR Z,DIRENDE CALL DIRL3 LD A,5H JR DIRL4 DFEHLER CALL 0F003H DB 19H RET DIRENDE LD HL,(BPLATZ) LD BC,28H AND A SBC HL,BC LD (BPLATZ),HL CALL LEERT LD HL,(BPLATZ) LD A,0FFH LD (HL),A RET DIRL3 LD D,27H LD HL,(BPLATZ) DIRL2 LD BC,82F3H LD A,D ADD B LD B,A IN A,(C) DEC HL LD (HL),A DEC D LD A,D CP 0FFH JR NZ,DIRL2 LD HL,(BPLATZ) LD BC,28H ADD HL,BC LD (BPLATZ),HL RET LEERT LD HL,(BPLATZ) DEC HL DEC HL DEC HL DEC HL DEC HL LD B,23H LEERT1 LD A,20H CP (HL) JR NZ,LEERT2 DEC HL DJNZ LEERT1 LD (BPLATZ),HL LEERT2 RET BPLATZ DW DPLATZ+28H DPLATZ DB 0  Ā@Āt(Āp6ĀnTop of Text: End of Text: Start of MC:NZ LEERT1 LD (BPLATZ),HL LEERT2 RET BPLATZ DW DPLATZ+28H DPLATZ DB 0  Ā@Āt(Āp6ĀnTop of Text: End of Text: Start of MC: