Grafik-Erweiterung und DCopy für Aktien-Manager/Wahlhochrechnung
Diese beiden kurzen Erweiterungen können Sie universell einsetzen. Zusammen mit Aktien-Manager und Wahlhochrechnung sind sie ein gutes Beispiel für eine sinnvolle Computeranwendung.
Grafik-Erweiterung
Diese Erweiterung wurde so kurz und einfach wie möglich gehalten und auf die notwendigsten Befehle beschränkt Durch die Lage in Page 1 wird kein Basic-Speicherplatz verbraucht. Das Besondere an dieser Erweiterung ist, daß zwar nur die hohe Auflösung von 320x200 Punkten möglich ist, aber trotzdem alle 16 Farben auf einmal dargestellt werden können (allerdings nur jeweils eine Farbe pro 8x8-Punkte-Feld).
Folgende Befehle sind mit dieser Erweiterung möglich (Ausdrücke in Klammern können weggelassen werden):
| ← Gx | Grafik einschalten / x=Hintergrundfarbe |
| ← C | Grafik löschen |
| ← T | Grafik ausschalten |
| ← Dx,y(;z) | Punkt zeichnen / x=X-Koordinate (0 - 319) / y=Y-Koordinate (0 - 200) / z=Farbe |
| ← Lx,yTOx,y(;z) | Linie zeichnen / Anfangs- und Endpunkt eingeben / z=Farbe |
| ← Px,y(,ax,ay)(;z)"Text": | Text drucken / x,y=Koordinaten der linken oberen Ecke / ax,ay=Ausdehnung in x,y-Richtung / z=Farbe |
| ← F1000 | Bei auftretendem Fehler springt Programm in Zeile 1000 (dort kann mit PEEK(52000) die Fehlernummer und mit PEEK(52001)4-256*Peek(52002) die Fehlerzeile ausgelesen werden) |
| ← E | Abschalten der Erweiterung |
Die Grafik liegt im Bereich $E000 bis $FFFF
DCopy
Die Druckerroutine für den MPS-802-Drucker liegt im Bereich $C700 bis $C850 und kann zusammen mit der Grafik-Erweiterung verwendet werden. Im Grundaufbau entspricht sie der Routine aus 64’er Ausgabe 10/84 Seite 83.
Wenn Sie einen anderen Drucker als den MPS-802 besitzen, besteht die Möglichkeit, an Stelle des Programms »DCopy« eine Hardcopy-Routine für Ihren Drucker zu verwenden. Dabei ist darauf zu achten, daß der Grafikbildschirm im Speicherbereich $E000 bis $FFFF liegt. Die Routine selbst kann in jedem nicht vom Hauptprogramm beziehungsweise der Grafik-Routine verwendeten Bereich stehen. Gut geeignet ist beispielsweise der Bereich $C700 bis $CFFFF. Je nachdem wo Ihre Druck-Routine liegt, müssen Sie den SYS-Befehl im Hauptprogramm anpassen.
(Björn Fiethe/aw)PROGRAMM : GRAFIK-E_MS C000 C569 ----------------------------------- C000 : 78 AD 08 03 8D FB CB AD F5 C008 : 09 03 8D FC CB A9 34 8D 8C C010 : 08 03 A9 C0 8D 09 03 AD A5 C018 : 14 03 8D F9 CB AD 15 03 D5 C020 : 8D FA CB A9 E6 8D 14 03 83 C028 : A9 C0 8D 15 03 A5 01 8D B4 C030 : F8 CB 58 60 20 73 00 F0 AF C038 : 04 C9 5F F0 05 A2 01 4C 19 C040 : 7F C0 20 73 00 C9 47 D0 A3 C048 : 03 4C 8F C0 C9 43 D0 03 6D C050 : 4C F8 C0 C9 54 D0 03 4C F2 C058 : 13 C1 C9 44 D0 03 4C 5E 5A C060 : C1 C9 4C D0 03 4C F5 C1 21 C068 : C9 50 D0 03 4C 23 C3 C9 6E C070 : 45 D0 03 4C 2F C1 C9 46 1C C078 : D0 03 4C E7 C4 A2 02 C6 D1 C080 : 7A A5 7A C9 FF D0 02 C6 C1 C088 : 7B CA D0 F3 6C FB CB AD 4C C090 : 11 D0 09 20 8D 11 D0 A9 48 C098 : 39 8D 18 D0 AD 16 D0 29 D9 C0A0 : EF 8D 16 D0 AD 00 DD 29 9A C0A8 : FC 8D 00 DD 20 D2 C0 A9 16 C0B0 : 00 85 14 A9 CC 85 15 A0 3C C0B8 : 00 8E FD CB A2 04 B1 14 31 C0C0 : 29 F0 0D FD CB 91 14 C8 8F C0C8 : D0 F4 E6 15 CA D0 EF 4C FA C0D0 : AE A7 20 73 00 20 9E B7 B3 C0D8 : E0 10 B0 01 60 AD F8 CB FB C0E0 : 85 01 58 4C 48 B2 A5 9D 71 C0E8 : D0 03 6C F9 CB AD F8 CB 3A C0F0 : 85 01 20 1C C1 6C F9 CB 80 C0F8 : A0 00 84 FE A9 E0 85 FF 51 C100 : A2 20 98 91 FE C8 D0 FB 7C C108 : E6 FF CA D0 F6 20 73 00 F9 C110 : 4C AE A7 20 1C C1 20 73 D8 C118 : 00 4C AE A7 A9 1B 8D 11 AB C120 : D0 A9 15 8D 18 D0 AD 00 7B C128 : DD 09 03 8D 00 DD 60 78 5E C130 : AD FB CB 8D 08 03 AD FC C9 C138 : CB 8D 09 03 AD F9 CB 8D 61 C140 : 14 03 AD FA CB 8D 15 03 24 C148 : A9 8B 8D 00 03 A9 E3 8D 42 C150 : 01 03 AD F8 CB 85 01 58 FB C158 : 20 73 00 4C AE A7 20 73 4B C160 : 00 20 EB B7 20 D4 C1 78 03 C168 : AD F8 CB 29 FD 85 01 20 FA C170 : 7B C1 AD F8 CB 85 01 58 F4 C178 : 4C AE A7 E0 C8 B0 54 A4 CE C180 : 15 F0 0A C0 02 B0 4C A5 CA C188 : 14 C9 40 B0 46 8E F7 CB F7 C190 : 8A 4A 4A 4A A8 A5 14 29 76 C198 : F8 85 24 85 26 B9 2A C5 71 C1A0 : 18 65 15 85 25 4A 66 26 EB C1A8 : 4A 66 26 4A 66 26 18 69 C3 C1B0 : B0 85 27 8A 29 07 79 43 75 C1B8 : C5 A8 A5 14 29 07 AA BD AE C1C0 : 5C C5 11 24 91 24 98 4A F9 C1C8 : 4A 4A A8 AD F6 CB 91 26 77 C1D0 : AE F7 CB 60 48 A9 3B 8E 55 C1D8 : F5 CB A0 00 D1 7A D0 10 2F C1E0 : 68 20 D2 C0 48 8A 0A 0A 3A C1E8 : 0A 0A 0D FD CB 8D F6 CB 97 C1F0 : AE F5 CB 68 60 20 73 00 6E C1F8 : 20 EB B7 8E F3 CB A5 14 2A C200 : 8D FE CB A5 15 8D FF CB 09 C208 : A9 A4 20 FF AE 20 EB B7 16 C210 : 20 D4 C1 86 60 A5 14 85 6A C218 : 61 A5 15 85 62 78 AD F8 D4 C220 : CB 29 FD 85 01 A9 00 85 18 C228 : 5C A5 60 38 ED F3 CB B0 85 C230 : 05 E9 00 49 FF 18 66 5C 66 C238 : 85 59 A5 61 38 ED FE CB 86 C240 : A8 A5 62 ED FF CB AA B0 7B C248 : 0D 98 E9 00 49 FF A8 8A 68 C250 : E9 00 49 FF AA 18 66 5C 49 C258 : 86 5B 84 5A 8A D0 07 C4 CD C260 : 59 B0 03 A0 00 2C A0 FF CA C268 : 84 FF 98 D0 0A A5 59 85 6A C270 : 57 A9 00 85 58 F0 08 A5 C5 C278 : 5A 85 57 A5 5B 85 58 18 93 C280 : 66 58 66 57 AD FE CB 85 A4 C288 : 14 AD FF CB 85 15 AE F3 90 C290 : CB 20 7B C1 A5 FF F0 42 25 C298 : AD FE CB C5 61 D0 07 AD 84 C2A0 : FF CB C5 62 F0 2B 20 FE 29 C2A8 : C2 A5 57 18 65 59 AA A4 2B C2B0 : 58 90 01 C8 C4 5B 90 12 37 C2B8 : D0 04 C5 5A 90 0C 20 17 5F C2C0 : C3 38 8A E5 5A AA 98 E5 28 C2C8 : 5B A8 86 57 84 58 4C 84 49 C2D0 : C2 AD F8 CB 85 01 58 4C 7B C2D8 : AE A7 AD F3 CB C5 60 F0 92 C2E0 : F0 20 17 C3 A5 5A 18 65 77 C2E8 : 57 B0 09 C5 59 B0 05 85 CD C2F0 : 57 4C 84 C2 E5 59 85 57 D5 C2F8 : 20 FE C2 4C 84 C2 24 5C 79 C300 : 10 09 EE FE CB D0 03 EE 5D C308 : FF CB 60 AD FE CB D0 03 52 C310 : CE FF CB CE FE CB 60 24 C3 C318 : 5C 50 04 EE F3 CB 60 CE 38 C320 : F3 CB 60 20 73 00 20 EB A5 C328 : B7 48 8E F0 CB A5 14 8D 1A C330 : F1 CB A5 15 8D F2 CB A9 06 C338 : 2C A0 00 D1 7A D0 2C 68 9E C340 : 20 73 00 20 EB B7 20 D4 C5 C348 : C1 48 A5 14 10 03 4C 48 F4 C350 : B2 8D EF CB 0A 0A 0A A8 A9 C358 : 88 8C EE CB 8A 30 EF 8D 60 C360 : ED CB 0A 0A 0A 8D EC CB 4F C368 : 4C 82 C3 A9 01 8D EF CB EF C370 : 8D ED CB A9 07 8D EE CB 4C C378 : A9 08 8D EC CB 68 20 D4 50 C380 : C1 48 AD 26 03 8D EA CB 75 C388 : AD 27 03 8D EB CB A9 AB 56 C390 : 8D 26 03 A9 C3 8D 27 03 72 C398 : 68 20 A0 AA AD EA CB 8D 0A C3A0 : 26 03 AD EB CB 8D 27 03 FC C3A8 : 4C AE A7 85 D7 78 8A 48 E2 C3B0 : 98 48 A5 D7 48 AD F1 CB 22 C3B8 : AC F2 CB AE F0 CB 18 6D 4F C3C0 : EE CB 85 14 90 01 C8 84 B5 C3C8 : 15 E0 C8 B0 1B A5 15 F0 AB C3D0 : 0A C9 01 D0 13 A5 14 C9 5B C3D8 : 40 B0 0D AD F2 CB 85 15 37 C3E0 : AD F1 CB 85 14 4C F8 C3 38 C3E8 : 8A 18 6D EC CB AA A9 00 30 C3F0 : 85 15 85 14 E0 C0 B0 04 C3 C3F8 : 68 4C 06 C4 68 68 A8 68 DE C400 : AA A5 D7 18 58 60 C9 0E 42 C408 : D0 0B AD 18 D0 09 02 8D 45 C410 : 18 D0 4C FD C3 C9 8E D0 C9 C418 : 0B AD 18 D0 29 FD 8D 18 03 C420 : D0 4C FD C3 C9 12 D0 07 8D C428 : A9 01 85 C7 4C FD C3 C9 03 C430 : 92 D0 05 A9 00 4C 2A C4 35 C438 : C9 20 90 0C C9 40 90 10 B8 C440 : C9 60 90 0A C9 80 90 03 88 C448 : 4C FD C3 E9 1F 2C E9 3F 3A C450 : 85 FB A9 00 85 FC A0 03 06 C458 : 06 FB 26 FC 88 D0 F9 A5 C7 C460 : C7 F0 07 A5 FC 18 69 04 54 C468 : 85 FC AD 18 D0 29 02 F0 1A C470 : 06 A5 FC 18 69 08 2C A5 5E C478 : FC 18 69 D0 85 FC AD F8 DE C480 : CB 29 F9 85 01 8E F0 CB EF C488 : A0 00 AD ED CB 85 56 84 9D C490 : FE A9 08 85 FF B1 FB 85 9E C498 : FD A5 14 48 A5 15 48 AD F5 C4A0 : EF CB 85 55 A5 FD 0A 90 14 C4A8 : 03 20 7B C1 E6 14 D0 02 29 C4B0 : E6 15 C6 55 D0 EE 06 FD 16 C4B8 : C6 FF D0 E3 68 85 15 68 06 C4C0 : 85 14 E8 A4 FE C6 56 D0 3F C4C8 : C8 C8 C0 08 D0 BC AD F8 C1 C4D0 : CB 85 01 A4 15 A5 14 38 72 C4D8 : 6D EE CB 8D F1 CB 90 01 23 C4E0 : C8 8C F2 CB 4C FD C3 20 28 C4E8 : 73 00 20 8A AD 20 F7 B7 E0 C4F0 : A9 0A 8D 00 03 A9 C5 8D B1 C4F8 : 01 03 A5 14 8D E8 CB A5 01 C500 : 15 8D E9 CB 4C AE A7 4C 41 C508 : 74 A4 8A 30 FA 8D 20 CB AB C510 : A5 3A 8D 22 CB A5 39 8D 64 C518 : 21 CB AD E8 CB 85 14 AD 3C C520 : E9 CB 85 15 4C A3 A8 FF 77 C528 : 03 01 E0 E1 E2 E3 E5 E6 D3 C530 : E7 E8 EA EB EC ED EF F0 A3 C538 : F1 F2 F4 F5 F6 F7 F9 FA AB C540 : FB FC FE 00 40 80 C0 00 84 C548 : 40 80 C0 00 40 80 C0 00 04 C550 : 40 80 C0 00 40 80 C0 00 0C C558 : 40 80 C0 00 80 40 20 10 B3 C560 : 08 04 02 01 00 00 FF FF 0B C568 : 22 16
PROGRAMM : DCOPY C700 C851 ----------------------------------- C700 : A9 69 A2 04 A0 05 20 E8 0B C708 : C7 A9 64 A2 04 A0 00 20 97 C710 : E8 C7 A2 64 20 C9 FF A9 B5 C718 : 8D 20 D2 FF A9 6A A2 04 EA C720 : A0 06 20 E8 C7 A2 6A 20 64 C728 : C9 FF A9 14 20 D2 FF A2 BC C730 : 64 20 C9 FF A9 8D 20 D2 44 C738 : FF 20 FD AE 20 9E B7 E0 34 C740 : 29 B0 0C 86 FC 20 FD AE BB C748 : 20 9E B7 E0 10 90 06 20 9F C750 : C7 C7 4C 48 B2 8A 0A 0A D3 C758 : 0A 0A 85 FF A2 00 86 FE 0B C760 : 8E 3C 03 A9 00 8D 3D 03 6A C768 : 20 F3 C7 20 30 C8 F0 29 D7 C770 : A2 69 20 C9 FF A2 00 BD 99 C778 : 3E 03 20 D2 FF E8 E0 08 75 C780 : D0 F5 A9 0D 20 D2 FF A2 35 C788 : 64 20 C9 FF 20 3E C8 A9 D9 C790 : FE 20 D2 FF A9 8D 20 D2 80 C798 : FF 18 A5 FE 69 08 85 FE D7 C7A0 : 90 02 E6 FF 20 E1 FF F0 DE C7A8 : 1E EE 3D 03 AD 3D 03 C9 51 C7B0 : 28 D0 B5 A2 64 20 C9 FF 70 C7B8 : A9 0D 20 D2 FF EE 3C 03 B9 C7C0 : AD 3C 03 C9 19 D0 9C A9 63 C7C8 : 69 20 C3 FF A9 0D 20 D2 5B C7D0 : FF A9 64 20 C3 FF A2 6A 5D C7D8 : 20 C9 FF A9 24 20 D2 FF A0 C7E0 : A9 6A 20 C3 FF 4C CC FF D4 C7E8 : 20 BA FF A9 00 20 BD FF 92 C7F0 : 4C C0 FF 78 A5 01 29 FD AE C7F8 : 85 01 A2 00 8A 9D 3E 03 3B C800 : E8 E0 08 D0 F8 A9 80 85 5E C808 : FD A0 00 B1 FE A2 00 0A A5 C810 : 90 0A 48 BD 3E 03 05 FD 7B C818 : 9D 3E 03 68 E8 E0 08 D0 FA C820 : EE 46 FD C8 C0 08 D0 E3 21 C828 : A5 01 09 02 85 01 58 60 53 C830 : A2 00 8A DD 3E 03 D0 05 7A C838 : E8 E0 08 D0 F6 60 18 A5 CB C840 : FC 6D 3D 03 AA F0 08 A9 48 C848 : 20 20 D2 FF CA D0 FA 60 0D C850 : 44 2A