From 98cab31fc3659e33aef260efca55bf9f1753164c Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Mon, 11 Feb 2019 11:49:19 +0100 Subject: Add source files from Michael --- system/eumel0-z80/src/eumel0.prt.1 | 3948 ++++++++++++++++++++++++++++++++++++ 1 file changed, 3948 insertions(+) create mode 100644 system/eumel0-z80/src/eumel0.prt.1 (limited to 'system/eumel0-z80/src/eumel0.prt.1') diff --git a/system/eumel0-z80/src/eumel0.prt.1 b/system/eumel0-z80/src/eumel0.prt.1 new file mode 100644 index 0000000..244dcbe --- /dev/null +++ b/system/eumel0-z80/src/eumel0.prt.1 @@ -0,0 +1,3948 @@ +ADDR B1 B2 B3 B4 ASCII INSTR PARAMETER COMMENT + +1400 45 E LD B,L ; "EUMEL " (16 chars) +1401 55 U LD D,L +1402 4D M LD C,L +1403 45 E LD B,L +1404 4C L LD C,H +1405 20 20 JR NZ,1427 +1407 20 20 JR NZ,1429 +1409 20 20 JR NZ,142B +140B 20 20 JR NZ,142D +140D 20 20 JR NZ,142F +140F 20 +1410 3A 00 ; eumel0blocks (58) +1412 D6 06 .. SUB A,06 ; mind. hgversion (1750) ID(0) +1414 01 00 ; cputype: z80 (1) ID(1) + ; 3=8086, 4=68000, 5=80286 +1416 65 00 ..e LD BC,6500 ; urladerversion (101) ID(2) +1418 00 00 ; reserviert (0) ID(3) +141A 05 00 ; mind shard version (5) +141C 08 00 . NOP ; max shard version (8) + ; ----------- 175 Leiste --------- +141E C3 D4 28 ..( JP 28D4 ; Systemstart 175 +1421 C3 71 1F .q. JP 1F71 ; inputinterrupt +1424 C3 35 6E .5n JP 6E35 ; timerinterrupt +1427 C3 E2 6D ..m JP 6DE2 ; EUMEL0 Warte aufruefen +142A C3 5B 5E .[^ JP 5E5B ; grab Blocks +142D C3 21 60 .!` JP 6021 ; free Blocks +1430 C3 1C 29 ..) JP 291C ; Shutup ausfuehren +1433 C3 09 29 ..) JP 2909 ; Info " shard" Ansprungaddresse +1436 00 . NOP ; 1500 00 7F FF +1437 15 . DEC D ; etc. wie 1.7.3 +1438 FF . RST 38 +1439 7F . LD A,A +143A 00 . NOP +143B 80 . ADD B +143C 15 . DEC D +143D 02 . LD (BC),A +143E 7F . LD A,A +143F 00 . NOP +1440 00 . NOP +1441 16 FD .. LD D,FD +1443 7F . LD A,A +1444 00 . NOP +1445 80 . ADD B +1446 16 FF .. LD D,FF +1448 7F . LD A,A +1449 00 . NOP +144A 00 . NOP +144B 17 . RLA +144C 00 . NOP +144D 7F . LD A,A +144E 01 80 18 ... LD BC,1880 +1451 FF . RST 38 +1452 7F . LD A,A +1453 00 . NOP +1454 00 . NOP +1455 19 . ADD HL,DE +1456 00 . NOP +1457 FF . RST 38 +1458 04 . INC B +1459 00 . NOP +145A 00 . NOP +145B 31 37 35 175 LD SP,3537 ; "175 hwtest 7 (!)" +145E 20 68 h JR NZ,14C8 +1460 77 w LD (HL),A +1461 74 t LD (HL),H +1462 65 e LD H,L +1463 73 s LD (HL),E +1464 74 t LD (HL),H +1465 20 20 JR NZ,1487 +1467 20 37 7 JR NZ,14A0 +1469 20 28 ( JR NZ,1493 +146B 21 29 !). LD HL,CD29 +146D CD EB 6D CALL 6DEB ;---- EUMEL0-Ram Tabellen init --- +1470 2A 36 14 *6. LD HL,(1436) +1473 E5 . PUSH HL +1474 21 36 14 !6. LD HL,1436 +1477 97 . SUB A +1478 5E ^ LD E,(HL) +1479 23 # INC HL +147A 56 V LD D,(HL) +147B 14 . INC D +147C 15 . DEC D +147D 28 09 (. JR Z,1488 +147F 23 # INC HL +1480 01 03 00 ... LD BC,0003 +1483 ED B0 .. LDIR +1485 3C < INC A +1486 18 F0 .. JR 1478 +1488 D1 . POP DE +1489 62 b LD H,D +148A 6B k LD L,E +148B 23 # INC HL +148C 4E N LD C,(HL) +148D 23 # INC HL +148E 46 F LD B,(HL) +148F 2B + DEC HL +1490 EB . EX DE,HL +1491 ED B0 .. LDIR +1493 3D = DEC A +1494 20 F3 . JR NZ,1489 ; Miniprozess endlosschleife +1496 C3 A0 6D ..m JP 6DA0 ; ====== Allgemeiner Systemstart === +1499 31 00 A1 1.. LD SP,A100 ; Stackpointer vorlaefig setzen +149C CD A0 28 ..( CALL 28A0 ; Limit holen +149F ED 53 3D 1D .S=. LD (1D3D),DE +14A3 ED 7B 3D 1D .{=. LD SP,(1D3D) +14A7 CD FE 6D ..m CALL 6DFE +14AA FB . EI +14AB 3A 6E 28 :n( LD A,(286E) ; Vortest durchfuehren ? +14AE CB 4F .O BIT 1,A +14B0 C2 BF 15 ... JP NZ,15BF +14B3 21 AF 82 !.. LD HL,82AF ; "EUMEL-Vortest" +14B6 CD CA 6E ..n CALL 6ECA ; Text ausgeben +14B9 3E 02 >. LD A,02 ; Terminalkanaele anzeigen +14BB F5 . PUSH AF +14BC CD 71 1E .q. CALL 1E71 ; Typ erfragen +14BF 38 16 8. JR C,14D7 +14C1 F1 . POP AF +14C2 F5 . PUSH AF +14C3 16 00 .. LD D,00 +14C5 5F _ LD E,A +14C6 21 1B 1D !.. LD HL,1D1B +14C9 FE 0A .. CP 0A +14CB 30 01 0. JR NC,14CE +14CD 23 # INC HL +14CE CD 00 4E ..N CALL 4E00 +14D1 21 19 1D !.. LD HL,1D19 +14D4 CD CA 6E ..n CALL 6ECA +14D7 F1 . POP AF +14D8 3C < INC A +14D9 FE 21 .! CP 21 ; 31 Kanaele +14DB 38 DE 8. JR C,14BB +14DD CD E0 1C ... CALL 1CE0 +14E0 CD 8A 28 ..( CALL 288A +14E3 22 11 1D ".. LD (1D11),HL +14E6 ED 43 0F 1D .C.. LD (1D0F),BC +14EA CB B8 .. RES 7,B +14EC CB 70 .p BIT 6,B +14EE 50 P LD D,B +14EF 59 Y LD E,C +14F0 28 03 (. JR Z,14F5 +14F2 01 00 00 ... LD BC,0000 +14F5 CB 21 .! SLA C +14F7 CB 10 .. RL B +14F9 ED 43 0D 1D .C.. LD (1D0D),BC +14FD CB B2 .. RES 6,D +14FF 21 40 00 !@. LD HL,0040 +1502 19 . ADD HL,DE +1503 EB . EX DE,HL +1504 21 00 85 !.. LD HL,8500 +1507 CD 00 4E ..N CALL 4E00 +150A 21 E8 84 !.. LD HL,84E8 +150D CD CA 6E ..n CALL 6ECA +1510 CD A0 28 ..( CALL 28A0 +1513 21 97 82 !.. LD HL,8297 +1516 EB . EX DE,HL +1517 B7 . OR A +1518 ED 52 .R SBC HL,DE +151A CB 3C .< SLR H +151C CB 3C .< SLR H +151E 5C \ LD E,H +151F 16 00 .. LD D,00 +1521 21 70 85 !p. LD HL,8570 +1524 CD 00 4E ..N CALL 4E00 +1527 21 57 85 !W. LD HL,8557 +152A CD CA 6E ..n CALL 6ECA +152D 97 . SUB A +152E 01 05 00 ... LD BC,0005 +1531 11 00 00 ... LD DE,0000 +1534 CD A8 28 ..( CALL 28A8 +1537 CB 28 .( SRA B +1539 CB 19 .. RR C +153B 59 Y LD E,C +153C 50 P LD D,B +153D 21 1F 85 !.. LD HL,851F +1540 3E E7 >. LD A,E7 +1542 93 . SUB E +1543 3E 03 >. LD A,03 +1545 9A . SBC D +1546 38 01 8. JR C,1549 +1548 23 # INC HL +1549 CD 00 4E ..N CALL 4E00 +154C 21 08 85 !.. LD HL,8508 +154F CD CA 6E ..n CALL 6ECA +1552 3A 6E 28 :n( LD A,(286E) +1555 CB 47 .G BIT 0,A +1557 20 0C . JR NZ,1565 +1559 21 DD 82 !.. LD HL,82DD +155C CD CA 6E ..n CALL 6ECA +155F CD F0 17 ... CALL 17F0 +1562 CD E0 1C ... CALL 1CE0 +1565 01 00 00 ... LD BC,0000 +1568 ED A1 .. CPI +156A EA 68 15 .h. JP PE,1568 +156D 3E 01 >. LD A,01 +156F CD 06 1F ... CALL 1F06 +1572 38 4B 8K JR C,15BF +1574 ED 7B 3D 1D .{=. LD SP,(1D3D) ; ----- Menue ausgeben -------- +1578 97 . SUB A +1579 32 30 1D 20. LD (1D30),A +157C 21 EE 82 !.. LD HL,82EE ; Menuetext +157F CD CA 6E ..n CALL 6ECA ; Ausgeben +1582 CD 9B 1C ... CALL 1C9B ; AUf Taste warten +1585 FE 31 .1 CP 31 ; "1" Systemstart +1587 28 36 (6 JR Z,15BF +1589 FE 32 .2 CP 32 ; "2" Neuen HG laden +158B CA 16 16 ... JP Z,1616 +158E FE 33 .3 CP 33 ; "3" Hardwaretest +1590 CA 9D 16 ... JP Z,169D +1593 FE 34 .4 CP 34 ; "4" neuen Urlader vom Archiv +1595 28 35 (5 JR Z,15CC +1597 FE 53 .S CP 53 ; "S" Systemstart ohne Block 0 +1599 CA 6D 14 .m. JP Z,146D ; Zur Miniprozess Schleife +159C FE 49 .I CP 49 ; "I" Info aufrufen +159E 20 D4 . JR NZ,1574 +15A0 DD 21 31 1D .!1. LD IX,1D31 +15A4 CD C0 1A ... CALL 1AC0 +15A7 21 46 A0 !F. LD HL,A046 +15AA 11 19 7D ..} LD DE,7D19 +15AD 01 0A 00 ... LD BC,000A +15B0 ED B0 .. LDIR +15B2 CD 1F 70 ..p CALL 701F ; Info aufrufen +15B5 18 06 .. JR 15BD ; " start" +15B7 20 73 s JR NZ,162C +15B9 74 t LD (HL),H +15BA 61 a LD H,C +15BB 72 r LD (HL),D +15BC 74 t LD (HL),H +15BD 18 B5 .. JR 1574 ; ------- Vortest Ende ----------- +15BF DD 21 31 1D .!1. LD IX,1D31 ; Systemstart +15C3 CD C0 1A ... CALL 1AC0 ; Block 0 laden +15C6 CD 66 1C .f. CALL 1C66 ; Etikett testen +15C9 C3 6D 14 .m. JP 146D ; Zur Miniprozess Schleife +15CC DD 21 36 1D .!6. LD IX,1D36 ;-- Neuen Urlader laden ------ +15D0 CD 9F 1A ... CALL 1A9F +15D3 21 0A 00 !.. LD HL,000A +15D6 22 32 1D "2. LD (1D32),HL +15D9 22 37 1D "7. LD (1D37),HL +15DC CD 03 16 ... CALL 1603 +15DF DD 21 31 1D .!1. LD IX,1D31 +15E3 CD 03 16 ... CALL 1603 +15E6 ED 4B 10 A0 .K.. LD BC,(A010) +15EA 21 3A 00 !:. LD HL,003A +15ED 37 7 SCF +15EE ED 42 .B SBC HL,BC +15F0 30 08 0. JR NC,15FA +15F2 21 44 00 !D. LD HL,0044 +15F5 22 3B 1D ";. LD (1D3B),HL +15F8 18 4E .N JR 1648 +15FA 21 D4 85 !.. LD HL,85D4 +15FD CD CA 6E ..n CALL 6ECA +1600 C3 74 15 .t. JP 1574 ; Zum Vortest Menue +1603 CD F2 1A ... CALL 1AF2 +1606 21 00 A0 !.. LD HL,A000 +1609 11 2A 1D .*. LD DE,1D2A +160C 01 05 00 ... LD BC,0005 +160F CD 92 1C ... CALL 1C92 +1612 C2 74 15 .t. JP NZ,1574 ; Zum Vortest Menue +1615 C9 . RET ;-------- Neuen HG vom ARchiv ---- +1616 21 C9 84 !.. LD HL,84C9 ; "ALten HG ueberschreiben (j/n) ?" +1619 CD CA 6E ..n CALL 6ECA +161C CD 9B 1C ... CALL 1C9B +161F FE 79 .y CP 79 ; "y" oder +1621 28 05 (. JR Z,1628 +1623 FE 6A .j CP 6A ; "j" erlaubt +1625 C2 74 15 .t. JP NZ,1574 +1628 DD 21 31 1D .!1. LD IX,1D31 ; Ueberschreiben +162C CD 9F 1A ... CALL 1A9F +162F CD C0 1A ... CALL 1AC0 +1632 DD 21 36 1D .!6. LD IX,1D36 +1636 CD 9F 1A ... CALL 1A9F +1639 CD C0 1A ... CALL 1AC0 +163C CD 66 1C .f. CALL 1C66 +163F 2A 24 A0 *$. LD HL,(A024) +1642 29 ) ADD HL,HL +1643 29 ) ADD HL,HL +1644 29 ) ADD HL,HL +1645 22 3B 1D ";. LD (1D3B),HL +1648 CD B6 1C ... CALL 1CB6 +164B DD 21 31 1D .!1. LD IX,1D31 +164F CD D1 1B ... CALL 1BD1 +1652 DD 21 36 1D .!6. LD IX,1D36 +1656 CD F2 1A ... CALL 1AF2 +1659 DD 21 31 1D .!1. LD IX,1D31 +165D CD 08 1C ... CALL 1C08 +1660 CD BA 1B ... CALL 1BBA +1663 2A 3B 1D *;. LD HL,(1D3B) +1666 ED 5B 32 1D .[2. LD DE,(1D32) +166A B7 . OR A +166B ED 52 .R SBC HL,DE +166D CA 8F 16 ... JP Z,168F +1670 DD 21 36 1D .!6. LD IX,1D36 +1674 CD BA 1B ... CALL 1BBA +1677 20 CF . JR NZ,1648 +1679 21 43 84 !C. LD HL,8443 +167C CD CA 6E ..n CALL 6ECA +167F CD 9B 1C ... CALL 1C9B +1682 FE 79 .y CP 79 ; "y" oder +1684 28 04 (. JR Z,168A +1686 FE 6A .j CP 6A ; "j" erlaubt +1688 20 EF . JR NZ,1679 +168A CD 9F 1A ... CALL 1A9F +168D 18 B9 .. JR 1648 +168F CD E0 1C ... CALL 1CE0 +1692 CD E0 1C ... CALL 1CE0 +1695 21 B5 84 !.. LD HL,84B5 +1698 CD CA 6E ..n CALL 6ECA +169B 18 FE .. JR 169B +169D 3E 01 >. LD A,01 ; ------ Hardwaretest +169F 32 30 1D 20. LD (1D30),A +16A2 21 6C 83 !l. LD HL,836C +16A5 CD CA 6E ..n CALL 6ECA ; Hardwaretest Menue +16A8 21 00 00 !.. LD HL,0000 +16AB 22 F3 1C ".. LD (1CF3),HL +16AE CD 9B 1C ... CALL 1C9B +16B1 FE 31 .1 CP 31 ; "1" Speichertest +16B3 CA C6 16 ... JP Z,16C6 +16B6 FE 32 .2 CP 32 ; "2" Kanaltest +16B8 CA 7C 17 .|. JP Z,177C +16BB FE 33 .3 CP 33 +16BD 28 12 (. JR Z,16D1 ; "3" HG Test +16BF FE 34 .4 CP 34 ; "4" Archivtest +16C1 28 14 (. JR Z,16D7 +16C3 C3 74 15 .t. JP 1574 +16C6 CD C2 1C ... CALL 1CC2 ; ----Speichertest +16C9 CD F0 17 ... CALL 17F0 +16CC CD B6 1C ... CALL 1CB6 +16CF 18 F5 .. JR 16C6 ; Wiederholen +16D1 DD 21 31 1D .!1. LD IX,1D31 ; ------- HG Test +16D5 18 04 .. JR 16DB +16D7 DD 21 36 1D .!6. LD IX,1D36 ; -------- Archivtest +16DB 21 C1 83 !.. LD HL,83C1 +16DE CD CA 6E ..n CALL 6ECA +16E1 CD 9B 1C ... CALL 1C9B +16E4 FE 31 .1 CP 31 ; "1" Lesetest +16E6 28 0C (. JR Z,16F4 +16E8 FE 32 .2 CP 32 ; "2" Schreiblesetest +16EA 28 21 (! JR Z,170D +16EC FE 33 .3 CP 33 ; "3" Positioniertest +16EE CA 60 17 .`. JP Z,1760 +16F1 C3 74 15 .t. JP 1574 ; Zum Vortest Menue +16F4 CD C2 1C ... CALL 1CC2 +16F7 CD E0 1C ... CALL 1CE0 +16FA CD 9F 1A ... CALL 1A9F +16FD CD B6 1C ... CALL 1CB6 +1700 CD D1 1B ... CALL 1BD1 +1703 CD F2 1A ... CALL 1AF2 +1706 CD BA 1B ... CALL 1BBA +1709 20 F2 . JR NZ,16FD +170B 18 E7 .. JR 16F4 +170D CD C2 1C ... CALL 1CC2 +1710 CD E0 1C ... CALL 1CE0 +1713 CD 9F 1A ... CALL 1A9F +1716 CD B6 1C ... CALL 1CB6 +1719 CD D1 1B ... CALL 1BD1 +171C CD F2 1A ... CALL 1AF2 +171F 21 00 A0 !.. LD HL,A000 +1722 11 00 A2 ... LD DE,A200 +1725 01 00 02 ... LD BC,0200 +1728 ED B0 .. LDIR +172A 3E 55 >U LD A,55 +172C CD 31 1C .1. CALL 1C31 +172F 3E AA >. LD A,AA +1731 CD 31 1C .1. CALL 1C31 +1734 21 00 A2 !.. LD HL,A200 +1737 11 00 A0 ... LD DE,A000 +173A 01 00 02 ... LD BC,0200 +173D ED B0 .. LDIR +173F CD 08 1C ... CALL 1C08 +1742 3E 55 >U LD A,55 +1744 CD 59 1C .Y. CALL 1C59 +1747 CD ED 1B ... CALL 1BED +174A 21 00 A0 !.. LD HL,A000 +174D 11 00 A2 ... LD DE,A200 +1750 01 00 02 ... LD BC,0200 +1753 CD 92 1C ... CALL 1C92 +1756 C4 27 1C .'. CALL NZ,1C27 +1759 CD BA 1B ... CALL 1BBA +175C 20 B8 . JR NZ,1716 +175E 18 AD .. JR 170D +1760 CD C2 1C ... CALL 1CC2 +1763 CD E0 1C ... CALL 1CE0 +1766 CD 9F 1A ... CALL 1A9F +1769 CD B6 1C ... CALL 1CB6 +176C CD C0 1A ... CALL 1AC0 +176F CD D1 1B ... CALL 1BD1 +1772 CD F2 1A ... CALL 1AF2 +1775 CD BA 1B ... CALL 1BBA +1778 20 EF . JR NZ,1769 +177A 18 E4 .. JR 1760 +177C CD C2 1C ... CALL 1CC2 +177F CD E0 1C ... CALL 1CE0 +1782 CD B6 1C ... CALL 1CB6 +1785 3E 20 > LD A,20 +1787 32 30 85 20. LD (8530),A +178A 3E 02 >. LD A,02 +178C F5 . PUSH AF +178D 5F _ LD E,A +178E CD 71 1E .q. CALL 1E71 +1791 38 53 8S JR C,17E6 +1793 F1 . POP AF +1794 F5 . PUSH AF +1795 CD 59 1E .Y. CALL 1E59 +1798 FE 1E .. CP 1E +179A 38 20 8 JR C,17BC +179C 16 00 .. LD D,00 +179E 21 31 85 !1. LD HL,8531 +17A1 36 20 6 LD (HL),20 +17A3 2B + DEC HL +17A4 CD 00 4E ..N CALL 4E00 +17A7 21 28 85 !(. LD HL,8528 +17AA 4E N LD C,(HL) +17AB 23 # INC HL +17AC 06 00 .. LD B,00 +17AE F1 . POP AF +17AF F5 . PUSH AF +17B0 59 Y LD E,C +17B1 CD 88 21 ..! CALL 2188 +17B4 38 06 8. JR C,17BC +17B6 09 . ADD HL,BC +17B7 7B { LD A,E +17B8 91 . SUB C +17B9 4F O LD C,A +17BA 18 F2 .. JR 17AE +17BC F1 . POP AF +17BD F5 . PUSH AF +17BE CD 06 1F ... CALL 1F06 +17C1 38 23 8# JR C,17E6 +17C3 5F _ LD E,A +17C4 16 00 .. LD D,00 +17C6 21 20 20 ! LD HL,2020 +17C9 22 55 85 "U. LD (8555),HL +17CC 21 54 85 !T. LD HL,8554 +17CF CD 00 4E ..N CALL 4E00 +17D2 F1 . POP AF +17D3 F5 . PUSH AF +17D4 5F _ LD E,A +17D5 16 00 .. LD D,00 +17D7 21 42 85 !B. LD HL,8542 +17DA 36 20 6 LD (HL),20 +17DC 2B + DEC HL +17DD CD 00 4E ..N CALL 4E00 +17E0 21 34 85 !4. LD HL,8534 +17E3 CD CA 6E ..n CALL 6ECA +17E6 F1 . POP AF +17E7 3C < INC A +17E8 FE 20 . CP 20 +17EA DA 8C 17 ... JP C,178C +17ED C3 7C 17 .|. JP 177C +17F0 CD A0 28 ..( CALL 28A0 +17F3 15 . DEC D +17F4 21 DE 85 !.. LD HL,85DE +17F7 22 E7 1C ".. LD (1CE7),HL +17FA EB . EX DE,HL +17FB B7 . OR A +17FC ED 52 .R SBC HL,DE +17FE 22 E9 1C ".. LD (1CE9),HL +1801 EB . EX DE,HL +1802 CB 3A .: SLR D +1804 CB 1B .. RR E +1806 21 03 00 !.. LD HL,0003 +1809 CD 3D 4D .=M CALL 4D3D +180C CB 23 .# SLA E +180E CB 12 .. RL D +1810 ED 53 EB 1C .S.. LD (1CEB),DE +1814 21 DE 85 !.. LD HL,85DE +1817 11 3F 1D .?. LD DE,1D3F +181A B7 . OR A +181B ED 52 .R SBC HL,DE +181D 22 ED 1C ".. LD (1CED),HL +1820 EB . EX DE,HL +1821 21 03 00 !.. LD HL,0003 +1824 CD 3D 4D .=M CALL 4D3D +1827 ED 53 EF 1C .S.. LD (1CEF),DE +182B 21 FF FF !.. LD HL,FFFF +182E 22 F1 1C ".. LD (1CF1),HL +1831 2A E7 1C *.. LD HL,(1CE7) +1834 CD 12 19 ... CALL 1912 +1837 21 00 00 !.. LD HL,0000 +183A 5C \ LD E,H +183B E5 . PUSH HL +183C CD C9 19 ... CALL 19C9 +183F 30 0D 0. JR NC,184E +1841 CD 12 19 ... CALL 1912 +1844 E1 . POP HL +1845 7C | LD A,H +1846 C6 40 .@ ADD A,40 +1848 67 g LD H,A +1849 30 01 0. JR NC,184C +184B 1C . INC E +184C 18 ED .. JR 183B +184E E1 . POP HL ; Testmuster fuer Speichertest +184F 11 01 55 ..U LD DE,5501 +1852 CD 22 19 .". CALL 1922 +1855 11 02 55 ..U LD DE,5502 +1858 CD 22 19 .". CALL 1922 +185B 11 00 AA ... LD DE,AA00 +185E CD 22 19 .". CALL 1922 +1861 11 01 55 ..U LD DE,5501 +1864 CD 7A 19 .z. CALL 197A +1867 11 01 AA ... LD DE,AA01 +186A CD 22 19 .". CALL 1922 +186D 11 02 55 ..U LD DE,5502 +1870 CD 7A 19 .z. CALL 197A +1873 11 00 AA ... LD DE,AA00 +1876 CD 7A 19 .z. CALL 197A +1879 11 01 AA ... LD DE,AA01 +187C CD 7A 19 .z. CALL 197A +187F 11 00 55 ..U LD DE,5500 +1882 CD 22 19 .". CALL 1922 +1885 11 00 55 ..U LD DE,5500 +1888 CD 7A 19 .z. CALL 197A +188B 11 02 AA ... LD DE,AA02 +188E CD 22 19 .". CALL 1922 +1891 11 02 AA ... LD DE,AA02 +1894 CD 7A 19 .z. CALL 197A +1897 2A E9 1C *.. LD HL,(1CE9) +189A ED 5B ED 1C .[.. LD DE,(1CED) +189E B7 . OR A +189F ED 52 .R SBC HL,DE +18A1 38 5D 8] JR C,1900 +18A3 F3 . DI +18A4 21 3F 1D !?. LD HL,1D3F +18A7 ED 5B E7 1C .[.. LD DE,(1CE7) +18AB CD 1B 1A ... CALL 1A1B +18AE 11 01 55 ..U LD DE,5501 +18B1 CD 07 1A ... CALL 1A07 +18B4 11 02 55 ..U LD DE,5502 +18B7 CD 07 1A ... CALL 1A07 +18BA 11 00 AA ... LD DE,AA00 +18BD CD 07 1A ... CALL 1A07 +18C0 11 01 55 ..U LD DE,5501 +18C3 CD 11 1A ... CALL 1A11 +18C6 11 01 AA ... LD DE,AA01 +18C9 CD 07 1A ... CALL 1A07 +18CC 11 02 55 ..U LD DE,5502 +18CF CD 11 1A ... CALL 1A11 +18D2 11 00 AA ... LD DE,AA00 +18D5 CD 11 1A ... CALL 1A11 +18D8 11 01 AA ... LD DE,AA01 +18DB CD 11 1A ... CALL 1A11 +18DE 11 00 55 ..U LD DE,5500 +18E1 CD 07 1A ... CALL 1A07 +18E4 11 00 55 ..U LD DE,5500 +18E7 CD 11 1A ... CALL 1A11 +18EA 11 02 AA ... LD DE,AA02 +18ED CD 07 1A ... CALL 1A07 +18F0 11 02 AA ... LD DE,AA02 +18F3 CD 11 1A ... CALL 1A11 +18F6 2A E7 1C *.. LD HL,(1CE7) +18F9 11 3F 1D .?. LD DE,1D3F +18FC CD 1B 1A ... CALL 1A1B +18FF FB . EI +1900 CD E0 1C ... CALL 1CE0 +1903 3A E6 1C :.. LD A,(1CE6) +1906 B7 . OR A +1907 C8 . RET Z +1908 ED 7B 3D 1D .{=. LD SP,(1D3D) +190C CD E0 1C ... CALL 1CE0 +190F C3 2B 18 .+. JP 182B +1912 06 05 .. LD B,05 +1914 97 . SUB A +1915 57 W LD D,A +1916 77 w LD (HL),A +1917 7E ~ LD A,(HL) +1918 BA . CP D +1919 C4 31 1A .1. CALL NZ,1A31 +191C 3C < INC A +191D 20 F6 . JR NZ,1915 +191F 10 F3 .. DJNZ 1914 +1921 C9 . RET +1922 2A E7 1C *.. LD HL,(1CE7) +1925 ED 4B EB 1C .K.. LD BC,(1CEB) +1929 CD 51 19 .Q. CALL 1951 +192C 26 00 &. LD H,00 +192E 6B k LD L,E +192F 1E 00 .. LD E,00 +1931 E5 . PUSH HL +1932 CD C9 19 ... CALL 19C9 +1935 30 0F 0. JR NC,1946 +1937 7D } LD A,L +1938 72 r LD (HL),D +1939 C6 03 .. ADD A,03 +193B 6F o LD L,A +193C 30 FA 0. JR NC,1938 +193E E1 . POP HL +193F 6F o LD L,A +1940 24 $ INC H +1941 20 EE . JR NZ,1931 +1943 1C . INC E +1944 18 EB .. JR 1931 +1946 CD 6D 19 .m. CALL 196D +1949 21 0B 1D !.. LD HL,1D0B +194C CD CA 6E ..n CALL 6ECA +194F E1 . POP HL +1950 C9 . RET +1951 D5 . PUSH DE +1952 79 y LD A,C +1953 B7 . OR A +1954 28 01 (. JR Z,1957 +1956 04 . INC B +1957 79 y LD A,C +1958 48 H LD C,B +1959 47 G LD B,A +195A 7A z LD A,D +195B 16 00 .. LD D,00 +195D 19 . ADD HL,DE +195E 11 03 00 ... LD DE,0003 +1961 77 w LD (HL),A +1962 19 . ADD HL,DE +1963 10 FC .. DJNZ 1961 +1965 0D . DEC C +1966 20 F9 . JR NZ,1961 +1968 D1 . POP DE +1969 CD 6D 19 .m. CALL 196D +196C C9 . RET +196D F5 . PUSH AF +196E C5 . PUSH BC +196F 3E 00 >. LD A,00 +1971 06 64 .d LD B,64 +1973 ED 4F .O LD R,A +1975 10 FC .. DJNZ 1973 +1977 C1 . POP BC +1978 F1 . POP AF +1979 C9 . RET +197A 2A E7 1C *.. LD HL,(1CE7) +197D ED 4B EB 1C .K.. LD BC,(1CEB) +1981 CD A1 19 ... CALL 19A1 +1984 26 00 &. LD H,00 +1986 6B k LD L,E +1987 5C \ LD E,H +1988 E5 . PUSH HL +1989 CD C9 19 ... CALL 19C9 +198C 30 B8 0. JR NC,1946 +198E 7E ~ LD A,(HL) +198F BA . CP D +1990 C4 31 1A .1. CALL NZ,1A31 +1993 7D } LD A,L +1994 C6 03 .. ADD A,03 +1996 6F o LD L,A +1997 30 F5 0. JR NC,198E +1999 E1 . POP HL +199A 6F o LD L,A +199B 24 $ INC H +199C 20 EA . JR NZ,1988 +199E 1C . INC E +199F 18 E7 .. JR 1988 +19A1 D5 . PUSH DE +19A2 79 y LD A,C +19A3 B7 . OR A +19A4 28 01 (. JR Z,19A7 +19A6 04 . INC B +19A7 79 y LD A,C +19A8 48 H LD C,B +19A9 47 G LD B,A +19AA 7A z LD A,D +19AB 16 00 .. LD D,00 +19AD 19 . ADD HL,DE +19AE 11 FF FF ... LD DE,FFFF +19B1 ED 53 F1 1C .S.. LD (1CF1),DE +19B5 57 W LD D,A +19B6 7E ~ LD A,(HL) +19B7 BA . CP D +19B8 C4 31 1A .1. CALL NZ,1A31 +19BB 7D } LD A,L +19BC C6 03 .. ADD A,03 +19BE 6F o LD L,A +19BF 30 01 0. JR NC,19C2 +19C1 24 $ INC H +19C2 10 F2 .. DJNZ 19B6 +19C4 0D . DEC C +19C5 20 EF . JR NZ,19B6 +19C7 D1 . POP DE +19C8 C9 . RET +19C9 E5 . PUSH HL +19CA 6C l LD L,H +19CB 63 c LD H,E +19CC 24 $ INC H +19CD 22 F1 1C ".. LD (1CF1),HL +19D0 25 % DEC H +19D1 D5 . PUSH DE +19D2 55 U LD D,L +19D3 CB 3C .< SLR H +19D5 CB 1D .. RR L +19D7 E5 . PUSH HL +19D8 ED 4B 0D 1D .K.. LD BC,(1D0D) +19DC B7 . OR A +19DD ED 42 .B SBC HL,BC +19DF E1 . POP HL +19E0 30 08 0. JR NC,19EA +19E2 CD EE 19 ... CALL 19EE +19E5 7A z LD A,D +19E6 E6 01 .. AND 01 +19E8 B4 . OR H +19E9 37 7 SCF +19EA D1 . POP DE +19EB E1 . POP HL +19EC 67 g LD H,A +19ED C9 . RET +19EE 3A 10 1D :.. LD A,(1D10) +19F1 CB 7F .. BIT 7,A +19F3 C2 8D 28 ..( JP NZ,288D +19F6 CB 3C .< SLR H +19F8 CB 1D .. RR L +19FA 7D } LD A,L +19FB 2A 11 1D *.. LD HL,(1D11) +19FE 30 02 0. JR NC,1A02 +1A00 CB CC .. SET 1,H +1A02 2E 00 .. LD L,00 +1A04 C3 8D 28 ..( JP 288D +1A07 21 3F 1D !?. LD HL,1D3F +1A0A ED 4B EF 1C .K.. LD BC,(1CEF) +1A0E C3 51 19 .Q. JP 1951 +1A11 21 3F 1D !?. LD HL,1D3F +1A14 ED 4B EF 1C .K.. LD BC,(1CEF) +1A18 C3 A1 19 ... JP 19A1 +1A1B ED 4B ED 1C .K.. LD BC,(1CED) +1A1F ED B0 .. LDIR +1A21 2B + DEC HL +1A22 1B . DEC DE +1A23 ED 4B ED 1C .K.. LD BC,(1CED) +1A27 1A . LD A,(DE) +1A28 ED A9 .. CPD +1A2A 20 FE . JR NZ,1A2A +1A2C 1B . DEC DE +1A2D EA 27 1A .'. JP PE,1A27 +1A30 C9 . RET +1A31 F5 . PUSH AF +1A32 C5 . PUSH BC +1A33 D5 . PUSH DE +1A34 E5 . PUSH HL +1A35 42 B LD B,D +1A36 4F O LD C,A +1A37 ED 5B F1 1C .[.. LD DE,(1CF1) +1A3B CB 7A .z BIT 7,D +1A3D 28 25 (% JR Z,1A64 +1A3F E5 . PUSH HL +1A40 EB . EX DE,HL +1A41 2A E7 1C *.. LD HL,(1CE7) +1A44 B7 . OR A +1A45 ED 52 .R SBC HL,DE +1A47 E1 . POP HL +1A48 38 16 8. JR C,1A60 +1A4A E5 . PUSH HL +1A4B C5 . PUSH BC +1A4C 11 3F 1D .?. LD DE,1D3F +1A4F 2A E7 1C *.. LD HL,(1CE7) +1A52 CD 1B 1A ... CALL 1A1B +1A55 C1 . POP BC +1A56 E1 . POP HL +1A57 FB . EI +1A58 3E 00 >. LD A,00 +1A5A CD 66 1A .f. CALL 1A66 +1A5D C3 08 19 ... JP 1908 +1A60 3E 00 >. LD A,00 +1A62 18 02 .. JR 1A66 +1A64 7A z LD A,D +1A65 63 c LD H,E +1A66 F5 . PUSH AF +1A67 3E 01 >. LD A,01 +1A69 32 E6 1C 2.. LD (1CE6),A +1A6C 11 D2 85 ... LD DE,85D2 +1A6F 79 y LD A,C +1A70 CD F5 1C ... CALL 1CF5 +1A73 11 CA 85 ... LD DE,85CA +1A76 78 x LD A,B +1A77 CD F5 1C ... CALL 1CF5 +1A7A F1 . POP AF +1A7B 11 BE 85 ... LD DE,85BE +1A7E CD F5 1C ... CALL 1CF5 +1A81 7C | LD A,H +1A82 CD F5 1C ... CALL 1CF5 +1A85 7D } LD A,L +1A86 CD F5 1C ... CALL 1CF5 +1A89 21 B0 85 !.. LD HL,85B0 +1A8C CD CA 6E ..n CALL 6ECA +1A8F 3E 01 >. LD A,01 +1A91 CD 06 1F ... CALL 1F06 +1A94 38 F9 8. JR C,1A8F +1A96 FE 0D .. CP 0D +1A98 20 F5 . JR NZ,1A8F +1A9A E1 . POP HL +1A9B D1 . POP DE +1A9C C1 . POP BC +1A9D F1 . POP AF +1A9E C9 . RET +1A9F DD 7E 00 .~. LD A,(IX+00) +1AA2 01 05 00 ... LD BC,0005 +1AA5 DD E5 .. PUSH IX +1AA7 D5 . PUSH DE +1AA8 11 00 00 ... LD DE,0000 +1AAB CD A8 28 ..( CALL 28A8 +1AAE D1 . POP DE +1AAF DD E1 .. POP IX +1AB1 DD 71 03 .q. LD (IX+03),C +1AB4 DD 70 04 .p. LD (IX+04),B +1AB7 DD 36 01 00 .6.. LD (IX+01),00 +1ABB DD 36 02 00 .6.. LD (IX+02),00 +1ABF C9 . RET +1AC0 21 00 A0 !.. LD HL,A000 +1AC3 11 00 00 ... LD DE,0000 +1AC6 01 00 00 ... LD BC,0000 +1AC9 DD 7E 00 .~. LD A,(IX+00) +1ACC DD E5 .. PUSH IX +1ACE CD 7E 28 .~( CALL 287E +1AD1 DD E1 .. POP IX +1AD3 0C . INC C +1AD4 0D . DEC C +1AD5 C8 . RET Z +1AD6 21 00 A0 !.. LD HL,A000 +1AD9 DD 7E 00 .~. LD A,(IX+00) +1ADC 01 00 00 ... LD BC,0000 +1ADF DD E5 .. PUSH IX +1AE1 CD 7E 28 .~( CALL 287E +1AE4 DD E1 .. POP IX +1AE6 0C . INC C +1AE7 0D . DEC C +1AE8 C8 . RET Z +1AE9 21 A4 84 !.. LD HL,84A4 +1AEC CD CA 6E ..n CALL 6ECA +1AEF C3 74 15 .t. JP 1574 +1AF2 21 00 A0 !.. LD HL,A000 +1AF5 06 40 .@ LD B,40 +1AF7 3E 1E >. LD A,1E +1AF9 77 w LD (HL),A +1AFA 23 # INC HL +1AFB 10 FC .. DJNZ 1AF9 +1AFD DD 5E 01 .^. LD E,(IX+01) +1B00 DD 56 02 .V. LD D,(IX+02) +1B03 3E 14 >. LD A,14 +1B05 F5 . PUSH AF +1B06 21 00 A0 !.. LD HL,A000 +1B09 01 00 00 ... LD BC,0000 +1B0C DD 7E 00 .~. LD A,(IX+00) +1B0F DD E5 .. PUSH IX +1B11 CD 7E 28 .~( CALL 287E +1B14 21 00 A0 !.. LD HL,A000 +1B17 06 40 .@ LD B,40 +1B19 3E 1E >. LD A,1E +1B1B BE . CP (HL) +1B1C 20 05 . JR NZ,1B23 +1B1E 23 # INC HL +1B1F 10 FA .. DJNZ 1B1B +1B21 0E 1E .. LD C,1E +1B23 DD E1 .. POP IX +1B25 F1 . POP AF +1B26 0D . DEC C +1B27 F2 32 1B .2. JP P,1B32 +1B2A FE 14 .. CP 14 +1B2C C8 . RET Z +1B2D 21 27 84 !'. LD HL,8427 +1B30 18 4C .L JR 1B7E +1B32 FE 0A .. CP 0A +1B34 20 14 . JR NZ,1B4A +1B36 D5 . PUSH DE +1B37 F5 . PUSH AF +1B38 21 00 A0 !.. LD HL,A000 +1B3B DD 7E 00 .~. LD A,(IX+00) +1B3E 11 00 00 ... LD DE,0000 +1B41 DD E5 .. PUSH IX +1B43 CD 7E 28 .~( CALL 287E +1B46 DD E1 .. POP IX +1B48 F1 . POP AF +1B49 D1 . POP DE +1B4A 3D = DEC A +1B4B 20 B8 . JR NZ,1B05 +1B4D 21 FD FF !.. LD HL,FFFD ; -3 ist Markierung f. defekten Bl. +1B50 22 00 A0 ".. LD (A000),HL +1B53 21 00 A0 !.. LD HL,A000 +1B56 11 02 A0 ... LD DE,A002 +1B59 01 FE 01 ... LD BC,01FE +1B5C ED B0 .. LDIR +1B5E 21 31 84 !1. LD HL,8431 +1B61 3A 30 1D :0. LD A,(1D30) +1B64 B7 . OR A +1B65 20 17 . JR NZ,1B7E +1B67 CD CA 6E ..n CALL 6ECA +1B6A 21 77 85 !w. LD HL,8577 +1B6D CD CA 6E ..n CALL 6ECA +1B70 CD 9B 1C ... CALL 1C9B +1B73 FE 6E .n CP 6E +1B75 CA 74 15 .t. JP Z,1574 +1B78 CD E0 1C ... CALL 1CE0 +1B7B C3 F2 1A ... JP 1AF2 +1B7E 3A 30 1D :0. LD A,(1D30) +1B81 B7 . OR A +1B82 28 1B (. JR Z,1B9F +1B84 CD A6 1B ... CALL 1BA6 +1B87 21 68 84 !h. LD HL,8468 +1B8A CD CA 6E ..n CALL 6ECA +1B8D CD 9B 1C ... CALL 1C9B +1B90 F5 . PUSH AF +1B91 CD E0 1C ... CALL 1CE0 +1B94 F1 . POP AF +1B95 FE 79 .y CP 79 +1B97 28 02 (. JR Z,1B9B +1B99 FE 6A .j CP 6A +1B9B CC 08 1C ... CALL Z,1C08 +1B9E C9 . RET +1B9F CD A6 1B ... CALL 1BA6 +1BA2 CD E0 1C ... CALL 1CE0 +1BA5 C9 . RET +1BA6 E5 . PUSH HL +1BA7 21 91 85 !.. LD HL,8591 +1BAA DD 7E 00 .~. LD A,(IX+00) +1BAD B7 . OR A +1BAE 28 03 (. JR Z,1BB3 +1BB0 21 95 85 !.. LD HL,8595 +1BB3 CD CA 6E ..n CALL 6ECA +1BB6 E1 . POP HL +1BB7 C3 CA 6E ..n JP 6ECA +1BBA DD 5E 01 .^. LD E,(IX+01) +1BBD DD 56 02 .V. LD D,(IX+02) +1BC0 DD 6E 03 .n. LD L,(IX+03) +1BC3 DD 66 04 .f. LD H,(IX+04) +1BC6 13 . INC DE +1BC7 DD 73 01 .s. LD (IX+01),E +1BCA DD 72 02 .r. LD (IX+02),D +1BCD B7 . OR A +1BCE ED 52 .R SBC HL,DE +1BD0 C9 . RET +1BD1 DD 5E 01 .^. LD E,(IX+01) +1BD4 DD 56 02 .V. LD D,(IX+02) +1BD7 21 20 20 ! LD HL,2020 +1BDA 22 26 1D "&. LD (1D26),HL +1BDD 22 28 1D "(. LD (1D28),HL +1BE0 21 25 1D !%. LD HL,1D25 +1BE3 CD 00 4E ..N CALL 4E00 +1BE6 21 22 1D !". LD HL,1D22 +1BE9 CD CA 6E ..n CALL 6ECA +1BEC C9 . RET +1BED DD 5E 01 .^. LD E,(IX+01) +1BF0 DD 56 02 .V. LD D,(IX+02) +1BF3 21 00 A0 !.. LD HL,A000 +1BF6 01 00 00 ... LD BC,0000 +1BF9 DD 7E 00 .~. LD A,(IX+00) +1BFC DD E5 .. PUSH IX +1BFE CD 7E 28 .~( CALL 287E +1C01 DD E1 .. POP IX +1C03 78 x LD A,B +1C04 B1 . OR C +1C05 20 20 JR NZ,1C27 +1C07 C9 . RET +1C08 06 05 .. LD B,05 +1C0A C5 . PUSH BC +1C0B 21 00 A0 !.. LD HL,A000 +1C0E DD 5E 01 .^. LD E,(IX+01) +1C11 DD 56 02 .V. LD D,(IX+02) +1C14 01 00 00 ... LD BC,0000 +1C17 DD 7E 00 .~. LD A,(IX+00) +1C1A DD E5 .. PUSH IX +1C1C CD 81 28 ..( CALL 2881 +1C1F DD E1 .. POP IX +1C21 79 y LD A,C +1C22 B0 . OR B +1C23 C1 . POP BC +1C24 C8 . RET Z +1C25 10 E3 .. DJNZ 1C0A +1C27 21 08 84 !.. LD HL,8408 +1C2A CD A6 1B ... CALL 1BA6 +1C2D CD E0 1C ... CALL 1CE0 +1C30 C9 . RET +1C31 F5 . PUSH AF +1C32 CD 59 1C .Y. CALL 1C59 +1C35 CD 08 1C ... CALL 1C08 +1C38 3E 0F >. LD A,0F +1C3A CD 59 1C .Y. CALL 1C59 +1C3D CD ED 1B ... CALL 1BED +1C40 F1 . POP AF +1C41 21 00 A0 !.. LD HL,A000 +1C44 01 00 02 ... LD BC,0200 +1C47 ED A1 .. CPI +1C49 20 04 . JR NZ,1C4F +1C4B EA 92 1C ... JP PE,1C92 +1C4E C9 . RET +1C4F 21 16 84 !.. LD HL,8416 +1C52 CD CA 6E ..n CALL 6ECA +1C55 CD E0 1C ... CALL 1CE0 +1C58 C9 . RET +1C59 21 00 A0 !.. LD HL,A000 +1C5C 11 01 A0 ... LD DE,A001 +1C5F 01 FF 01 ... LD BC,01FF +1C62 77 w LD (HL),A +1C63 ED B0 .. LDIR +1C65 C9 . RET ; ---- Korrekten Block 0 testen +1C66 21 00 A0 !.. LD HL,A000 +1C69 11 2A 1D .*. LD DE,1D2A ; "EUMEL-" +1C6C 01 06 00 ... LD BC,0006 +1C6F CD 92 1C ... CALL 1C92 +1C72 20 12 . JR NZ,1C86 ; "HG-ungueltig" +1C74 21 09 A0 !.. LD HL,A009 +1C77 11 86 82 ... LD DE,8286 ; +1C7A 01 02 00 ... LD BC,0002 +1C7D CD 92 1C ... CALL 1C92 ; Versionsnummer +1C80 C8 . RET Z +1C81 21 93 84 !.. LD HL,8493 ; "Falsche Version" +1C84 18 03 .. JR 1C89 +1C86 21 85 84 !.. LD HL,8485 +1C89 CD CA 6E ..n CALL 6ECA +1C8C CD 9B 1C ... CALL 1C9B +1C8F C3 74 15 .t. JP 1574 ; Zum Vortest Menue +1C92 1A . LD A,(DE) ; Zeichenkette vergleichen +1C93 13 . INC DE +1C94 ED A1 .. CPI +1C96 C0 . RET NZ +1C97 EA 92 1C ... JP PE,1C92 +1C9A C9 . RET ;----------- Auf Taste warten > A -- +1C9B 3E 01 >. LD A,01 ; Kanal 1 +1C9D CD 06 1F ... CALL 1F06 ; Auf Taste warten +1CA0 38 F9 8. JR C,1C9B ; Warten! +1CA2 FE 1B .. CP 1B ; ESC +1CA4 CA 74 15 .t. JP Z,1574 ; Zum Vortest Menue +1CA7 FE 20 . CP 20 ; +1CA9 D8 . RET C ; < Blank zurueck +1CAA 32 1E 1D 2.. LD (1D1E),A +1CAD F5 . PUSH AF +1CAE 21 1D 1D !.. LD HL,1D1D ; CRLF +1CB1 CD CA 6E ..n CALL 6ECA ; ausgeben +1CB4 F1 . POP AF +1CB5 C9 . RET ;----- incharety an Kanal 1 +1CB6 3E 01 >. LD A,01 +1CB8 CD 06 1F ... CALL 1F06 ; +1CBB D8 . RET C ; Wenn nichts da ist +1CBC FE 1B .. CP 1B +1CBE CA 74 15 .t. JP Z,1574 ; ESC --> Zum Vortest Menue +1CC1 C9 . RET ; -------- Zaehlpuffer loeschen +1CC2 21 20 20 ! LD HL,2020 +1CC5 22 AA 85 ".. LD (85AA),HL +1CC8 22 AC 85 ".. LD (85AC),HL +1CCB ED 5B F3 1C .[.. LD DE,(1CF3) +1CCF 13 . INC DE +1CD0 ED 53 F3 1C .S.. LD (1CF3),DE +1CD4 21 A9 85 !.. LD HL,85A9 +1CD7 CD 00 4E ..N CALL 4E00 ; Dezimal -- ASCII Konvertiereung +1CDA 21 9D 85 !.. LD HL,859D ; Puffer ausgeben +1CDD C3 CA 6E ..n JP 6ECA +1CE0 21 16 1D !.. LD HL,1D16 ; CRLF ausgeben +1CE3 C3 CA 6E ..n JP 6ECA +1CE6 00 . NOP +1CE7 00 . NOP +1CE8 00 . NOP +1CE9 00 . NOP +1CEA 00 . NOP +1CEB 00 . NOP +1CEC 00 . NOP +1CED 00 . NOP +1CEE 00 . NOP +1CEF 00 . NOP +1CF0 00 . NOP +1CF1 00 . NOP +1CF2 00 . NOP +1CF3 00 . NOP +1CF4 00 . NOP +1CF5 F5 . PUSH AF ;- Byte in A Hex --> (DE),(DE+1) +1CF6 0F . RRCA +1CF7 0F . RRCA +1CF8 0F . RRCA +1CF9 0F . RRCA +1CFA CD FE 1C ... CALL 1CFE +1CFD F1 . POP AF +1CFE E6 0F .. AND 0F +1D00 C6 30 .0 ADD A,30 +1D02 FE 3A .: CP 3A +1D04 38 02 8. JR C,1D08 +1D06 C6 07 .. ADD A,07 +1D08 12 . LD (DE),A +1D09 13 . INC DE +1D0A C9 . RET ; ------ Zeichentexte ------ +1D0B 01 2A 00 .*. LD BC,002A ; "*" Laenge 1 +1D0E 00 . NOP +1D0F 00 . NOP +1D10 00 . NOP +1D11 00 . NOP +1D12 00 . NOP +1D13 00 . NOP +1D14 01 20 02 . . LD BC,0220 ; Blank +1D17 0A . LD A,(BC) ; CRLF +1D18 0D . DEC C +1D19 03 . INC BC ; ", 1" +1D1A 2C , INC L +1D1B 20 31 1 JR NZ,1D4E +1D1D 04 . INC B ; Blank, CR, LF,LF +1D1E 20 0D . JR NZ,1D2D +1D20 0A . LD A,(BC) +1D21 0A . LD A,(BC) +1D22 07 . RLCA ; CR, "# " +1D23 0D . DEC C +1D24 23 # INC HL +1D25 20 20 JR NZ,1D47 +1D27 20 20 JR NZ,1D49 +1D29 20 45 E JR NZ,1D70 ; "EUMEL-" HG Kennzeichen +1D2B 55 U LD D,L +1D2C 4D M LD C,L +1D2D 45 E LD B,L +1D2E 4C L LD C,H +1D2F 2D - DEC L +1D30 00 . NOP +1D31 00 . NOP ; Harddisk Descriptor +1D32 00 . NOP +1D33 00 . NOP +1D34 00 . NOP +1D35 00 . NOP +1D36 1F . RRA ; Floppy Descriptor +1D37 00 . NOP +1D38 00 . NOP +1D39 00 . NOP +1D3A 00 . NOP +1D3B 00 . NOP +1D3C 00 . NOP +1D3D 00 . NOP +1D3E 00 . NOP +1D3F FF . RST 38 ; ====== Ende des nichtresidenten +1D40 FF . RST 38 ; EUMEL0 Teils ================== +1D41 FF . RST 38 +1D42 FF . RST 38 +1D43 FF . RST 38 +1D44 FF . RST 38 +1D45 FF . RST 38 +1D46 FF . RST 38 +1D47 FF . RST 38 +1D48 FF . RST 38 +1D49 FF . RST 38 +1D4A FF . RST 38 +1D4B FF . RST 38 +1D4C FF . RST 38 +1D4D FF . RST 38 +1D4E FF . RST 38 +1D4F FF . RST 38 +1D50 FF . RST 38 +1D51 FF . RST 38 +1D52 FF . RST 38 +1D53 FF . RST 38 +1D54 FF . RST 38 +1D55 FF . RST 38 +1D56 FF . RST 38 +1D57 FF . RST 38 +1D58 FF . RST 38 +1D59 FF . RST 38 +1D5A FF . RST 38 +1D5B FF . RST 38 +1D5C FF . RST 38 +1D5D FF . RST 38 +1D5E FF . RST 38 +1D5F FF . RST 38 +1D60 FF . RST 38 +1D61 FF . RST 38 +1D62 FF . RST 38 +1D63 FF . RST 38 +1D64 FF . RST 38 +1D65 FF . RST 38 +1D66 FF . RST 38 +1D67 FF . RST 38 +1D68 FF . RST 38 +1D69 FF . RST 38 +1D6A FF . RST 38 +1D6B FF . RST 38 +1D6C FF . RST 38 +1D6D FF . RST 38 +1D6E FF . RST 38 +1D6F FF . RST 38 +1D70 FF . RST 38 +1D71 FF . RST 38 +1D72 FF . RST 38 +1D73 FF . RST 38 +1D74 FF . RST 38 +1D75 FF . RST 38 +1D76 FF . RST 38 +1D77 FF . RST 38 +1D78 FF . RST 38 +1D79 FF . RST 38 +1D7A FF . RST 38 +1D7B FF . RST 38 +1D7C FF . RST 38 +1D7D FF . RST 38 +1D7E FF . RST 38 +1D7F FF . RST 38 +1D80 FF . RST 38 +1D81 FF . RST 38 +1D82 FF . RST 38 +1D83 FF . RST 38 +1D84 FF . RST 38 +1D85 FF . RST 38 +1D86 FF . RST 38 +1D87 FF . RST 38 +1D88 FF . RST 38 +1D89 FF . RST 38 +1D8A FF . RST 38 +1D8B FF . RST 38 +1D8C FF . RST 38 +1D8D FF . RST 38 +1D8E FF . RST 38 +1D8F FF . RST 38 +1D90 FF . RST 38 +1D91 FF . RST 38 +1D92 FF . RST 38 +1D93 FF . RST 38 +1D94 FF . RST 38 +1D95 FF . RST 38 +1D96 FF . RST 38 +1D97 FF . RST 38 +1D98 FF . RST 38 +1D99 FF . RST 38 +1D9A FF . RST 38 +1D9B FF . RST 38 +1D9C FF . RST 38 +1D9D FF . RST 38 +1D9E FF . RST 38 +1D9F FF . RST 38 +1DA0 FF . RST 38 +1DA1 FF . RST 38 +1DA2 FF . RST 38 +1DA3 FF . RST 38 +1DA4 FF . RST 38 +1DA5 FF . RST 38 +1DA6 FF . RST 38 +1DA7 FF . RST 38 +1DA8 FF . RST 38 +1DA9 FF . RST 38 +1DAA FF . RST 38 +1DAB FF . RST 38 +1DAC FF . RST 38 +1DAD FF . RST 38 +1DAE FF . RST 38 +1DAF FF . RST 38 +1DB0 FF . RST 38 +1DB1 FF . RST 38 +1DB2 FF . RST 38 +1DB3 FF . RST 38 +1DB4 FF . RST 38 +1DB5 FF . RST 38 +1DB6 FF . RST 38 +1DB7 FF . RST 38 +1DB8 FF . RST 38 +1DB9 FF . RST 38 +1DBA FF . RST 38 +1DBB FF . RST 38 +1DBC FF . RST 38 +1DBD FF . RST 38 +1DBE FF . RST 38 +1DBF FF . RST 38 +1DC0 FF . RST 38 +1DC1 FF . RST 38 +1DC2 FF . RST 38 +1DC3 FF . RST 38 +1DC4 FF . RST 38 +1DC5 FF . RST 38 +1DC6 FF . RST 38 +1DC7 FF . RST 38 +1DC8 FF . RST 38 +1DC9 FF . RST 38 +1DCA FF . RST 38 +1DCB FF . RST 38 +1DCC FF . RST 38 +1DCD FF . RST 38 +1DCE FF . RST 38 +1DCF FF . RST 38 +1DD0 FF . RST 38 +1DD1 FF . RST 38 +1DD2 FF . RST 38 +1DD3 FF . RST 38 +1DD4 FF . RST 38 +1DD5 FF . RST 38 +1DD6 FF . RST 38 +1DD7 FF . RST 38 +1DD8 FF . RST 38 +1DD9 FF . RST 38 +1DDA FF . RST 38 +1DDB FF . RST 38 +1DDC FF . RST 38 +1DDD FF . RST 38 +1DDE FF . RST 38 +1DDF FF . RST 38 +1DE0 FF . RST 38 +1DE1 FF . RST 38 +1DE2 FF . RST 38 +1DE3 FF . RST 38 +1DE4 FF . RST 38 +1DE5 FF . RST 38 +1DE6 FF . RST 38 +1DE7 FF . RST 38 +1DE8 FF . RST 38 +1DE9 FF . RST 38 +1DEA FF . RST 38 +1DEB FF . RST 38 +1DEC FF . RST 38 +1DED FF . RST 38 +1DEE FF . RST 38 +1DEF FF . RST 38 +1DF0 FF . RST 38 +1DF1 FF . RST 38 +1DF2 FF . RST 38 +1DF3 FF . RST 38 +1DF4 FF . RST 38 +1DF5 FF . RST 38 +1DF6 FF . RST 38 +1DF7 FF . RST 38 +1DF8 FF . RST 38 +1DF9 FF . RST 38 +1DFA FF . RST 38 +1DFB FF . RST 38 +1DFC FF . RST 38 +1DFD FF . RST 38 +1DFE FF . RST 38 +1DFF FF . RST 38 +1E00 FF . RST 38 ; ======= Residenter EUMEL0 ======= +1E01 FF . RST 38 ; DR EIntrag des DRDR +1E02 FF . RST 38 +1E03 FF . RST 38 +1E04 FF . RST 38 +1E05 FF . RST 38 +1E06 FF . RST 38 +1E07 FF . RST 38 +1E08 FF . RST 38 +1E09 FF . RST 38 +1E0A FF . RST 38 +1E0B FF . RST 38 +1E0C FF . RST 38 +1E0D FF . RST 38 +1E0E FF . RST 38 +1E0F FF . RST 38 ; ---------- 173 Leiste --------- +1E10 C3 DF 28 ..( JP 28DF ; systemstart 173 +1E13 C3 71 1F .q. JP 1F71 ; inputinterrupt +1E16 C3 35 6E .5n JP 6E35 ; timerinterrupt +1E19 C3 E2 6D ..m JP 6DE2 ; warte +1E1C C3 22 1E .". JP 1E22 ; frei eumel0 (nur 173) +1E1F C3 1F 70 ..p JP 701F ; info (Text uebergeben) +1E22 3A 6D 28 :m( LD A,(286D) ;----------- frei eumel0 --------- +1E25 CB C7 .. SET 0,A ; MODE Bit 0 setzen +1E27 32 6D 28 2m( LD (286D),A +1E2A C9 . RET ;-------------------------------- +1E2B FF . RST 38 +1E2C FF . RST 38 +1E2D FF . RST 38 +1E2E FF . RST 38 +1E2F FF . RST 38 +1E30 FF . RST 38 +1E31 FF . RST 38 +1E32 FF . RST 38 +1E33 FF . RST 38 +1E34 FF . RST 38 +1E35 FF . RST 38 +1E36 FF . RST 38 +1E37 FF . RST 38 +1E38 FF . RST 38 +1E39 FF . RST 38 +1E3A FF . RST 38 +1E3B FF . RST 38 +1E3C FF . RST 38 +1E3D FF . RST 38 +1E3E FF . RST 38 +1E3F FF . RST 38 +1E40 FF . RST 38 +1E41 FF . RST 38 +1E42 FF . RST 38 +1E43 FF . RST 38 +1E44 FF . RST 38 +1E45 FF . RST 38 +1E46 FF . RST 38 +1E47 FF . RST 38 +1E48 FF . RST 38 +1E49 FF . RST 38 +1E4A FF . RST 38 +1E4B 74 t LD (HL),H ; "trmnet 10 (!)" +1E4C 72 r LD (HL),D +1E4D 6D m LD L,L +1E4E 6E n LD L,(HL) +1E4F 65 e LD H,L +1E50 74 t LD (HL),H +1E51 20 20 JR NZ,1E73 +1E53 31 30 20 10 LD SP,2030 +1E56 28 21 (! JR Z,1E79 +1E58 29 ) ADD HL,HL ;---------- intern frout --------- +1E59 FE 11 .. CP 11 +1E5B D0 . RET NC +1E5C E5 . PUSH HL +1E5D CD EB 23 ..# CALL 23EB +1E60 CB 5E .^ BIT 3,(HL) +1E62 E1 . POP HL +1E63 28 02 (. JR Z,1E67 +1E65 97 . SUB A ; Ist Stop-Taste gedrueckt +1E66 C9 . RET +1E67 C5 . PUSH BC ; Weiter gedrueckt +1E68 01 02 00 ... LD BC,0002 ; IOCONTROL frout +1E6B CD A8 28 ..( CALL 28A8 +1E6E 79 y LD A,C +1E6F C1 . POP BC +1E70 C9 . RET ;-------- intern typ -------------- +1E71 32 B8 26 2.& LD (26B8),A +1E74 C5 . PUSH BC +1E75 01 01 00 ... LD BC,0001 ; IOCONTROL typ +1E78 CD A8 28 ..( CALL 28A8 +1E7B 79 y LD A,C +1E7C E6 03 .. AND 03 +1E7E FE 03 .. CP 03 +1E80 C1 . POP BC +1E81 3A B8 26 :.& LD A,(26B8) +1E84 C9 . RET ; ---------- cursorpos --> BC --- +1E85 FE 11 .. CP 11 +1E87 D0 . RET NC +1E88 E5 . PUSH HL +1E89 CD EB 23 ..# CALL 23EB ; Kanaltabellenaddresse +1E8C 01 02 00 ... LD BC,0002 +1E8F 09 . ADD HL,BC +1E90 4E N LD C,(HL) +1E91 23 # INC HL +1E92 46 F LD B,(HL) +1E93 E1 . POP HL +1E94 B7 . OR A +1E95 C9 . RET ;---------------------------------- +1E96 DD 7E 04 .~. LD A,(IX+04) ; Grosser Puffer leer ? +1E99 D6 01 .. SUB A,01 +1E9B 30 0B 0. JR NC,1EA8 +1E9D DD 7E 0B .~. LD A,(IX+0B) +1EA0 D6 01 .. SUB A,01 +1EA2 30 04 0. JR NC,1EA8 +1EA4 CD E4 1E ... CALL 1EE4 ; IOCONTROL weiter +1EA7 37 7 SCF +1EA8 C1 . POP BC +1EA9 DD E1 .. POP IX +1EAB E1 . POP HL +1EAC C9 . RET ;--------------------------------- +1EAD FE 11 .. CP 11 +1EAF 3F ? CCF +1EB0 D8 . RET C +1EB1 E5 . PUSH HL +1EB2 DD E5 .. PUSH IX +1EB4 C5 . PUSH BC +1EB5 32 AC 26 2.& LD (26AC),A +1EB8 CD FA 23 ..# CALL 23FA +1EBB 3A A9 26 :.& LD A,(26A9) +1EBE B7 . OR A +1EBF 28 11 (. JR Z,1ED2 +1EC1 F5 . PUSH AF +1EC2 97 . SUB A +1EC3 32 A9 26 2.& LD (26A9),A +1EC6 F1 . POP AF +1EC7 28 09 (. JR Z,1ED2 +1EC9 CD 1F 70 ..p CALL 701F +1ECC 18 04 .. JR 1ED2 +1ECE 20 69 i JR NZ,1F39 ; Info aufrufen +1ED0 6E n LD L,(HL) ; " int" +1ED1 74 t LD (HL),H +1ED2 DD 2A AD 26 .*.& LD IX,(26AD) +1ED6 CB 6E .n BIT 5,(HL) +1ED8 20 BC . JR NZ,1E96 ; Grosser Puffer +1EDA DD 7E 04 .~. LD A,(IX+04) ; Kleiner Puffer leer ? +1EDD FE 07 .. CP 07 +1EDF 28 15 (. JR Z,1EF6 +1EE1 B7 . OR A +1EE2 18 51 .Q JR 1F35 +1EE4 3A AC 26 :.& LD A,(26AC) ;---------- intern weiter -------- +1EE7 01 04 00 ... LD BC,0004 ; IOCONTROL weiter +1EEA C3 A8 28 ..( JP 28A8 +1EED C5 . PUSH BC ;---------- intern stop ----------- +1EEE 01 03 00 ... LD BC,0003 +1EF1 CD A8 28 ..( CALL 28A8 ; IOCONTORL stop +1EF4 C1 . POP BC +1EF5 C9 . RET ;---------------------------------- +1EF6 CD E4 1E ... CALL 1EE4 ; CALL weiter +1EF9 DD 7E 04 .~. LD A,(IX+04) ; +1EFC FE 07 .. CP 07 +1EFE 28 03 (. JR Z,1F03 ; Puffer leer ? +1F00 B7 . OR A +1F01 18 32 .2 JR 1F35 ; Routine mit CLC verlassen +1F03 37 7 SCF +1F04 18 2F ./ JR 1F35 ; ROutine mit SEC verlassen +1F06 CD AD 1E ... CALL 1EAD ;--------------------------------- +1F09 D8 . RET C +1F0A E5 . PUSH HL +1F0B DD E5 .. PUSH IX +1F0D C5 . PUSH BC +1F0E DD 2A AD 26 .*.& LD IX,(26AD) +1F12 DD 7E 07 .~. LD A,(IX+07) +1F15 DD CB 00 6E ...n BIT 5,(IX+00) +1F19 20 1F . JR NZ,1F3A +1F1B 2A AD 26 *.& LD HL,(26AD) +1F1E 01 07 00 ... LD BC,0007 +1F21 09 . ADD HL,BC +1F22 D5 . PUSH DE +1F23 54 T LD D,H +1F24 5D ] LD E,L +1F25 23 # INC HL +1F26 01 0F 00 ... LD BC,000F +1F29 F3 . DI +1F2A ED B0 .. LDIR +1F2C DD 35 .5 DEC (IX+04) +1F2E 04 . INC B +1F2F DD 35 .5 DEC (IX+05) +1F31 05 . DEC B +1F32 FB . EI +1F33 D1 . POP DE +1F34 B7 . OR A +1F35 C1 . POP BC +1F36 DD E1 .. POP IX +1F38 E1 . POP HL +1F39 C9 . RET +1F3A 67 g LD H,A ; Pufferaddresse +1F3B DD 6E 0C .n. LD L,(IX+0C) ; Pufferaddresse +1F3E CD 81 5A ..Z CALL 5A81 +1F41 DD 7E 05 .~. LD A,(IX+05) ; Lowbyte Schreibzeiger +1F44 3C < INC A +1F45 DD 77 05 .w. LD (IX+05),A +1F48 20 03 . JR NZ,1F4D +1F4A DD 34 .4 INC (IX+0A) ; Highbyte Schreibzeiger +1F4C 0A . LD A,(BC) +1F4D 6F o LD L,A +1F4E DD 7E 0A .~. LD A,(IX+0A) +1F51 E6 01 .. AND 01 +1F53 84 . ADD H +1F54 67 g LD H,A +1F55 7E ~ LD A,(HL) +1F56 F5 . PUSH AF +1F57 CD 8C 5A ..Z CALL 5A8C +1F5A F3 . DI +1F5B DD 6E 04 .n. LD L,(IX+04) ; Jetzt darf kein Inputinter. komm. +1F5E DD 66 0B .f. LD H,(IX+0B) +1F61 2B + DEC HL +1F62 DD 74 0B .t. LD (IX+0B),H +1F65 DD 75 04 .u. LD (IX+04),L +1F68 FB . EI +1F69 7D } LD A,L +1F6A B7 . OR A +1F6B CC E4 1E ... CALL Z,1EE4 ; CALL weiter +1F6E F1 . POP AF +1F6F 18 C3 .. JR 1F34 ;=========== inputinterrupt ======= +1F71 FE 11 .. CP 11 ; B=Eingabezeichen +1F73 D0 . RET NC ; C=Errorbits +1F74 DD E5 .. PUSH IX +1F76 E5 . PUSH HL +1F77 F5 . PUSH AF +1F78 CD EB 23 ..# CALL 23EB ; Kanaltabelleaddresse +1F7B E5 . PUSH HL +1F7C DD E1 .. POP IX +1F7E CB B9 .. RES 7,C ; +1F80 CB A9 .. RES 5,C ; Pufferoverflowbit +1F82 DD 7E 01 .~. LD A,(IX+01) +1F85 B1 . OR C ; Mit Bits vom Shard verodern +1F86 DD 77 01 .w. LD (IX+01),A +1F89 CB 7F .. BIT 7,A +1F8B 28 0A (. JR Z,1F97 +1F8D E5 . PUSH HL +1F8E DD CB 01 F6 .... SET 6,(IX+01) +1F92 21 A9 26 !.& LD HL,26A9 +1F95 34 4 INC (HL) +1F96 E1 . POP HL +1F97 DD CB 01 FE .... SET 7,(IX+01) +1F9B CB 6E .n BIT 5,(HL) ; Grosser Puffer ? +1F9D 28 6F (o JR Z,200E +1F9F DD 7E 0B .~. LD A,(IX+0B) ; ja +1FA2 FE 01 .. CP 01 +1FA4 38 0E 8. JR C,1FB4 ; < 1 (=0) : Nicht voll +1FA6 20 3A : JR NZ,1FE2 ; > 1 (=2) : Voll +1FA8 DD 7E 04 .~. LD A,(IX+04) ; = 180 , +1FAB FE 80 .. CP 80 ; Puffer 3/4b voll Hysterese Stop +1FAD 20 05 . JR NZ,1FB4 +1FAF F1 . POP AF +1FB0 F5 . PUSH AF +1FB1 CD ED 1E ... CALL 1EED ; CALL stop +1FB4 DD 34 .4 INC (IX+04) +1FB6 04 . INC B +1FB7 20 03 . JR NZ,1FBC +1FB9 DD 34 .4 INC (IX+0B) +1FBB 0B . DEC BC +1FBC DD 66 07 .f. LD H,(IX+07) +1FBF DD 6E 0C .n. LD L,(IX+0C) +1FC2 78 x LD A,B +1FC3 C5 . PUSH BC +1FC4 F5 . PUSH AF +1FC5 CD 81 5A ..Z CALL 5A81 +1FC8 DD 7E 08 .~. LD A,(IX+08) +1FCB 3C < INC A +1FCC DD 77 08 .w. LD (IX+08),A +1FCF 6F o LD L,A +1FD0 20 03 . JR NZ,1FD5 +1FD2 DD 34 .4 INC (IX+09) +1FD4 09 . ADD HL,BC +1FD5 DD 7E 09 .~. LD A,(IX+09) +1FD8 E6 01 .. AND 01 +1FDA 84 . ADD H +1FDB 67 g LD H,A +1FDC F1 . POP AF +1FDD 77 w LD (HL),A +1FDE CD 8C 5A ..Z CALL 5A8C +1FE1 C1 . POP BC +1FE2 DD CB 01 EE .... SET 5,(IX+01) ; Pufferoverflow setzen +1FE6 F1 . POP AF +1FE7 21 AB 26 !.& LD HL,26AB +1FEA CB B6 .. RES 6,(HL) +1FEC DD CB 01 BE .... RES 7,(IX+01) +1FF0 FB . EI +1FF1 DD CB 00 6E ...n BIT 5,(IX+00) ; Groáer Puffer ? +1FF5 20 09 . JR NZ,2000 +1FF7 3E 17 >. LD A,17 ; Pufferende-Lesezeiger +1FF9 DD 96 04 ... SUB (IX+04) ; Platz im Puffer +1FFC E1 . POP HL +1FFD DD E1 .. POP IX +1FFF C9 . RET ;----------- Ende von inputinterr. +2000 DD 7E 0B .~. LD A,(IX+0B) +2003 B7 . OR A +2004 3E FF >. LD A,FF +2006 28 F4 (. JR Z,1FFC +2008 97 . SUB A +2009 DD 96 04 ... SUB (IX+04) +200C 18 EE .. JR 1FFC +200E F1 . POP AF ;------ kleiner Puffer ------------ +200F F5 . PUSH AF +2010 CD 95 26 ..& CALL 2695 ; Typtabellennummer +2013 FE 7E .~ CP 7E ; psi ? +2015 20 29 ) JR NZ,2040 +2017 78 x LD A,B ; info-Taste +2018 FE 04 .. CP 04 +201A 28 18 (. JR Z,2034 +201C FE 07 .. CP 07 ; SV-Call +201E 28 1A (. JR Z,203A +2020 FE 11 .. CP 11 ; Stop +2022 28 0A (. JR Z,202E +2024 FE 17 .. CP 17 ; Weiter +2026 20 18 . JR NZ,2040 +2028 DD CB 00 9E .... RES 3,(IX+00) ; Weiter gedrueckt +202C 18 B8 .. JR 1FE6 +202E DD CB 00 DE .... SET 3,(IX+00) ; Stop gedrueckt +2032 18 B2 .. JR 1FE6 +2034 F1 . POP AF ; info-taste gedrueckt +2035 CD 33 6F .3o CALL 6F33 +2038 18 AD .. JR 1FE7 +203A F1 . POP AF ; SV-Call gedrueckt +203B CD 93 4C ..L CALL 4C93 ; SV-Call zustellen +203E 18 A7 .. JR 1FE7 +2040 C5 . PUSH BC ; nicht psi als tabelle +2041 DD 7E 05 .~. LD A,(IX+05) ; Schreibzeiger >= 16H ? +2044 FE 16 .. CP 16 +2046 D2 F2 20 .. JP NC,20F2 ; Pufferoverflow setzen +2049 21 AB 26 !.& LD HL,26AB +204C CB F6 .. SET 6,(HL) +204E 4F O LD C,A +204F 06 00 .. LD B,00 +2051 DD E5 .. PUSH IX +2053 E1 . POP HL +2054 09 . ADD HL,BC +2055 C1 . POP BC +2056 70 p LD (HL),B +2057 23 # INC HL +2058 36 FF 6. LD (HL),FF +205A DD 34 .4 INC (IX+05) ; Schreibzeiger +205C 05 . DEC B +205D FE 0E .. CP 0E +205F 20 0E . JR NZ,206F +2061 F1 . POP AF +2062 F5 . PUSH AF +2063 CD 95 26 ..& CALL 2695 +2066 CB 7E .~ BIT 7,(HL) +2068 28 05 (. JR Z,206F +206A F1 . POP AF +206B F5 . PUSH AF +206C CD ED 1E ... CALL 1EED +206F F1 . POP AF +2070 F5 . PUSH AF +2071 CD 95 26 ..& CALL 2695 +2074 FE 7E .~ CP 7E +2076 D2 EB 20 .. JP NC,20EB +2079 CD 1F 24 ..$ CALL 241F +207C D5 . PUSH DE +207D C5 . PUSH BC +207E 01 80 01 ... LD BC,0180 +2081 09 . ADD HL,BC +2082 E5 . PUSH HL +2083 EB . EX DE,HL +2084 DD E5 .. PUSH IX +2086 E1 . POP HL +2087 DD 4E 04 .N. LD C,(IX+04) +208A 06 00 .. LD B,00 +208C 09 . ADD HL,BC +208D 1A . LD A,(DE) ; Zeichen an Lesezeigerposition holen +208E 13 . INC DE +208F 3C < INC A +2090 F5 . PUSH AF +2091 20 04 . JR NZ,2097 +2093 1A . LD A,(DE) ; Zeichen = FF ? +2094 3C < INC A +2095 28 38 (8 JR Z,20CF +2097 E5 . PUSH HL +2098 EB . EX DE,HL +2099 1A . LD A,(DE) +209A ED A1 .. CPI +209C 20 24 $ JR NZ,20C2 +209E 13 . INC DE +209F 3C < INC A +20A0 20 F7 . JR NZ,2099 +20A2 E1 . POP HL +20A3 F1 . POP AF +20A4 3D = DEC A +20A5 FE 11 .. CP 11 ; Weiter +20A7 CA 1C 21 ..! JP Z,211C +20AA FE 04 .. CP 04 ; Info +20AC 28 56 (V JR Z,2104 +20AE FE 07 .. CP 07 ; SV-Call +20B0 28 5E (^ JR Z,2110 +20B2 FE 17 .. CP 17 ; Stop +20B4 CA 22 21 ."! JP Z,2122 +20B7 77 w LD (HL),A ; Anderer Eingabecode +20B8 DD 34 .4 INC (IX+04) ; Lese-Zeiger weitersetzen +20BA 04 . INC B +20BB 23 # INC HL +20BC CD 2F 21 ./! CALL 212F +20BF E1 . POP HL +20C0 18 1B .. JR 20DD +20C2 3C < INC A +20C3 28 1C (. JR Z,20E1 +20C5 7E ~ LD A,(HL) +20C6 23 # INC HL +20C7 3C < INC A +20C8 20 FB . JR NZ,20C5 +20CA EB . EX DE,HL +20CB E1 . POP HL +20CC F1 . POP AF +20CD 18 BE .. JR 208D +20CF F1 . POP AF +20D0 E1 . POP HL +20D1 DD 34 .4 INC (IX+04) +20D3 04 . INC B +20D4 DD 7E 04 .~. LD A,(IX+04) ; Lesezeiger = Schreibzeiger ? +20D7 DD BE 05 ... CP (IX+05) +20DA C2 82 20 .. JP NZ,2082 +20DD C1 . POP BC +20DE D1 . POP DE +20DF 18 0D .. JR 20EE +20E1 3E 02 >. LD A,02 +20E3 32 AB 26 2.& LD (26AB),A +20E6 E1 . POP HL +20E7 F1 . POP AF +20E8 E1 . POP HL +20E9 18 F2 .. JR 20DD +20EB DD 34 .4 INC (IX+04) ; Zeiger weitersetzen +20ED 04 . INC B +20EE F1 . POP AF +20EF C3 E7 1F ... JP 1FE7 +20F2 DD CB 01 EE .... SET 5,(IX+01) ; Bit 5 : Puffer overflow +20F6 DD 7E 04 .~. LD A,(IX+04) ; Schreibzeiger := Lesezeiger +20F9 DD 77 05 .w. LD (IX+05),A +20FC 3E 03 >. LD A,03 +20FE 32 AB 26 2.& LD (26AB),A +2101 C1 . POP BC +2102 18 EA .. JR 20EE ;-------------- Info-Taste -------- +2104 CD 2F 21 ./! CALL 212F +2107 E1 . POP HL +2108 C1 . POP BC +2109 D1 . POP DE +210A F1 . POP AF +210B CD 33 6F .3o CALL 6F33 +210E 18 DF .. JR 20EF ;--------------- SV-Call --------- +2110 CD 2F 21 ./! CALL 212F +2113 E1 . POP HL +2114 C1 . POP BC +2115 D1 . POP DE +2116 F1 . POP AF +2117 CD 93 4C ..L CALL 4C93 +211A 18 D3 .. JR 20EF ;-------------- Weiter-Taste ------ +211C DD CB 00 DE .... SET 3,(IX+00) ; Weiterbit setzen +2120 18 04 .. JR 2126 ;-------------- Stop-Taste -------- +2122 DD CB 00 9E .... RES 3,(IX+00) ; +2126 CD 2F 21 ./! CALL 212F +2129 E1 . POP HL +212A C1 . POP BC +212B D1 . POP DE +212C F1 . POP AF +212D 18 C0 .. JR 20EF +212F DD 7E 04 .~. LD A,(IX+04) ; Schreibzeiger := Lesezeiger +2132 DD 77 05 .w. LD (IX+05),A +2135 3E FF >. LD A,FF ; Puffer bis zum Ende mit FF fuellen +2137 77 w LD (HL),A +2138 23 # INC HL +2139 7B { LD A,E +213A BD . CP L +213B 20 F8 . JR NZ,2135 +213D C9 . RET ; ------ Test ob Puffer overflow +213E F5 . PUSH AF +213F E5 . PUSH HL +2140 21 B2 26 !.& LD HL,26B2 +2143 CB 7E .~ BIT 7,(HL) +2145 28 02 (. JR Z,2149 +2147 86 . ADD (HL) +2148 77 w LD (HL),A +2149 3A AB 26 :.& LD A,(26AB) +214C 3D = DEC A +214D FA 85 21 ..! JP M,2185 +2150 32 AB 26 2.& LD (26AB),A +2153 20 30 0 JR NZ,2185 +2155 DD E5 .. PUSH IX +2157 D5 . PUSH DE +2158 C5 . PUSH BC +2159 11 18 00 ... LD DE,0018 +215C 3E 01 >. LD A,01 ; Beginne mit Kanal 1 +215E CD EB 23 ..# CALL 23EB ; Zeiger auf Kanaltabelle --> HL +2161 06 10 .. LD B,10 ; Fuer 16 Kanaele +2163 E5 . PUSH HL +2164 DD E1 .. POP IX +2166 DD CB 00 6E ...n BIT 5,(IX+00) ; Groáer Puffer +216A 20 11 . JR NZ,217D ; kein overflow +216C F3 . DI +216D DD 7E 05 .~. LD A,(IX+05) ; Schreibzeiger >= 16H ? +2170 FE 16 .. CP 16 +2172 38 05 8. JR C,2179 +2174 3E 13 >. LD A,13 ; zuruecksetzen auf 13 +2176 DD 77 05 .w. LD (IX+05),A +2179 DD 77 04 .w. LD (IX+04),A +217C FB . EI +217D DD 19 .. ADD IX,DE ; Next entry +217F 10 E5 .. DJNZ 2166 +2181 C1 . POP BC +2182 D1 . POP DE +2183 DD E1 .. POP IX +2185 E1 . POP HL +2186 F1 . POP AF +2187 C9 . RET ;----------- OUTPUT ------------ +2188 FE 11 .. CP 11 +218A D2 7B 28 .{( JP NC,287B +218D F5 . PUSH AF +218E DD E5 .. PUSH IX +2190 32 AC 26 2.& LD (26AC),A +2193 E5 . PUSH HL +2194 CD 95 26 ..& CALL 2695 +2197 D2 3A 22 .:" JP NC,223A +219A 32 B1 26 2.& LD (26B1),A +219D 3A AC 26 :.& LD A,(26AC) +21A0 CD FA 23 ..# CALL 23FA +21A3 DD 2A AD 26 .*.& LD IX,(26AD) +21A7 7E ~ LD A,(HL) +21A8 E6 0B .. AND 0B +21AA 28 24 ($ JR Z,21D0 +21AC CB 5F ._ BIT 3,A +21AE 20 0C . JR NZ,21BC +21B0 CB 47 .G BIT 0,A +21B2 28 13 (. JR Z,21C7 +21B4 3A AC 26 :.& LD A,(26AC) +21B7 CD 59 1E .Y. CALL 1E59 +21BA 38 09 8. JR C,21C5 +21BC E1 . POP HL +21BD DD E1 .. POP IX +21BF F1 . POP AF +21C0 01 00 00 ... LD BC,0000 +21C3 B7 . OR A +21C4 C9 . RET +21C5 CB 86 .. RES 0,(HL) +21C7 3A B2 26 :.& LD A,(26B2) +21CA CB 7F .. BIT 7,A +21CC 20 EE . JR NZ,21BC +21CE CB 8E .. RES 1,(HL) +21D0 E1 . POP HL +21D1 D5 . PUSH DE +21D2 E5 . PUSH HL +21D3 3A B1 26 :.& LD A,(26B1) +21D6 CD 1F 24 ..$ CALL 241F +21D9 54 T LD D,H +21DA 5D ] LD E,L +21DB E1 . POP HL +21DC E5 . PUSH HL +21DD C5 . PUSH BC +21DE 78 x LD A,B +21DF B1 . OR C +21E0 20 08 . JR NZ,21EA +21E2 C1 . POP BC +21E3 E1 . POP HL +21E4 D1 . POP DE +21E5 DD E1 .. POP IX +21E7 F1 . POP AF +21E8 37 7 SCF +21E9 C9 . RET +21EA E5 . PUSH HL +21EB 7E ~ LD A,(HL) +21EC 2A AD 26 *.& LD HL,(26AD) +21EF CB 56 .V BIT 2,(HL) +21F1 28 0F (. JR Z,2202 +21F3 CB 66 .f BIT 4,(HL) +21F5 CA 07 23 ..# JP Z,2307 +21F8 CB A6 .. RES 4,(HL) +21FA 23 # INC HL +21FB 23 # INC HL +21FC 77 w LD (HL),A +21FD E1 . POP HL +21FE 23 # INC HL +21FF 0B . DEC BC +2200 18 DC .. JR 21DE +2202 E1 . POP HL +2203 E5 . PUSH HL +2204 C5 . PUSH BC +2205 3A B1 26 :.& LD A,(26B1) +2208 FE 7E .~ CP 7E +220A 28 35 (5 JR Z,2241 +220C E5 . PUSH HL +220D 6E n LD L,(HL) +220E 26 00 &. LD H,00 +2210 19 . ADD HL,DE +2211 7E ~ LD A,(HL) +2212 3C < INC A +2213 20 38 8 JR NZ,224D +2215 E1 . POP HL +2216 ED A1 .. CPI +2218 EA 0C 22 .." JP PE,220C +221B C1 . POP BC +221C E1 . POP HL +221D C5 . PUSH BC +221E 3A AC 26 :.& LD A,(26AC) +2221 CD 7B 28 .{( CALL 287B +2224 F5 . PUSH AF +2225 DD 7E 03 .~. LD A,(IX+03) ; xpos INCR C +2228 81 . ADD C +2229 DD 77 03 .w. LD (IX+03),A +222C F1 . POP AF +222D D2 CE 23 ..# JP NC,23CE +2230 09 . ADD HL,BC +2231 E3 . EX (SP),HL +2232 B7 . OR A +2233 ED 42 .B SBC HL,BC +2235 44 D LD B,H +2236 4D M LD C,L +2237 E1 . POP HL +2238 18 A4 .. JR 21DE +223A E1 . POP HL +223B DD E1 .. POP IX +223D F1 . POP AF +223E C3 7B 28 .{( JP 287B +2241 3E 0D >. LD A,0D +2243 BE . CP (HL) +2244 30 08 0. JR NC,224E +2246 ED A1 .. CPI +2248 EA 43 22 .C" JP PE,2243 +224B 18 CE .. JR 221B +224D E1 . POP HL +224E 7E ~ LD A,(HL) +224F E1 . POP HL +2250 E5 . PUSH HL +2251 B7 . OR A +2252 ED 42 .B SBC HL,BC +2254 28 06 (. JR Z,225C +2256 44 D LD B,H +2257 4D M LD C,L +2258 E1 . POP HL +2259 E3 . EX (SP),HL +225A 18 C2 .. JR 221E +225C F5 . PUSH AF +225D 3A AC 26 :.& LD A,(26AC) +2260 C5 . PUSH BC +2261 01 02 00 ... LD BC,0002 ; IOCONTROL frout +2264 CD A8 28 ..( CALL 28A8 +2267 79 y LD A,C +2268 C1 . POP BC +2269 FE 10 .. CP 10 +226B DA E6 23 ..# JP C,23E6 +226E F1 . POP AF +226F CD 79 22 .y" CALL 2279 +2272 C1 . POP BC +2273 E1 . POP HL +2274 0B . DEC BC +2275 23 # INC HL +2276 C3 DE 21 ..! JP 21DE ;-------- cursor mitfuehren ------ +2279 FE 06 .. CP 06 +227B CA FF 22 .." JP Z,22FF +227E 38 54 8T JR C,22D4 +2280 FE 08 .. CP 08 ; Left +2282 28 15 (. JR Z,2299 +2284 FE 07 .. CP 07 ; Bell: Keine Veraenderung +2286 28 5B ([ JR Z,22E3 +2288 FE 0A .. CP 0A ; LF +228A 28 12 (. JR Z,229E +228C DD 34 .4 INC (IX+03) ; Alles andere wie right +228E 03 . INC BC +228F FE 0D .. CP 0D ; CR +2291 20 50 P JR NZ,22E3 +2293 DD 36 03 00 .6.. LD (IX+03),00 +2297 18 4A .J JR 22E3 +2299 DD 35 .5 DEC (IX+03) +229B 03 . INC BC +229C 18 45 .E JR 22E3 +229E F5 . PUSH AF +229F DD 7E 02 .~. LD A,(IX+02) ; ypos des cursors +22A2 DD BE 06 ... CP (IX+06) ; max. ypos (wird mit ysize ges.) +22A5 28 03 (. JR Z,22AA +22A7 DD 34 .4 INC (IX+02) ; ypos +1 +22A9 02 . LD (BC),A +22AA F1 . POP AF +22AB 18 36 .6 JR 22E3 +22AD E5 . PUSH HL +22AE 23 # INC HL +22AF CD 5F 23 ._# CALL 235F +22B2 E1 . POP HL +22B3 7E ~ LD A,(HL) +22B4 B7 . OR A +22B5 C8 . RET Z +22B6 2A AD 26 *.& LD HL,(26AD) +22B9 CB C6 .. SET 0,(HL) +22BB CB CE .. SET 1,(HL) +22BD 3E 81 >. LD A,81 +22BF 32 B2 26 2.& LD (26B2),A +22C2 C3 E0 23 ..# JP 23E0 +22C5 DD 36 02 00 .6.. LD (IX+02),00 +22C9 DD 36 03 00 .6.. LD (IX+03),00 +22CD 18 14 .. JR 22E3 +22CF DD 34 .4 INC (IX+03) +22D1 03 . INC BC +22D2 18 0F .. JR 22E3 +22D4 FE 01 .. CP 01 ; Home ? +22D6 28 ED (. JR Z,22C5 +22D8 FE 02 .. CP 02 ; Right ? +22DA 28 F3 (. JR Z,22CF +22DC FE 03 .. CP 03 ; Up +22DE 20 03 . JR NZ,22E3 +22E0 DD 35 .5 DEC (IX+02) ; ypos-1 +22E2 02 . LD (BC),A +22E3 6F o LD L,A +22E4 3A B1 26 :.& LD A,(26B1) +22E7 FE 7E .~ CP 7E +22E9 20 04 . JR NZ,22EF +22EB 7D } LD A,L +22EC C3 B8 23 ..# JP 23B8 +22EF 26 00 &. LD H,00 +22F1 19 . ADD HL,DE +22F2 7E ~ LD A,(HL) +22F3 FE 80 .. CP 80 +22F5 DA B8 23 ..# JP C,23B8 +22F8 D6 80 .. SUB A,80 +22FA 62 b LD H,D +22FB 6F o LD L,A +22FC 24 $ INC H +22FD 18 AE .. JR 22AD ;---------- cursor (x,y) ---------- +22FF 2A AD 26 *.& LD HL,(26AD) +2302 CB D6 .. SET 2,(HL) +2304 CB E6 .. SET 4,(HL) +2306 C9 . RET ;--------------------------------- +2307 23 # INC HL +2308 23 # INC HL +2309 23 # INC HL +230A 77 w LD (HL),A +230B 3A B1 26 :.& LD A,(26B1) +230E FE 7E .~ CP 7E ; psi ? +2310 20 11 . JR NZ,2323 +2312 3E 06 >. LD A,06 ; Code 6 +2314 CD B8 23 ..# CALL 23B8 +2317 2B + DEC HL +2318 7E ~ LD A,(HL) ; y pos +2319 CD B8 23 ..# CALL 23B8 +231C 23 # INC HL +231D 7E ~ LD A,(HL) ; x pos +231E CD B8 23 ..# CALL 23B8 +2321 18 31 .1 JR 2354 +2323 14 . INC D +2324 1A . LD A,(DE) +2325 15 . DEC D +2326 3C < INC A +2327 20 0E . JR NZ,2337 +2329 DD 7E 03 .~. LD A,(IX+03) ; alte xpos +232C D6 50 .P SUB A,50 ; 80 Spalten Umbruch +232E 38 07 8. JR C,2337 +2330 DD CB 02 F6 .... SET 6,(IX+02) +2334 DD 77 03 .w. LD (IX+03),A +2337 C5 . PUSH BC +2338 21 06 00 !.. LD HL,0006 ; Cursorstringcode = 6 +233B 19 . ADD HL,DE +233C 7E ~ LD A,(HL) ; Ist immer ein outstring +233D CB BF .. RES 7,A +233F 24 $ INC H ; Outstringpage +2340 6F o LD L,A +2341 2C , INC L ; keine wartezeit +2342 CD 5F 23 ._# CALL 235F ; prestring ausgeben +2345 23 # INC HL +2346 CD 6C 23 .l# CALL 236C ; x/y pos ausgeben +2349 CD 5F 23 ._# CALL 235F ; midstring ausgeben +234C 23 # INC HL +234D CD 6C 23 .l# CALL 236C ; x/y pos ausgeben +2350 CD 5F 23 ._# CALL 235F ; poststring ausgeben +2353 C1 . POP BC ; naechstes zeichen interpretieren +2354 2A AD 26 *.& LD HL,(26AD) +2357 CB 96 .. RES 2,(HL) +2359 E1 . POP HL +235A 23 # INC HL +235B 0B . DEC BC +235C C3 DE 21 ..! JP 21DE ; string ausgeben (mit 0 am ende) +235F 06 46 .F LD B,46 ; max 70 zeichen +2361 7E ~ LD A,(HL) +2362 B7 . OR A +2363 28 06 (. JR Z,236B +2365 CD B8 23 ..# CALL 23B8 ; char out +2368 23 # INC HL +2369 10 F6 .. DJNZ 2361 +236B C9 . RET ;----------- x/y pos out --------- +236C 7E ~ LD A,(HL) ; zeichen "x" oder "y" +236D E5 . PUSH HL +236E 2A AD 26 *.& LD HL,(26AD) ; zeiger auf x pos (26ad)+2 +2371 23 # INC HL +2372 23 # INC HL +2373 FE 79 .y CP 79 ; "y" Kennzeichen +2375 28 01 (. JR Z,2378 +2377 23 # INC HL ; ypos +2378 46 F LD B,(HL) ; neue position --> B +2379 FD E5 .. PUSH IY +237B 14 . INC D ; +237C D5 . PUSH DE +237D FD E1 .. POP IY +237F 15 . DEC D +2380 FE 79 .y CP 79 ; "y" Kennzeichen +2382 28 02 (. JR Z,2386 +2384 FD 23 .# INC IY +2386 FD 7E 02 .~. LD A,(IY+02) ; Offset + pos +2389 80 . ADD B +238A FD CB 00 56 ...V BIT 2,(IY+00) ; Keine Konvertierung +238E 20 0C . JR NZ,239C +2390 FD CB 00 46 ...F BIT 0,(IY+00) ; Dezimale ASCII-Ausgabe +2394 20 0E . JR NZ,23A4 +2396 FE 0C .. CP 0C ; Elbit Cursor +2398 38 02 8. JR C,239C +239A C6 04 .. ADD A,04 ; ywert +239C CD B8 23 ..# CALL 23B8 ; Byte ausgeben +239F FD E1 .. POP IY +23A1 E1 . POP HL +23A2 23 # INC HL +23A3 C9 . RET ;--------- Dezimal ausgeben ------- +23A4 D5 . PUSH DE +23A5 5F _ LD E,A +23A6 16 00 .. LD D,00 +23A8 21 A4 26 !.& LD HL,26A4 ; Zwischenspeicheraddresse +23AB CD 00 4E ..N CALL 4E00 ; String uebertragen +23AE 41 A LD B,C ; Laengebyte +23AF 21 A4 26 !.& LD HL,26A4 ; Startaddresse des Strings +23B2 CD 61 23 .a# CALL 2361 ; String ausgeben +23B5 D1 . POP DE +23B6 18 E7 .. JR 239F ; Return +23B8 E5 . PUSH HL +23B9 C5 . PUSH BC +23BA 21 AA 26 !.& LD HL,26AA +23BD 77 w LD (HL),A +23BE 01 01 00 ... LD BC,0001 +23C1 3A AC 26 :.& LD A,(26AC) +23C4 CD 7B 28 .{( CALL 287B +23C7 78 x LD A,B +23C8 B1 . OR C +23C9 28 F3 (. JR Z,23BE +23CB C1 . POP BC +23CC E1 . POP HL +23CD C9 . RET +23CE E1 . POP HL +23CF B7 . OR A +23D0 ED 42 .B SBC HL,BC +23D2 E3 . EX (SP),HL +23D3 C1 . POP BC +23D4 B7 . OR A +23D5 ED 42 .B SBC HL,BC +23D7 44 D LD B,H +23D8 4D M LD C,L +23D9 E1 . POP HL +23DA D1 . POP DE +23DB DD E1 .. POP IX +23DD F1 . POP AF +23DE B7 . OR A +23DF C9 . RET +23E0 C1 . POP BC +23E1 E1 . POP HL +23E2 2B + DEC HL +23E3 C1 . POP BC +23E4 18 EC .. JR 23D2 +23E6 E1 . POP HL +23E7 E1 . POP HL +23E8 C1 . POP BC +23E9 18 E7 .. JR 23D2 ;----- Zeiger auf Kanaltabelle +23EB D5 . PUSH DE +23EC C5 . PUSH BC +23ED 21 B1 26 !.& LD HL,26B1 +23F0 47 G LD B,A +23F1 11 18 00 ... LD DE,0018 ; 24 Bytes lang ein entry +23F4 19 . ADD HL,DE +23F5 10 FD .. DJNZ 23F4 +23F7 C1 . POP BC +23F8 D1 . POP DE +23F9 C9 . RET +23FA CD EB 23 ..# CALL 23EB +23FD 22 AD 26 ".& LD (26AD),HL +2400 C9 . RET ;--------- Typtabellennummeraddr->HL +2401 FE 7E .~ CP 7E ; psi +2403 C8 . RET Z +2404 FE 05 .. CP 05 ; Tabellennummer >= 5 ? +2406 38 0E 8. JR C,2416 +2408 CD 1F 70 ..p CALL 701F ; Info aufrufen +240B 18 09 .. JR 2416 ; " lst ovfl" +240D 20 6C l JR NZ,247B +240F 73 s LD (HL),E +2410 74 t LD (HL),H +2411 20 6F o JR NZ,2482 +2413 76 v HALT +2414 66 f LD H,(HL) +2415 6C l LD L,H +2416 21 B3 26 !.& LD HL,26B3 +2419 85 . ADD L +241A 6F o LD L,A +241B 30 01 0. JR NC,241E +241D 24 $ INC H +241E C9 . RET ;------ Addresse der Typtabelle -- +241F CD 01 24 ..$ CALL 2401 +2422 66 f LD H,(HL) +2423 2E 00 .. LD L,00 +2425 C9 . RET ;--Typt.Block reservieren ------- +2426 E5 . PUSH HL +2427 D5 . PUSH DE +2428 CD 42 5E .B^ CALL 5E42 ; Block freimachen +242B 7D } LD A,L +242C 87 . ADD A ; * 2 +242D D1 . POP DE +242E E1 . POP HL +242F 77 w LD (HL),A ; Pufferaddresse (Block)eintragen +2430 C9 . RET +2431 F1 . POP AF +2432 01 FF FF ... LD BC,FFFF ; Returncode -1 +2435 C9 . RET ; ---- 173/175 Shard-IOCONTROL ----- +2436 F5 . PUSH AF +2437 3A 6B 28 :k( LD A,(286B) ; Shardversion +243A FE 06 .. CP 06 ; 173 Shard +243C 38 F3 8. JR C,2431 ; < 6 : control geht nicht +243E FE 08 .. CP 08 +2440 30 0A 0. JR NC,244C ; >= 8 : keine Registerverlagerung +2442 F1 . POP AF ; 173: Register umdrehen +2443 61 a LD H,C ; H = Schlssel (>=8: HL=Schlssel) +2444 42 B LD B,D ; BC = Funktionsnummer +2445 4B K LD C,E ; L war schon addressierter Kanal +2446 11 00 00 ... LD DE,0000 ; DE = Funktionscode 1 (nicht in <8) +2449 C3 A8 28 ..( JP 28A8 ; IOCONTROL an Shard geben +244C F1 . POP AF ; --- 175 Shard-IOCONTROL ---------- +244D C5 . PUSH BC +244E 42 B LD B,D ; Funktionsnummer nach BC +244F 4B K LD C,E +2450 54 T LD D,H ; Code 1 nach DE +2451 5D ] LD E,L +2452 E1 . POP HL ; Code 2 nach HL +2453 C3 A8 28 ..( JP 28A8 ; ---- CONTROL (DE,HL,BC,res BC) ---- +2456 CB 7A .z BIT 7,D +2458 20 F3 . JR NZ,244D +245A F5 . PUSH AF +245B 7B { LD A,E ; Control 6: flow (kanal. +245C FE 06 .. CP 06 +245E CA 24 25 .$% JP Z,2524 +2461 FE 08 .. CP 08 ; Control 8: baud (kanal,schlssl,res) +2463 28 D2 (. JR Z,2437 +2465 FE 09 .. CP 09 ; Control 9: bits (kanal,schlssl,res) +2467 28 CE (. JR Z,2437 +2469 FE 0A .. CP 0A ; Control 10: calendar (field,0,bcd) +246B 28 1B (. JR Z,2488 +246D FE 0C .. CP 0C ; Control 12: xmiterror (0,0,err) +246F 20 1E . JR NZ,248F ;--------- IOCONTROL 12 ---------- +2471 0E 3F .? LD C,3F +2473 3A 6B 28 :k( LD A,(286B) +2476 FE 08 .. CP 08 ; Shard Version >= 8 ? +2478 30 02 0. JR NC,247C +247A 0E 20 . LD C,20 ; Nur Puffer uebergelaufen +247C F1 . POP AF +247D CD EB 23 ..# CALL 23EB ; Zeiger auf Kanaltabelle +2480 23 # INC HL +2481 7E ~ LD A,(HL) +2482 A1 . AND C +2483 4F O LD C,A +2484 06 00 .. LD B,00 +2486 70 p LD (HL),B +2487 C9 . RET ; ----- IOCONTROL calendar --------- +2488 3A 6B 28 :k( LD A,(286B) +248B FE 08 .. CP 08 ; Shard Vers >= 8 ? +248D 38 A2 8. JR C,2431 ; nein, Return -1 +248F F1 . POP AF ; ------ +2490 FE 20 . CP 20 ; Parameterkanal ? +2492 28 0E (. JR Z,24A2 +2494 F5 . PUSH AF ; Kein Parameterkanal +2495 7B { LD A,E +2496 FE 05 .. CP 05 ; Funktion 5: size +2498 28 04 (. JR Z,249E +249A FE 07 .. CP 07 ; Funktion 7: format +249C 20 AE . JR NZ,244C +249E F1 . POP AF +249F C3 2A 64 .*d JP 642A ; šbergeben an PROZ ARCH +24A2 7B { LD A,E ; Am Parameterkanal +24A3 FE 01 .. CP 01 ; Funktion 1: typtab(kanal,typnr,res) +24A5 28 65 (e JR Z,250C +24A7 FE 02 .. CP 02 ; Funktion 2: inbuffsize(kanal,size,res) +24A9 28 06 (. JR Z,24B1 +24AB FE 0B .. CP 0B ; Funktion 11: ysize(kanal,ysize,res) +24AD CA 3C 25 .<% JP Z,253C +24B0 C9 . RET ;--- CONTROL inputbuffersize ------ +24B1 7D } LD A,L ; Funktion 2 : +24B2 FE 11 .. CP 11 +24B4 D0 . RET NC ; Kanal < 17 ? +24B5 CD EB 23 ..# CALL 23EB ; Zeiger auf Kanaltabelle berechnen +24B8 78 x LD A,B ; > 255 ? +24B9 FE 01 .. CP 01 +24BB 30 22 0" JR NC,24DF +24BD CB 6E .n BIT 5,(HL) ; inputbuffersize < 256 +24BF C8 . RET Z ; schon eingestellt +24C0 DD E5 .. PUSH IX +24C2 E5 . PUSH HL +24C3 DD E1 .. POP IX +24C5 DD 66 07 .f. LD H,(IX+07) ; 7 = Blockaddresse +24C8 DD 6E 0C .n. LD L,(IX+0C) +24CB CD 0B 5E ..^ CALL 5E0B ; Alten Pufferblock freigeben +24CE F3 . DI +24CF DD 36 00 00 .6.. LD (IX+00),00 ; Jetzt kleiner Puffer ohne Flussk. +24D3 DD 36 04 07 .6.. LD (IX+04),07 ; Zeiger auf Pufferanfang +24D7 FB . EI +24D8 DD 36 05 07 .6.. LD (IX+05),07 +24DC DD E1 .. POP IX +24DE C9 . RET ;---- Grosser Puffer -------------- +24DF CB 6E .n BIT 5,(HL) +24E1 C0 . RET NZ ; war schon > 255 eingestellt +24E2 DD E5 .. PUSH IX +24E4 E5 . PUSH HL +24E5 CD 18 5E ..^ CALL 5E18 ; Block freimachen fuer Puffer +24E8 DD E1 .. POP IX +24EA F3 . DI +24EB DD CB 00 EE .... SET 5,(IX+00) ; Grosser Puffer +24EF DD 74 07 .t. LD (IX+07),H ; Pufferaddresse setzen +24F2 DD 75 0C .u. LD (IX+0C),L +24F5 97 . SUB A ; Puffer leeren +24F6 DD 77 04 .w. LD (IX+04),A ; Lese- und Schreibzeiger jetzt 16Bit +24F9 DD 77 08 .w. LD (IX+08),A ; Auf Blockanfang +24FC DD 77 05 .w. LD (IX+05),A +24FF DD 77 0B .w. LD (IX+0B),A +2502 DD 77 09 .w. LD (IX+09),A +2505 DD 77 0A .w. LD (IX+0A),A +2508 FB . EI +2509 DD E1 .. POP IX +250B C9 . RET ;------ CONTROL typtabelle ------- +250C 79 y LD A,C ; Typtabelle einstellen +250D FE FE .. CP FE ; >= 254: psi o. transparent +250F 30 05 0. JR NC,2516 ; +2511 FE 05 .. CP 05 +2513 D2 3F 26 .?& JP NC,263F ; >= 5: falsche Nummer +2516 7D } LD A,L +2517 FE 11 .. CP 11 +2519 D2 5A 26 .Z& JP NC,265A +251C CD 95 26 ..& CALL 2695 ; Kanaltyptabellenaddresse holen +251F 71 q LD (HL),C ; Nummer eintragen +2520 01 00 00 ... LD BC,0000 ; ok +2523 C9 . RET ;------ IOCONTROL flow ---------- +2524 F1 . POP AF ; Eigener Kanal +2525 C5 . PUSH BC +2526 E5 . PUSH HL +2527 CD 36 24 .6$ CALL 2436 ; Shard IOCONTROL flow +252A E1 . POP HL +252B D1 . POP DE +252C 7D } LD A,L ; Addressierter Kanal +252D FE 11 .. CP 11 ; > 16: fertig +252F D0 . RET NC +2530 CD 95 26 ..& CALL 2695 ; Tytabellennummer holen --> A +2533 CB BE .. RES 7,(HL) ; Erstmal keine Fluákontrolle setzen +2535 7B { LD A,E +2536 B7 . OR A +2537 28 02 (. JR Z,253B ; Wenn Fluákontrolle, dann in Typ- +2539 CB FE .. SET 7,(HL) ; tabellennummer vermerken +253B C9 . RET ;------- IOCONTROL ysize ----------- +253C 7D } LD A,L ; Addressierter Kanal +253D FE 11 .. CP 11 ; > 16: fertig +253F D0 . RET NC +2540 CD EB 23 ..# CALL 23EB ; Addresse der Kanaltabelle holen +2543 DD E5 .. PUSH IX +2545 E5 . PUSH HL +2546 DD E1 .. POP IX +2548 0D . DEC C ; ysize-1 (=ymax f. y=0..ymax) +2549 DD 46 06 .F. LD B,(IX+06) ; Return = alte ysize +254C 04 . INC B ; ymax + 1 = ysize +254D DD 71 06 .q. LD (IX+06),C +2550 DD E1 .. POP IX +2552 48 H LD C,B ; Nur Werte 0..255 +2553 06 00 .. LD B,00 +2555 C9 . RET ;---------------------------------- +2556 CB 7C .| BIT 7,H +2558 C2 DE 63 ..c JP NZ,63DE +255B 32 AC 26 2.& LD (26AC),A +255E 7C | LD A,H +255F B5 . OR L +2560 20 06 . JR NZ,2568 +2562 3A AC 26 :.& LD A,(26AC) +2565 C3 DE 63 ..c JP 63DE +2568 7C | LD A,H +2569 E6 FE .. AND FE +256B FE 02 .. CP 02 +256D 28 08 (. JR Z,2577 +256F C3 5E 26 .^& JP 265E +2572 01 01 02 ... LD BC,0201 +2575 E1 . POP HL +2576 C9 . RET +2577 78 x LD A,B +2578 B1 . OR C +2579 C8 . RET Z +257A 25 % DEC H +257B 25 % DEC H +257C E5 . PUSH HL +257D 09 . ADD HL,BC +257E 7C | LD A,H +257F D6 02 .. SUB A,02 +2581 38 05 8. JR C,2588 +2583 20 ED . JR NZ,2572 +2585 B5 . OR L +2586 20 EA . JR NZ,2572 +2588 3A AC 26 :.& LD A,(26AC) +258B CD FA 23 ..# CALL 23FA +258E E1 . POP HL +258F 19 . ADD HL,DE +2590 DD E5 .. PUSH IX +2592 DD 2A AD 26 .*.& LD IX,(26AD) +2596 DD CB 00 6E ...n BIT 5,(IX+00) +259A 28 5E (^ JR Z,25FA +259C C5 . PUSH BC +259D E5 . PUSH HL +259E DD 66 0B .f. LD H,(IX+0B) +25A1 DD 6E 04 .n. LD L,(IX+04) +25A4 B7 . OR A +25A5 ED 42 .B SBC HL,BC +25A7 DA 13 26 ..& JP C,2613 +25AA DD 66 07 .f. LD H,(IX+07) +25AD DD 6E 0C .n. LD L,(IX+0C) +25B0 CD 81 5A ..Z CALL 5A81 +25B3 ED 43 AF 26 .C.& LD (26AF),BC +25B7 DD 6E 05 .n. LD L,(IX+05) +25BA DD 7E 0A .~. LD A,(IX+0A) +25BD E6 01 .. AND 01 +25BF 84 . ADD H +25C0 67 g LD H,A +25C1 D1 . POP DE +25C2 C1 . POP BC +25C3 C5 . PUSH BC +25C4 23 # INC HL +25C5 7D } LD A,L +25C6 B7 . OR A +25C7 20 06 . JR NZ,25CF +25C9 CB 44 .D BIT 0,H +25CB 20 02 . JR NZ,25CF +25CD 25 % DEC H +25CE 25 % DEC H +25CF ED A0 .. LDI +25D1 EA C5 25 ..% JP PE,25C5 +25D4 2B + DEC HL +25D5 DD 75 05 .u. LD (IX+05),L +25D8 DD 74 0A .t. LD (IX+0A),H +25DB ED 4B AF 26 .K.& LD BC,(26AF) +25DF CD 8C 5A ..Z CALL 5A8C +25E2 C1 . POP BC +25E3 F3 . DI +25E4 DD 66 0B .f. LD H,(IX+0B) +25E7 DD 6E 04 .n. LD L,(IX+04) +25EA B7 . OR A +25EB ED 42 .B SBC HL,BC +25ED DD 74 0B .t. LD (IX+0B),H +25F0 DD 75 04 .u. LD (IX+04),L +25F3 FB . EI +25F4 01 00 00 ... LD BC,0000 +25F7 DD E1 .. POP IX +25F9 C9 . RET ;---------------------------------- +25FA 3A AC 26 :.& LD A,(26AC) +25FD CD AD 1E ... CALL 1EAD +2600 DC 1A 26 ..& CALL C,261A +2603 DD E1 .. POP IX +2605 3A AC 26 :.& LD A,(26AC) +2608 CD 06 1F ... CALL 1F06 +260B D8 . RET C +260C 77 w LD (HL),A +260D ED A1 .. CPI +260F EA 05 26 ..& JP PE,2605 +2612 C9 . RET +2613 CD 1A 26 ..& CALL 261A +2616 E1 . POP HL +2617 C1 . POP BC +2618 18 E9 .. JR 2603 +261A 2A AD 26 *.& LD HL,(26AD) +261D 7E ~ LD A,(HL) +261E EE 40 .@ XOR 40 +2620 77 w LD (HL),A +2621 CB 77 .w BIT 6,A +2623 C8 . RET Z +2624 21 00 00 !.. LD HL,0000 +2627 C3 1A 6C ..l JP 6C1A +262A CB 7C .| BIT 7,H +262C C2 25 64 .%d JP NZ,6425 +262F 32 AC 26 2.& LD (26AC),A +2632 F5 . PUSH AF +2633 7C | LD A,H +2634 B5 . OR L +2635 20 2B + JR NZ,2662 +2637 F1 . POP AF +2638 FE 20 . CP 20 +263A C2 25 64 .%d JP NZ,6425 +263D 18 04 .. JR 2643 +263F 01 02 00 ... LD BC,0002 ; Nummer der Typtabelle falsch +2642 C9 . RET +2643 79 y LD A,C +2644 FE 05 .. CP 05 +2646 30 F7 0. JR NC,263F +2648 CD 01 24 ..$ CALL 2401 +264B 7E ~ LD A,(HL) +264C B7 . OR A +264D CC 26 24 .&$ CALL Z,2426 +2650 67 g LD H,A +2651 2E 00 .. LD L,00 +2653 EB . EX DE,HL +2654 01 00 02 ... LD BC,0200 ; Typtabelle in Bereich uebertragen +2657 ED B0 .. LDIR +2659 C9 . RET +265A 01 03 00 ... LD BC,0003 +265D C9 . RET +265E 01 01 00 ... LD BC,0001 +2661 C9 . RET +2662 F1 . POP AF +2663 7C | LD A,H +2664 E6 FE .. AND FE +2666 FE 02 .. CP 02 +2668 28 02 (. JR Z,266C +266A 18 F2 .. JR 265E +266C 78 x LD A,B +266D B1 . OR C +266E C8 . RET Z +266F C5 . PUSH BC +2670 E5 . PUSH HL +2671 01 02 00 ... LD BC,0002 +2674 3A AC 26 :.& LD A,(26AC) +2677 CD A8 28 ..( CALL 28A8 ; IOCONTROL frout +267A 21 1C 00 !.. LD HL,001C ; 28 Zeichen +267D ED 42 .B SBC HL,BC ; Anzahl uebernommener Zeichen +267F D4 1A 26 ..& CALL NC,261A +2682 E1 . POP HL +2683 C1 . POP BC +2684 25 % DEC H +2685 25 % DEC H +2686 19 . ADD HL,DE +2687 C5 . PUSH BC +2688 3A AC 26 :.& LD A,(26AC) +268B CD 88 21 ..! CALL 2188 +268E E1 . POP HL +268F B7 . OR A +2690 ED 42 .B SBC HL,BC +2692 44 D LD B,H +2693 4D M LD C,L +2694 C9 . RET +2695 21 B8 26 !.& LD HL,26B8 +2698 C5 . PUSH BC +2699 4F O LD C,A +269A 06 00 .. LD B,00 +269C 09 . ADD HL,BC +269D C1 . POP BC +269E 7E ~ LD A,(HL) +269F CB BF .. RES 7,A +26A1 FE 7F .. CP 7F +26A3 C9 . RET +26A4 FF . RST 38 +26A5 FF . RST 38 +26A6 FF . RST 38 +26A7 FF . RST 38 +26A8 FF . RST 38 +26A9 00 . NOP +26AA 00 . NOP +26AB 00 . NOP +26AC 00 . NOP +26AD 00 . NOP +26AE 00 . NOP +26AF 00 . NOP +26B0 00 . NOP +26B1 00 . NOP +26B2 00 . NOP +26B3 00 . NOP +26B4 00 . NOP +26B5 00 . NOP +26B6 00 . NOP +26B7 00 . NOP +26B8 00 . NOP ; typtabellen nummern & Flusskontr. +26B9 7E ~ LD A,(HL) ; Kanal 1 : psi ohne flow +26BA FF . RST 38 ; kanal 2 : transparent mit flow +26BB FF . RST 38 ; (Bit 7 = 1: Mit Fluákontrolle) +26BC FF . RST 38 +26BD FF . RST 38 +26BE FF . RST 38 +26BF FF . RST 38 +26C0 FF . RST 38 +26C1 FF . RST 38 +26C2 FF . RST 38 +26C3 FF . RST 38 +26C4 FF . RST 38 +26C5 FF . RST 38 +26C6 FF . RST 38 +26C7 FF . RST 38 +26C8 FF . RST 38 ; kanal 16 + ; kanaltabelle fuer kanal 1 +26C9 00 . NOP 0 ; Bit 0 : + ; Bit 3 : 1=Stoptaste gedrueckt + ; Bit 5 : 1=Grosser Puffer (>255Byte) +26CA 00 . NOP 1 ; Bits 0..5 : Errorbits +26CB FF . RST 38 2 ; Cursorpos y +26CC FF . RST 38 3 ; Cursorpos x +26CD 07 . RLCA 4 ; Pufferzeiger schreiben +26CE 07 . RLCA 5 ; Pufferzeiger lesen +26CF 17 . RLA 6 ; ysize = 23 +26D0 FF . RST 38 7 ; Ab hier Eingabezeichen ... +26D1 FF . RST 38 8 ; +26D2 FF . RST 38 9 ; +26D3 FF . RST 38 10 ; +26D4 FF . RST 38 11 ; +26D5 FF . RST 38 12 ; +26D6 FF . RST 38 +26D7 FF . RST 38 +26D8 FF . RST 38 +26D9 FF . RST 38 +26DA FF . RST 38 +26DB FF . RST 38 +26DC FF . RST 38 ; I.d.R bis hier +26DD FF . RST 38 +26DE FF . RST 38 +26DF FF . RST 38 +26E0 FF . RST 38 +26E1 00 . NOP ; kanal 2 +26E2 00 . NOP +26E3 FF . RST 38 +26E4 FF . RST 38 +26E5 07 . RLCA +26E6 07 . RLCA +26E7 17 . RLA +26E8 FF . RST 38 +26E9 FF . RST 38 +26EA FF . RST 38 +26EB FF . RST 38 +26EC FF . RST 38 +26ED FF . RST 38 +26EE FF . RST 38 +26EF FF . RST 38 +26F0 FF . RST 38 +26F1 FF . RST 38 +26F2 FF . RST 38 +26F3 FF . RST 38 +26F4 FF . RST 38 +26F5 FF . RST 38 +26F6 FF . RST 38 +26F7 FF . RST 38 +26F8 FF . RST 38 +26F9 00 . NOP ; kanal 3 +26FA 00 . NOP +26FB FF . RST 38 +26FC FF . RST 38 +26FD 07 . RLCA +26FE 07 . RLCA +26FF 17 . RLA +2700 FF . RST 38 +2701 FF . RST 38 +2702 FF . RST 38 +2703 FF . RST 38 +2704 FF . RST 38 +2705 FF . RST 38 +2706 FF . RST 38 +2707 FF . RST 38 +2708 FF . RST 38 +2709 FF . RST 38 +270A FF . RST 38 +270B FF . RST 38 +270C FF . RST 38 +270D FF . RST 38 +270E FF . RST 38 +270F FF . RST 38 +2710 FF . RST 38 +2711 00 . NOP ; kanal 4 +2712 00 . NOP +2713 FF . RST 38 +2714 FF . RST 38 +2715 07 . RLCA +2716 07 . RLCA +2717 17 . RLA +2718 FF . RST 38 +2719 FF . RST 38 +271A FF . RST 38 +271B FF . RST 38 +271C FF . RST 38 +271D FF . RST 38 +271E FF . RST 38 +271F FF . RST 38 +2720 FF . RST 38 +2721 FF . RST 38 +2722 FF . RST 38 +2723 FF . RST 38 +2724 FF . RST 38 +2725 FF . RST 38 +2726 FF . RST 38 +2727 FF . RST 38 +2728 FF . RST 38 +2729 00 . NOP ; kanal 5 +272A 00 . NOP +272B FF . RST 38 +272C FF . RST 38 +272D 07 . RLCA +272E 07 . RLCA +272F 17 . RLA +2730 FF . RST 38 +2731 FF . RST 38 +2732 FF . RST 38 +2733 FF . RST 38 +2734 FF . RST 38 +2735 FF . RST 38 +2736 FF . RST 38 +2737 FF . RST 38 +2738 FF . RST 38 +2739 FF . RST 38 +273A FF . RST 38 +273B FF . RST 38 +273C FF . RST 38 +273D FF . RST 38 +273E FF . RST 38 +273F FF . RST 38 +2740 FF . RST 38 +2741 00 . NOP ; kanal 6 +2742 00 . NOP +2743 FF . RST 38 +2744 FF . RST 38 +2745 07 . RLCA +2746 07 . RLCA +2747 17 . RLA +2748 FF . RST 38 +2749 FF . RST 38 +274A FF . RST 38 +274B FF . RST 38 +274C FF . RST 38 +274D FF . RST 38 +274E FF . RST 38 +274F FF . RST 38 +2750 FF . RST 38 +2751 FF . RST 38 +2752 FF . RST 38 +2753 FF . RST 38 +2754 FF . RST 38 +2755 FF . RST 38 +2756 FF . RST 38 +2757 FF . RST 38 +2758 FF . RST 38 +2759 00 . NOP ; kanal 7 +275A 00 . NOP +275B FF . RST 38 +275C FF . RST 38 +275D 07 . RLCA +275E 07 . RLCA +275F 17 . RLA +2760 FF . RST 38 +2761 FF . RST 38 +2762 FF . RST 38 +2763 FF . RST 38 +2764 FF . RST 38 +2765 FF . RST 38 +2766 FF . RST 38 +2767 FF . RST 38 +2768 FF . RST 38 +2769 FF . RST 38 +276A FF . RST 38 +276B FF . RST 38 +276C FF . RST 38 +276D FF . RST 38 +276E FF . RST 38 +276F FF . RST 38 +2770 FF . RST 38 +2771 00 . NOP ; kanal 8 +2772 00 . NOP +2773 FF . RST 38 +2774 FF . RST 38 +2775 07 . RLCA +2776 07 . RLCA +2777 17 . RLA +2778 FF . RST 38 +2779 FF . RST 38 +277A FF . RST 38 +277B FF . RST 38 +277C FF . RST 38 +277D FF . RST 38 +277E FF . RST 38 +277F FF . RST 38 +2780 FF . RST 38 +2781 FF . RST 38 +2782 FF . RST 38 +2783 FF . RST 38 +2784 FF . RST 38 +2785 FF . RST 38 +2786 FF . RST 38 +2787 FF . RST 38 +2788 FF . RST 38 +2789 00 . NOP ; kanal 9 +278A 00 . NOP +278B FF . RST 38 +278C FF . RST 38 +278D 07 . RLCA +278E 07 . RLCA +278F 17 . RLA +2790 FF . RST 38 +2791 FF . RST 38 +2792 FF . RST 38 +2793 FF . RST 38 +2794 FF . RST 38 +2795 FF . RST 38 +2796 FF . RST 38 +2797 FF . RST 38 +2798 FF . RST 38 +2799 FF . RST 38 +279A FF . RST 38 +279B FF . RST 38 +279C FF . RST 38 +279D FF . RST 38 +279E FF . RST 38 +279F FF . RST 38 +27A0 FF . RST 38 +27A1 00 . NOP ; kanal 10 +27A2 00 . NOP +27A3 FF . RST 38 +27A4 FF . RST 38 +27A5 07 . RLCA +27A6 07 . RLCA +27A7 17 . RLA +27A8 FF . RST 38 +27A9 FF . RST 38 +27AA FF . RST 38 +27AB FF . RST 38 +27AC FF . RST 38 +27AD FF . RST 38 +27AE FF . RST 38 +27AF FF . RST 38 +27B0 FF . RST 38 +27B1 FF . RST 38 +27B2 FF . RST 38 +27B3 FF . RST 38 +27B4 FF . RST 38 +27B5 FF . RST 38 +27B6 FF . RST 38 +27B7 FF . RST 38 +27B8 FF . RST 38 +27B9 00 . NOP ; kanal 11 +27BA 00 . NOP +27BB FF . RST 38 +27BC FF . RST 38 +27BD 07 . RLCA +27BE 07 . RLCA +27BF 17 . RLA +27C0 FF . RST 38 +27C1 FF . RST 38 +27C2 FF . RST 38 +27C3 FF . RST 38 +27C4 FF . RST 38 +27C5 FF . RST 38 +27C6 FF . RST 38 +27C7 FF . RST 38 +27C8 FF . RST 38 +27C9 FF . RST 38 +27CA FF . RST 38 +27CB FF . RST 38 +27CC FF . RST 38 +27CD FF . RST 38 +27CE FF . RST 38 +27CF FF . RST 38 +27D0 FF . RST 38 +27D1 00 . NOP ; kanal 12 +27D2 00 . NOP +27D3 FF . RST 38 +27D4 FF . RST 38 +27D5 07 . RLCA +27D6 07 . RLCA +27D7 17 . RLA +27D8 FF . RST 38 +27D9 FF . RST 38 +27DA FF . RST 38 +27DB FF . RST 38 +27DC FF . RST 38 +27DD FF . RST 38 +27DE FF . RST 38 +27DF FF . RST 38 +27E0 FF . RST 38 +27E1 FF . RST 38 +27E2 FF . RST 38 +27E3 FF . RST 38 +27E4 FF . RST 38 +27E5 FF . RST 38 +27E6 FF . RST 38 +27E7 FF . RST 38 +27E8 FF . RST 38 +27E9 00 . NOP ; kanal 13 +27EA 00 . NOP +27EB FF . RST 38 +27EC FF . RST 38 +27ED 07 . RLCA +27EE 07 . RLCA +27EF 17 . RLA +27F0 FF . RST 38 +27F1 FF . RST 38 +27F2 FF . RST 38 +27F3 FF . RST 38 +27F4 FF . RST 38 +27F5 FF . RST 38 +27F6 FF . RST 38 +27F7 FF . RST 38 +27F8 FF . RST 38 +27F9 FF . RST 38 +27FA FF . RST 38 +27FB FF . RST 38 +27FC FF . RST 38 +27FD FF . RST 38 +27FE FF . RST 38 +27FF FF . RST 38 +2800 FF . RST 38 +2801 00 . NOP ; kanal 14 +2802 00 . NOP +2803 FF . RST 38 +2804 FF . RST 38 +2805 07 . RLCA +2806 07 . RLCA +2807 17 . RLA +2808 FF . RST 38 +2809 FF . RST 38 +280A FF . RST 38 +280B FF . RST 38 +280C FF . RST 38 +280D FF . RST 38 +280E FF . RST 38 +280F FF . RST 38 +2810 FF . RST 38 +2811 FF . RST 38 +2812 FF . RST 38 +2813 FF . RST 38 +2814 FF . RST 38 +2815 FF . RST 38 +2816 FF . RST 38 +2817 FF . RST 38 +2818 FF . RST 38 +2819 00 . NOP ; kanal 15 +281A 00 . NOP +281B FF . RST 38 +281C FF . RST 38 +281D 07 . RLCA +281E 07 . RLCA +281F 17 . RLA +2820 FF . RST 38 +2821 FF . RST 38 +2822 FF . RST 38 +2823 FF . RST 38 +2824 FF . RST 38 +2825 FF . RST 38 +2826 FF . RST 38 +2827 FF . RST 38 +2828 FF . RST 38 +2829 FF . RST 38 +282A FF . RST 38 +282B FF . RST 38 +282C FF . RST 38 +282D FF . RST 38 +282E FF . RST 38 +282F FF . RST 38 +2830 FF . RST 38 +2831 00 . NOP ; kanal 16 +2832 00 . NOP +2833 FF . RST 38 +2834 FF . RST 38 +2835 07 . RLCA +2836 07 . RLCA +2837 17 . RLA +2838 FF . RST 38 +2839 FF . RST 38 +283A FF . RST 38 +283B FF . RST 38 +283C FF . RST 38 +283D FF . RST 38 +283E FF . RST 38 +283F FF . RST 38 +2840 FF . RST 38 +2841 FF . RST 38 +2842 FF . RST 38 +2843 FF . RST 38 +2844 FF . RST 38 +2845 FF . RST 38 +2846 FF . RST 38 +2847 FF . RST 38 +2848 FF . RST 38 +2849 73 s LD (HL),E ; "shdifc.z80 001 (!)" +284A 68 h LD L,B +284B 64 d LD H,H +284C 69 i LD L,C +284D 66 f LD H,(HL) +284E 63 c LD H,E +284F 2E 7A .z LD L,7A +2851 38 30 80 JR C,2883 +2853 20 30 0 JR NZ,2885 +2855 30 31 01 JR NC,2888 +2857 20 28 ( JR NZ,2881 +2859 21 29 +285B FF ;------ 69 Bytes von hier ------- +285C FF . RST 38 ; "SHARD " +285D FF . RST 38 +285E FF . RST 38 +285F FF . RST 38 +2860 FF . RST 38 +2861 FF . RST 38 +2862 FF . RST 38 +2863 FF . RST 38 +2864 FF . RST 38 +2865 FF . RST 38 +2866 FF . RST 38 +2867 FF . RST 38 +2868 FF . RST 38 +2869 FF . RST 38 +286A FF . RST 38 ; Shard Interface +286B 06 ; SHard versionnummer(wird veraendert +286C 00 ; " +286D 00 . NOP ; mode :BIT 0: 1=frei eumel0 +286E 00 . NOP ; bit 8:0=speichetest,9:0=vortest +286F 00 . NOP ; id4 +2870 00 . NOP +2871 00 . NOP ; id5 +2872 00 . NOP +2873 00 . NOP ; id6 +2874 00 . NOP +2875 00 . NOP ; id7 +2876 00 . NOP +2877 00 . NOP ; leer +2878 00 . NOP +2879 00 . NOP ; leer +287A 00 . NOP +287B C3 06 01 ... JP 0106 ; OUTPUT +287E C3 09 01 ... JP 0109 ; BLOCKIN +2881 C3 0C 01 ... JP 010C ; BLOCKOUT +2884 C3 0F 01 ... JP 010F ; IOCONTROL +2887 C3 12 01 ... JP 0112 ; SYSEND +288A C3 15 01 ... JP 0115 ; SCHINF +288D C3 18 01 ... JP 0118 ; SCHACC +2890 00 . NOP ; leer +2891 00 . NOP +2892 00 . NOP ; RAM-Limit low +2893 00 . NOP ; " high +2894 00 . NOP +2895 00 . NOP +2896 00 . NOP +2897 00 . NOP +2898 00 . NOP +2899 00 . NOP +289A 00 . NOP +289B 00 . NOP +289C 00 . NOP +289D 00 . NOP +289E 00 . NOP +289F 00 . NOP ;----------- bis hier --------- +28A0 ED 5B 92 28 .[.( LD DE,(2892) ; RAM-Limit laden +28A4 C9 . RET ;------------------------------- +28A5 ED B0 .. LDIR ; Longmove = LDIR (immer) +28A7 C9 . RET +28A8 B7 . OR A ; Intern IOCONTROL +28A9 20 D9 . JR NZ,2884 ; Fuer alle Kanale > 0: IOCONTROL +28AB 79 y LD A,C +28AC FE 05 .. CP 05 ; HG-Kanal Fkt. 5 : Size +28AE 28 03 (. JR Z,28B3 +28B0 97 . SUB A ; Alle anderen HG-Controls weiter +28B1 18 D1 .. JR 2884 ; IOCONTROL +28B3 97 . SUB A +28B4 CD 84 28 ..( CALL 2884 ; Anz. Bloecke DIV 65536 in A +28B7 E5 . PUSH HL +28B8 67 g LD H,A ; A retten +28B9 3A 6B 28 :k( LD A,(286B) ; Shard Version +28BC FE 07 .. CP 07 +28BE 30 02 0. JR NC,28C2 ; +28C0 26 00 &. LD H,00 ; Shard Version 6 : Hoechstens 65536 +28C2 7C | LD A,H ; Shard Version > 6 : Auch mehr als^ +28C3 B7 . OR A +28C4 20 08 . JR NZ,28CE +28C6 21 80 7E !.~ LD HL,7E80 ; +28C9 B7 . OR A ; CLC +28CA ED 42 .B SBC HL,BC +28CC E1 . POP HL +28CD D0 . RET NC +28CE E1 . POP HL +28CF 97 . SUB A ; Maximum an Bloecken: 32384 +28D0 01 80 7E ..~ LD BC,7E80 ; 15MB + 832 KB +28D3 C9 . RET ;========== 175 Systemstart ======= +28D4 11 5B 28 .[( LD DE,285B ; 69 Bytes uebertragen +28D7 01 45 00 .E. LD BC,0045 ; Von Shard Leiste --> EUMEL0 +28DA ED B0 .. LDIR ; 175 Systemstart +28DC C3 99 14 ... JP 1499 ;========= 173 Systemstart ======== +28DF 3A 1E 01 :.. LD A,(011E) ; Shardversion +28E2 32 6B 28 2k( LD (286B),A +28E5 FE 07 .. CP 07 ; >= 7 : falsche Leiste ! +28E7 30 0A 0. JR NC,28F3 +28E9 CD 03 01 ... CALL 0103 ; LIMIT erfragen +28EC ED 53 92 28 .S.( LD (2892),DE ; Eintragen +28F0 C3 99 14 ... JP 1499 ; Zum neuen Systemstart (175) +28F3 CD 1F 70 ..p CALL 701F ; Info aufrufen +28F6 18 0F .. JR 2907 +28F8 20 66 f JR NZ,2960 ; " falsche Leiste" +28FA 61 a LD H,C +28FB 6C l LD L,H +28FC 73 s LD (HL),E +28FD 63 c LD H,E +28FE 68 h LD L,B +28FF 65 e LD H,L +2900 20 4C L JR NZ,294E +2902 65 e LD H,L +2903 69 i LD L,C +2904 73 s LD (HL),E +2905 74 t LD (HL),H +2906 65 e LD H,L +2907 18 EA .. JR 28F3 ; Endlos +2909 F5 . PUSH AF ; Info Aufruf vom Shard +290A 3E F2 >. LD A,F2 +290C 32 19 7D 2.} LD (7D19),A +290F F1 . POP AF +2910 CD 1F 70 ..p CALL 701F +2913 18 06 .. JR 291B ; Info aufrufen +2915 20 73 s JR NZ,298A ; " shard" +2917 68 h LD L,B +2918 61 a LD H,C +2919 72 r LD (HL),D +291A 64 d LD H,H +291B C9 . RET ;--------------------------------- +291C 3E 04 >. LD A,04 ; shutup anfordern +291E C3 BB 81 ... JP 81BB +2921 3A 00 ; Task geht in Wartezustand-------- +2923 DD 77 06 LD (IX+6),A ; status pcb-Feld setzen +2926 DD CB 07 7E BIT 7,(IX+7) +292A C4 02 2A ..* CALL NZ,2A02 ; Speicherfelder --> pcb-felder +292D 31 13 6D 1.m LD SP,6D13 ; Schleifenanfang fuer offenen Warte +2930 CD 41 6B .Ak CALL 6B41 ; zustand +2933 3A 1A 6E :.n LD A,(6E1A) +2936 3D = DEC A +2937 CC 38 4C .8L CALL Z,4C38 ; Supervisor +293A DD 7E 06 .~. LD A,(IX+06) +293D CB 47 .G BIT 0,A ; geblockt, keine Aktion bis entblockt +293F 20 3D = JR NZ,297E +2941 E6 3C .< AND 3C ; Statusbist ausblenden +2943 FE 2C ., CP 2C +2945 D2 D8 29 ..) JP NC,29D8 +2948 32 51 29 2Q) LD (2951),A +294B FE 18 .. CP 18 ; 18 : Leitblockfelder --> Speicher +294D D4 46 2A .F* CALL NC,2A46 +2950 18 FE .. JR 2950 ; Sprung in Tabelle +2952 C3 CC 29 ..) JP 29CC ; 00 : Test, ob haltprocess +2955 FF . RST 38 +2956 C3 BE 29 ..) JP 29BE ; 04 : auf kanalankoppeln warten +2959 FF . RST 38 +295A C3 AA 29 ..) JP 29AA ; 08 : warten auf tastendruck +295D FF . RST 38 +295E C3 95 29 ..) JP 2995 ; 0C : pause (in mod) +2961 FF . RST 38 +2962 C3 7C 2E .|. JP 2E7C ; 10 : Busy, RET TRUE, test halt +2965 FF . RST 38 +2966 C3 81 2E ... JP 2E81 ; 14 : Busy, RET FALSE, test halt +2969 FF . RST 38 +296A C3 B5 2F ../ JP 2FB5 ; 18 : CALL PROC +296D FF . RST 38 +296E C3 38 3D .8= JP 3D38 ; 1C : EXTERNAL TERM +2971 FF . RST 38 +2972 C3 3D 4A .=J JP 4A3D ; 20 : anford. garbagecollect. +2975 FF . RST 38 +2976 C3 5D 4A .]J JP 4A5D ; 24 : garbage collect. 1. Teil +2979 FF . RST 38 +297A C3 09 4B ..K JP 4B09 ; 28 : garbage collect. 2 teil +297D FF . RST 38 +297E 3A 1A 6E :.n LD A,(6E1A) ; Supervisor +2981 FE 01 .. CP 01 +2983 20 0A . JR NZ,298F +2985 F3 . DI +2986 3A F9 4C :.L LD A,(4CF9) +2989 B7 . OR A +298A 3A 1A 6E :.n LD A,(6E1A) +298D 20 03 . JR NZ,2992 ; SV-Call angefordert ? +298F CD 74 6D .tm CALL 6D74 ; block SV +2992 FB . EI +2993 18 98 .. JR 292D +2995 2A F1 4C *.L LD HL,(4CF1) ; Pausenende abwarten +2998 DD 7E 0C .~. LD A,(IX+0C) +299B 95 . SUB L +299C DD 7E 0D .~. LD A,(IX+0D) +299F 9C . SBC H +29A0 FA CC 29 ..) JP M,29CC +29A3 DD 7E 26 .~& LD A,(IX+26) +29A6 B7 . OR A +29A7 CA 2D 29 .-) JP Z,292D +29AA DD CB 05 46 ...F BIT 0,(IX+05) +29AE 20 1C . JR NZ,29CC +29B0 DD 7E 26 .~& LD A,(IX+26) +29B3 B7 . OR A +29B4 28 C8 (. JR Z,297E +29B6 CD AD 1E ... CALL 1EAD ; taste gedrueckt ? +29B9 DA 2D 29 .-) JP C,292D +29BC 18 0E .. JR 29CC +29BE DD 7E 26 .~& LD A,(IX+26) +29C1 B7 . OR A +29C2 28 BA (. JR Z,297E +29C4 CD 59 1E .Y. CALL 1E59 +29C7 FE 1E .. CP 1E ; Mindestens 30 Zeichen uebernehmen +29C9 DA 2D 29 .-) JP C,292D +29CC DD 35 .5 DEC (IX+08) +29CE 08 . EX AF,AF' +29CF F2 2D 29 .-) JP P,292D +29D2 CD 7E 2A .~* CALL 2A7E ; Test, ob halt process +29D5 C3 A7 2A ..* JP 2AA7 ; zur interpreter schleife +29D8 DD CB 05 46 ...F BIT 0,(IX+05) +29DC 20 EE . JR NZ,29CC +29DE DD 7E 34 .~4 LD A,(IX+34) +29E1 B7 . OR A +29E2 20 9A . JR NZ,297E +29E4 DD 7E 26 .~& LD A,(IX+26) +29E7 B7 . OR A +29E8 28 94 (. JR Z,297E +29EA CD AD 1E ... CALL 1EAD ; taste gedrueckt ? +29ED DA 2D 29 .-) JP C,292D +29F0 DD 36 2C FC .6,. LD (IX+2C),FC ; msgcod := -4 +29F4 DD 36 2D FF .6-. LD (IX+2D),FF +29F8 DD 36 2E 01 .6.. LD (IX+2E),01 +29FC DD CB 07 DE .... SET 3,(IX+07) +2A00 18 CA .. JR 29CC ;--------------------------------- +2A02 CD F6 4B ..K CALL 4BF6 +2A05 DD CB 07 BE .... RES 7,(IX+07) ; Felder wurden uebertragen +2A09 ED 5B 1C 6E .[.n LD DE,(6E1C) +2A0D 1E 10 .. LD E,10 ; 10..17 +2A0F 21 C4 41 !.A LD HL,41C4 ; pcb Felder von Hauptspeicher +2A12 ED A0 .. LDI ; in Leitblock uebertragen +2A14 ED A0 .. LDI ; lbas +2A16 ED A0 .. LDI ; ltop +2A18 ED A0 .. LDI +2A1A ED A0 .. LDI ; ls_top +2A1C ED A0 .. LDI +2A1E ED A0 .. LDI ; hptop +2A20 ED A0 .. LDI +2A22 DD CB 07 6E ...n BIT 5,(IX+07) +2A26 C4 4D 45 .ME CALL NZ,454D +2A29 D9 . EXX ; pbas +2A2A DD 71 0E .q. LD (IX+0E),C +2A2D DD 7E 2A .~* LD A,(IX+2A) ; prio --> pricnt +2A30 DD 77 08 .w. LD (IX+08),A +2A33 08 . EX AF,AF' +2A34 DD CB 09 16 .... RL (IX+09) +2A38 1F . RRA +2A39 30 07 0. JR NC,2A42 +2A3B D6 80 .. SUB A,80 +2A3D 30 03 0. JR NC,2A42 +2A3F DD 35 .5 DEC (IX+0A) +2A41 0A . LD A,(BC) +2A42 DD 77 09 .w. LD (IX+09),A +2A45 C9 . RET ;-------------------------------- +2A46 CD 16 42 ..B CALL 4216 +2A49 DD 4E 0E .N. LD C,(IX+0E) ; pbas +2A4C 16 19 .. LD D,19 +2A4E D9 . EXX +2A4F 2A 1C 6E *.n LD HL,(6E1C) ; Leitblock Felder in Hauptspeicher +2A52 2E 10 .. LD L,10 ; uebertragen +2A54 11 C4 41 ..A LD DE,41C4 +2A57 ED A0 .. LDI +2A59 ED A0 .. LDI +2A5B ED A0 .. LDI +2A5D ED A0 .. LDI +2A5F ED A0 .. LDI +2A61 ED A0 .. LDI +2A63 ED A0 .. LDI +2A65 ED A0 .. LDI +2A67 CD AB 42 ..B CALL 42AB +2A6A DD 4E 09 .N. LD C,(IX+09) +2A6D CB 21 .! SLA C +2A6F 17 . RLA +2A70 47 G LD B,A +2A71 DD CB 07 FE .... SET 7,(IX+07) ; Felder wurden uebertragen +2A75 79 y LD A,C +2A76 08 . EX AF,AF' +2A77 CD DB 4B ..K CALL 4BDB ; millis verringern +2A7A CD 93 2A ..* CALL 2A93 +2A7D C9 . RET ;-------------------------------- +2A7E CD 46 2A .F* CALL 2A46 +2A81 DD 36 06 00 .6.. LD (IX+06),00 +2A85 DD CB 05 46 ...F BIT 0,(IX+05) ; halt process angefordert ? +2A89 C8 . RET Z +2A8A DD CB 05 86 .... RES 0,(IX+05) +2A8E 3E 01 >. LD A,01 +2A90 C3 0D 3D ..= JP 3D0D ; errorstop "halt from terminal" +2A93 21 E6 7C !.| LD HL,7CE6 ; AND 7C-------------------------- +2A96 22 AE 2A ".* LD (2AAE),HL +2A99 C9 . RET +2A9A 21 18 F1 !.. LD HL,F118 ; JR 2AA1 +2A9D 22 AE 2A ".* LD (2AAE),HL +2AA0 C9 . RET +2AA1 CD 93 2A ..* CALL 2A93 ; AND 7C Maske setzen +2AA4 C3 26 29 .&) JP 2926 ; Je nach Status reagieren +2AA7 79 y LD A,C ;---------------------------------- +2AA8 08 . EX AF,AF' +2AA9 0A . LD A,(BC) +2AAA 6F o LD L,A +2AAB 0C . INC C +2AAC 0A . LD A,(BC) +2AAD 67 g LD H,A ; HL := Codeword +2AAE E6 7C .| AND 7C ; Opcodebits ausmaskieren +2AB0 32 B6 2A 2.* LD (2AB6),A ; Opcode setzen +2AB3 AC . XOR H ; Datenbits in A +2AB4 0C . INC C ; BC zeigt auf naechsten Opcode +2AB5 20 FE . JR NZ,2AB5 ; Wird +2AB7 C3 8C 2C .., JP 2C8C ; Neue Seite, ggf neuen Block laden +2ABA FF . RST 38 ; und Restart (EUMEL0-Restart) +2ABB C3 F1 2C .., JP 2CF1 ; 0 LN (nr) +2ABE FF . RST 38 ; 1 LONGLN (nr-1024) +2ABF C3 FD 2C .., JP 2CFD ; 2 MOV1 (source, dest) +2AC2 FF . RST 38 +2AC3 C3 11 2D ..- JP 2D11 ; 3 INC1 (dest) +2AC6 FF . RST 38 +2AC7 C3 1F 2D ..- JP 2D1F ; 4 DEC1 (dest) +2ACA FF . RST 38 +2ACB C3 30 2D .0- JP 2D30 ; 5 INC (source, dest) +2ACE FF . RST 38 +2ACF C3 50 2D .P- JP 2D50 ; 6 DEC (source, dest) +2AD2 FF . RST 38 +2AD3 C3 65 2D .e- JP 2D65 ; 7 ADD (a, b, c) +2AD6 FF . RST 38 +2AD7 C3 82 2D ..- JP 2D82 ; 8 SUB (a, b, c) +2ADA FF . RST 38 +2ADB C3 D2 2D ..- JP 2DD2 ; 9 CLEAR (dest) +2ADE FF . RST 38 +2ADF C3 2B 2E .+. JP 2E2B ; 10 TEST (source) --> BOOL +2AE2 FF . RST 38 +2AE3 C3 60 2E .`. JP 2E60 ; 11 EQU (a, b) --> BOOL +2AE6 FF . RST 38 +2AE7 C3 35 2E .5. JP 2E35 ; 12 LSEQ (a, b) --> BOOL +2AEA FF . RST 38 +2AEB C3 04 35 ..5 JP 3504 ; 13 MOV8 (source, dest) +2AEE FF . RST 38 +2AEF C3 20 35 . 5 JP 3520 ; 14 FADD (a, b, c) +2AF2 FF . RST 38 +2AF3 C3 3B 35 .;5 JP 353B ; 15 FSUB (a, b, c) +2AF6 FF . RST 38 +2AF7 C3 41 35 .A5 JP 3541 ; 16 FMULT (a, b, c) +2AFA FF . RST 38 +2AFB C3 47 35 .G5 JP 3547 ; 17 FDIV (a, b, c) +2AFE FF . RST 38 +2AFF C3 5D 35 .]5 JP 355D ; 18 FLSEQ (a, b) --> BOOL +2B02 FF . RST 38 +2B03 C3 CD 30 ..0 JP 30CD ; 19 TMOV (source, dest) +2B06 FF . RST 38 +2B07 C3 0F 31 ..1 JP 310F ; 20 TEQU (a, b) --> BOOL +2B0A FF . RST 38 +2B0B C3 4E 2E .N. JP 2E4E ; 21 ULSEQU (a, b) --> BOOL +2B0E FF . RST 38 +2B0F C3 03 36 ..6 JP 3603 ; 22 ACCDS (dsid, refadr) +2B12 FF . RST 38 +2B13 C3 21 36 .!6 JP 3621 ; 23 REF (source, refadr) +2B16 FF . RST 38 +2B17 C3 43 36 .C6 JP 3643 ; 24 SUBS (limit-1, index, refadr) +2B1A FF . RST 38 +2B1B C3 27 36 .'6 JP 3627 ; 25 SEL (base, offset, refadr) +2B1E FF . RST 38 +2B1F C3 02 2F ../ JP 2F02 ; 26 PPV (source) +2B22 FF . RST 38 +2B23 C3 07 2F ../ JP 2F07 ; 27 PP (source) +2B26 FF . RST 38 +2B27 C3 8E 2E ... JP 2E8E ; 28 BR (lowadr) +2B2A FF . RST 38 +2B2B C3 A3 2E ... JP 2EA3 ; 29 LONGBR (lowadr-1024) +2B2E FF . RST 38 +2B2F C3 40 2F .@/ JP 2F40 ; 30 CALL (modnr) +2B32 FF . RST 38 +2B33 07 . RLCA ; 31 ... +2B34 07 . RLCA +2B35 07 . RLCA +2B36 32 3A 2B 2:+ LD (2B3A),A +2B39 18 FE .. JR 2B39 ; Sprung auf SPezial +2B3B C3 6E 36 .n6 JP 366E ; 0 : ISXCHAR (char) --> BOOL +2B3E FF . RST 38 +2B3F C3 80 36 ..6 JP 3680 ; 1 : STIM (byteval, dest) +2B42 FF . RST 38 +2B43 C3 8C 36 ..6 JP 368C ; 2 : MOVX (bytelen, source, dest) +2B46 FF . RST 38 +2B47 C3 D2 36 ..6 JP 36D2 ; 3 : PW (ds+segment, offs, value) +2B4A FF . RST 38 +2B4B C3 C9 36 ..6 JP 36C9 ; 4 : GW (ds+segment, offs, result) +2B4E FF . RST 38 +2B4F C3 DE 2F ../ JP 2FDE ; 5 : PENTER (highbyte) +2B52 FF . RST 38 +2B53 C3 76 2B .v+ JP 2B76 ; 6 : ESC (functionbyte) +2B56 FF . RST 38 +2B57 7D } LD A,L ; 7 : LONGA (opcodebyte) +2B58 32 B6 2A 2.* LD (2AB6),A +2B5B E6 83 .. AND 83 +2B5D 20 08 . JR NZ,2B67 +2B5F 0A . LD A,(BC) +2B60 6F o LD L,A +2B61 0C . INC C ; Zur Interpreterschleife mit Opcode +2B62 0A . LD A,(BC) +2B63 0C . INC C +2B64 C3 B5 2A ..* JP 2AB5 ; -------- +2B67 3E FD >. LD A,FD ; -3 = Block unlesbar +2B69 BD . CP L +2B6A C2 F4 3C ..< JP NZ,3CF4 +2B6D DD CB 0B B6 .... RES 6,(IX+0B) ; enablestop +2B71 3E 10 >. LD A,10 ; Errorstop Block unlesbar +2B73 C3 12 3D ..= JP 3D12 ;------------ ESC --------------- +2B76 7D } LD A,L +2B77 FE 82 .. CP 82 ; 129 ist Maximum ESC +2B79 D2 F4 3C ..< JP NC,3CF4 +2B7C 26 00 &. LD H,00 +2B7E 29 ) ADD HL,HL ; * 2 fuer Zugriff +2B7F 11 88 2B ..+ LD DE,2B88 ; Tabellen anfang +2B82 19 . ADD HL,DE +2B83 5E ^ LD E,(HL) +2B84 23 # INC HL +2B85 56 V LD D,(HL) ; Sprung addresse --> DE +2B86 EB . EX DE,HL +2B87 E9 . JP (HL) ; EXTERNAL aufrufen------------- +2B88 F3 2F 0 : RTN +2B8A F9 2F 1 : RTN FALSE --> BOOL +2B8C 0A 30 2 : RTN TRUE --> BOOL +2B8E F4 3C 3 : -------- +2B90 38 3D 4 : TERM +2B92 7F 30 5 : GOSUB (adr) +2B94 0E 37 6 : KE +2B96 AF 30 7 : GORET (adr) +2B98 CE 3A 8 : CRD (var, var) +2B9A DA 3A 9 : BCRD (var, var) +2B9C B3 3A 10 : CWR (var, char, int) +2B9E 79 3A 11 : ECWR (var, var, char) +2BA0 1B 3B 12 : CTT (int, refadr) +2BA2 26 3B 13 : GETC (text, posvar) +2BA4 54 3B 14 : FNONBL (charvar, text, posvar) --> BOOL +2BA6 A7 3B 15 : DREM256 (var, var) +2BA8 BC 3B 16 : AMUL256 (var, int) +2BAA F4 3C 17 : --------- +2BAC DF 3B 18 : ISDIG (char) --> BOOL +2BAE CC 3B 19 : ISLD (char) --> BOOL +2BB0 F1 3B 20 : ISLCAS (char) --> BOOL +2BB2 F6 3B 21 : ISUCAS (chasr) --> BOOL +2BB4 FB 3B 22 : GADDR (a, b, c) +2BB6 17 3C 23 : GCADDR (a, b, c) --> BOOL +2BB8 36 3C 24 : ISSHA (int) --> BOOL +2BBA 14 37 25 : SYSGEN +2BBC 42 3C 26 : GETTAB +2BBE 58 3C 27 : PUTTAB +2BC0 62 3C 28 : ERATAB +2BC2 3A 2F 29 : EXEC (modnr) +2BC4 E8 2E 30 : PPROC (modnr) +2BC6 33 2F 31 : PCALL (adr) +2BC8 CC 2E 32 : CASE (switch, limit) +2BCA 86 36 33 : MOVEXX (len, from, to) +2BCC 9A 38 34 : ALIAS (...,...) +2BCE 0C 2D 35 : MOVIM (...,...) +2BD0 4D 35 36 : FEQU (a, b) --> BOOL +2BD2 44 31 37 : TLSEQ (a, b) --> BOOL +2BD4 6E 35 38 : FCOMPL (source, dest) +2BD6 DC 2D 39 : COMPL (source, dest) +2BD8 C1 2D 40 : IMULT (a, b, c) +2BDA A0 2D 41 : MULT (a, b, c) +2BDC AC 2D 42 : DIV (a, b, c) +2BDE B8 2D 43 : MOD (a, b, c) +2BE0 9F 34 44 : ISUB (text, pos, result) +2BE2 8D 34 45 : replace (text, pos, int) +2BE4 A8 31 46 : CODE (text, result) +2BE6 B9 31 47 : ENCODE (int, text) +2BE8 C2 31 48 : SUB (text, pos, result) +2BEA CE 31 49 : subtext (source, from, to, result) +2BEC C8 31 50 : subtext (source, from, result) +2BEE 2F 32 51 : replace (text, pos, text) +2BF0 D4 31 52 : CAT (text, text) +2BF2 97 31 53 : LENGTH (text, result) +2BF4 81 32 54 : pos (source, pattern, result) +2BF6 89 32 55 : pos (source, pattern, from, result) +2BF8 92 32 56 : pos (source, pattern, from, to, result) +2BFA 93 33 57 : stranalyze (row256int, intv,int,text,intv,int,intv) +2BFC 42 33 58 : pos (source, low, high, from, result) +2BFE F4 3C 59 : ------------ +2C00 67 37 60 : out (text) +2C02 1A 37 61 : cout (int) +2C04 5D 37 62 : outsubtext (text, from) +2C06 62 37 63 : outsubtext (text, from, to) +2C08 9E 37 64 : inchar (result) +2C0A BD 37 65 : incharety (result) +2C0C D4 37 66 : pause (time) +2C0E F5 37 67 : getcursor (x, y) +2C10 10 38 68 : catinput (textv, escchar) +2C12 E5 38 69 : nilspace (result) +2C14 EB 38 70 : dscopy (dest, source) +2C16 19 39 71 : forget (ds) +2C18 47 39 72 : settype (ds, type) +2C1A 68 39 73 : gettype (ds, type) +2C1C 79 39 74 : heapsize (ds, size) +2C1E 4E 3D 75 : enablestop +2C20 5B 3D 76 : disablestop +2C22 62 3D 77 : seterrorstop (nr) +2C24 76 3D 78 : iserror --> BOOL +2C26 80 3D 79 : clearerror +2C28 9F 3D 80 : readpcb (field, result) +2C2A 87 41 81 : infopassword (alt, neu, ok) +2C2C E4 35 82 : setclock (task, value) +2C2E 0E 2E 83 : rotate (int, anzahl) +2C30 09 3A 84 : control (fkt, code1, code2, result) +2C32 B3 39 85 : blockout (ds, page, code1, code2, result) +2C34 E5 39 86 : blockin (ds, page, code1, code2, result) +2C36 3B 3A 87 : nextdspage (ds, page, result) +2C38 97 39 88 : pages (ds, task, result) +2C3A 7A 3C 89 : storage (size, used) ? +2C3C 8D 3C 90 : sysop (nr) +2C3E E5 2F 91 : arith15 +2C40 EC 2F 92 : arith16 +2C42 7A 34 93 : heapsize (result) +2C44 88 34 94 : collectheapgarbage +2C46 9D 3E 95 : ? (neues begin) +2C48 7C 35 96 : shiftleftdigits (in, real, out) +2C4A 98 35 97 : decimalexponent (real, result) +2C4C A1 35 98 : setexp (exp, real) +2C4E AE 35 99 : floor (source, dest) +2C50 A3 34 100 : RSUB (text, pos, result) +2C52 91 34 101 : replace (text, pos, real) +2C54 BC 35 102 : clock (nr, result) +2C56 F2 35 103 : setclock (value) +2C58 EB 3D 104 : readpcb (task, field, result) +2C5A F1 3D 105 : writepcb (task, field, value) +2C5C DC 35 106 : readclock (task, result) +2C5E 1E 3E 107 : status (task, result) +2C60 2E 3E 108 : unblock (task) +2C62 41 3E 109 : block (task) +2C64 63 3E 110 : halt process (task) +2C66 6C 3E 111 : create process (... +2C68 52 3F 112 : erase process (task) +2C6A B7 40 113 : send (... +2C6C BD 40 114 : wait (... +2C6E 06 41 115 : call (... +2C70 F7 3A 116 : cdb int (adr, result) +2C72 0E 3B 117 : cdb text (adr, result) +2C74 4F 3E 118 : nextactive (taskandresult) +2C76 EF 36 119 : putword (seg, adr, value) +2C78 E5 36 120 : getword (seg, adr, result) +2C7A 02 2E 121 : XOR (a, b, c) +2C7C 2B 41 122 : pingpong (... +2C7E 5B 3F 123 : exists (task) --> BOOL +2C80 EA 2D 124 : AND (a, b, c) +2C82 F6 2D 125 : OR (a, b, c) +2C84 67 41 126 : session (result) +2C86 96 40 127 : sendfromto (... +2C88 51 41 128 : define collector (task) +2C8A 6E 41 129 : id (field, result) + +2C8C C2 F3 2C .., JP NZ,2CF3 ; C <> 0: LN Befehl, kein Page +2C8F F5 . PUSH AF ; Neuen Block +2C90 3A B6 2A :.* LD A,(2AB6) ; Opcode BF oder LN +2C93 FE 70 .p CP 70 +2C95 28 02 (. JR Z,2C99 +2C97 FE 74 .t CP 74 +2C99 C4 87 42 ..B CALL NZ,4287 ; Neue Seite laden +2C9C F1 . POP AF +2C9D 04 . INC B +2C9E 05 . DEC B ; Flag B = 0 setzen +2C9F C3 B5 2A ..* JP 2AB5 ; Befehl nochmal aufsetzen +2CA2 CD 13 43 ..C CALL 4313 ;-------------------------------- +2CA5 5E ^ LD E,(HL) ; DE := 1. Codewort +2CA6 2C , INC L +2CA7 56 V LD D,(HL) +2CA8 CD 13 43 ..C CALL 4313 ; HL := 2. Codewort +2CAB 7E ~ LD A,(HL) +2CAC 2C , INC L +2CAD 66 f LD H,(HL) +2CAE 6F o LD L,A +2CAF C9 . RET ;----------- Bytemove ------------ +2CB0 04 . INC B +2CB1 05 . DEC B +2CB2 20 12 . JR NZ,2CC6 ; Weniger als 256 Bytes ? +2CB4 79 y LD A,C ; 256 Bytes in einem Schub per LDIR +2CB5 B7 . OR A +2CB6 C8 . RET Z ; Nichts moven +2CB7 85 . ADD L +2CB8 38 07 8. JR C,2CC1 +2CBA 79 y LD A,C +2CBB 83 . ADD E +2CBC 38 03 8. JR C,2CC1 +2CBE ED B0 .. LDIR +2CC0 C9 . RET +2CC1 3E 0D >. LD A,0D +2CC3 B9 . CP C +2CC4 30 0C 0. JR NC,2CD2 +2CC6 CD 78 45 .xE CALL 4578 ; Move in mehreren Teilen +2CC9 C8 . RET Z +2CCA ED B0 .. LDIR +2CCC D0 . RET NC +2CCD CD C1 45 ..E CALL 45C1 +2CD0 18 F4 .. JR 2CC6 +2CD2 7E ~ LD A,(HL) +2CD3 0D . DEC C +2CD4 28 19 (. JR Z,2CEF +2CD6 F5 . PUSH AF +2CD7 D5 . PUSH DE +2CD8 FD 21 85 46 .!.F LD IY,4685 +2CDC 2C , INC L +2CDD CC 1B 45 ..E CALL Z,451B +2CE0 EB . EX DE,HL +2CE1 FD 21 89 46 .!.F LD IY,4689 +2CE5 2C , INC L +2CE6 CC 1B 45 ..E CALL Z,451B +2CE9 EB . EX DE,HL +2CEA CD D2 2C .., CALL 2CD2 ; Teilmove +2CED D1 . POP DE +2CEE F1 . POP AF +2CEF 12 . LD (DE),A +2CF0 C9 . RET ;------------- LONGLN ------------ +2CF1 C6 04 .. ADD A,04 ; +2CF3 07 . RLCA ;------------- LN ---------------- +2CF4 DD 75 20 .u LD (IX+20),L +2CF7 DD 77 21 .w! LD (IX+21),A +2CFA C3 A7 2A ..* JP 2AA7 ;--------- MOV1 ----------------- +2CFD CD 1B 43 ..C CALL 431B ; fromaddresse --> HL +2D00 5E ^ LD E,(HL) +2D01 2C , INC L +2D02 56 V LD D,(HL) +2D03 CD 64 43 .dC CALL 4364 ; toaddresse --> HL +2D06 73 s LD (HL),E +2D07 2C , INC L +2D08 72 r LD (HL),D +2D09 C3 A7 2A ..* JP 2AA7 ;----------- MOVIM -------------- +2D0C CD 43 44 .CD CALL 4443 +2D0F 18 F2 .. JR 2D03 +2D11 CD 6C 43 .lC CALL 436C ;---------- INC1 ---------------- +2D14 34 4 INC (HL) +2D15 C2 A7 2A ..* JP NZ,2AA7 +2D18 2C , INC L +2D19 34 4 INC (HL) +2D1A E2 A7 2A ..* JP PO,2AA7 +2D1D 18 2B .+ JR 2D4A ;-------------- DEC1 ------------- +2D1F CD 6C 43 .lC CALL 436C +2D22 7E ~ LD A,(HL) +2D23 D6 01 .. SUB A,01 +2D25 77 w LD (HL),A +2D26 D2 A7 2A ..* JP NC,2AA7 +2D29 2C , INC L +2D2A 35 5 DEC (HL) +2D2B E2 A7 2A ..* JP PO,2AA7 +2D2E 18 1A .. JR 2D4A ;------------- INC --------------- +2D30 CD 1B 43 ..C CALL 431B +2D33 5E ^ LD E,(HL) +2D34 2C , INC L +2D35 56 V LD D,(HL) +2D36 CD 64 43 .dC CALL 4364 +2D39 7E ~ LD A,(HL) +2D3A 83 . ADD E +2D3B 77 w LD (HL),A +2D3C 2C , INC L +2D3D 7E ~ LD A,(HL) +2D3E 8A . ADC D +2D3F 77 w LD (HL),A +2D40 E2 A7 2A ..* JP PO,2AA7 +2D43 30 05 0. JR NC,2D4A +2D45 3E FF >. LD A,FF +2D47 77 w LD (HL),A +2D48 2D - DEC L +2D49 77 w LD (HL),A +2D4A CD FC 3C ..< CALL 3CFC +2D4D C3 A7 2A ..* JP 2AA7 ;------------- DEC ---------------- +2D50 CD 1B 43 ..C CALL 431B +2D53 5E ^ LD E,(HL) +2D54 2C , INC L +2D55 56 V LD D,(HL) +2D56 CD 64 43 .dC CALL 4364 +2D59 7E ~ LD A,(HL) +2D5A 93 . SUB E +2D5B 77 w LD (HL),A +2D5C 2C , INC L +2D5D 7E ~ LD A,(HL) +2D5E 9A . SBC D +2D5F 77 w LD (HL),A +2D60 E2 A7 2A ..* JP PO,2AA7 +2D63 18 DE .. JR 2D43 ;------------- ADD --------------- +2D65 CD 1B 43 ..C CALL 431B +2D68 5E ^ LD E,(HL) +2D69 2C , INC L +2D6A 56 V LD D,(HL) +2D6B CD 13 43 ..C CALL 4313 +2D6E 7E ~ LD A,(HL) +2D6F 2C , INC L +2D70 66 f LD H,(HL) +2D71 6F o LD L,A +2D72 B7 . OR A +2D73 ED 5A .Z ADC HL,DE +2D75 EC FC 3C ..< CALL PE,3CFC +2D78 EB . EX DE,HL +2D79 CD 64 43 .dC CALL 4364 +2D7C 73 s LD (HL),E +2D7D 2C , INC L +2D7E 72 r LD (HL),D +2D7F C3 A7 2A ..* JP 2AA7 ;------------ SUB ---------------- +2D82 CD 1B 43 ..C CALL 431B +2D85 5E ^ LD E,(HL) +2D86 2C , INC L +2D87 56 V LD D,(HL) +2D88 CD 13 43 ..C CALL 4313 +2D8B 7E ~ LD A,(HL) +2D8C 2C , INC L +2D8D 66 f LD H,(HL) +2D8E 6F o LD L,A +2D8F EB . EX DE,HL +2D90 B7 . OR A +2D91 ED 52 .R SBC HL,DE +2D93 EC FC 3C ..< CALL PE,3CFC +2D96 EB . EX DE,HL +2D97 CD 64 43 .dC CALL 4364 +2D9A 73 s LD (HL),E +2D9B 2C , INC L +2D9C 72 r LD (HL),D +2D9D C3 A7 2A ..* JP 2AA7 ;-------------- MULT ------------ +2DA0 CD A2 2C .., CALL 2CA2 ; Zwei Addressen holen --> HL, DE +2DA3 CD 0D 4D ..M CALL 4D0D ; MULT +2DA6 DC FC 3C ..< CALL C,3CFC ; Overflow, ggf +2DA9 C3 03 2D ..- JP 2D03 ;--------------- DIV ------------ +2DAC CD A2 2C .., CALL 2CA2 +2DAF CD 3D 4D .=M CALL 4D3D ; DIV +2DB2 DC CD 3C ..< CALL C,3CCD +2DB5 C3 03 2D ..- JP 2D03 ;--------------- MOD ------------- +2DB8 CD A2 2C .., CALL 2CA2 +2DBB CD 3D 4D .=M CALL 4D3D ; DIV +2DBE EB . EX DE,HL ; Rest davon +2DBF 18 F1 .. JR 2DB2 ;------------- IMULT ------------- +2DC1 CD A2 2C .., CALL 2CA2 +2DC4 CD 6D 4D .mM CALL 4D6D +2DC7 EB . EX DE,HL +2DC8 CE 00 .. ADC A,00 +2DCA 28 03 (. JR Z,2DCF +2DCC 11 FF FF ... LD DE,FFFF ; Overflow = -1 +2DCF C3 03 2D ..- JP 2D03 ;------------- CLEAR ------------- +2DD2 CD 6C 43 .lC CALL 436C +2DD5 97 . SUB A +2DD6 77 w LD (HL),A +2DD7 2C , INC L +2DD8 77 w LD (HL),A +2DD9 C3 A7 2A ..* JP 2AA7 ;------------- COMPL -------------- +2DDC CD A8 2C .., CALL 2CA8 +2DDF EB . EX DE,HL +2DE0 21 00 00 !.. LD HL,0000 +2DE3 B7 . OR A +2DE4 ED 52 .R SBC HL,DE +2DE6 EB . EX DE,HL +2DE7 C3 03 2D ..- JP 2D03 ;--------------- AND ------------- +2DEA CD A2 2C .., CALL 2CA2 +2DED 7B { LD A,E +2DEE A5 . AND L +2DEF 5F _ LD E,A +2DF0 7A z LD A,D +2DF1 A4 . AND H +2DF2 57 W LD D,A +2DF3 C3 03 2D ..- JP 2D03 ;-------------- OR -------------- +2DF6 CD A2 2C .., CALL 2CA2 +2DF9 7B { LD A,E +2DFA B5 . OR L +2DFB 5F _ LD E,A +2DFC 7A z LD A,D +2DFD B4 . OR H +2DFE 57 W LD D,A +2DFF C3 03 2D ..- JP 2D03 ;---------------- XOR ------------ +2E02 CD A2 2C .., CALL 2CA2 +2E05 7B { LD A,E +2E06 AD . XOR L +2E07 5F _ LD E,A +2E08 7A z LD A,D +2E09 AC . XOR H +2E0A 57 W LD D,A +2E0B C3 03 2D ..- JP 2D03 ;-------------- rotate ------------ +2E0E CD 64 43 .dC CALL 4364 +2E11 E5 . PUSH HL +2E12 5E ^ LD E,(HL) +2E13 2C , INC L +2E14 56 V LD D,(HL) +2E15 CD 13 43 ..C CALL 4313 +2E18 7E ~ LD A,(HL) +2E19 E6 0F .. AND 0F ; keine links/rechts Optimierung +2E1B 28 0A (. JR Z,2E27 +2E1D CB 23 .# SLA E +2E1F CB 12 .. RL D +2E21 30 01 0. JR NC,2E24 +2E23 1C . INC E +2E24 3D = DEC A +2E25 20 F6 . JR NZ,2E1D +2E27 E1 . POP HL +2E28 C3 06 2D ..- JP 2D06 ;------------- TEST --------------- +2E2B CD 1B 43 ..C CALL 431B +2E2E 7E ~ LD A,(HL) +2E2F 2C , INC L +2E30 B6 . OR (HL) +2E31 28 3E (> JR Z,2E71 ; Beide 0 ? +2E33 18 4F .O JR 2E84 ;------------- LSEQ -------------- +2E35 CD 1B 43 ..C CALL 431B +2E38 EB . EX DE,HL +2E39 CD 13 43 ..C CALL 4313 +2E3C EB . EX DE,HL +2E3D 1A . LD A,(DE) +2E3E 96 . SUB (HL) +2E3F 1C . INC E +2E40 2C , INC L +2E41 1A . LD A,(DE) +2E42 9E . SBC (HL) +2E43 E2 48 2E .H. JP PO,2E48 +2E46 EE 80 .. XOR 80 +2E48 F2 71 2E .q. JP P,2E71 +2E4B C3 84 2E ... JP 2E84 ;------------ ULSEQU -------------- +2E4E CD 1B 43 ..C CALL 431B +2E51 EB . EX DE,HL +2E52 CD 13 43 ..C CALL 4313 +2E55 EB . EX DE,HL +2E56 1A . LD A,(DE) +2E57 96 . SUB (HL) +2E58 1C . INC E +2E59 2C , INC L +2E5A 1A . LD A,(DE) +2E5B 9E . SBC (HL) +2E5C 30 13 0. JR NC,2E71 +2E5E 18 24 .$ JR 2E84 ;----------- EQU ----------------- +2E60 CD 1B 43 ..C CALL 431B +2E63 EB . EX DE,HL +2E64 CD 13 43 ..C CALL 4313 +2E67 1A . LD A,(DE) +2E68 BE . CP (HL) +2E69 20 19 . JR NZ,2E84 +2E6B 1C . INC E +2E6C 2C , INC L +2E6D 1A . LD A,(DE) +2E6E BE . CP (HL) +2E6F 20 13 . JR NZ,2E84 +2E71 0A . LD A,(BC) ; TRUE liefern +2E72 6F o LD L,A +2E73 0C . INC C +2E74 0A . LD A,(BC) +2E75 CB 77 .w BIT 6,A +2E77 20 4C L JR NZ,2EC5 +2E79 C3 8E 2E ... JP 2E8E ; zum Branch +2E7C CD 7E 2A .~* CALL 2A7E +2E7F 18 F0 .. JR 2E71 +2E81 CD 7E 2A .~* CALL 2A7E +2E84 0A . LD A,(BC) ; FALSE liefern +2E85 6F o LD L,A +2E86 0C . INC C +2E87 0A . LD A,(BC) +2E88 CB 77 .w BIT 6,A +2E8A 28 39 (9 JR Z,2EC5 ; Opcode veraendern +2E8C E6 87 .. AND 87 ; folgt immer Branch +2E8E B7 . OR A ;------------- BR ----------------- +2E8F 20 14 . JR NZ,2EA5 +2E91 78 x LD A,B +2E92 0F . RRCA +2E93 4D M LD C,L +2E94 CB 21 .! SLA C +2E96 8F . ADC A +2E97 90 . SUB B +2E98 CA A7 2A ..* JP Z,2AA7 +2E9B 80 . ADD B +2E9C 47 G LD B,A +2E9D DD 75 09 .u. LD (IX+09),L +2EA0 C3 A7 2A ..* JP 2AA7 ;------------ LONGBR -------------- +2EA3 C6 04 .. ADD A,04 +2EA5 07 . RLCA +2EA6 DD 86 0A ... ADD (IX+0A) +2EA9 DD BE 0F ... CP (IX+0F) +2EAC FA B1 2E ... JP M,2EB1 +2EAF D6 10 .. SUB A,10 +2EB1 DD 77 0A .w. LD (IX+0A),A +2EB4 7D } LD A,L +2EB5 DD 77 09 .w. LD (IX+09),A +2EB8 4F O LD C,A +2EB9 87 . ADD A +2EBA 08 . EX AF,AF' +2EBB CD AB 42 ..B CALL 42AB +2EBE CB 21 .! SLA C +2EC0 17 . RLA +2EC1 47 G LD B,A +2EC2 C3 A7 2A ..* JP 2AA7 +2EC5 0C . INC C +2EC6 CC A8 42 ..B CALL Z,42A8 +2EC9 C3 A7 2A ..* JP 2AA7 ;------------ CASE ---------------- +2ECC CD A8 2C .., CALL 2CA8 +2ECF CD 43 44 .CD CALL 4443 +2ED2 CB 7C .| BIT 7,H +2ED4 20 AE . JR NZ,2E84 +2ED6 7D } LD A,L +2ED7 93 . SUB E +2ED8 7C | LD A,H +2ED9 9A . SBC D +2EDA 30 A8 0. JR NC,2E84 +2EDC CB 38 .8 SLR B +2EDE CB 19 .. RR C +2EE0 DD 46 0A .F. LD B,(IX+0A) +2EE3 09 . ADD HL,BC +2EE4 23 # INC HL +2EE5 7C | LD A,H +2EE6 18 C9 .. JR 2EB1 ;-------------- PPROC ------------- +2EE8 CD 43 44 .CD CALL 4443 +2EEB EB . EX DE,HL +2EEC 11 02 00 ... LD DE,0002 ; D=0 +2EEF 7C | LD A,H +2EF0 FE 05 .. CP 05 ; Modnr < 1280 : Segment 2 +2EF2 38 01 8. JR C,2EF5 +2EF4 1C . INC E +2EF5 D5 . PUSH DE ; Segment in E auf Stack +2EF6 24 $ INC H ; +0200 = Moduletable +2EF7 24 $ INC H +2EF8 97 . SUB A +2EF9 CD 4D 44 .MD CALL 444D +2EFC 5E ^ LD E,(HL) ; Addresse +2EFD 2C , INC L +2EFE 56 V LD D,(HL) +2EFF D5 . PUSH DE ; REF-Addr auf Stack +2F00 18 0A .. JR 2F0C ;--------------- PPV ------------- +2F02 CD A8 2C .., CALL 2CA8 +2F05 18 03 .. JR 2F0A ;--------------- PP ------------- +2F07 CD C0 43 ..C CALL 43C0 +2F0A D5 . PUSH DE +2F0B E5 . PUSH HL +2F0C 2A C6 41 *.A LD HL,(41C6) ; REF-Addr auf Stack--------------- +2F0F 23 # INC HL +2F10 23 # INC HL +2F11 CB 7C .| BIT 7,H +2F13 C2 D1 3C ..< JP NZ,3CD1 +2F16 5C \ LD E,H +2F17 16 1A .. LD D,1A +2F19 1A . LD A,(DE) +2F1A 67 g LD H,A +2F1B 29 ) ADD HL,HL +2F1C D4 F9 42 ..B CALL NC,42F9 +2F1F D1 . POP DE +2F20 73 s LD (HL),E ; Low Word +2F21 2C , INC L +2F22 72 r LD (HL),D +2F23 2C , INC L +2F24 D1 . POP DE ; High Word +2F25 73 s LD (HL),E +2F26 2C , INC L +2F27 72 r LD (HL),D +2F28 2A C6 41 *.A LD HL,(41C6) ; Stackpointer +2F2B 23 # INC HL +2F2C 23 # INC HL +2F2D 22 C6 41 ".A LD (41C6),HL +2F30 C3 A7 2A ..* JP 2AA7 ;------------- PCALL -------------- +2F33 CD B8 43 ..C CALL 43B8 ; REF-Addr vom Stack +2F36 7B { LD A,E ; Segment +2F37 EB . EX DE,HL +2F38 18 27 .' JR 2F61 ;------------- EXEC --------------- +2F3A CD A8 2C .., CALL 2CA8 +2F3D 7C | LD A,H +2F3E 18 08 .. JR 2F48 ;-------------- CALL ------------- +2F40 CB 7F .. BIT 7,A +2F42 CB BF .. RES 7,A +2F44 28 02 (. JR Z,2F48 +2F46 CB D7 .. SET 2,A +2F48 F5 . PUSH AF +2F49 C6 02 .. ADD A,02 ; Addresse aus Module Addr Tabelle +2F4B 67 g LD H,A +2F4C 5F _ LD E,A +2F4D 16 19 .. LD D,19 +2F4F 1A . LD A,(DE) +2F50 67 g LD H,A +2F51 29 ) ADD HL,HL +2F52 B7 . OR A +2F53 CC E1 42 ..B CALL Z,42E1 +2F56 5E ^ LD E,(HL) +2F57 2C , INC L +2F58 56 V LD D,(HL) +2F59 F1 . POP AF +2F5A FE 05 .. CP 05 +2F5C 3E 02 >. LD A,02 +2F5E 38 01 8. JR C,2F61 +2F60 3C < INC A ; Call PROC +2F61 47 G LD B,A ;---- Segment in A, Addr in HL +2F62 D5 . PUSH DE ; call... + - Fortsetzung in Datei "eumel0.prt.2" - -- cgit v1.2.3