MSE – Abtippen sicher und leicht gemacht
Ähnlich wie der »Checksummer« ist auch der MSE ein Hilfsmittel bei der Eingabe von Listings, diesmal jedoch bei reinen Maschinensprache-Programmen.
Im Gegensatz zum »Checksummer« aber ist die Eingabe nicht ohne den MSE möglich. Der MSE verringert die Tipparbeit um ein Drittel und schließt Fehleingaben vollkommen aus. Außerdem können Sie die DATAs blind eingeben, ohne andauernd auf den Bildschirm schauen zu müssen. Dies wird durch akustische Meldungen realisiert.
Sicher kennen Sie die Situation: Man hat ein langes Listing mit DATA-Zeilen abgetippt, versucht es, das erste Mal zu starten und — nichts läuft. Dann beginnt nach der mühseligen Tipperei die noch mühseligere Fehlersuche. Als letzter Ausweg bleibt dann nur noch der Anruf bei der Redaktion oder dem Verfasser, ob vielleicht doch ein Druckfehler…
Damit ist es jetzt vorbei. Ab dieser Ausgabe werden die Maschinenprogramme im 64’er mit dem MSE abgedruckt. MSE ist ein Maschinenspracheditor, mit dem ein Vertippen ausgeschlossen ist. Eine abgetippte Zeile wird nur angenommen, wenn sie richtig ist. Wie ist das möglich ? Eine Checksumme am Ende jeder Zeile prüft, ob die richtigen Werte in der richtigen Zeile an der richtigen Stelle stehen. Wenn nicht, ertönt ein Warnsignal, und man beseitigt den Fehler.
War die Zeile korrekt, erklingt ein Gong, und die nächste Zeilennummer wird ausgegeben. Damit ist also auch »blindes« Eintippen möglich; Sie können sich voll auf den Text konzentrieren.
MSE verringert die Tipparbeit um ein Drittel. Anstelle von dreistelligen DATAs brauchen Sie nur noch zweistellige Hex-Zahlen einzugeben, die direkt in den Speicher gePOKEt werden.
So arbeitet man mit MSE
Laden und starten Sie MSE. Zuerst wird der Programmname und die Start- und Endadresse erfragt. Diese Angaben entnehmen Sie dem Kopf des jeweiligen abgedruckten Listings. MSE meldet sich dann mit der Zeilennummer der ersten Zeile. Wenn Sie die Zeile richtig eingegeben haben, erscheint die nächste Zeilennummer und so weiter bis zum Ende. Zum Schluß wird das fertige Programm mit »CTRL-S« auf Diskette oder Kassette abgespeichert. Dazu sind keine weiteren Angaben mehr erforderlich. Das Programm kann dann ganz normal wieder absolut geladen und gestartet werden. Wenn Sie nicht alles auf einmal tippen wollen, können Sie jederzeit unterbrechen und den eingetippten Teil mit »CTRL-S« abspeichern. Wollen Sie weiterarbeiten, laden und starten Sie MSE wieder. Geben Sie auf die Frage nach der Startadresse aber jetzt »L« ein, um Ihr Teilprogramm zu laden. Jetzt können Sie mit »CTRL-N« die Adresse eingeben, an der Sie weitertippen müssen. Wenn Sie sich nicht gemerkt haben, wie weit Sie gekommen sind, geben Sie nach dem Laden »CTRL-M« ein.
Auf die Frage nach der Startadresse antworten Sie mit der Anfangsadresse, die links in der Kopfzeile auf dem Bildschirm steht. Nun wird Ihr Programm aufgelistet. Mit »SPACE« wird das Listen fortgesetzt, mit »STOP« abgebrochen. Das Ende Ihres Programmteils erkennen Sie sehr einfach daran, daß nur noch der Wert »AA« in der Zeile steht. Die Adresse dieser Zeile müssen Sie anschließend mit »CTRL-N« eingeben. Das Programm ist nur mit »STOP/RESTORE« zu verlassen. Speichern Sie aber vorher unbedingt immer Ihren Text ab.
Wollen Sie selbst Programme mit MSE ausdrucken, laden Sie Ihr Programm wie oben beschrieben und geben anschließend »CTRL-P« ein. Die Druckausgabe läßt sich mit »STOP« jederzeit abbrechen.
Hinweise zum Abtippen
Vor dem Abtippen oder späteren Wiederladen des MSE-Laders müssen Sie unbedingt folgende Zeile eingeben:
POKE 43,1: POKE 44,32: POKE 8192,0: NEW
Beachten Sie bei der Eingabe die Hinweise im »Checksummer«. Speichern Sie den »MSE Lader« nach dem Abtippen unbedingt ab. Starten Sie das Programm mit RUN. Fehlerhafte Zeilen werden angezeigt und müssen korrigiert werden, bis der Lader zum »READY« durchläuft. Jetzt müssen Sie das fertige MSE-Programm abspeichern. Dazu brauchen Sie nur »RETURN« zu drücken, weil die erforderlichen Angaben schon auf dem Bildschirm stehen. (Kassettenbesitzer müssen in Zeile 343 die letzte Zahl in »1« abändern). Abjetzt können Sie »MSE V1.0« direkt, also ohne den DATA-Lader benutzen. MSE V1.0 wird ganz normal mit »,8« geladen. Heben Sie das Programm gut auf, Sie werden es noch häufig brauchen.
(N. Mann/D. Weineck/gk)DEL | löscht die letzte Eingabe. |
CTRL-S | speichert das eingetippte Programm ab. |
CTRL-L | lädt ein Programm. Start- und Endadresse werden automatisch ermittelt. |
CTRL-M | listet den Speicherinhalt. Abbruch mit STOP-Taste, weiter mit Leertaste |
CTRL-N | erlaubt die Eingabe einer neuen Adresse zum Weitertippen. |
CTRL-P | gibt ein MSE-Listing auf dem Drucker aus. |
100 rem **************************** 110 rem * * 120 rem * m s e lader * 130 rem * * 140 rem * von n.mann & d.weineck * 150 rem * * 160 rem * fleetrade 40 * 170 rem * 2800 bremen * 180 rem * * 190 rem * tel. 0421 / 493090 * 200 rem * 0421 / 231401 * 210 rem * * 220 rem **************************** 230 rem 240 dim h(75): for i=0to9 250 h(48+i)=i: h(65+i)=i+10:next 260 for i=2048 to 3755 : reada$ 270 h=asc(left$(a$,1)):l=asc(right$(a$,1)) 280 d=h(h)*16+h(l):s=s+d:pokei,d 290 a=a+1:if a<20 thennext:a=-1 300 print " zeile:";1000+z; 310 readv :z=z+1:ifv=sthen330 320 print"pruefsummenfehler !":stop 330 if a<0then 341 340 s=0:a=0:print:next 341 print"{clr}pO43,1:pO44,8:pO45,172:pO46,14 342 poke631,19:poke632,13:poke633,13:poke198,3 343 print"{down}{down}{down}save"chr$(34)"mse v1.0"chr$(34)",8 344 end 350 rem : 360 rem ****************** 370 rem * data * 380 rem ****************** 390 rem : 1000 data 00,0b,08,0a,00,9e,32,30,36,31,00,00,00,a2,08,a9,36,85,a4,a9, 1247 1001 data 08,85,a5,a9,00,85,a6,a9,b0,85,a7,a0,00,b1,a4,91,a6,c8,d0,f9, 2888 1002 data e6,a5,e6,a7,ca,d0,f2,a9,36,85,01,4c,00,b0,20,d1,b1,a9,06,8d, 2787 1003 data 21,d0,a9,03,8d,20,d0,8d,86,02,a0,b3,a9,74,20,ff,b1,a0,b3,a9, 2667 1004 data b9,20,ff,b1,a0,00,20,cf,ff,99,01,02,c8,c9,0d,d0,f5,88,f0,d2, 2912 1005 data c0,0f,90,02,a0,0e,8c,00,02,20,ea,b1,a0,b3,a9,cf,20,ff,b1,20, 2323 1006 data 8e,b4,85,fc,85,62,20,8e,b4,85,fb,85,61,20,a7,b4,d0,20,a0,b3, 2864 1007 data a9,e5,20,ff,b1,20,8e,b4,85,60,20,8e,b4,85,5f,20,a7,b4,d0,0a, 2624 1008 data a5,61,c5,5f,a5,62,e5,60,90,06,20,43,b3,4c,3a,b0,a9,aa,a0,00, 2379 1009 data 91,fb,e6,fb,d0,02,e6,fc,20,3f,b2,90,ef,4c,fb,b4,a2,02,86,58, 3118 1010 data a9,a6,a0,9d,20,f2,b1,20,e4,ff,f0,fb,c9,30,90,0c,c9,47,b0,08, 2970 1011 data c9,3a,90,0b,c9,41,b0,07,c9,14,d0,0f,4c,0b,b1,20,d2,ff,a6,58, 2322 1012 data 95,f7,c6,58,d0,d2,60,ae,8d,02,f0,26,c9,0c,d0,03,4c,0b,b6,c9, 2685 1013 data 13,d0,03,4c,8b,b5,c9,0d,d0,03,4c,ba,b4,c9,10,d0,03,4c,68,b5, 2282 1014 data c9,0e,d0,06,20,5f,b4,4c,64,b1,4c,92,b0,a5,f9,20,02,b1,0a,0a, 2132 1015 data 0a,0a,85,f9,a5,f8,20,02,b1,05,f9,60,c9,3a,90,02,69,08,29,0f, 1950 1016 data 60,a6,59,e0,08,90,1f,a6,58,e0,02,b0,06,20,d2,ff,4c,8e,b0,c6, 2509 1017 data 59,a0,14,a9,92,20,f2,b1,ca,d0,fa,84,57,68,68,4c,8b,b1,a6,d3, 2891 1018 data e0,08,b0,03,4c,92,b0,20,d2,ff,a6,58,e0,02,90,09,c6,59,20,d2, 2468 1019 data ff,c6,58,d0,f9,4c,8e,b0,48,4a,4a,4a,4a,20,59,b1,68,29,0f,c9, 2419 1020 data 0a,90,02,69,06,69,30,4c,d2,ff,a2,fc,9a,20,d1,b1,20,48,b2,20, 2261 1021 data ea,b1,20,9f,b2,a5,fc,20,4e,b1,a5,fb,20,4e,b1,20,ed,b1,a9,3a, 2860 1022 data a0,20,20,f2,b1,a9,00,85,59,20,8e,b0,20,ed,b1,a4,59,20,ef,b0, 2530 1023 data 91,fb,c8,84,59,c0,08,90,ec,20,10,b2,a9,12,20,d2,ff,20,8e,b0, 2657 1024 data 20,ef,b0,c5,ff,f0,0d,20,43,b3,a9,14,a0,14,20,f2,b1,4c,a2,b1, 2665 1025 data a9,92,20,d2,ff,20,33,b2,20,e0,b2,20,3f,b2,90,9f,4c,8b,b5,a9, 2648 1026 data 93,20,d2,ff,a2,00,a9,03,9d,00,d8,9d,00,d9,9d,00,da,9d,00,db, 2476 1027 data e8,d0,ef,60,a9,0d,2c,a9,20,4c,d2,ff,20,d2,ff,98,4c,d2,ff,20, 2965 1028 data e4,ff,f0,fb,60,84,5d,85,5c,a0,00,b1,5c,f0,06,20,d2,ff,c8,d0, 3100 1029 data f6,60,a5,fb,85,5a,a0,00,84,5b,b1,fb,18,65,5a,85,5a,90,02,e6, 2606 1030 data 5b,06,5a,26,5b,c8,c0,08,90,ec,a5,5a,65,5b,85,ff,60,18,a5,fb, 2467 1031 data 69,08,85,fb,90,02,e6,fc,60,a5,fb,c5,5f,a5,fc,e5,60,60,a0,b3, 3106 1032 data a9,fb,20,ff,b1,a0,01,b9,00,02,20,d2,ff,cc,00,02,c8,90,f4,a9, 2692 1033 data 10,ed,00,02,aa,20,ed,b1,ca,d0,fa,a5,62,20,4e,b1,a5,61,20,4e, 2453 1034 data b1,20,ed,b1,a5,60,20,4e,b1,a5,5f,20,4e,b1,a9,9f,20,d2,ff,20, 2575 1035 data ea,b1,24,5e,10,01,60,a9,12,20,d2,ff,a2,28,20,ed,b1,ca,d0,fa, 2646 1036 data a9,92,4c,d2,ff,a5,d6,c9,16,b0,01,60,a9,a0,85,a4,a9,78,85,a6, 2945 1037 data a9,04,85,a5,85,a7,a2,13,a0,27,b1,a4,91,a6,88,10,f9,ca,f0,19, 2671 1038 data 18,a5,a4,69,28,85,a4,90,02,e6,a5,18,a5,a6,69,28,85,a6,90,e0, 2503 1039 data e6,a7,4c,b6,b2,a9,91,4c,d2,ff,a9,0f,8d,18,d4,a9,00,8d,05,d4, 2776 1040 data a9,f7,8d,06,d4,a9,11,8d,04,d4,a9,32,8d,01,d4,a9,00,8d,00,d4, 2413 1041 data a0,80,20,09,b3,a9,10,8d,04,d4,60,a2,ff,ca,d0,fd,88,d0,f8,60, 2914 1042 data a9,0f,8d,18,d4,a9,2d,8d,05,d4,a9,a5,8d,06,d4,a9,21,8d,04,d4, 2385 1043 data a9,07,8d,01,d4,a9,05,8d,00,d4,a0,ff,20,09,b3,a9,20,8d,04,d4, 2250 1044 data a9,00,8d,01,d4,8d,00,d4,60,38,20,f0,ff,8a,48,98,48,18,a0,06, 2179 1045 data a2,18,20,f0,ff,a0,b4,a9,0a,20,ff,b1,20,12,b3,20,e4,ff,f0,fb, 2931 1046 data a2,1d,a9,14,20,d2,ff,ca,d0,fa,68,a8,68,aa,18,4c,f0,ff,0d,0d, 2704 1047 data 0d,20,20,20,20,20,20,20,4d,41,53,43,48,49,4e,45,4e,53,50,52, 1144 1048 data 41,43,48,45,20,2d,20,45,44,49,54,4f,52,20,0d,0d,20,20,20,20, 1023 1049 data 20,20,20,20,56,4f,4e,20,4e,2e,4d,41,4e,4e,20,26,20,44,2e,57, 1128 1050 data 45,49,4e,45,43,4b,00,0d,0d,0d,20,20,20,50,52,4f,47,52,41,4d, 1102 1051 data 4d,4e,41,4d,45,20,3a,20,00,0d,0d,20,20,20,53,54,41,52,54,41, 1073 1052 data 44,52,45,53,53,45,20,3a,20,24,00,0d,0d,20,20,20,45,4e,44,41, 1014 1053 data 44,52,45,53,53,45,20,20,20,3a,20,24,00,92,05,20,50,52,4f,47, 1171 1054 data 52,41,4d,4d,20,3a,20,00,12,20,20,2a,2a,2a,20,46,41,4c,53,43, 1024 1055 data 48,45,20,45,49,4e,47,41,42,45,20,2a,2a,2a,20,20,92,00,0d,0d, 1058 1056 data 2a,2a,2a,20,45,4e,44,45,20,2a,2a,2a,00,13,05,20,20,12,44,92, 920 1057 data 49,53,4b,20,4f,44,45,52,20,12,54,92,41,50,45,0d,00,13,20,20, 1151 1058 data 49,2f,4f,20,2d,20,46,45,48,4c,45,52,00,20,d1,b1,20,48,b2,a0, 1606 1059 data b3,a9,cf,20,ff,b1,20,8e,b4,85,fc,20,8e,b4,85,fb,c5,61,a5,fc, 3207 1060 data e5,62,90,23,a5,fb,c5,5f,a5,fc,e5,60,b0,19,20,a7,b4,d0,14,60, 2860 1061 data 20,a7,b4,f0,0c,85,f9,20,a7,b4,f0,05,85,f8,4c,ef,b0,68,68,20, 2749 1062 data 43,b3,4c,5f,b4,20,cf,ff,c9,4c,d0,09,20,d1,b1,20,48,b2,4c,0b, 2372 1063 data b6,c9,0d,60,a9,00,85,5e,20,5f,b4,20,ea,b1,20,0d,b5,24,5e,30, 2042 1064 data 05,20,e4,ff,f0,fb,20,e1,ff,f0,26,20,9f,b2,24,5e,10,09,20,4e, 2435 1065 data b5,20,0d,b5,20,60,b5,20,33,b2,20,3f,b2,90,d7,a0,b4,a9,28,20, 2190 1066 data ff,b1,20,e4,ff,c9,0d,d0,f9,a9,00,85,5e,a5,61,85,fb,a5,62,85, 3056 1067 data fc,20,e0,b2,4c,64,b1,a5,fc,20,4e,b1,a5,fb,85,ff,20,4e,b1,a9, 3003 1068 data 20,a0,3a,20,f2,b1,a0,00,20,ed,b1,b1,fb,20,4e,b1,c8,c0,08,90, 2566 1069 data f3,20,ed,b1,24,5e,30,03,a9,12,2c,a9,20,20,d2,ff,20,10,b2,a5, 2190 1070 data ff,20,4e,b1,a9,92,20,d2,ff,4c,ea,b1,a9,ff,85,b8,85,b9,a9,04, 3073 1071 data 85,ba,20,c0,ff,a2,ff,4c,c9,ff,20,cc,ff,a9,ff,4c,c3,ff,20,5f, 3315 1072 data b4,a9,80,85,5e,20,4e,b5,20,48,b2,a2,24,a9,2d,20,d2,ff,ca,d0, 2596 1073 data fa,20,ea,b1,20,ea,b1,20,60,b5,4c,c1,b4,20,b8,b5,a6,5f,a4,60, 2812 1074 data a9,61,20,d8,ff,b0,0a,20,b7,ff,29,bf,d0,03,4c,fb,b4,a9,01,20, 2577 1075 data c3,ff,20,68,b6,a0,b4,a9,4f,20,ff,b1,20,f9,b1,4c,fb,b4,20,68, 2921 1076 data b6,a9,37,a0,b4,20,ff,b1,20,f9,b1,a2,08,c9,44,f0,06,a2,01,c9, 2717 1077 data 54,d0,f1,a9,01,a8,20,ba,ff,a0,00,e0,01,f0,1a,a9,40,8d,20,02, 2403 1078 data a9,3a,8d,21,02,b9,01,02,99,22,02,c8,cc,00,02,90,f4,c8,c8,d0, 2182 1079 data 0c,b9,01,02,99,20,02,c8,cc,00,02,d0,f4,98,a2,20,a0,02,4c,bd, 2018 1080 data ff,20,b8,b5,a5,ba,c9,08,90,33,a6,b9,86,57,a9,01,20,c3,ff,a9, 2800 1081 data 60,85,b9,20,c0,ff,b0,28,a5,ba,20,b4,ff,a5,b9,20,96,ff,20,a5, 2911 1082 data ff,85,61,a5,90,4a,4a,b0,13,20,a5,ff,85,62,20,ab,ff,a5,57,85, 2663 1083 data b9,a9,00,20,d5,ff,90,03,4c,a3,b5,86,5f,84,60,a5,ba,c9,01,d0, 2639 1084 data 0a,ad,3d,03,85,61,ad,3e,03,85,62,4c,fb,b4,a9,13,20,d2,ff,a2, 2300 1085 data 1c,20,ed,b1,ca,d0,fa,60, 1230