Preview only show first 10 pages with watermark. For full document please download

Club-80 Heft 12 (bw)

   EMBED


Share

Transcript

Clubinternes D er Vorstand inform iert ................ 81 Clubtreffen in H olzha u s e n ........... 82 - 84 Software Nachtrag zu INPUT ....................... Programmierwettbewerb .............. 85 87-89 Verbessert: IO-P o r t ................ 11 - 12 JKL - d r u c k e r s c h o n e n d ..........1 3 - 1 4 Volle Libr ary ? .................1 5 - 1 6 DDE - Genie I I I s .................1 7 - 2 8 HRG - Genie I I I s ................. 2 1 - 2 6 Zeichensatz neu - Genie IIIs . . . . 2 8 - 32 Call m it Ba s c o m ................. 3 3 - 3 5 Modell 4 i n t e r n ................. 3 7 - 4 3 Modell 4 s o f t ................... 4 5 - 5 9 Hardware CLUB 80 h a r d .......................... 61 Datenübertragung per Fernsehbild . . 80-Zeichenkarte ..................... Speed W r i t i n g ................... 62 63-64 . 65 - 6ß Modell 4 har d ....................... 69 - 7E Bildschirmausgabe aufpolieren ... E C B - B u s ........................... 79 - E4 91 C lu b tre ffe n in H olzh ausen a. d. H eid e Um a l l e n T e i l n e h m e r n am C l u b t r e f f e n d ie Anfah rt m ö g l ic h s t zu e r l e i c h t e r n , v e r ö f f e n t l i c h e n w ir h i e r noch einm al e i n e Straßenkarte der w eiteren Umgebung von H o lz h a u s e n a. d. H aid e . D ie g ü n s t i g s t e n Anfah rtsw ege sin d Liebe M i t 9 U e d e r i zum letzten Ma.1 an dieser Stelle als Vorstand des Clubs möchte ich zunächst allen Mitgliedern recht herzlich danken? die mich in meine • Arbeit unterstützt haben. Mein besonderer Dank geht an den Jens? dem Hartmut ur.u dem Kajott. Sie haben sich bereit erklärt? verantwortlich ein Stück des Clubs zu übernehmen und Ihre Freizeit dafür zu opfern. Wir brauchen nun Jemanden (oder auch mehrere)? der bereit ist? für das Amt des Vorstandes zu kandidieren. Die Satzung sagt ganz klar aus? da£ der Vorstand von der Gesamtheit der beim Clubtreffen anwesenden Mitglieder gewählt wird. Ich hoffe? da£ sich bis zum Clubtreffen Kandidaten finden? denn eines ist gewiss Ich lasse mich als Vorstand nicht mehr aufstellen. — von Süden kommend: R i c h t u n g W i e s b a d e n , d o r t a u f d i e A66 i n R i c h tu n g Rüdesheim. D ie Autobahn geht d ire k t i n d i e B260 ü b e r, welche d ir e k t durch H o lzh ausen f ü h r t * - von N o r d e n kommend: entweder li n k s r h e i n i s c h i n R i c h tu n g K o b l e n z , d o r t Richtu ng Bad E m s/Nassau ( B 4 1 7 ) . In N a s sa u a u f d i e B260 i n Richtu ng W i e s b a d e n o d e r r e c h t s r h e i n i s c h Autobahn A3 b i s Lim bu rg a. d. Lahn. Dort au f d i e B417 in R ich tu n g D i e z a. d. L. / N a s s a u . In N a s s a u a u f d i e B260 i n R ich tu n g W ie s b a d e n . Ich will nun einen kurzen Abri£ der Tätigkeiten des Vorstandes geben. Der Vorstand ist derjenige? welcher den Club nach au^en hin vertritt. Das hei£t? er hat Anfragen von Interessenten zu beantworten. Die neuen Mitglieder hat er in den Club aufzunehmen. Er ist für die Kassenführung der Hauptkasse verantwort­ lich. Der Vorstand ist Anlaufstelle für viele Clubangelegenhei­ ten. Er soll auch den Kontakt zu den Mitgliedern halten. Der Vorstand re9elt den Bücherverleih. D i e B260 f ü h r t , w i e scho n e r w ä h n t , d i r e k t d u rc h H olz hausen hindu rch . In H o lz h au s en (übrigen s der Geburtsort von N ik o la u s August O tto ) i s t der Weg zum H o t e l " T a u n u s b l i c k " sehr gut a u sg e sc h ild e rt. Fü r d ie von Südeh kommenden Teilnehm er der H inw eis: Die H in w e issch ild er (m ehrere) "T au n u sb lick " befin d en sic h auf d er r e c h t e n S t r a ß e n s e i t e ! Für a l l e aus n ö rd lich e r R ic h t u n g ankommenden T eiln e hm er g i l t demnach: D i e H in w e is s c h ild e r sin d li n k s zu suchen und zwar e r s t nac h dem P a s s i e r e n d e s Geburtshauses (d e u tlic h s i c h t b a r ) von N . A . O t t o ! Das war dann schon alles? was mir derzeit einfällt. Ich habe in den letzten Monaten im Schnitt wöchentlich 3-5 Stunden für den C*ub aufgebracht. Wer Jetzt noch Fragen zum Vorstand hat? kann sich Ja bei mir melden. Ich g l a u b e m it d i e s e r B e s c h r e i b u n g d ü r f t e jeder den O r t d e s T r e f f e n s m it L e i c h t i g k e i t f i n d e n ! Bitte nehmt alle das Problem Vorstand ernst - wir brauchen ei­ nen Vorstand für einen funktionsfähiger« CLUB 80 - und an dem ist uns doch allen gelegen. Sollte unter uns ein Mitglied sein? das bereit wäre? den Vorstand zu übernehmen? aber aus beruf­ lichen oder privaten Gründen am • Clubtreffen nicht teilnehmen kann? so mu£ er mir dies unbedingt mitteilen. Ich hoffe ferner? daJ8 sich die Teilnehmer am Clubtreffen auch Ihre Gedanken darü­ ber machen? wie das Treffen ablaufen soll und was besprochen gehört. Wie bereits im letzten Info angedeutet wurde? haben wir einen Teil des Überschusses von 1985 für den Ankauf von insgesamt 22 Büchern verwendet. Hierbei konnten wir 19 Bücher zum m.E. sehr günstigen Komplettpreis von 171?— DM (inklusive aller angefal­ lenen Unkosten) kaufen. Die komplette Bücherliste des CLUB 80 ist in diesem Info ab9edruckt. Ich hoffe Jetzt nur noch auf ein gelungenes Clubtreffen. Viele Grü£e T eiln e hm er Nun zu den T eiln e h m ern , d i e ev. mit d e r Bahn an reisen w o lle n . Da H o lz h a u s e n k e i n e Bah nansch luß h a t , i s t e s ohne e i g e n e s KFZ nur schwer zu erreichen. Um tr o t z d e m auch M itg lie d e rn ohne eigenen oder ge lie h e n e n fah rbaren Untersatz d i e T e i ln a h m e zu e r m ö g l i c h e n , e r b i e t e ic h m it , sie vom B ahnhof M ainz o d e r Wie sbaden abzuholen und nach B e e n d i g u n g d e s T r e f f e n s d o r t auch w i e d e r a b z u l i e f e r n . Damit ic h n i c h t dauernd nur a u f A chse b i n , w äre m ir n a t ü r l i c h e i n “S a m m e l t r a n s p o r t 1' am l i e b s t e n . Ich b itte also a lle B a h n fa h r e r* s i c h s o b a ld w ie m öglich, jedoch b i s spätenstens 3 1 .0 3 . te le fo n isc h bei mir zu m elde n, d am it w ir d ie A n k u n f t s z e i t e n m ö g l i c h s t a u f e i n a n d e r abstimmen können! Noch e i n l e t z t e r H i n w e i s : M itg lie d e r, d ie s ch o n a b g e s a g t o de r ih ren Anm eldezettel n i c h t a b g e s c h i c k t h ab e n und s ich k u rz fristig doch f ü r d i e Teiln a h m e en tscheiden , s o llt e n mich t e l e f o n i s c h davon in K enntnis setzen. S o llte näm lic h der "T au n u sblick " v o ll b e l e g t s e i n , kann i c h ohne v o r h e r i g e t e l e f o n i s c h e Anmeldung kein e G aran tie d afür übernehmen, daß i h r i n einem ander en G a s t h o f noch e i n Zimmer bekommt! Doch d a m it genug d e r guten R a t s c h l ä g e . Ich wünsche a l l e n T e i l n e h m e r n am T r e f f e n e i n e g u t e und vor a lle m u n f a l l f r e i e A n f a h r t , E uer P.S. s Zum Clubtreffen findet Ihr weiter hinten noch einen B e i ­ trag. *c*r»Srij*r. iMsIbcH'" W » f l d o H Nachtrag zu “ IN PUT Ih r e r i n n e r t Euch s i c h e r l i c h noch an meinen w e n i g h i l f r e i c h e n H in w e is , den Pi 1d s c h i r m e d i t o r zu l a d e n , damit beim INPUT d i e n ä c h s t e Z e i l e n i c h t g e l ö s c h t w i r d . Nun habe ic h den Weg des g e r i n g s t e n Wiede. S t a n d e s g e s u c h t und wiederum in " B a s i c F a s t e r and B e t t e r " euch g e f u n d e n . Das n a c h s t e h e n d e Programm l ö s t das P ro b le m d er v e r sc h w in d e n d e n Z e i l e s e l b s t , indem e s s i e e i n f a c h über e i n e A s s e m b l e r - R o u t i n e in e i n e n S t r i n g r e t t e t und nach d e r E in g a b e (und dem L ö s c h e n ) w i e d e r z u r ü c k s c h r e i b t . N ich t g e n ia l, aber ein fach . 10 20 30 40 50 CLEAR 5000 s DEFINT A -Z DIN U S (4) ’ Assembler— R o u t i n e 1: E i n g a b e DIN U V (6) ’ A s s e m b l e r - R o u t i n e 2i Z e i l e r e t t e n U S(0>=1030 : US ( 1 ) «B448 * U S ( 3 > = - 9 7 7 9 : U S ( 4 > = - 1 4 0 7 5 UV <0> *844 8 : U V ( 2 ) = 4 3 5 2 t U V ( 4 ) = 1 6 3 0 5 r U V ( 5 ) = - 4 8 6 4 : U V < 6 '= -1 3 9 0 4 60 ’ i r g e n d e i n Hauptprooramm 70 ’ . . . ^0 ? * I l . c ’ I I = P o s i t i o n , an d e r d i e E i n g a b e e r f o l g t , könnte 90 ’ auch üb e r A b f r a g e von (4020H) und (4021H) 100 ’ r e a l i s i e r t werden 110 GOSUB 1000 120 ’ R e a k t i o n e n a u f d i e E i n g a b e , e n t w e d e r A * o d e r I 130 ’ a u s w e r t e n 140 ’ . . . 140 END 1000 ’ U n ic -orogram m " E i n g a b e " I V ! 0 ’ - d a s Programm b e n ö t i g t d i e C u r s o r p o s i t i on in I I 1020 ' - e s g i b t d : e E i n g a b e i n A$ und den A S C I I - W e r t des 1030 * e r s t e n B u ch st ab en i n I a u s 1040 1 2 = ( I N T ( I 1/ 6 4 ) + 1 ) * 6 4 ’ S - P o s i t i o n am A n fa n g d e r näc hs ten 1050 ’ Z e ile 1060 ’ R e t te n der n ä c h s t e n Z e i l e : 1070 FS = ST R IN G *( 6 5 . 3 2 ) : U V ( 1 ) « 1 5 3 6 0 + 1 2 10B0 UV ( 3 ) « C V I ( C H R * (PEEK( VARPTR 1120 U S ( 2 ) = C V I ( CHR*(PEEK( VARPTR( A * >+1> >+C HR *( PEEK( VARPTR(AS)+2) ) ) 1130 1=0 : DEFUSR-VARPTR(US( 0 ) > : I=USR(0> 1140 ’ G elöschte Z e i l e w ieder zurück: 1150 U V (1)« C V I ( C H R * ( P E E K (VARPTR(F$> + 1 ) ) + C H R * ( P E E K ( VARPTR(FS)+2)> ) 1160 U V (3)=15 36 0+1 2 : 1=0 : DEFUSR«VARPTR(UV( 0 ) > : I*USR(0> 1170 ’ Auswer tu ng 11BO IF IN S T R ( A f. C H R S ( 1 3 ) ) > 0 THEN A * = L E F T * ( A S . IN ST R( A t . CHRt( 1 3 ) ) —1) ’ S t r i n g ohne CR 1190 I « A S C (A S + C H R S (128 >) 1200 IF PEEK(1 4 400 )= 4 THEN END ’ B re a k -T a st e gedrückt 1210 IF I <32 OR I '-127 THEN 1=0 ’ Code zu k l e i n o der zu groß 1220 RETURN Gerald Schröder Französisch: D a un petit velo dans la tete. Er hat ein kleines,/ Fahrrad im Kopf. E r ist als Kind zu heiß gebadet worden. ^ " Un chien regarde bien un 6veque. Ein Hund kann doch einen Bischof anschauen. Ansehen kostet nichts. )i \ HEFT IE Harz 1984 Q7 / * / jst i-jt Z e / ? r / i r e jc 2 , e g a l w o fü r . Was s o llte a ls B eisp iel herhalten ? W ie d er einmal das l e i d i g e Umwandlungsthema "DEZ/HEX"! H a t t e i c h doch g e r a d e in INFO 3 , v o r l e t z t e S e i t e ( S e i t e n —Nummern g a b e s da noch n i c h t ; w e l c h e s Kind z ä h l t s chon d i e Tage e r s t e n S p ie ls? ? ) d ie Sc höpfu ng von Kamerad Z w ic k e l (H a llo W alter, ic h grüße Dich und D ein e Berge im schönen Ö sterreich , b e s o n d e rs Dein B e rg h e im !) g e l e s e n , d e r über 75 S t a t i o n e n von DEZ nach HEX f ä h r t , wo bei d i e E n t f e r n u n g von e i n e r z u r nächsten z u g e g e b e n auch z u Fuß zu ü b e r b r ü c k e n i s t , s o kurz s i n d d e r e n A b s tän d e ( « Z e i l e n ) . . . "H a!" - so fro h lo c k te ic h : "Was der W alter i n 75 S c h r i t t e n m acht, d a s mach st Du doch s p i e l e n d i n einem D u r c h g a n g ! ! " Gesagt - ge ta n . Da h a b t I h r i h n , den EINZEILER! Seht s e l b s t : e r tut ' s ! Gewonnen? * Langsam! * U rte ilen h e iß t V erg leich en . Ich hab da meinen e i g e n e n M a ß s t a b . Im N a c h b a r c l u b (w er kennt den B C C n icht? ) h a t t e ic h sch o n v o r J a h r e s f r i s t e i n Programm dem ö f f e n t l i c h e n L ä c h e l n p re is g e g e b e n , das ich b e r e i t s vor U rzeiten f ü r 's gleic h e " P r o t le r n " gesch affen : ein e *DEZ/HEX/D£Z-Umwandlung ' . H i e r s e i es mit s e i n e n _10 Z e ilen no chm a ls i#i e d e r g e g e b e n . ’ (Anm.: Auf d ie DEZ/HEX-Umwandlung s e l b s t e n t f a l l e n davon nur 5 Z e i l e n . ) Nun ko m m t's : F a h r t mal mit b e i d e n Programmen d i e g l e i c h e S t r e c k e ab! Sagen w i r irgen d w as, z.B . von 47111 ( d e z ) nach B E 0 7 (h e x > ! T o l l , was? Der " N o r m a l z e i 1e r " i s t ein TEE, d e r " E i n z e i l e r " sir. Bummelzug d agegen.! Zum. e r s t e n m a l h a t t e d e r Computer f ü r mich etwas M e n s c h l i c h e s an s i ch: Je mehr man ih n q u ä l t , d e s t o mehr e r s i c h w e h r t! So h a t e r mich l e i s e B es cheidu ng g e l e h r t . . . A l s o s t e c k t im " ZEHNZEILER" wohl doch ed etwas w i e e in "w eises Optimum"? Dann w o h l a u f : f o l g t Gü nthers A u f r u f ! * * E h r e wem E h re g e b ü h r t !! * ♦ Der N a t u r p h i l o s e p h f ü h l t s i c h auch b e s t ä t i g t : M u tation en = w in zig s te Veränderu ngen können unübersehbare F elg en h ab e n ! Nimm e i n e n EINZELLER: ( d e r b e k a n n t l i c h ewig l e b t . ) c - e kl EinsH äk chen esT. e r * ten L, auf das er so s to lz i s t : und er lebt als EINZEIuEF: kaum e i n s S t u n c e n c c h . . . Und nur, w e rqe r, ih,T: o b e n d r e i n auch r.rch d i e ZEH’-E g s z e i c t ! 1 * 0 j e m i r . e e - das t u t j a weh! * * G*~üß G o t t * * K a j o t t * //. (Schlußfrage: Wann spielen wir "ALLE NEUNE" '• / ui E T T H E U I E H B Zu der Nettbewerbsausschreibung rächte ich ergänzenderweise noch -folgendes aiwerken : Es gyß kein Z e h n z e x l e r sein! Eine geringere 2eilenzahl wird auf jeden Fall auch akzeptiert. Nur wollte ich durch die Beschreibung Z e h n z e x l e r sicherstellen, daß die Program» nicht «ehr als 18 Zeilen haben. Die Begründung fir die Programlänge liegt darin, daß die Program» leicht überschaubar sein sollen,und von jedernann leicht eingetippt werden können. Auch wollte ich durch die Prograsmkürze den Programieraufwand für Euch gering halten und für uns, die das Program beurteilen sollen, eine Möglichkeit schaffen, genauer über den Nert eines Programes zu urteilen. Deshalb Hrxxmuh : Ze h n z e x l e r Ich rächte Euch nun nochmals bitten, es diesen nutigen Vorreiter, dessen Program hier folgt, nachzutun und eine Programschöpfung -es können auch nehrere sein- aus eigener Feder hier in's Rennen zu schicken. Eure CLUB 88 Redaktion r DB 1 REM * * B e i s p i e l e i n e s *E I N Z E I L E R s ' : DEZ/HEX-Umwandlung # * PPM rct .n «* 3 REM a u f g e s t e l l t von K a j o t Muhlenbei n , W einheim, F e b r u a r 1986 4 REM 5 REM 10 C L S ;I N P U T " G ib e i n e g a n z e Zahl u n t e r 65336 e i n s " ; D: FORI=3 T 00 ST E P-1 : S ( I ) = I N T ( D / 1 6 Ä I ) : S $ ( I >- C H R * ( 4 8 + S ( I > - CS >9) * 7 ) : D = D - S ( I >* 1 6 Ä I : N E X T :P R IN T "D ie e n t s p r . S edezim al z a h l l a u t e t s *‘S * ( 3 ) ; S * ( 2 ) ; S * ( 1 ) ; S * ( 0 ) : END r». ä * * * D i e g l e i c h e A u f g a b e in einem (d e r T e il 'ZEHHZEILER' r * * * ' DEZ/HEX-Umwand1u n g ' b e a n s p r u c h t 5 Z e i l e n und i s t > 3 m a l sc h n e lle r!) 1 CLS :CLE AR70:PRINT** UMWANDLUNG VON HEX- IN DEZ-SYSTEM UND UMGEKEHRT < (C ) M u e h l e n b e in , Weinheim 1983 > M; STR ING* (4 7 , * * M) c DEF I NT A f*I - N : DEFSTRH, X 2 INPUT*’ WIRD <1> HEX/DEZ-UMWANDLUNG ODER <2> DEZ/HEX-UMWANDLUNG GEWUENSCHT **; K: 0NKG0T03,6 3 CMD"LC N " : I N P U T " HEXADEZIMALZAHL = ";HEX 4 F0RI=1T0LEN(HEX) : A=A SC (M ID *(H E X, 1 , 1 ) ) - 4 8 : I F A M 6 T H E N A=A—7 5 DEZ=DEZ*16+A:NEXT: PRINT: PRINTCHR* (21 4) HEX" (HEX) = : END 6 INPUT" "D E Z" (DEZ) " : CMD**1 c " DEZIMALZAHL " ; DEZ: D ( I ) =DEZ 7 D ( I + 1 ) = I N T ( D ( I ) / 1 6 > : B ( I ) = D ( I ) - D ( I + 1 > * 1 6 : I F D ( I + 1 > >OTHEN1= 1+ 1: B0T07 S FDRJ-OTOI :I F B (J ><10THENX=RIGHT*(STR*(B(J>),L E N +55> 9 NEXT: F0 RJ=IT 0 0S 7E P-1: HEX*=HEX+X ( J ) : NEXT: N -4 - L E N (HEX) : N U L L * = S T R I N B * ( N , " 0 ,:> "CHR* (212) D E Z " (DEZ) = "NULL*-»-HEX" (HEX) " :END 26 Verbessert : IO ?* port#< , „ vv i *- - - 2ff: Infc- N'*. 11 stellt Hartmut den fr,: ehe reh1" ganz) neue“ LibraryBefehl GUT vor, den ich laut Listing offenter schon vor bale zwei Jahren verbrochen habe. Irgendwie gefiel mir die Routine beir. Durchlesen nicht mehr; sie erschien mir zu brav, amateurhaft. Auf dsr nächsten Seite ist deshalb eine heute entstandene Alternative vcrgestellt, deren reiner OUT-Teil rd. 20% kürzer und schneller ist. Zusätzlich gibt es jetzt die Möglichkeit, einen Input von eine'' Dcrt einzuholen. Dazu wird hinter den Befehlswort einfach nur die Portadresse ohne weitere Parameter (Outputs) angegeben. Die Routine ,:wein,! dann, daß sie den Port nur auslesen soll. Durch diese Erweiterung wurde das Pro­ gramm nur. insgesamt ? Bytes langer als die alte Version. Wegen de*- In­ put-Möolichkeit heißt der Library-Befehl nun 10 / 3§FC Y 3!gG gD Ii E(H N(D J 3i>h 3 I E N (DG D> F: WN y 61 ü d PLy § P ß h 3§F § ICat e: 1 eschen ? (3/ h/E) C GG L Q vj § h§ >J 3§ l C vX SSS.55E 2 '= o?L J 3 je: c : ■ ir*=! • fsff£!?*§f§§f!fr §1 §f BBir.Iisf iS?! >0001 :JcC in $\£~/ E *5 für* cs?n Befehl 10, p o r t # < y y , ... > «hier ehemaligs JKL-Rout. ORG 00002 51 E2 h 5122 sie: 5! 05 5186 5189 CDA35-1 4P CDD54C 20 11 5i er 519D 5190 5193 5195 ED78 2A2040 CD6840 3E0A C33300 5198 519B 519C 519F 51 Al CDD54C C8 CDA351 ED79 18F5 51 A3 51A6 51A7 51A8 51A9 51AA 51 AB 51AE 51AF CDB051 07 07 07 07 47 CDBC31 BO C9 | 51B0 { 51B1 51 B2 51B4 51B6 51B8 51B9 51PB 51BD 51 BF j 51C1 7E 23 D630 3802 FEOA D8 D607 FEOA 3803 CB67 CB j. : » | 3E2F CI CI C30944 51C2 51C4 51C5 51C6 0000 00003 00004 :den zv. aaressi arenden Port ermitteln seine Hexzahl Einlesen CA.. getva? 00005 C.A •zas ist der Port 00006 LD :Trenr,z. und CR erkennen 4cd5h 00007 CA.L :falls noch etwas folgt JF: NZ,out 00008 00009 00010 snein, nur Pc rtadresse angegeben, Input ist gefragt «Port auslesen IN A, (C) 00011 HL,(4020h) ;Cursorposition • LD 00012 ;Input anzeigen 4068h 00013 CALL :Zei 1 envorschub 00014 A, Oah LD «ausaeben und raus 0033h JP 00015 00016 00017 sdie jaweilägen Outputs ermitteln und ausgeben ;Trennz. und CF. erkennen 4cd5h CALL 00018 loep ;falls alles abgearoeitet RET Z 00019 jnächste Hexzahl «weiter im Befehlsstring 00037 INC HL *Binärangle!chung SUE ’0 ’ 00038 2 ,error 00039 «falls Zeichen < JR «Zeichen > '9’? 00040 CP Oah RET C «fertig, falls Dezziffer 00041 ;Ziffern A - F angleichen 00042 SUB 07h «Hex A oder größer '7 00043 C* Oah sfalls kleiner 00044 C, error JR PIT 4, A :Wert > F? 00045 7 ;fertig, falls höchst. F 00Ö46 RET 00047 00048 ;Fehlercczs "falsche Parameter" in den Akku, NZ-Bedmgung 1 r :Fehlercode 00049 erroA,2fh «Stack korrigieren (CALL) BC 00050 PDP « (2. CALL-Ebene) 00051 B2 PD® «Fehleranzeige und zurück 00052 JP 4409h CÖ053 c */ r> «na END1 ich! 00054 00000 Fehler erro' 51r2 Sczr cstchr 51PO getvai 51A3 loop 5198 out 5192 2J f i__ a b e r d*' u c I^ f s c h o n o n d ! Die Idee zu diese* Zap in SYS26'SYS (E-ZDS 2.4) bzw. in 5YS3/SYS (E-DOE 2.1b und 2.2; bei NEWDOS _-e nach Computermcdel 1) wuchs suf geringere- Mist als de*, der weiland Fa. TCS Cc.T.juter GmbH. Für c-DQB 2.4 hat man nämlich wegen der untsrscniedlicher EiIdschirmf c-T.ats der E e n e Mcdelle III und IIIs die Routine zur Screen-Hardccpy vcliic neu ge­ schrieben und, ihres beträchtlichen Umfangs wegen, nach SYS26 eusgelaoert. Da-aus Folgt übrigens, daß die alte Routine in SYS2 Für diese G-DGS-Version überflüssig geworden ist und lustig überschrisben weraen darf. Aufmerksame Leser erinnern sich, daß dort nun mein IO-Programm re­ sidiert. In der neuen JKL-Routine dachte man einen Schritt weiter als damals und ersetzte nicht druckbare Codes nicht etwa durch den wenig informati­ ven Punkt, sondern durch ein Leerzeichen. Das ist keinen Deut informati­ ver, schont aber den Druckkopf. Da muß der Programmierer jedoch mitten im Gedankengang eingeschlafen sein, denn das eben Gelobte gilt nur für Codes ab 7Fh. Die Codes zwischen 00 und lFh kriegen kurzerhand das Bit 6 ge­ setzt unc sehen nun aus wie gewöhnliche Buchstaben, was sie nun einmal nicht sind. Der erste der drei Sektordumps zeigt, wie das aussieht. Greulich, wenn ihr mich fragt. I Die Abhilfe ist simpel: Wo das Bit 6 mit dem Befehl OF 40h gesetzt wird, kann man stattdessen mit dem Befehl LD A,20h den Akku mit einem Blank laden. Beide Befehle haben zwei Bytes, sc daß akrobatische Verren­ kungen entfallen. Der zweite Dump zeigt den dateirelativer; Sektor 0! von SYS26 (G-DOS 2.4) in der geänderten Form, de- nächste den Sektor 04 von SYS3 (sonstige). Die Änderung ist jeweils unterstrichen. Diese beiden Dumps sind bereits mit der neuen Routine erstellt. 0004co : CC04E0: fV * j £ c 77 0051 c96E 6E7A 004D 5651 3E34 0000 0000 0000 0000 0000 6E'65 75F4 E51S 756C 5E23 5E23 EIE! 0000 0000 0000 0000 0000 4174 6563 6862 696"r 4C3S 4FDF 4944 0000 0000 0000 0000 0000 0000 74“2 6874 62F2 E5O0 19E5 7 C E7 3250 0700 000-0 6962 65F2 6265 F3FE 0602 2804 4FA5 0000 0000 00 00 7700 oooc 0070 0000 Diskette Attrib A §Gu s c h l e c h t e K e i n XXX-fehle b e unzulaessig H §!C*'#Vfc L 8 Y F B •V C #7 h 0 V (D F >A ID ID-F'O §§'§§§§?§f £ § § § § § £ § f § § §§?§§§§ s§ § § I p t z ?£§§§§§§ §§ § l§ff§€.§§§ 5 S =■ F- S\T- ~-f r r.e £ ? s § £. 0007 «7000 § § I 5 f 1 7 :: 7 § § f * 1 § 1 0007 o c o 0 0 007 F r § § §^j>; l 1 % S § Z § £ E 0000 00 CO <707 C f e. 5 6 S 2 f l | % % £ G % § £ % I : f f.fp p ^ a 0 707 o c : 0 0777 0 0 7 : / 2 72 2 8 5 1 CB '75 AF32 78B1 28F5 FE20 2030 10EA AFC9 3B00 43E6 33FE 4E3A E837 D205 -D3D7 284C 23EB 2003 023E 3 A4 7 3E0D D1C9 07FE 4E23 BD05 3E32 18E9 3EFE 18F4 D5E5 10F6 20CD 4E4F D55F 5049 043E 1AC3 FED4 32BB 3E07 D3D7 EB2B 1E40 04E1 B44E 2100 3A70 4F20 2AD8 604D 2002 0522 D3D6 3E01 000400: 000410: 000420: 000430: 000440: 000450: 000460: 000470: 000480: 000490: 0004A O : 0004BO: 0004CC: 0004DO: 0004EO: 0004FO: S132 5951 2121 FE4E OOF 1 CD17 6FD2 23C4 6920 4E2F 2100 C57E 02 9 E 4720 3E07 2804 e744 7 EFE 6751 2804 E1FE 4EC0 BC50 3300 6C7C 4529 4018 FE 20 20CD OD 21 CD3B FE4E E5-7D 2028 CD67 FE4A 45C8 E579 0C79 10F7 7363 2003 F47D 2330 3B00 FF3B OOCD 20EA C605 0A3E 44CD 20EF FE4E CD36 FEOO C900 6865 2100 E63F 023E 1201 D7FE 4900 4F3E 01F2 2FCD 4900 F5CD 2811 49E1 DAB7 2020 6E20 3C3A 3E0D 2047 0D28 8038 E65F D 8EF FB50 3300 CBAF 3300 1180 C07D 50AF 20C4 203F 4038 CC3B 3A70 CB3A FB7C FE41 0000 6F06 0603 FE45 3E0D 443E E6E0 C97E 4461 2028 E604 007C 43B8 8038 FE40 28Ae 0202 08CD CD59 2808 CD33 8012 C620 FE20 7465 4A2F 2805 E63F 7e30 E601 30B6 FE50 004 D 6 F 1 9 E53A F637 6F3A c: 7 3AF1 3732* 474E 7 DD4D 32D9 4D01 L No : 7o: : 72GN 2 M2 M (L + ( # § < 1M < C+ ”w N #: § 6 M M :G N O ' N 8 > -5P F*IO c 0 ä ; >* NOF'R • C *M ß ( P (3 N ( ! N gD! N : 1 7 7-22 " ## g D > ” >: 2 X, ✓ A 0 0 0 4 CO: 7474 65EE 7363 6361 1S18 6665 6165 7373 er. CDD2 5627 23E3 C 2 C 8 4 4 E cr 0000 0007 00 00 0 0 0 7 0070 0007 0000 000*7 0700 0007 0 0 0 0 0 200 c e o o 0 0 C 7 0 0 7 7 o o o o 0000 oooc* 0 0 0 7 000 0 000 •7000 0000 0 7 0 0 o c o : E344 0 1 EA 4B65 E°75 8622 2521 10F2 0000 0000 0000 0000 0000 004E 2002 19EB 070B FE 20 D54D 4DFE 2012 38C4 7BCD 3A07 502ß 2199 C921 0522 3ECF A 000400: 000410: 000420: 000430: 000440: 000450: 000460: 000470: 000480: 000490: 0 0 0 4 A 0: 0 0 0 4 PC: 0102 FE03 E1EB 0528 D54D 2BCD CDD5 E604 4EDF 1E20 520D OBFE 6744 44AF 32D1 D3D6 2 Arnulf Sopp FD37 E603 4CE& CDD1 OBCD 1943 4ED1 4038 CDe2 3002 4F50 0D28 4ECD CD67 3E3A 3E0F O Es gibt eine dritte Möglichkeit. Wer als User von G-D0E 2.1b oder 2.2 unterhalb 20h gerne anstelle.de- Buchstabenentsprechungen Punkte se­ hen möchte, ände-t ADD A,40h in LD A,2Eh (3E-2E statt C6-40). Das ist die obere der beider, unterstrichenen Modifikationen. 673A F837 CD92 0000 D F 2e 1600 2277 233A 0009 43BB 034E 7EFE 2194 2323 BC05 D3D7 A Wer zu diesem Zweck SYS3 ändern^müßte, aber in seinen Punkt verliebt ist, möge alles beim alten lassen. Sollte jemand mit einem entsprechenden SYS26 den Punkt bevorzugen, so wird in dem zu ändernden Befehl der Akku einfach mit 2Eh statt 20h geladen. Die beiden Bytes lauten dann 3E-2E statt 3E-20. Das ist bereits alles. 000100: 000110: 000120: 000130: 000140: 000150: 000160: 000170: 000180: 000190: 0001AO: 0001&O: 0 0 0 ICO: 0 0 0 IDO: 0001EO: 0 0 0 1F0 : F'O 2 D ü Y Qß Y ( >/ 3 E( Q ‘g Q gD• I N ( J 3 > 3 D> E N( N ü y 61 0 P y P ß Date # 3 i 1 öschen ? (J/ i < « §8 ( N/E> ! § ü ?> : 6 ? ß G > ( #0 > 6 :pC >:0 ! . I : N 0 < : 8 8 ö §0 A ( P M HER 12 Harz 19B6 1H l‘J ^ ti *_t r~i tz> €=k ± v o l 1 e r L- 3 tD r_ «=».t~ 'P n s In unserer, Kirchenblättchen sind schon verschiedent!ich Artikel mit Verschlagen erschienen, wie man zusätzliche DOS-Be-ehle in die library an Ende vor. SY£1/9VS implementieren kann. Wenn sie aber schon -'□ll ist? Da gibt es DOSes. die -für diesen Fall eine zweite Librars in einem anderen SYS-File installieren. Wenr, aber, wie beim Genie IIIs, nur noch eins frei ist, mit dem man Größeres vorhat? Der letztere Weg ist gar nicht einmal so verkehrt. Da hierbei aber 5YS1 übe^schrieben wird, müssen wesentliche Teile davor, in cer neuen SYS-Dats: wiederholt werden. Das kostet Platz. Deshalb wurde hier ein Kompromiß gewählt: Ein neuer Library-Befehl leitet alle ganz-ganz neuen Library-Befehle ein. Er verzweigt in eine andere Svstemdatei, wo sein Argument, nämlich der eigentliche Befehl, ausgewertet wird. Das hört sich umständlich an. ist es aber nicht: Das Programm ist sehr einfach und kurz (s. Listing). Die Bedienung ist es nicht minder: Nehmen wir an. ein neuer Befehl soll 10 lauten. Man gibt jetzt nicht 10,... ein, sondern SYS,10,... Diese kleine Unbequem­ lichkeit ist wesentlich weniger unangenehm als der Verlust von viel Speicher- oder Diskettenplatz in einem teuren SYS-File. Abe»* zum Programm selbst: Es residiert in SYS4/SYS, wo noch ausreichend Platz vorhanden war. Beim Einsprunc wird zunächst geprüft, ob der Requestcode im Akku S 6h lautet. Ist das nicht der Fall, muß es sich um eine andere DÜS-Anforderung für SYS4 handeln. Also verzweigt das Programm in diesem Falle nach 4D00h, wo SYS4 beginnt und seine eigenen Checks durchführt. War es aber B 6h, wurde alsc der Befehl SYS,... eingegeben, dann wird georüft, was dem I Befehl folgt. ^ Wegen der PI atzÖkonomie sind hier ein paar Vereinbarungen verbind­ lich: Der Folgebefehl darf nur zwei Zeichen lang sein. Dann läßt er sich nämlich mit RST 18h, einem Vergleich von HL und DE identifizieren. Er darf keinen Restriktionen unterliegen wie beispielsweise einem Verbot unter Mini-DOS. Zwar wäre auch das machbar, aber es gälte dann für alle Zusatzbefehle. Nie der zusätzliche Befehl erkannt wird, geht aus den Kommentaren des Listings hervor. Es muß erwähnt werden, daß bei einer Verlängerung der Zweit-Library jeweils auch die neue Anzahl der verfügbaren Befehle in Zeile 11 aktualisiert werden muß. Dort wird B als Zähler für die Euch| durchlaufs geladen. Die neue Befehlstabelle selbst (cmdtab) besteht außer dem Befehlswort noch aus dem Request rode für den Akku, oe" einen V;eg wei­ se*" in das zutreffende SYS-File zu seiner Bearbeitung erstellt. Das gej nüct in aller, Fällen, denn in keine»" Systemdatei werden alle möglichen Codes voll ausceschöpft. Platzersparms, wie gesagt. Die beider Sektcrdumps zeigen das neue Ende von SYS4 mit der Se*"viceroutine für den SYS-Befehl sowie die Library in SYS1. wo ser Befehl SYS e m a e z a p t ist. Do»"t stand frühe»* LIB, aas abe~ überflüssig ist. Er­ stens kann es curch ? ersetzt werden, zweitens sollte mar. seine DOS-Be­ fehle auswendig kennen. Und wer sie nicht kennt, ist ohnehin besser be­ raten, für nähere Ir»fermationen das Handbuch zu konsultieren. Arnulf Sczz 512E «ri FE 8 £ D1ZD •220043 Di 30 DE D 13! . «rn*T C' ci 513Z r <— ; 23 CDDD4C Dir- 3819 d irc ED 513A 0602 e *r» DD wr.• avW 513D 215651 Dl 40 5E D14! 23 5142 56 5143 D? 51*4 23 5145 E3 5146 4F 51*7 DF 5148 79 5149 E3 514A 2804 514C 10F2 514E 3E34 5150 El 5151 El 5152 C20944 r «cc EF 5156 49 5159 4C 512B 000400 000410 000420 000430 000440 000450 000460 000470 000480 000490 OO04AO 0004PO 000400 0004 2?0 0004E0 0004FO 000300 000310 000320 000330 000340 000350 000260 0003-0 000220 0 < '-7-' • E544 01EA 4B65 E975 8 6 D2 D521 1OF 2 0000 0000 0000 0000 0000 0000 C»0 O*M 000--2 start 00003 00004 00005 00006 00007 00005 00009 00010 00011 00012 00013 00014 !ezp 00015 00016 00017 0001 ß 00019 00020 00021 00022 00023 00024 00025 00026 00027 exit 00028 00029 error 00030 00031 emdtab 00032 00033 DES rc JC lD INC LC INC CALL JP PUSH LD PUSH LD LD INC LD RST INC EX LD RST LD EX JR DJNZ LD POP PDP JP RST DM DM END 4DS2 icF 4C43 4C49 82EB 53-42 20 4P 224 F 230 0 ocri FE 0 j 00 03*" 0 —**»*(.]» O O 1 .720 2323 *•no 3 2 0 0P2 r r *• erp j_c Fi 2 7 NZ.ädOOh E.(Hl_> HL D. (HD HL 4cd5h C.e^rrr HL B.02h DE HL,emdtab E.(HL) HL D,(HL) 10 h HL (SP),HL C. A 18h A,C (SP),HL Z ,ex i t loop A, 34h HL HL NZ,4409h 28h ’ID’,3dh ’I 0 \ 0 a 5 h start :ab hie»* Platz in SYS4 :SYS-Befehl? :falls nein ;1 . Buchstabe des Argum. ;2. Buchstabe :jetzt SYS-Aroument in DE ;auf Dell mite*" stellen :” eder **, * öde*" CR? {Fehler, falls anderes 2. :Befehlszei ge*- retten :bisher 2 neue Befehle {Argument auf oen Stack {Anfang Befehlstabelle st. Zeichen ;2. Zeichen :DE <- Befehl aus Tabelle iRequestcode in den Akku {Zeiger auf nächsten Bef. {Zeig. m. Arg. vertausch. :Akku retten {Befehl gefunden? $Akku restaurieren 5zurücktauschen {falls ja {falls noch nicht {Fehlercode f£tack bereinigen ;(2 Ebenen) {Fehleranzeige und zurück ;zur Bearbeitungsroutine {DOS-Befehl ID in SYS27 ;DOS-Befehl 10 in SYS3 6B65 75F4 E518 756C CiC'?T 5E23 e :e 0000 0000 0000 0000 0000 0000 65EE 686C 6665 7373 CDD5 23E3 44EF OOOO oooo oooo oooo oooo oooo oooo oooo oooo 4174 6563 686C 6967 4C3B 4FDF 4944 OOOO oooo oooo oooo oooo oooo oooo oooo oooo 7472 6874 65F2 ES 08 1*155 79E3 3D50 OOOO OOOO OOOO OOOO oooo oooo oooo oooo 0 20 2 6962 Diskette Attrib Qu schlechte 65F2 6265 Kein fehle be F5FE unzulaessig M*-#V# LG 0602 2804 !VGT#V # 0 y ( >4 D ID=F*Ü 4FA5 oooo oooo oooo oooo oooo oooo oooo oooo +Q 2951 89 Op 4-980 2 A00 004A 494C 807C 88E5 004C 4681 5354 Oe — *i 864C £04 E SIE4 B04E C * 1 4483 SSEB er.cj B2rcr 0050 2486 £ c0'.'1 c: *,cr«r 23t * co •',* ^.3 ^ c 0052 4 92 2 E2E5 5h — -2 4 c 2 4 6 AE 9 36 34 £ Ic 2 0072 8398 00 2 & &7E5 o^rr- 03E C045 -*-,r • 0 --OE -£ CE' 2 ?-- y ~ ~_\ r.-t-e- 1 494E 104B FE 00 4F41 444* E900 5249 5244F80 0056 005A 3082 0040 003r "F23 02 C 2 464F 494C 5359 4480 coze 504 9 4E54 4589 BCOO 0 10 2 4C80 5380 A4 50 0050 4FB0 66 FO E900 5354 E50: FESE 2 1 c— 0038 OOOO 2 DE'” 2£E4 0050 4590 8600 4D3E 4155 9CÖO 8850 5280 a 25 4 5A3l 3084 EBBA B6E3 0021 5i:c CD AD 7474 7363 1818 6165 5623. 5*D? Q209 OOOO oooo oooo oooo oooo oooo 0 0 0 0 0 0 0 0 0 0 0 0 oooo 0 0 0 0 OOOO oooo oooo 0 0 0 0 0 0 0 0 0000 oooo 8 512bh 86h 6973 0051 696E 6E7A 004D 5651 7E34 0000 0000 0000 0000 0000 oooo 4CB2 9800 8 IFC 92E3 2005 8551 M I * INFO P JKL ö KILL E LC LF SYS LIST LOAD PM> N NDF ( PAU SE PD PIO PORT PRINT P ROT PURGE R # 5 SIO STMT UHR v+ 2 ZEIT ZL 0 6-2 SO f L 1 : ## / > H ? ! q xc § n # o o< DDEE -für eie* Gen ± I I I Seit ein paar Tagen steht in meiner Gummizelle ein neuer Kompaster namens G3s. Sein Betriebssystem, G-DOS 2.4, steckt zwar el * manches andere in die Tasche, aber gewisse H-DOS-Features vermisse ich doch sehr. Bei der ewigen Zapperei ist es natürlicn der Library-Befehl DDE in SYS15/SYS, den ich am meisten brauche. Und so ist denn logischerweise SYS15/SYS das erste File, das in Richtung H-DOS gestreamlined wurde: Im Gegensatz zur Version -für das Gl/2 lädt diese SYS-Datei in den DOS-Overlay-Bereich. Man kann sie deshalb sogar unter Mini-DOS benutzen. Das Argument, man solle den Disketten-Editor lieber als CMD-File 'fahren, zieht deshalb beim G3 nicht mehr. Beim Einsprung wird zunächst geprü-ft, ob der Speicherbereich ab 3000h benutzt werden darf oder gerade von einem anderen Modul des Be­ triebssystems belegt ist. Wenn er nicht frei ist, wird automatisch die Datei DDE52/SYS aufgerufen, die mit dem SYS15/SYS für das Gl/2 praktisch identisch ist. Klarer Fall: In DDE52/SYS wurde sofort SYS15/SYS aus H-DOS mit geringfügigen Änderungen einkopiert. Diene Änderungen werden hier nicht näher benannt, denn sie erscheinen auch weiter unten im modifi­ zierten SYS15/SYS für das G3s. Wenn in 3000h ff. aber Platz jst, verlagert sich der Hauptteil der Datei dorthin. Das Bildschirmformat wird auf 16 X 64 Zeichen eingestellt und das Programm an seinem neuen Platz schließlich angesprungen. Ein paar Programmschritte zuvor hakt die erste Änderung ein: Im M-' Modus, wenn also ein Sektor modifiziert werden soll, erscheint ein Cur­ sor. Das ist in der Original version ein Graphikblock, der das betreffende Zeichen natürlich überdeckt. Schade drum! Das G3s kann Zeichen invers darstellen. Also ruft die neue Version vor. DDE zunächst in SYS22/SYS den Befehl Z,YR auf, der von Graphik auf inverse Zeichen ab 8 üh umstellt. Das sind im anhängenden Programmlisting die Zeilen 58-64. Der Z-Befehl braucht dabei nicht zu erscheinen, da das Programm ökonomischer direkt mit RST 28h arbeitet. Nur das Argument YR, gefolgt von CR (ENTER), er­ scheint explizit an der Stelle invpar (Zeile 479, Parameter für Inversdarstellung). übrigens sind diejenigen Teile des Listings, die hier nicht von Belang sind, mit LIST OFF ausgespart. Die Auslassungen sind durch Striche zwischen den Zeilennummern gekennzeichnet. Die Änderung in den Zeilen 169-171 und 178-1S0 bezieht sich direkt auf die Form des Cursors: Das gerade angezeigte Zeichen wird jetzt nicht mehr vom Graphikblock mit dem Code BFh zugeschaufelt, sondern stattdessen wird sein Bit 7 invertiert, so daß das inverse Zeichen jetzt i«r Akku steht. Es wird statt seiner in den Bildschirm geladen. Im gleichen Zusammenhang sind die Zeilen 380 und 381 zu sehen: der Code, der aus dem Sektorpuff er geholt wird (DE als Zeiger), wird direkt und ohne Änderungen in den Bildschirm geladen (HL als Zeiger). Da alle 256 Codes mit dem G3s anzeigbar sind, ist es nicht mehr erforaerlich, einzelne von ihnen durch Punkte zu ersetzen. Bis hierher beziehen sich die Modifikationen nur auf das optische Erscheinungsbild, sind also nur ebenso sinnvoll oder sinnlos wie ein auf Diskette sortiertes Directory (das beim nächsten Dateieintrag an* wieder durcheinandergerät). Eine wirklich sinnvolle, geradezu notwendige Ände­ rung :st in den Zeilen 300-328 programmiert: 4 7 Beim Umschalten mit CLEAR vox linken Her:- ins rechte ASCIT-Fei3 geht im M-Mcöus der Cursor in der Original version immer m die jeweilige linie ooere Ecke. Modifiziert man also gerade ziemlich weit unten im Seat'd- und will beispielsweise zwischen zwei Wörtern ein Steuerzeichen eingeze“ , das rieht über die erreichbar ist, darr tja**.- .»an r-nächst h cer Pfeiltasten Schiffeversenken spielen. In der hier vorgestellten Version geht der Cursor im Nachbarfeld immer genau an dasselbe Byte, so daß man sofort weitertippen kann. Und das geht so: Beim Ansprung dieses Programmsegments steht die Cursoradresse gerade in HL. Der Anfang der aktuellen Bildschirmzeile wird durch UND-Verknüp­ fung des Cursor-LSB mit COh gewonnen und vorübergehend in L verstaut. Jede Bildschirmzeile bezieht sich auf 16 Bytes des Sektorpuffers. Dessen Zeiger-LSB ist E, Mit OFh verknüpft, ergibt es die aktuelle Stelle in einem jeden Block von je 16 Bytes. Sie wird irr B kühl und trocken auf be­ wahrt. Jetzt sind die passende Videozeile und das laufende Byte in ihr dingfest gemacht. Ein schlichtes LD A,(HL) o. ä. hätte leider nicht ge­ nügt, denn wäre der Cursor gerade im Hexfeld gewesen, hätte diese Opera­ tion nur ein Nibble erbracht, obendrein in ASCII-Darstellung. • Jetzt wird in Zeile 306 das LSB der aktuellen Videoadresse aus ihrem Puffer geladen. Nun geschieht der eigentliche Wechsel von ASCII nach Hex bzw, umgekehrt. Weshalb er ausgerechnet durch die Exklusiv-ODER-Verknüpfung mit 38h vollzogen wird, wäre einen eigenen Artikel über das Liebes­ ieben der Bits wert. Freuen wir uns einfach, daß mir dieser kurze Weg eingefallen ist und reden wir nicht weiter drüber 1 Das neue Video-LSB wird anschließend in den Puffer geschrieben. Für das Weitere muß das Programm nun wissen“, ob das gerade ASCII oder Hex wurde. Wenn im LSB der Cursoradresse das Bit 4 oder 5 gesetzt war (= 30h), dann war es wohl das ASCII-Feld, denn im rechten Viertel jeder Bildschirmzeile sind diese Bits immer 1 , Das LSB des Zeilenanfangs wird aus dem Datenfriedhof L in den Akku zurückgeladen. Falls ASCII, er­ folgt nun der Sprung zum Label ascii (Zeile 325). Auch was dort ge­ schieht, ist wieder binäre Akrobatik, die ich hier nicht erläutern will. Letztenendes kommt das neue Bildschirm-LSB in den halben Zeiger L, und die Arbeit ist getan. Ein bißchen schwieriger ist es, wenn soeben ins Hexfeid umgeschaltet wurde. Die erste Hex-Ziffer erscheint an der achten Stelle, weil am Zei­ lenanfang zuerst der Kopf mit Sektor- und Zeilennummer steht. Vorab kommt dieses vorläufige Cursor-LSB nach L. Weiter oben war die Stelle in einem laufenden 16er— Block des Sektorpuffers nach B gerettet worden. Wenn es die nullte Stelle war, ist es damit erledigt. Andernfalls wird zunächst die halbe Videostellenzahl ermittelt, um sie später als Anzahl der tren­ nenden Blanks hinzuaddieren zu können. Danach werden für jedes Byte im Puffer zwei Stellen addiert, denn es werden ja je zwei Nibbles angezeigt. Die Summe der Nibbles und Blanks ist schließlich das LSB der tatsächli­ chen Bildschirmadresse. Uff! In einer letzten mörderischen -Anstrengung habe ich schließlich noch in den Zeilen 411 und 412 klargemacht, daß dies eine neue Version von DDE ist, und wer da wann mitgemischt hat. Abschließend ein Wort zum Listing. Da sich die Versionen von SYS15/SYS für Gl/2 und G3/3s unterscheiden, mußte zunächst eine Disas­ sembly erstellt und näher untersucht werden. Die große Mehrzahl der ab­ soluten Adressen (bei CALLs, JPs, Spei eherladebefehlen usw.) bezog sich darin auf den Bereich ab 3000h nach der Relokation des Hauptprogramms. Da aber die Modifikationen nahezu alle Adressen veränderten, mußte jede dieser Adressen auf die Ladeadresse vor dem Programmstart bezogen werden. Deshalb wurde das Label offs (Offset zur Arbeitsadresse) eingeführt. Als Subtrahend eingesetzt, korrigierte es alle Verschiebungen durch die Ma­ nipulationen. Der Duell text wurde mit ZEUS/CMD erstellt. Dieser Assembler erlaubt eine sehr bequeme Programmierung. Es dürfte für den EDTASM-gewohnten Ass e m b l e r - O a c k kein Problem sein, die Frogrammlogi k zu verstehen. HEFT 12 Harz 1984 1 B Dar i omr-i ett* Listing des Programms SYS15/SYS wäre -für unsere P o ­ stille nicht nur zu lang, sondern es würde sich garantiert keiner der Mühe unterziehen, es abzutippen. Recht so! Wenigstens ein Hexdump der ersten vier Sektoren ist beigefügt, damit der geneigte Leser und Selbst­ modi fizlerer an der Umgebung erkennt, was sich wo gerade abspielt. Im Dump sind die Änderungen gegenüber Version 2.1 unterstrichen. Da Teile gelöscht, andere Teile hinzugefügt sind, firden sich die unterstrichenen Segmente nicht unbedingt an derselben Stelle wie im TCS-Original. Wer für sein 63s die Version 2.2 haben will, mag mir einen «fran­ kierten und adressierten Umschlag mit einer Leerdiskette zuschicken (bitte mit der üblichen G-DDS-Formatierung, sonst Zettelchen nicht ver­ gessen!). Ohne das S3 (ohne s) zu kennen, vermute ich, daß das Programm auch auf dieser Maschine ohne größere Änderungen laufen müßte. A r n u H Sopp 4D48 4D49 4D4C 4D4E 4D50 4D53 4D54 4E3J 4E33 4E34 4E3D 4E3F 4E40 4F00 4F01 4F03 4F04 4F05 4F07 4F0B 4F0B 4F0D 4F1Ö 4F12 4F13 4F15 4F17 4F1B 4F19 4F1A 4F1B 4F1C 4F1E 4F1F 4F21 4F23 4F24 4F25 4F26 4F2E 4F2? 4F2A 4FB7 4F0S 4 FRA 4^&C 4FE0 51D7 51DC 1D4£ CiC E5 21DF51 3EF6 0E01 CD0244 El 11D732 3EB0 AE 77 3E80 AE 77 7D E6C0 6F 7B E60F 47 3ABD32 EE3Q 32BD32 E630 7D 2 0 11 FfeOß 6F AF BO C8 48 CB39 7D C602 10FC 81 6F CP F630 BO 6F C° 1A 77 1C 4 "7 OA 0000 5° 00058 00059 00060 00061 00062 00063 00064 00169 00170 00171 00178 00179 00180 00300 00301 00302 00303 00304 00305 00306 00307 00308 00309 00310 00311 00312 00313 00314 00315 00316 00317 00318 00319 00320 00321 00322 00323 00324 00325 00326 00327 00328 00380 00381 00410 00411 00412 00478 00479 00480 m4d48 PUSH LD LD LD CALL POP LD LD XQR LD LD XOR LD LD n31a8 AND LD LD AND LD LD XOR LD AND LD JR OR LD XOR OR RET LD SRL LD ADD hex DJNZ ADD LD RET OR asci i OR LD RET m4f58 LD LD m324d DB DM DM DW mSleO invcar DM ECU off s HL HL,invpar A,Of 8h C,01h 4402h HL DE,m32d6-offs A,80h (HL) (HL),A A, 80h (HL) (HL),A A,L OcOh L,A A fE Ofh B,A A, Hexfeld ;Video-LSB neu ablegen ;jetzt ASCIl-Feld? ;LSB d. Cursoradr. zurück ;falls jetzt ASCII-Feld {Hexfeld, auf B. Stelle iHex f eld-Zei1enanf ang ;A <- 00 ;0. Stelle im 16er-Block? {erledigt, falls ja ;C <- Stellenzahl ;die Hälfte = Blanks $ Zeilenanfang ;je 2 Stellen/Byte ;fortgesetzt addieren ;+ Anzahl der Blanks {neue Cursoradresse ;erledigt {auf letzte 16 Stellen Stelle im 16er-Block ;neue Cursoradresse {erledigt {ASCII-Code laden {unverändert anzeigen A,(DE) (HL),A Ich, lfh *Genie-DOS Diskdaten-Editor Vers. 2.2? Oah.Oäh,* (C) 1986 TCS/HACKTORY?,Odh OöOöh,0000h,0000h,0000h *Y R ?,Odh m4d48-3000h O O O O O O : 0 1 0 2 0 0 4 D 3 A 0 7 4 3 E 6 O F F E 0 2 3 8 1 B E 5 2 1 4 8 A B S h : £ C 0 & 8 a 'H 0 0 0 0 10 s 4 D 1 1 0 030 0 10 0 0 4ED B021 0 0 3 0 E3 3 A 1419 MQi O A i D !§0 :TY 000020 s FE40 3E10 C233 00C9 3A6A 43CB 7F3E 3BC0 § > P 31 : jC >8 000030s 000040 s 000050 : 000060 s 000070 s 000080 : 000090 : OOOOAO : OOOOBO : OOOOCO s OOOÖDO s OOOOEO : OOOOFO ; E501 3344 3EF8 2172 32CD 32CD 5A32 D732 32CD FE3D CAD7 18BD 18 A D OAOO 4444 0E0 1 32CD 4000 1C44 1807 CD42 4B32 2 8 IE 3018 OOOIOO s 000110: 0 0 0 120 s 000130s 000140 s 000150s 000160 : 000170s 000180s 000190 : 0 0 0 IAO s 0 0 0 1 BOs 0 0 0 ICO: 0 0 0 1 D O !: 0 0 0 1 E0 s OO O l F O i : 2BED 32FE 2929 CDOA D608 32FE A031 31FE F731 38F8 4230 2138 854F 327C 2006 0928 FE40 01CA 38CA 2370 7B0F 231C D610 7D3F C92B 0009 213E 4535 CD 02 6744 D87E C2 5 1 237E 44CD FE01 FE2D D9ED 0 10 0 0018 E D 4 B El 3 2 4D11 D751 5359 44 E 1 1 1 D ? 21 B O 3 2 C D FE23 281A 3206 0 0 21 E60F 32DD 3644 C45A 28A8 FE3B 2 8 IF C B A F 4BE3 323A B 8ED 4BE1 032A E332 D5ED 530D 32CD 6744 FE2A 0033 32ED 32CD 2836 FE53 DF32 3278 3ADF B0D1 E521 1C 4 4 0618 2830 CD24 4BE1 4544 FE2B 2839 B720 Bl 2 8 32B7 E1C3 DF51 2827 21 B E 11D7 44C4 3211 CDOA 2815 FE4D COOB BFOB 2001 A J § !>M0 Q 3 D D D E 5 2 /S Y S h ! 0 > N A BD Q 2 Ö D ( ’ !r2 q D* 2 g D F X ! 2 § § ß # ws 2 H F#> w+A 0 K 2 I (F K f d H <1 J 1 § 1 1 M 1 A IBs 2 H>: Z IB p W W W W O K 2 1 8 # p + RXBwR: 2 H P ä O ü B o ö ä 0 AX§ I #ö ä 0 AOiI A Iä P _ & ? 8 2 H S ä O ü ? Boüä 0 0 A I +üä 0 0 A I A § § Iä P _ &< : 2 0 0 0 2 0 0 : E 6 2 0 121C 20F C D 1 C ? 0 1 0 2 0 0 0 2 1 0 :: 7 B E 6 0 F 4 7 3 A B D 3 2 E E 3 e 3 2 0 0 0 2 2 0 : 1 1F6 086F AFBO CB48 C B 3 9 0 0 0 2 3 0 : 6 F C 9 F630 B06 F C9C1 1 1D7 004F BD32 7DC6 32CD 3047 F E 10 32CD 7723 1ÖF0 F818 44C3 1A 3 Ö 6E69 6E2P 2E32 2F48 7DE6 C06F E630 7D20 0 2 10 FC81 3944 C45A D630 D 8FE 3FC9 D921 6 8 4 0 3AE1 3E20 7723 3E20 7723 CSD9 C9D5 1A 3 Ö F 6 C 0 3AD7 32F6 652D 444F 4564 6974 OAOA 2843 4143 4B54 Rö AB§Oü o ä OG: 2 B 2 2 O ü Q Ho H 9 ü BP o 0 o Q 2 9D Z 2 E D bö OOG 0 J8 I G G P? ! § < Q § 3 FHs 2 h§: 2 h i ä h l > : w # > w# Z h i ö Z h l ö P > w# FPZw#ö(DP X I§ ! 2 gD ZO (H33 ID ZOs 2 A2 2 ö_Senie-DO S Diskdaten-Edit or Vers. 2 . 2 J J ( C ) 1986 TCS/HACKT 2 0 10 Ö9C9 097B 7B0F FF09 0140 E711 C63C 80AE 0828 31 F E 473A 1717 1218 Ö26F OFCO 263F 6F 1 D E60F 1G5F 00 0 2 4 0 : : 000250s 00 0 2 6 0 : : 000270s 00 0 2 8 0 : : 000290:: OOC2AO: Ö0O2B0 0002C0 0002D0 0Ö02E0 0002F0 32CD 0A38 003C 32CD 1ACD Dl 0 6 CD49 FEC6 0132 5320 6F72 2920 4544 C362 09CB AFFE 110 0 33D5 6840 7BCD 684 0 1C1A 10 1A 7723 00D 1 C921 2808 3333 D732 AFC9 4469 736B 2056 6572 3139 3836 000300 000310 000320 000330 000340 000350 000360 000370 000380 000390 0 0 0 3 AÖ 0003&0 O003CO 0 0 0 3D0 OOCCEO 0 0 0 3F0 4F52 0307 4142 2800 FFFF 590D 7 E ib 4344 0033 FFFF 0A44 6174 6 5 6 9 3 F 2 0 03 3 0 3031 3 2 3 3 3 4 3 5 4546 3031 3233 3 4 3 5 0000 0 0 0 0 0 0 0 0 Ö Ü F F FFFF FFFF FFFF FFFF 0000 0000 0000 0000 0000 0000 0000 0000 00 0 0 0 0 00 00 0 0 0000 0000 0000 0000 00 00 0000 0000 0000 0000 0000 0000 0000 0000 0000 00 00 00 00 00 00 0000 0000 0000 0000 0000 30C1 11D8 0608 6840 C D 6B 1C28 B932 CDÖ9 1C1F 6461 732E 2054 0 0 00 0000 00 00 0 0 00 0000 0 0 00 0000 00 0 0 0000 0000 0000 C34F D607 3AE2 3E3A 401C 0410 CD67 44C3 4765 7465 2032 4353 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0 1 0 2 0 0 5 0 ORYMJDatei ? AB§P 3637 3637 FFFF FFFF 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 3839 C6ÄÄC0Ö123456789 0D e 2 ABCDEF01234567M F F F F (§§3§§§!§§§ § FFOÖ 0000 § § § § 1 §I§§§§§§§§§ 0 0 0 0 S 6 6 S S € E t 6 € S 6 eSe§ 0000 §§§§§!§!§§§§§§§§ 0000 §§§§§§§§£§§§§§§§ 0000 §§§§§§§f§§l§§§§i 0 0 0 0 § § § § § § ! I f 1 1 1 lift 0 0 00 § § § § § § § iilllf 0000 §§§§§§§§§§§!§§§§ 0000 § § § § § § § €§§§§|§il 0000 §§§§§§!§§§§§§§§§ 00 00 §§§§ U l f §§§!§§§§ 3 I >i e HRG cJe?s Geni e III Bis ich mich endlich entschlossen hatte, bei meinem alten Genie I die HRG lb einzubauen, vergingen seit dem Kau* des Computers über zwei Jahre. "Spi el k ram!** war mein Argument dagegen. Aber die zusätzlichen 12 kB Speicher waren schließlich doch zu verlockend. Beim G3s ist von Hause aus eine Baugruppe «für hochauflösende Graphik d^in. Sie umfaßt sogar zweimal 32, also zusammen 64 kB. So kann sich der geneigte Leser lebhaft meinen Ärger vorstellen, als in der Dokumentation (wie bei Trommeschläger üblich nicht ausreichend) keine brauchbare Erklärung darüber zu finden war, wie man diesen Speicher anspricht. Es wird ein sehr interessantes Graphik-BASIC auf der G-DOS-Diskette mitgeliefert. Aber es braucht den Speicher für die absonderlichsten Lu­ xusroutinen auch dann, wenn man bloß eben mal irgendwo einen Punkt hin­ setzen möchte. Und letztenendes ist es natürlich nur unter BASIC nutzbar; für den Assembler-Crack ein gewichtiger Grund dagegen. Also war der Mann mal wieder selbst: Aus der technischen Beschreibung geht (zumindest nach mehrmaligem Lesen und Probieren) hervor, daß der Graphikspeicher von BOOO-FFFF geht. Er kann anstelle des Hauptspeichers durch einen Output auf den Port FA mit gesetztem Bit 3 der CPU zugänglich gemacht werden. Da dieser Port noch weitere Funktionen des Systems steuert, muß er zunächst gelesen und an diesem Input nur bitweise gefummelt werden, damit der bisherige Be­ triebszustand nicht in fataler Weise verändert wird. Jetzt kann in 8000FFFF beliebig geschrieben und gelesen werden. Dieser Adreßraum ist jetzt nach dem Umschalten über Port FA der Graphikspeicher. Der logische Aufbau der HRG des 63s ist der HRG lb ganz ähnlich. Auch hier entspricht ein bestimmtes Byte des Speichers der ganzen Breite einer Punktzeile einer normalen Anzeigestelle des Bildschirms. Deshalb sind auch hier die LSB der Graphik- und Bildschirmadressen gleich. Die Reihenfolge der Bits <6raphikpunkte) ist ebenfalls dieselbe: Bit 0 wird ganz links angezeigt, Bit 7 rechts (die HRG lb zeigt nur bis Bit 5 an). Wegen der großen Ähnlichkeit mit der HRG lb, die mir sehr vertraut ist, erschien deshalb die Aufgabe lösbar, der HRG des 63s auf die Schliche zu kommen. Aber da ist eine Merkwürdigkeit, die vorab geklärt werden mußte: Jeder Anzeigemodus (25 X BO, 16 X 64, 24 X 64 und 32 X 64 Zeichen) be­ nutzt einen unterschiedlich großen Bildschirmspeicher. Außerdem werden unterschiedlich tiefe Punktspalten pro Bildschirmbyte angezeigt. Nur im Mcdus 32 X 64 kommen 32 X 64 X 16 X 8 , also 512 X 512 = 262144 Punkte, das sind 32 kB, zur Anzeige. Was geschieht in den anderen Modi mit dem übrigbleibenden Graphi kspei eher *7 Ein Testprogramm, das im Anschluß an Diesen Artikel aufgelistet ist, brachte Aufschluß. Das Programm hat seinen Zweck erfüllt. Es mündete in die beiden Ta­ bellen hinter dem Listing. Da es deshalb niemand abzutippen braucht, seien hier nur diejenigen Teile erläutert, die die Graphik ansprechen, denn diese Teile kann der Leser in seine eigenen Programme einbauen: Im DOS liegt der Stack ziemlich tief unten. Um aber das Programm notfalls auch fahren zu können, wenn der Stack im Himem liegt, war es notwendig, den Stackpointer zu retten und neu zu laden. Nach dem Um­ schalten würde er zwar normal arbeiten, ware aber in der Graphik sicht­ bar . 2 'f Der nächste Schritt (Unterprogramm change) sollte an wichtigen Stellen des Bildschirm-RAMs Marken setzen, sc daß cie jeweilige VidecAc^esse ablesbar ist. Es sind die Anfangs- und Endadressen des Biloschirrs bei jeden der vier möglichen Bilcschirrfcrmate. Da im unteren Ad-e’raum t*r*&r**tt gleichzeitig cie Tastatur memory mapped ist. mußte sie zunächst über das Bit 4 des Ports FA weggebankt und anschlies­ send wieder enabled werden. Der einleitende CALL nacn 01C9h löscht den Bildschirm und aktiviert gleichzeitig Formatänderungen (s. u.). Das Löschen des Graphikspeichers ist einfacher als mit der HRG lb: Da die CPU direkten Zugriff hat, braucht er nur mit LDIR ausgenullt zu werden. Die anschließend folgende Abfrage der P-Tasten, mit denen oas Programm zwischen den Bildschirmformaten hin- und herspringen kann, soll m hier nicht weiter erklärt werden. Wie aber die Formate gewechselt werden, ist wieder wichtig für den Graphik-Programmierer: Ab 3760h stehen vier Tabellen zu je 16 Bytes, die die Bildschirmpa­ rameter enthalten. Die Parameter für das gerade benutzte Format stehen ab 37F0h. Deshalb werden beim Umschalten des Formats die neuen Parameter, wieder mit LDIR, dorthin geladen. Das alleine genügt allerdings nicht. Aktiv werden sie erst, wenn gewisse Control-Codes ausgegeben werden. Das ist z. B. auch beim Löschen des Bildschirms der Fall, deshalb wird nach dem Formatwechsel erneut change aufgerufen. Das eigentliche Arbeitsprogramm steht ab loop. Es sei nur so viel dazu gesagt, daß ein Graphik-Cursor mit den Pfeiltasten über den Bild­ schirm gejagt werden kann. Mit der Blank-Taste kann er verlangsamt wer— den, um einzelne Bildschirmstellen gezielt ansteuern zu können. Die je­ weilige Adresse des Cursors im Graphikspeicher wird ständig angezeigt. Wenn dieser Cursor nun eine der im UP change gesetzten Marken durchläuft, kann man sich die Bildschirmadresse der Marke und die Graphikadresse des Cursors notieren und erfährt so den Zusammenhang zwischen beiden. Für den Computergraphiker wird es nun ab der Stelle exit wieder in­ teressant: Der alte Stackpointer wird wieder aus dem Puffer geladen. Die Bits 1 und 3 des Systembytes 1 (Port FA) werden wieder auf 0 gesetzt, wodurch die Graphik vom Bildschirm verschwindet und der Hauptspeicher anstelle des Graphikspeichers in die obere Adreßhälfte eingeblenoet wird. Die Interrupts waren die ganze Zeit über ausgeschaltet, denn bei zeit­ weise ausgebankter Tastatur und manipuliertem Stack ist Vorsicht ange­ bracht. Mit €1 werden sie wieder enabled. Mit RET geht es schließlich zurück ins Betriebssystem. Die beiden Tabellen sind -folgendermaßen zu interpretieren: Wie auch bei der HRG lb, so kann man sich für die jeweils oberste Punktzeile eines Zeichens den ganzen Bildschirm als eine ununterbrochene Perlenkette vor­ stellen. Wenn die oberste Zeile durchlaufen ist (also rechts unten im Bildschirm!), dann dann geht es in der zweiten Punktzeile (oben links!) weiter. Beim Anzeigeformat 32 X 64 geschieht das lückenlos. Die anderen Formate zeigen aber Unterbrechungen beim Zeilenwechsel. Besonders die Graphik auf der letzten Seite dieses Artikels dürfte das anschaulich machen. Aus beiden Tabellen geht auch hervor, daß pro Bild­ schirmstelle bei den kleineren Formaten auch nicht alle Punktzeiien zur Anzeige kommen. Die Punktzeilen sind von 0 - F durchnumeriert. Zur praktischen Anwendung: Die Tabellen zeigen, welche Bereiche des Graphikspeichers überhaupt im Bildschirm sichtbar werden können, je nach Format. Die Abszisse eines Graphikbytes errechnet sich nun ebenso wie die eines Buchstabens im normalen Bildschirm. Um aus diesem Beitrag kein Buch zu machen, verweise ich hierzu auf die Vielzahl von Artikeln zur HRG lb, die an dieser Stelle erschienen sind. HEFT 12 Die Ordinate, also die Lage eines Bytes in senkrechter Richtung, ist vom darüber-/darunterllegenden Byte immer ce^au 2 kB im Graphikspeieher entfernt, solange es sich um dieselbe Videozeile handelt. Beim Sprung in die nächste Videozeile (nicht zu Verwechseln mit den Punktzeilen eines Zeichens!) ist einfach zu einer Adresse die Zeilen!änge hinruzuadßieren, also SO oder 64. Harz 1986 22 Jedes Graphikbyte hat selbstverständlich ebenfalls 8 Bits. Jedes Bit repräsentiert einen Punkt in der Waagerechten. Wie auch bei der HRG ib, s d kann man auch beim G3s durch Setzen, Löschen oder Prüfen einzelner Bits die BASIC-Entsprechungen SET. RESET und POINT durch*(ihren. Auch zu diesem Punkt mag es genügen, au* die bisher erschienen Artikel zur HRG lb zu verweis en. Dabei muß lediglich bedacht werben. daß alle acht Bits beim g :.i a hensät r s e -f t_ \ i—däs (B eeni e ? IIIs Eine- sehr er*redliche Eigenschaft des G3s ist es. oaß sein Zei­ chensatz soft vorliegt und von der Systemdiskette (cd er sonstwoher) ge­ laden wird. Zur Auswahl stehen ab Werk vier verschiedene: STD (Standarc deutsch), HIRES (verlängert, um beim Bildschirmformat 32 X 6^ Zeichen normal auszusehen), ASCII (amerikanisch) und Tandy (so ähnlich). Die beiden Letztgenannten haben -für die Praxis hierzulande keine nennenswerte Bedeutung. Also ärgerte ich mich nur darüber, daß STD und HIRES ästhe­ tisch und praktisch ih-*e Nachteile hatten, die jetzt behoben sind: Die Codes Ol-3A waren nur eine Wiederholung des Groöbuchstaben-Alphabets 41-5A. Nun sind sie unterstrichen. Man kann damit nicht nur un­ terstrichene Te;te ausgeben, sondern auch etwa unter CP/M einen Code wie CTRL-C als zweifelstrei unterscheidbares Zeichen ausgeoen lassen. über-flüssiaerweise gab es zwei Cursorzeichen (IF und 5F), odwohl beim 63s der Cursor vom Video-Controller hard erzeugt wird. Sie flcoen raus und sind jetzt das Grad-Zeichen (IF) und der griechische Buchstabe x (5F). Die übrigen Änderungen, von denen es noch ungefähr zwanzig gibt, haben nur rein geschmackliche Bedeutung. So sind z. B. die unmögliche Form der großer. Umlaute, des p und des q mit viel zu kleinen Ztauchen usw. gestreamllned. Im Zeichensatz HIRES, der noch ohantasieloser als STD war, sind die Modifikationen etwas zahlreicher. ltf|d - u ^ ^ h e n u i n e * tt«ftatfc b \rter 23 das In den Dumcs irr Anschluß an diesen Artikel sind die neuen Zeichen­ sätze cargestellt (zunächst STD, dann HIRES). In der ersten Spalte steht der ASCII-Ccde, danach die einzelnen Bytes *ür die Matrixzeilen des Zei­ chens, am Ende ist das Zeichen selbst mit Hilfe der Drucker— HRG a u s g e printet. Es liegt au* der Seite, weil mein Drucker nun mal nur neun Na­ deln hat. Zwischen ^e 16 Zeilen ist eine Leerzeile, um die Grenzen de** Disksektoren zu markieren. Die neuen Zeichen unterscheiden sich von den alten mitunter nur durch ein Bit. Man muß deshalb schon sehr genau hinsehen, um die Unter­ schiede festzustelle.n. We*- die Modifikationen durchführen will, hat beim Abtippen reichlich zu tun. Deshalb möchte ich anbieten. den Interessenten die fertigen Zeichensätze auf Diskette zuzuschicken. Sendet mir hierzu bitte einen selfcstadressierten Freiumschlag mit einer Leerdiskette (oder formatiert a la G-DOS 2.4). A-nulf Erz " I d o n 't l ik e th e w a y t h is c o m p u t e r m a k e s d e c i s io n s ! " ^Creative Computing 00 : 01 : 02 03 04 05 06 07 06 09 OA OB OC OD OE OF 10 11 12 : : : : : : oo 00 00 00 00 : : : : s 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3E 3E 3F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 oo 00 00 00 00 00 1C 3C 22 02 22 1C IE 1C IE 1C 7F B'9 85 8 5 B 9 42 3C 00 00 14 2 2 2 2 3E 2 2 00 F F r>r> 2 2 IE 2 2 22 IE 00 F F 2 2 0 2 0 2 0 2 2 2 1C 00 F F 2 2 2 2 2 2 2 2 2 2 IE 00 F F 0 2 0 2 O E 0 2 0 2 3 E OC» F F 0 2 0 2 O E 0 2 0 2 0 2 00 F F 2 2 0 2 3 A 2 2 2 2 1C 0 0 F F 3 E 2 2 2 2 2 2 00 F F O B 0 8 0 8 0 8 08 1C 00 F F 2 0 2 0 2 0 2 0 2 2 1C 00 F F 1 2 O A 0 6 O A 1 2 2 2 00 F F 0 2 0 2 0 2 0 2 0 2 3E 00 F F 3 6 2 A 2 A r>r> 2 2 2 2 00 F F 2 6 2 A 3 2 2 2 r*r* 00 F F 2 2 2 2 *->-> 2 2 2 2 1C 0 0 F F 2 2 2 2 IE 22 22 22 22 IE 2 2 0 2 1C 02 02 2A 1 2 OA 12 20 22 08 08 08 08 08 22 22 22 22 22 22 22 22 3E 20 O B 1C oe 08 00 O B o o o o 00 0 8 0 0 0 0 18 2 4 2 2 2 2 n n 14 2 2 2A 2A 36 14 0 8 14 2 2 14 O B 0 8 O B 10 0 8 04 0 2 2 A O B 08* 08 08 2A 04 3 E 04 10 3E 10 18 00 00 0 2 00 F F 2 C 00 F F 2 2 00 FF 1C 00 F F 0 8 00 F F 1C 00 F F 0 8 00 F F 2 2 00 F F 2 2 00 F F 0 8 00 F F 3 E 00 F F OB 1 C 08 0 8 00 0 8 00 00 00 00 00 00 00 00 00 23 24 25 26 27 26 29 2A 2B 2C 2D 2E 2F 3! : i! s3 j3 ;3 :3 :! :: : s : : : : : 3 C 42 08 IE IC IE 3E 3E 1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 O 13 14 15 16 17 18 19 1A 1B 1C ID : IE IF 20 21 22 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0 0 0 0 00 O O 00 0 0 00 O p 00 00 0 0 0 0 0 0 O S 0 8 0 8 0 8 0 8 00 •OB 00 0 0 0 0 0 0 14 14 14 00 o o 00 O O 00 00 O O o o 14 14 3E 14 3 E 14 14 00 0 0 00 o o 0 8 3 C O A 1C 2 8 IE 0 8 00 00 0 0 00 4 6 2 6 1 0 O B 0 4 6 2 61 0 0 0 0 0 0 0 0 04 O A O A 04 2 A 1A 2 4 00 0 0 0 0 0 0 18 18 0 8 0 4 O O 00 00 00 00 0 0 0 0 10 O B 0 4 0 4 0 4 0 8 10 00 00 0 0 0 0 0 8 1 0 2 0 2 0 2 0 1 0 O B 00 00 0 0 o o 00 0 8 2 A 1C 2 A 0 8 00 00 0 0 0 0 0 0 00 0 8 0 8 7 F 0 8 0 8 00 00 0 0 0 0 0 0 00 O O 00 O O <00 18 18 0 8 0 4 0 0 00 00 00 00 3 E 00 O O 00 00 0 0 o o 0 0 00 00 00 00 0 0 O C O C 00 0 0 00 o o 4 0 2 0 10 0 8 04 0 2 Ol 00 00 00 00 00 00 00 00 00 00 00 OC 0 0 1C 2 2 00 08 OC 0 0 1C 2 2 oo 1C 2 2 0 0 10 18 0 0 3E 0 2 0 0 18 04 0 0 3E 2 0 00 12 22 o o 1C 2 2 OC) OC- 0 0 oo 00 00 oo 10 0 5 oo 00 00 00 00 00 00 00 oo 0 0 00 2A 26 OA 08 08 20 10 08 2 0 18 2 0 14 1 2 3 E IE 2 0 2 0 0 2 IE 2 2 20 10 OB 2 2 IC 2 2 22 3C AG 1 E 18 0 0 15 18 00 04 0 2 0 4 3E 00 3 E A'O * * 2 0 1 0 t r nr **; 02 2 2 1C O B IC 04 3E 2 2 IC 10 22 OE 22 20 10 IC 1C OS IC IC 18 18 18 18 0 8 10 00 0 0 0 8 04 f»C; 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0 0 o o 00 0 0 0 0 00 00 0 0 00 0 0 00 0 0 00 »Si x! Cül ol Ol 00 0 0 00 00 uj I 00 00 00 00 u_| o o 0 0 00 00 CD} 00 CK* 00 00 OC» 0 0 00 00 OC» ml 00 0 0 00 00 00 _ 2 2 02 02 02 02 2 2 02 00 00 00 00 00 oo 00 «3 !3 !i i: :i '3 :3 00 1C 1C 1A 1C 2C 1C 04 1C 1A OC 38 :f 1 C 22 02 O O 00 00 00 62 63 64 65 !: i: : !: "!i ! : : : : : : : : : 0 0 00 O O 00 0 0 00 00 00 0 0 00 0 0 00 0 0 00 00 00 0 0 00 00 00 00 00 0 0 00 00 00 0 0 00 02 00 20 00 00 00 00 00 00 00 00 00 00 oo 00 00 00 00 00 00 00 00 00 00 69 6A 6B 6C 6D 6E 6F 70 71 73 74 76 77 75 TC A ~~B 7C T 7*£ ~ er 00 00 00 00 00 00 00 00 00 oo CK» 02 00 20 00 18 2 4 00 00 00 00 00 x 00 00 00 00 0 2 00 1C 00 00 00 00 00 00 00 C O IE 1C IE 3E IE 0 2 0 2 0 2 2A 12 2C IE O A 1 2 2 2 1C 2 0 2 2 1C OB 08 08 08 2 2 2 2 2 2 1C r*2 2 2 14 0 8 2A 2A 36 2 2 0 8 14 2 2 2 2 OB 08 OB 08 08 04 0 2 3E 22 3E 22 2 2 2 2 2 2 2 2 1C 2 2 2 2 2 2 1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0 0 00 00 2 5 2 4 24 2 4 00 2 2 IC 2 0 20 3C 2 2 26 2 2 26 22 02 22 32 22 32 2 2 3E 02 22 *3C 1A 1C 2C IC O E 0 4 04 0 4 22 2 2 2 2 3C 26 2 2 2 2 2 2 O B 0 8 O B 1C 0 0 00 02 02 O C 00 20 20 20 20 3 0 00 02 02 2 2 12 OE 12 2 2 OC 08 08 0 0 00 16 00 00 1A 00 0 0 1 C 0 8 0 8 O B 1C 2A 2A 2A 2A 26 2 2 2 2 2 2 22 22 22 1C 00 00 00 00 26 2 2 32 2 2 26 02 0 2 1C 04 04 00 00 2 2 00 00 2 2 00 00 2 2 oo 00 '-><-* 00 0 0 22 00 0 0 3 E 22 00 1 C 22 00 1C 22 00 22 22 22 22 2 2 2A 04 1A 2C 1A 3C 04 OE 00 00 oo o o IC 22 22 OC 00 00 00 00 00 00 00 00 00 00 00 00 13 68 00 2 2 00 1C 0 8 0 8 O B O B O B 1C 3 C 2 0 2 0 2 0 2 0 2 2 IC 22 12 OA 06 OA 12 2 2 0 2 0 2 0 2 0 2 0 2 0 2 3E 2 *? 3 6 2 A 2 A rjn 2 2 09 oo 2 2 26 2A 32 2 2 2 2 1C 2 2 2 2 *>*■? 2 2 2 2 1C 60 67 1C 00 22 22 ->2 22 02 02 22 3 E r>2 2 2 oo 61 66 2C — A 2 A 2 2 3E IE 2 2 02 02 22 22 OE 02 OE 0 2 3A 2 2 22 00 2 2 00 IE 2 2 2 2 00 1C 2 2 2 2 0 0 IE 22 oo 1C r>r> 0 2 00 7F O B 08 22 00 2 2 00 2 2 2 2 2 2 22 22 00 00 2 2 2 2 14 00 2 2 2 2 14 00 3 E 2 0 IO 2 2 0 8 14 2 2 0 0 1C 2 2 2 2 00 r>2 2 2 2 2 00 O B 14 2 2 00 00 4 0 3 E e-*“» 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 1C OC) OB oo IE oo 1 C 00 IE 00 3 E 00 3E 00 1C 00 00 00 00 00 00 00 00 00 00 00 00 22 22 00 00 50 51 ir< • X » oo 00 40 41 42 43 44 45 46 47 45 ßo 4A 4B 42 4D 4E 4F xzer 14 0 8 22 22 10 0 8 20 3C 22 2 2 22 o o 34 42 AA r-er A4 e r 1C 00 00 00 00 00 00 00 00 00 00 00 00 oo <* o o 00 00 00 00 LJ 00 00 00 u . 00 00 00 00 00 00 00 00 00 00 00 00 CD 00 00 00 00 oo oo X 00 00 00 00 00 « 00 r> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 -J . 2= 00 00 00 00 00 00 m 00 00 00 00 00 00 o 00 00 00 00 00 00 O - 00 00 00 00 00 00 c s 00 00 00 00 00 00 CL 00 00 00 00 00 00 00 00 00 00 00 00 CO H oo ZZ' 00 00 00 00 00 00 z> 00 00 oo 00 00 00 00 00 00 00 00 2 00 X 00 00 00 00 00 oo >* 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 : < e P s I 00 00 00 00 00 00 :o 00 00 00 00 00 00 : x * 00 00 00 00 00 00 < 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 IE00 00 00 00 00 00 oo C00 22 1 00 oo 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e x o m ja ü T T - 00 * 00 00 00 00 c - 00 00 00 00 00 00 00 00 00 00 00 oo 00 00 00 C T i « — — 00 00 00 00 oo 00 00 00 00 00 00 00 ZL —• 00 00 00 00 £ 00 00 00 00 c 00 o 00 00 00 2 6 1A 02 02 00 00 3 2 2 C 20 20 00 00 0 2 0 2 00 00 00 00 2 0 IE 00 00 00 00 24 18 00 00 00 00 3 2 2 C 00 00 00 00 14 0 8 00 00 00 00 2 A 14 00 00 00 00 14 22 00 00 00 00 3C 20 IE00 00 C00 0 ^ 3E 00 00 O 22 3C 00 00 CK» 00 C ' 00 22 IC 00 0 0 O "TO 2 C 00 0 0 00 00 42 0 9 02 02 00 00 A A 55 00 00 00 00 00 00 00 £l 00 00 00 e r 00 00 £ _ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3 O C ) D z ? 00 X 00 00 00 00 zn 00 00 00 M 00 O C »00 00 00 00 00 00 00 00 00 00 00 00 00 :o : r » C A t n unrr L r1 12 Harz 1934 • J O « s i e 00 0 0 0 0 0 8 2 A 2 A 1C 1C 2 A 2 A 0 8 00 00 00 00 0 0 O S O S O S c e 7F 0 8 06 0 8 0 8 00 00 00 00 00 00 0 0 00 oc 00 00 00 00 18 18 08 04 00 00 0 0 00 00 00 7 E 00 00 00 00 00 00 00 00 0 0 00 00 00 00 00 00 00 00 00 0 2 O C 00 00 2 0 2 0 10 1 0 O S O B 08 04 04 0 2 0 2 00 00 00 22 o n 2 2 *9*9 2 2 2 2 *1*9 2 2 2 2 pp 2 2 *9*9 0 2 00 00 00 00 22 r»2 22 02 22 pp IE 1C OB 08 OB OB 08 2 2 *9*9 2 2 2 2 p p '->'7 2 2 2 2 2 2 2 2 00 IC 2 2 3 2 00 0 8 OC O C 00 IC 2 2 2 2 00 IC 2 2 2 2 00 1 0 18 18 02 00 3 E 00 16 04 04 0 0 3E 20 20 • - 32 2 2 22 12 02 02 02 2 2 36 36 00 FF FF per 00 U'.* 3 A 3E 08 08 3E 20 20 EC C3» BC n c■, oc 42 3 C .00 Mt1 4 2 2 2 2 CE 2 2 2 2 2 2 23 2 2 00 24 24 IC 24 24 24 2 4 24 IE 00 0 2 0 2 0 2 02 0 2 0 2 0 2 2 2 1 C 00 24 24 24 24 24 24 24 24 1 2 0 0 0 2 0 2 O E 02 0 2 02 0 2 0 2 3E 0 0 0 2 0 2 O E 02 0 2 02 0 2 0 2 02 00 0 2 0 2 3 2 22 2 2 2 2 2 2 2 2 IC 00 2 2 2 2 3 E 22 P '“1 2 2 2 2 2 2 2 2 00 0 8 0 8 O B 08 OB 0 8 O B O B 3E 00 2 0 2 0 2 0 20 2 0 20 2 0 2 2 1 C 00 1 2 O A 0 6 06 O A 1 2 1 2 2 2 2 2 00 0 2 0 2 0 2 02 0 2 02 0 2 0 2 3E 00 *9*9 2 2 2 2 2 2 2 2 00 2A 2A 2 2 22 2 A 2 A 2 A 2A 3 2 32 2 2 2 2 2 2 00 2 2 2 2 2 2 p p 2 2 pp p p 2 2 IC 00 1C 08 04 10 24 22 22 08 08 0 8 pp 2 2 2 2 2 2 p n 14 2A 2 A 36 08 14 14 08 O B 08 08 04 04 08 0 8 08 2 A 2 A IC 04 0 4 0 8 10 10 0 8 14 O S 14 14 10 08 2A 2 A 08 08 04 3 E 10 3 E 18 00 00 00 00 32 2A 2A OA OA OB 10 10 O S 2 0 41 *A-r O C 14 1 A 1 2 02 02 OE 0 2 0 2 IE 10 i,*, 10 -L a IE 0 2 0 2 0 2 2 2 2 2 2A 1A 06 O A OA 1 2 20 2 0 2 0 2 2 02 02 1 2 2C pp 22 2 2 1C 0 8 O S 08 1C 14 O B 0 8 36 P2 22 22 22 99 2 2 2 2 08 O B 08 0 2 0 2 3E 08 1C 08 08 O S 08 00 00 0 8 08 00 00 00 00 00 00 0 0 00 00 00 0 0 0 0 00 00 00 2A 2A 26 2 6 2 2 IC 08 OB 08 O S O B 3 E OE 04 04 0 2 0 2 3 E 10 2 0 20 2 2 2 2 IC 10 1 2 — ST 10 10 10 20 2 0 2 2 2 2 IC 2 2 2 2 2 2 2 2 2 2 IC OE I’S OE 04 04 04 ir 00 00 00 06 30 0 -,1 o o 3.r '?E 7 r 22 2 * 00 00 OC OE OA 00 7E !: 2 ’* 3v 22 02 00 0' 02 oc 2\ 00 00 02 00 4 0 l ;■ 10 OE 1E 1E 04 4C 00 00 16 00 00 00 00 00 00 00 00 00 00 00 00 00 o o 00 00 00 00 00 oo oo oo 00 oo 00 00 0 0 oo oo \ OS -0 0 o o 01 00 OB 54 38 22 22 22 42 oo IE 24 24 24 24 IC 4 3 44 00 r» xi C. 22 02 02 02 02 .24 24 24 24 24 24 02 02 22 02 02 22 02 02 22 02 0 2 22 45 3E o o 38* 02 02 47 00 00 00 00 00 00 00 02 02 22 22 02 02 «“1“V 02 22 02 02 02 0 8 0 8 0 8 OS 08 08 OS 08 0 8 08 20 2 1. 22 02 02 22 36 22 26 20 12 02 20 12 02 20 20 20 20 20 12 02 20 12 02 22 22 22 22 02 4S 49 4 A 4D 51 54 5 5 . 5 8 5 8 5 A 5 8 5 C 5 D 5 E 5F 6 0 *! 61 !: 6 2 !: 6 3 : 64 6 5 66 67 66 68 6A 68 6C 6D 6E 6C C---J 72 73 74 — 7er 00 00 00 0 0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 o o 00 00 o o 77 00 PC o o 7p 00 00 00 00 ~A 7 C pp *~c . :*• - 22 46 71 ■i • 24 02 pj 7 0 * 24 02 24 o b T--~ 24 02 IE -r-H CO rr LjO 24 P 24 m 00 • 00 5 7 o 0 E 54 22 5 6 ’ 00 54 pp 5 2 rn( 1— i “ •! * *• oo 54 3E 00 00 00 00 00 00 00 00 00 00 00 22 22 22 00 00 00 oc 54 22 5 0 Ci_i CZ>:| oo oo 58 22 o o 00 o 4 0 14 00 00 lC 4 0 J4 4E 00 00 44 4F 12 OS 44 0 3 0 OS CO 30 0 8 4C 15 00 2 •' 2 ’ 1 0 ■~ 00 •OA 00 00 48 01 A ö nr *1 4 1 ll T~[ 2=zl — 00 00 — 00 = 00 *=*= 00 00 00 c-i* 00 • 00 00 00 * 00 -A 00 1 00 00 • 00 04 00 CA *=*=•! >— i <=>•! La_i| l_l_| CIT'I zml 4— t! 1— .'1 2~Z\ -- — i r*-j| oc -500 — >■ 00 -2-00 -•toc» c* 00 00 00 00 00 00 00 00 m ' L. 00 FF FF FF FF FF FF FF FF FF FF OC) F F 00 00 00 00 00 00 00 00 00 00 '■iss.'' —r o o 00 o o IC 2 3 pf 3E 1C IE 1C IE 1C 3 E 22 pp p p pp 3E 22 22 22 34 36 2A 26 2A nn 02 02 32 22 OA 06 06 OA 02 2A 02 22 02 22 02 22 2A 2 A 2 A 32 *1*1 22 22 22 02 22 22 22 02 OB 08 08 22 *9*9 *9*9 *9*9 22 22 22 22 22 20 22 22 22 14 22 10 14 10 pp IE 06 OA OA 12 20 20 20 pp 08 08 0 8 08 22 22 pp 22 22 O B *i*9 pp 22 22 p p 22 2 A 2A 14 08 08 14 14 OB 08 0 8 0 8 04 14 pp 00 00 1C 22 22 22 22 *9*9 IE 22 26 is 24 24 04 00 02 00 02 0 9 08 10 02 10 02 00 02 00 00 02 00 02 00 00 02 OE 0 8 0 8 0 8 00 00 00 00 00 00 00 00 00 00 00 00 0 8 0 8 02 02 3 E 22 p p pp 3E *1*1 22 22 P 2 1C 00 pp *1*9 1C 22 IC 04 00 00 20 00 00 10 00 00 00 00 00 3E OE 04 04 04 04 2C 32 22 22 22 22 2C 26 22 22 3 2 1A 22 22 20 22 OE 08 O B 08 0 8 0 8 0 8 3 E 1C 10 12 10 22 10 OE 10 12 pp 0 8 OB 10 12 oe 10 22 10 22 08 08 08 0 8 3 E 14 14 2 A 2A 2A 1A 26 1C 22 22 22 2 A P 2 p p p p 1A 26 32 22 22 02 22 2C ap 1C 02 20 02 20 02 20 04 04 04 04 24 22 22 22 22 22 22 32 2 C pp 14 14 09 0 8 2A 2 A 2A 14 14 22 20 26 04 04 04 04 OE 00 00 00 00 c c* 0 0 ( J 00 00 00 00 01 00 22 22 22 22 22 04 pp 0 !' 0 0 00 00 PC 1c 22 i2 IC e-er 22 22 22 20 20 pp 22 OA 22 02 1C 2A *i*9 p p 2 A pip 0*1 pp IC 2 6 1A 32 2C 02 20 02 IE 18 14 OB 14 14 22 22 22 22 22 3C 3:> 0 8 08 04 20 22 22 12 3C 22 22 22 22 22 22 22 22 02 3E 22 3C 22’ 1C erer ^>w * A A 22 pp 22 AA erer rrrr JJ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 22 02 00 00 00 00 00 00 00 o o 1C 1A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1C 04 p p 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2 C 32 22 00 00 00 00 00 00 00 00 00 00 00* 00 00 00 00 00 22 22 22 02 22 00 00 00 00 00 00 00 00 00 00 00 32 1C 3 C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2C 3C 22 0 8 04 20 22 22 02 22 02 00 00 00 0 1 *00 00 00 33 O B pp 22 20 22 02 22 22 00 00 OC' 0 0 00 00 A-- ■ riH 22 22 22 22 1A 1A e er 36 14 26 22 20 l 2" 36 3 C 1C er r. 0 8 22 22 02 00 02 00 20 00 1C 00 02 00 20 00 00 0 8 22 22 02 22 02 22 00 02 00 20 00 00 14 14 IC IC o ;■ 1C 2 4 00 02 00 20 00 cC; 0 8 22 24 24 22 22 22 OS 00 26 22 0 8 22 24 7C 33 1C 24 40 24 02 2 C p p 00 00 7 - e=t 24 *i*9 00 00 00 00 00 14 0 0 "00 0 1 00 1A 00 -.JZ fXZt 22 22 00 00 oo 02 C5=~ 00 UU 00 03 02 2A ou 00 00 00 00 *1*1 0 8 o o 02 2P oo 00 IE 00 00 1C 00 IE 3E 00 -0 2 00 IC 00 00 3 E 00 IC 00 22 00 00 3E *9*9 00 2 2 00 1 C 00 22 22 22 pp *1*1 22 00 00 22 22 00 *9*1 22 1C 14 00 p p pp 02 12 22 22 0 8 00 00 pp *1*1 22 *9*9 *9*9 22 22 22 22 20 OE OE 00 32 2 C 1A 02 AA A A 02 20 00 00 00 00 00 00 00 20 00 00 00 00 02 00 o o 1C 00 oo OE 00 00 00 00 00 02 20 00 00 00 00 00 00 00 1C 00 00 00 00 00 oo c— :• i_L_J L.g.— cs« irr 1— f 1— -• zue: ___ 1 S U S S o CkZ C O t— --- ! ZZfiS3: =Sr*--j :cr» : z z > < GCO ro «rr» O PT' CL' w_ CT. -CI - r—i *r—, -4 r— i := t— O 00 Cu 00 00 00 00 00 00 00 00 C- o o 00 00 00 00 00 00 «.rt — • 13 > >=: ZT> r j :ro :o CiZ. C a l l m i t B A S C O M Vor kurzem s c h r i e b ic h ein BASIC-Programm z u r ra tio n e lle n E r s t e l l u n g von IL F -F ile s und zum s i c h e r e n Kopieren von "groß en" (z.B . 80/DS/DD) aut ‘‘k l e i n e ” (z.B . 40/SS/DD) D isketten. Das Programm h i e r in s ein em gen auen A bla ut darzulegen i s t nicht meine A b s i c h t . I h r bekommt e s i n d e r P r o g r a m m b i b li o t h e k bei K ajott und könnt es euch a u s e i n a n d e r p t r i e m e l n o d e r e i n t a c h nu r b e n u t z e n ! Es g eh t mir v i e l m e h r um e i n P r o b le m , d a s beim K o m p i l i e r e n d e s Programms mit dem B A S I C -C o m p ile r BASCOM von M i c r o s o t t a u t t r a t . BASCOM k o n t r a ZBASIC BASCOM e r z e u g t , ge nau w ie der Z BA SIC-Com pi1e r , d ire k t autrutbare / C M D - F il e s . E r h a t g e g e n ü b e r ZBASIC j e d o c h den V o rte il, s i c h i n seinem Syntax s e h r eng an d a s D i s k -B A S I C a n z u le h n e n und so z. B. auch sehr ko m p lizie rte S t r i n g o p e r a t i o n e n ü b e r s e t z e n zu können. D a t ü r kann er, im G e g e n s a t z zu ZBASIC, mit d e r F u n k t io n CMD"S=DOSCMD" nich ts anfangen. Da mein Programm f a s t nu r von S t r i n g o p e r a t i o n e n (MIE»$,LEN$ usw. ) l e b t , a b e r nur e i n CMD"Sa=DOSCHD" e n th ält, wurde mir d ie Wahl des C om p ilers leich tgem ach t. BASCOM m usste es sei n ! Aber w ie schon erwähnt, BASCOM kann m it dem B e f e h l CMD"S*DOSCMD" n i c h t s a n f a n g e n . Es mußte also ein anderer Weg g e f u n d e n werden, z. B. ein COPY d i r e k t von einem c o m p i l i e r t e n Programm a u s zu s t a r t e n ! D i e R e t t u n g i CALL BASCOM u n t e r s t ü t z t neben den D isk -B A SIC -F u n ktion en des TRSDQS zu sä tz lic h B e fe h le , d ie n o rm a lerw eise nicht v e r w e n d b a r s i n d . U n t e r anderem g i b t e s d a den B e f e h l CALL R o u t i n e ( P a r , P a r , P a r >. f l i t dies em B e f e h l la s s e m s i c h M a s c h i n e n r o u t i n e n von einem BASIC—Programm au fru fen . Im BASCOM Handbuch steht dazu f o l g e n d e , f r e i i n s d e u t s c h e ü b e r s e t z t e , k u r z e Anmerkung: Der CALL—Befehl erlaubt es, ein MaschinenspracheTRS80~Fortran— Unterprogramm aufzurufen. Das Format des CALL-Befehls lautets CALL (variable name> ((argument list)! wobei vom bestimmt werden k ö n n e n . oder Benutzer (variable n a me> ist der Harne d e s U n t e r p r o g r a m m s , w e l c h e s aufgerufen werden s o l i . Dieser Harne m u ß z w i s c h e n einem und sechs Zeichen l a n g s e i n (mein B A S C O M verkraftet nur zwei Zeichen///) und muß von LINK BO (L B O / C M Ü ) a l s "Global Symbol* e r k a n n t w e r d e n / ( i s t o p t i o n a l u n d e n t h ä l t die A r g u m e n t e f die einer M a s c h i n e n - oder F o r t r a n Subr out ine ü b e r g e b e n werden sollen. Beispiel: 120 C A L L M Y R O U T (1,J,K) 2 2 Das ist a lle s, was mein BASCOM-Handbuch zu dieser M ög lich k e it der E in b i n d u n g von M a s c h i n e n r o u t inen in BASIC—Programme sagt. E in p r a k t i s c h e s B e i s p i e l z u r Nutzung des C ALL-B ef ehl s i s t n i r g e n d s v o rh a n d e n und so ist diese w e r t v o l l e Eigenschaft von BASCOM p r a k t i s c h n u t z l o s . G ä n z l i c h n u t z l o s i s t e r n i c h t , mit man ihn schon b e n u t z e n . W ie man ic h euch kurz a u f z e i g e n ! einem k l e i n e n T r i c k das b e w e r k s t e ll ig t , kann w ill Das f o l g e n d e , k u r z e B A SIC -P rogra m m s o l l n i c h t s w e i t e r tun, a l s den B i l d s c h i r m zu l ö s c h e n , e i n e n k u rz e n T e x t auszugeben und dann den fre ie n S p eich erplatz auf der Diskette a n z u z e i gen . IO 20 30 40 50 BO 70 CLS PRINT"DIESES PROGRAMM DEMONSTRIERT DEN AUFRUF DES PRINT"DOS-KOMMANDOS - F R E E - VON EINEM MIT BASCOM PR INT" KOMPILIERTEN BASIC-PROGRAMM AUS! PRINTsPRINT CALL FR END D ie folgenden Z eilen sin d schirm ausgaben in ein Kompi1e r l a u f s von BASCOM: ein "L iv em itsch n itt" D isk file gero u te t!) (B ild ­ eines D0S> BASCOM TESTETEST 00000 FATAL ERROR(S) 13040 BYTES FREE D0S> L80 TE ST , TEST—N—E DATA 5200 75AA FR* 5256 <5211 75AA) Wie man s i e h t , t r i t t b eim Kompi1i e r u n g s v o r g a n g ke in erle i F e h le r a u f. E in z ig e "abn o rm a le" An zeige i s t d i e Z e ile : FR* 5256 H ier w ird angezeigt, daß an d ieser S t e l l e im e r z e u g t e n / C M D -F ile der A u fr u f ein es, dem L i n k e r nicht bekannten Unterprogram m s s t e h t . W ie man im u n t e n s t e h e n d e n Hexdump des erzeugten /CMD-Programms d e u t l i c h sehen ka nn, tragt der L in k er an der an gezeigten S t e l l e (5256H) a l s A d r e s s e f ü r d ie unb eka nnte R outine den W e rt OOOOH e i n . Dies fü h rt n a t ü r l i c h beim L a u f d e s Pr ogramms u n v e r m e i d b a r z u « A b s t u r z ! TEST/CMD Drive 1 R«cord 0 X'0000' 0123456709ABCDEF BYTE 00 01 02 03 04 05 06 07 08 09 OA OB OC OD 0E OF R.R.R.. . R.hT..fi! ,R .g Z..Ä !.R .gZ .. Ä!.R.gZ..X!.R.gZ . .Ä f.R.gZ ....... V. .V aRKOKPILIERTE H BASIC-PROGRAMM AUS! ) . RDOS-KOMM ANDOS -FREE- VON EINEM KIT BASCO K+.RDIESES PROGR AMM DEMONSTRIERT DEN AUFRUF DES. .R...ÄÄXÄ BASLIB #000000 5.2 - 0 <00> <10> <20> <30 <40 <50> <60> <70 <80 <90 01 00 52 AD 5B CD 6E 4E 20 41 20 4D 41 20 DE 20 02 00 00 52 21 BC 56 20 41 4E 45 2B 4D 44 52 23 00 00 52 CD 5E 5B 20 42 55 44 49 BO 4D 45 00 30 52 00 07 67 52 21 61 41 53 4F 4E 52 20 4E 00 30 00 00 52 5A CD DB 52 53 21 53 45 44 44 20 00 30 00 21 00 CD 67 52 4B 49 29 20 4D 49 45 41 5B 30 00 25 00 BC 5A CD 4F 43 84 2D 20 45 4D 55 5B 30 00 52 11 SB CD 67 4D 2D 52 46 4D 53 4F 46 5B 30 00 C3 52 21 BC 5A 50 50 44 52 49 45 4E 52 5B 20 00 19 CD 81 5S CD 49 52 4F 45 54 53 53 55 20 35 00 53 68 52 21 90 4C 4F 53 45 20 20 54 46 42 2E 00 DE 54 CD DB op 49 47 2D 2D 42 50 52 20 41 32 00 52 CD 67 52 CD 45 52 4» 20 41 52 49 44 53 20 00 00 BC 5A CD 8E 52 41 4F 56 53 4F 45 45 4C 2D 00 00 58 CO 67 56 54 4D 40 4F 43 47 52 53 49 20 00 EO 21 BC 5A CD 45 4D 4B 4E 4F 52 54 00 42 4F HEFT 12 März 1988 34 3 5 Um den C A L L - B e f e h l doch noch n u t z e n zu können, b in ic h a u f f o l g e n d e n T r i c k gekommen; 1. Man sucht s ic h im e r z e u g t e n /CMD-Programm eine vom Programm selb st nicht benutzte S te lle , die fü r das g e w ü n s c h t e Unte rprogra m m g r o ß gen ug i s t . E i n e s o l c h e S t e l l e kann man sic h selb st d a d u rc h sch affen , daß man e i n e D u m m yv a ria b le m it so v iel Text a u f f ü l l t , w i e man f ü r s e i n U nte rprogra m m b r a u c h t . 2 . Nach dem Kompi 1 i e r u n g s v o r g a n g w i r d d i e M a s c h in e n r o u t in e dann in d ie s e V a ria b le gezapt und d e r u r s p r ü n g l i c h e CALL nach OOOOH i n einen CALL a u f d i e e in g e z a p t e U nterroutin e u m g e ä n d e r t. In unse rem B e i s p i e l habe ich k e i n e Du m m yvariable sondern d ie C opyrightm eldung von BASCOM f ü r d ie U n terrou tin e kurze Maschinenprogramm ausgenutzt. Das f o l g e n d e r m a ß e n aus: HL,FREE 'HL-Register «uf den DOS-Befehl 21F752 ID CD1944 CALL 4419H 'D0SCAL eufrufen C9 RET 'zurück zue Hauptprograa* 0000 DEFN OOOOH 'nur Füllung, keine Funktion • » ■ ■ * 0000 DEFM OOOOH DEF« 'FREE 'der auczuführende DOS-Befehl 46524545 0DH DEFB 'nicht vergecteni 0D (CR) als CD 'Endzeichen! Änderungen Die durchzuführenden Hexdump u n t e r s t r i c h e n ! sind im sieht u n te ns te he nd en o o o o TEST/CMD Drive 1 Record 0 X' 01234567B9ABCDEF BYTE 00 01 02 03 04 05 06 07 08 09 0A OB 0C OB 0E OF .... »XR..S.R... R.R.R.,.R.hT..*! .R.gZ..*!.R.gZ.. A!.R.gZ..X!.R.gZ ..X!.R.gZ..R..V. .V aRKOHPILIERTE N BASIC-PROGRAMM AUS!).RDQS-K0HM ANDOS -FREE- VON EINEM MIT BASC0 Mi.RDIESES PR06R AHM DEMONSTRIERT DEN AUFRUF DES. .R...&IH BASLIB <00> <10> <20> <30> <40> <50> <60> <70> <80> <90> 01 00 52 AD 5B CD GE 4E 20 41 20 4D 41 20 DE 21 02 00 00 52 21 BC 56 20 41 4E 45 2B 4D 44 52 F7 00 00 52 CD 5E 5B 20 42 55 44 49 B0 4D 45 00 52 52 00 07 67 52 21 61 41 53 4F 4E 52 20 4E 00 CD 00 00 52 5A CD DB 52 53 21 iz 45 44 44 20 00 19 00 21 00 CD 67 52 4B 49 29 20 4D 49 45 41 5B 44 00 25 00 BC 5A CD 4F 43 64 2D 20 45 4D 55 SB C9 00 52 11 SB CD 67 4D 2D 52 46 4D 53 4F 46 5B 00 00 C3 52 21 BC 5A 50 50 44 52 49 45 4E 52 5B 00 00 19 CD Bl 5B CD 49 52 4F 45 54 53 53 55 20 00 00 53 68 52 21 EC 4C 4F 53 45 20 20 54 46 42 00 00 DE 54 CD DB 52 49 47 2D 2D 42 50 52 20 41 46 00 52 CD 67 52 CD 45 52 4B 20 41 52 49 44 53 52 00 00 BC 5A CD BE 52 41 4F 56 53 4F 45 45 4C 45 00 00 5B CD 67 56 54 4D 4D 4F 43 47 52 53 49 45 00 E0 21 BC 5A CD 45 4D 4B 4E 4F 52 54 00 42 OB D ieses kurze B eisp iel kann n a tü rlic h nu r das Prin zip d a r l e g e n . E i n e immer g ü l t i g e V o r l a g e kann e s schon d e s h a l b n i c h t s e i n , da s i c h je nach L ä n g e d e s BASIC-Q uel 1Program m s d ie D u m m yv a ria b le (und auch d ie C op y ri ghtmel dung) v ersch ieb t. Man muß sich also d ie jew eilig en A d r es s en s e l b s t suchen. Wie i h r s e lb s t seht, i s t d i e s e Methode n a t ü r l i c h r e i c h l i c h u m s t ä n d l i c h und ic h wäre seh r fro h , wenn mir jemand e i n e bessere M ö g lic h k e it au fzeigt. Am lie b ste n wäre mir n a tü rlic h ein e A n leitu n g, d i e a u f z e i g t , w i e man A s s e m b le r ­ file s e rste llt, i n denen d e r L i n k e r d ie C a l l ' s a l s "Global Symbol** e r k e n n t ! S o l l t e s i c h a l s o jemand i n d i e s e r Richtung auskennen, w äre ic h f ü r e i n e In fo r m a tio n seh r d a n k b a r1 Euer dtawtmjvt ttbe/TMfca/tvr. 2 ß ^uattv \it\ve ön , n \tv c ^ eL ' Mit PEEK sollte man da ruhig ein­ mal nachschauen; es ist nicht alles »Double-Precision, wo man es ver­ mutet. Die trigonometrischen Funk­ uerst: Viele Routinen aus tionen werden immer in einfacher dem Level2-Basic findet man Genauigkeit ausgeführt, und FIX ist auch hier wieder. Der noch lange nicht Integer, SGL Arithmetik-Teil wurde fast unverän­ bleibt erhalten, es wird nur ab ge­ dert übernommen, nur kräftig ge­ schnitten. Sollten Sie ein Sortier-Programm mischt und im Adreßbereich verschoben. Kleine Verbesserun­ schreiben wollen, so vergessen Sie Subtraktions-Routinen, die gen sind festzustellen, die große die Schwachstelle, reiner 8080-Code, »Compares« (siehe Listing 1) sind blieb. In Listing 1 sind die wichtig­ deutlich schneller. Der Schlüssel zu einem Interpre­ sten Unterprogramme aufgeführt. W o W R A 1 und WRA2 hingewan­ ter ist natürlich die Adreßtabelle dert sind, können sie aus Listing 2 der Basic-Befehle. Sie wurde (Li­ ab 6664 (H ex) entnehmen. Sofem sting 4) mit einem Assembler in les­ nicht anders vermerkt, sind alle bare Form gebracht, ein Disas­ sembler zeigt da nur sinnlosen Co­ W erte Hex-Zahlen. Bei der Entwicklung von Aus­ de. Das Prinzip ist einfach: Trifft Ba­ drücken benutzt Basic eine Tabelle sic auf ein Token, subtrahiert es mit Adressen einiger Arithmetik- 81H, multipliziert das mit 2 , addiert Routinen; diese finden Sie in Listing das Ergebnis auf die Anfangs­ 3. Generell ist W R A i der am mei­ adresse der Tabelle und schon ist sten benutzte Speicherplatz. Er hält die Adresse d er Routine gefunden. immer die »laufende Variable«, das heißt, wenn Basic irgendein Ergeb­ nis erwartet, dann muß es da ste­ hen Um welchen Typ es sich handelt, ist in (60BE) notiert vft© Z 3 7 es f es Die Tabelle hat zwei BasisAdressen, nämlich (5757) und (57F1). Letztere gilt für DoppelTokens, deren erstes Byte immer FF ist. A b 692B können Sie das (mit einem Disassembler) nachlesen, bei 68EB startet der »Execution Driver«. . Nicht alle Tokens sind in dieser Tabelle aufgeführt. Solche, die lo­ gisch zu einem Befehl gehören, wie TO zu FOR werden dort, solche die erst später in einem Ausdruck auftreten, werden in EVALEX aufgeprüft. Die Routine zur Entwicklung von Ausdrücken (EVALEX) startet bei 7000, einige weitere InterpreterRoutinen in Listing 5. Etwas anders als im Level-2-Basic werden Variable abgelegt. Da ein Name anstatt zwei jetzt bis zu 40 si­ gnifikante Zeichen haben kann, wird eine Variable in VARTAB so eingetragen: Byte 1: Typ (2, 3, 4 oder 8) Byte 2: Erstes Zeichen des Namens (Großbuchstabe) Byte 3: Zweites Zeichen des Na­ mens (Großbuchstabe oder Ziffer) Byte 4: Anzahl weitere Zeichen (Länge des Namens 2) Byte 5 und folgende: die weiteren Zeichen des Namens, ASCCICode, aber Bit 7 gesetzt. Hiernach ist also die Namenslän­ ge nicht auf 40 begrenzt, wohl aber die Größe des Puffers, den Basic für die Behandlung des Namens zur Verfügung stellt (ab 5E4B). Mit Byte 4 wird erreicht, daß Ba­ sic die Variablentabelle schnell scannen kann, der Test eines lan­ gen Namens kostet natürlich den­ noch mehr Zeit als der eines kurzen. A lle Ein-/Ausgabe-Operationen laufen ähnlich wie in CP/M über ei­ ne Funktionsnummer mit anschlie­ ßendem »CALL BDOS«, allerdings mit folgenden Unterschieden: Die Funktionsnummer wird im Register A, eine eventuelle Unter­ funktion in B übergeben. Ein auszu­ geben des Zeichen muß immer in C stehen, die Rückgabe erfolgt ins Register B. Gegebenenfalls sind vor dem Aufruf weitere Register zu laden, auch stehen in weiteren Registern Rückgabeparameter be­ reit. Der Aufruf erfolgt immer über RST 28. Das Z-Flag bedeutet, die Routine wurde (ohne Fehler) aus­ geführt, NZ heißt Fehler oder »kein Erfolg«. W ird zum Beispiel die Ta- Ar i thmet i (;-Fioutinen tB B tstccesss cssa sst Bedeutung der K ü rz e l: WRAli Work A r e a l, WRA2: Wor) Area 2 INTt In te g e r. SP; S in q le P r e c is io n , DP: Double P r e c is io n < H L )...: Bytes ab A dresse in HL. d to . (D E ).., TP ; Typ-Flag, In h alt von (60BE) BCDE: h ä lt ein en SF—Operanden a ls Exp. MSB. LSB, LSB 2607: DF-Add. : WRAI«WRAI*0 .5 2617: SP-ADD. : WRAI«WRAI»(HL). . . . 261C: SP-Sub. : W RAI«(HL). . .-WRAI 261F: SP-SUB. i WRA1« BCDE—WRA1 2622: SP-ADD. : WRAI«BCDE«WRAI 2746: LOG : WRAI«LOG(WRAI) 278B: S P -M u lt.: WRAI«BCDE*WRAI 27ED: SP-Div. : WF;A1=BCDE/WRAI 28C4: SGN-Test: Nur SP: Sgn (WRAI) ->A. - l* n e o , + l* p o s . . 0«C> 28E6: ABS WRAI«ABS(WRAI) 28F3: NE6 j WRA1«-WRA1 ; WRAI«SGN(WRA!) 28FB: SGN 2905: SGN-Test: w ie 2BC4. aber a l l e Typen 1t. TF 2917: Push WRA: PUSH WRAI -> Stack, POP mit POP BC, POP DE 2924: Get SP : W RAI»(HL). . . 2927: Get SP : WRAI«BCDE 2932: Get SP : BCDE«WRAl 2935» Get SP ; BC D E«(HL)... 293E: T r a n s fe r: WRAI- > (HL) 4 Bytes 2941: T r a n s fe r: (D E ). . . —> (H L > ... 4 Bytes 2945: T r a n s fe r: (HL) . . .-X D E ) . . . TF Bytes 2946: T r a n s fe r: ( D E ( H L ) . . . TF Bytes 2949: T r a n s fe r: (DE). . . —> (H L )• . . A Bytes 294A: T ra n sfe ri (DE). . . —> (H L ). . . B Bytes 2970: T r a n s fe r: WRAI -> WRA2 TF Bytes Die folgen den Compare-Routinen sind s c h n e lle r a ls Sub. Compare SP : WRA1-BCDE F la g s v a lid 299C: Wie v o r, wenn Vorzeich en g le ic h 29AF: Compare INT: HL-DE F la g s v a lid 29C4: Compare DP : WRA1-WRA2 F la g s v a lid DP : WRA2-WRA1 F la g s v a lid 29ED: Compare 29F4: CINT WRA1»HL*CINT(WRA1>, a l l e Typen I t . TF HL->WRA1. s e t z t TF«2, USR-RET 2A53: MAKINT 2A6A: CSNG WRAI(DP) -> WRAI(SP) WRAI(INT) -> WRAI(SP) 2A87: Convert (H L)___-> WRAI(SP) 2A8A: Convert W R A I(a lle Typen I t TF) -> WRAI(DP) 2A96: CDBL 2AA9: Set TF8 TF*8 (DP) TF«4 (SP) 2AAC: Set TF4 2ABO: Test TF IF TF«3 THEN e x it to "Type mismatch e r r o r " 2AP4: TM-Error P r in t “ typ e mismatch e r r o r " WRAI-FIX(WRAI) 2AE2: FIX WRAI«HL=IN1(WRAI) (SP & DP) 2AF5: FRCINT 2B1 A: wie v o r, aber nur DP 2B93: Sub. I NT : WRAI»DE—HL 2B9E: Add. INT ! WRAI«DE+HL 2BBE: M ult.INT : WRAI«DE»HL 2CEB: ADs : WRAI«ABS(WRAI) 2C81: Sub. DP : WRA1«WRA1-WRA2 2C6B: Add. DP ; WRAI »WRAI «-WRA2 2DB5: Mult. DP : WRAI«WRAI»WRA2 2DFO: REF t Konstante 10 in DF 2E8C: D iv. DP : WRAI*WRAI/WRA2 (S ieh e auch E n try 2E88) : Convert A S C II-S trin q (TF) -> WRAI 2F16: ASCII "(HL) «B egin o f S tr in g , D elim eter CK» or **, " : P r in t “ in “ , w e ite r b ei 313D 3331: 313D: P r in t # : P r in t (WRAI> « (H L ). i.d . R . Zeilennümmer 3147: Convert : WRAI -> ASC II, fo r m a tie r t I t . B it s s e t in Bit muß auf 1, sonst u n fom atiert B it 6 5 4 3 2 , * fc •* t r a i l i n g blanks 36 D4:: SOR : WRAI«SOR(WRAI) 36ED:: Exp. : Basis in BCDE. Exp. i n WRA1. Resu1t - >WRA1 378F;: EXP : WRAI«EXP(WRAI> 3876:: RND 369C:: RND(O) : WRA1«RND(O. .1 ) d ie folgen den trig o n m etr. Funkt;»onen 30EA:: COS : WRAI«COS(WRAI) 3BFO:: SIN : WRA1«SIN(WRA1) 388D:: T A N : WRA1«TAN(WRA1) : WRA1»ATN(WRA1» 39A2:: ATN Listing 1. Die Arithmetik-Routinen des M odel 4, das alte Level 2-Basic kaum verändert HEFT iE Hirz 1984 38 3 S Svetem var1 a b l« t< K ^ t e r aber » e i c h t 5753-5806» Adressen der Basic-Routinen 5787-S88A: Adressen für Anfangsbuchstaben A-2 in folaender L is te . 588D-5AC0» Basic-Worte alpabetisch s o r t ie r t . 5AC1-5AE1» L is t e Operator Precedence 5AE2-5B08» Adressen Arith-Routinen 5B09 : NOP 5B0A-5E*F3t Texte der Error Meldungen 50P4-SE07: Adressen USR0-USR9 oder 6A45 e ise FF 6115: Adresse next Token (wenn Backspacing! 6117: CONT-Zeile 6119: CONT-Adresse 61 IB: T a il Poin ter (Ende Basic-Pg») 61 ID: Pointer ein fach e Variable 611F: Pointer Array-V ariable 6121: DATA-Pointer 6123-613C Tvp-Tabelle A-Z für DEFxxx 621F: Option Base (0 oder 1) 6220: Option Base Flao (Option Base+1) 6247i Prot Flaa (>0» no LIST, no Direkt Mode) 6259: Trace Flaq a s s s s r c s a s c s s s s s s jr s s s s v s s c 5E0C: Code la s t error 5E0E: D ru ckerposition fur LPOS 5E0Fi Ausgabe-Flag. 00*CRT 5E U ; Z ellen lan ge P rin ter 5E12: Zeilenlan ge CRT 5E17: S trin a Data Pointer 5E19: A k tu elle Z ei1onnummer 5C1B: Head Pointer. Beginn Basic-Pgm 5E1B: Adresse a k tu eller Error Text 5E2A: P o in ter durch Tokenized Buffer 5E4B-5E71* Variable in VARPTR 60S.:3t P o in ter durch V ideo-Zeile (auch TAB) o0B9-60BBi RNB Use 6v£P: Flaa loc*te 60CI: le t z t e Zeilennummer vor aktu eller 60CF: HIMEM-Pointer euOls Adr. next fr e e Entry to LSTPA 60B3-6OF0* L ite ra l String Pool Area. 1043 Bytes ÖÜF1-6ÖF3» Dop# Vektor aktu eller String 60F6: Adresse aktu elles Token 6üFC: A k tu elle DATA-Zeile o*:*FE: CALL-Flag •OFF* Read/Input Plag. OO* 1nput, e ls e Read 6103: Auto Flag Work Area 1 Adr. 6264 6265 6266 6267 6268 6269 626A 626B if INT LSB MSB Work Area 2 6272 6273 6274 6275 6276 6277 6278 6279 LSB MSB WRAl i f SGL i f DBL LSB LSB MSB EXP LSB LSB LSB LSB LSB LSB MSB EXP WRA2 LSB LSB MSB EXP LSB LSB LSB LSB LSB LSB MSB EXP 627A—6294: PRINT USING Buffer Listing 2. Systemvariable, Texte und Puffer, Adressen in d er Übersicht und im einzelnen 00100 ;ADRESS -TABELLE FUER ARIHT-RQUTINEN 00110 ;«==:=«:s s s s s s s s s s s s s s s s s s r s r s s s s s s s 00120 ORG 5AE2H 00130 5 AE 2 * ;BASIS-ADR. WENN DBL PRECIS. 5 AE 2 00140 BASEDP EQU DEFW 2A96H 5AE2 962A ;CDBL 00150 5 AE 4 0000 DEFW 0000H ;NOT USED 00160 DEFW 29F4H ;CINT 5AE6 F429 00170 DEFW 2AB0H ;TESTE TYP 5AE8 B02A 00180 2A6AH 5 AE A 6A2A DEFW 00190 ;CSNG DEFW 2C88H ;ADD (DBL) 5AEC 882C 00200 DEFW 2C81H ;SUB (DBL) 5AEE 812C 00210 DEFW 2DB5H ;MULT (DBL) 5AF 0 B52B 00220 2E8CH ;DI V. (DBL) DEFW 5AF2 8C2E 00230 ;COMPARE (DBL) DEFW 5AF4 ED29 29EDH 00240 * ;BASIS ADR. SGL PRECIS. 5AF6 00250 BASSGL EQU ;ADD (SGL) DEFW 2622H 5AF6 2226 00260 261 FH ;SUB (SGL) 5AF8 1F26 DEFW 00270 278BH ;MULT (SGL) 5AFA SB27 00280 DEFW ;DIV. (SGL) DEFW 27EDH 00290 5 AFC ED27 SAFE 8229 DEFW 2982H ;COMPARE (SGL) 00300 % ;BASIS-ADRESS INTEGERS 5800 00310 BASINT EQU 2B9EH 5B00 9E2B DEFW ;ADD 00320 2B93H DEFW ;SUB 5B02 932B 00330 5B04 BE2B DEFW 2BBEH ; MUL T 00340 716CH DEFW ?D I V . 5B06 6C71 00350 29AFH ? COMPARE DEFW 00360 5B08 AF29 * ; BEGINN TEXTE ERROR MELDUNGEN 5B0A 00380 ERROR EQU 0000 00390 END 00000 TOTAL ERRORS 34294 TEXT AREA BYTES LEFT BASEDP BASINT BASSGL ERROR 5AE2 5B00 5AF6 5B0A 00140 00310 00250 00380 Listing 2. Nach dieser Adreßtabelle werden Arithm etik-Routinen aufgerufen \ Statur abgefragt, heißt NZ »keine Check) wurde CA LL 430E, RST 10 Taste gedrückt«, Z dann »Taste be­ (Scanner) ist jetzt C A LL 6943, RST tätigt«, der Code steht in A. In Li­ 18 (HL-DE) wurde zu CALL 4308 sting 6 sind einige Routinen und RST 20 (get vartyp) zu CALL praktisch demonstriert. Sie sind ein 735E. Teil des DOS, das hier aus Platz­ gründen nicht behandelt werden Interpreter mit Errorkann. Nur soviel: Auch jede DiskMeldungen knacken Operation läuft über RST 28. Sie sollten nie eine Routine direkt aufEin weiterer W eg, so einen Inter­ rufen. Der Sinn dieser Organisation ist es, das System beliebig erwei­ preter zu knacken, sind die Errortern (und ändern) zu können, womit Meldungen, die hier auf vier Arten sich absolute Adressen verschie­ erzeugt werden. Meistens g e ­ ben, die Funktionsnummern aber schieht dies über JP in die Sprungli­ bleiben. Den Drucker hätte ich fast ste (Listing 7). Mit einem Dis­ vergessen, Funktion 6, Zeichen in assembler sieht man da nur Un­ C, oder direkt über Port F 8. Die mengen von »LD BC.nn«, ein be­ RST-Calls des Level2-Basics sind liebter Trick, den Microsoft häufig hier entfallen. Das kostet zwar Spei­ anv/endet. Wenn Sie in der Adreßcher, macht das System aber !, tafcelle nur 3-Byte-Abstände vorfinschneller. Aus RST 8 (Syntax- II den, geht das auf diese Art. Bei l 2-Byte-Abständen steht da »OR AF«. womit A > 0 wird. Steigt man beim zweiten Byte ein (AF), heißt das »XOR A«, also A = 0. Zu den ErrorMeldungen, W e g 2: ”LD E.Code/ JP 6343”. 6343 ist die Adresse, auf die die vorher genannte Liste durchfällt. W eg 3: ein JP zur Adres­ se, wo ein »W eg 2« beginnt, und W eg 4. HL wird mit d er Adresse des Fehlertextes geladen und dann wird 4660 (Print Text ab (HL)) gerufen. Als Hilfe dazu Listing 8. Störend ist oft, daß bei SyntaxFehlem sofort EDIT aufgerufen wird, womit leider alle Variablen gelöscht werden. Wollen Sie das vermeiden, poken Sie NOPs (00) auf 63F5-63F7. Da wir gerade beim Poken sind. Ist Ihr Drucker grafik­ fähig, Sie wollen also die Punkte nicht im Screenprim, dann reicht WGOJ 5737 575.9 r.7-£, r-»?D 5-75F r-7fci 5 ’ ©3 i 'o S 3767 5.7*9 •7eS ;.76D 576F 57 71 ? . ’7 : d l * :. 0A6Ö E -4 4 «Sou 6C *£ rot . v 4 76F T-C6B BA6A 9F *A 7 76C r- ‘4:. Ar*.« F 3t»A i7t,H '.7 77 5-779 T.77& t.7 7C. 5.77F 5781 r.7 8 : 5-783 r.787 r 78« r7 a o 37SJ, T -ö F t-7«l T ’ «T PR6C 5944 4u76 e>Öe2 AZd-D F9?t i d 74 C "7 3 «7 4-. r««.:F.-.7“ B5*C TB •’ « 047C 379 7 - 9 6 : 5-799 |?*1« 3748*At.45 7*D AC 4 • 3 -7 F B 1 4 ? ?7A1 F T4 T f i •7 A3 :-46C 37A7 EOc-E1 707C ' 7 AB 4'.&c 57AD FE78 37*.F F''»ov - 781 FCfc« 37B~ F F o « 5»B5 oz**» 3787 01*E 378« 378 8 37& f T.78F 37CJ 37CT3 7C3 37C7 3 »C « 37C8 37CB 57CF *7 o i ••• *•.»•• < -X » :k ; 4C3'BB5C 3 t 36 1368 4E3T TE7A 3 t'70 OOCK* A17D «x> » T A B LLLt H |1 ADHCSSCM PCR BA SIC -BOUT INCH L I . U l IM •»•••©4 «FUCR NICHT BELEG TE TW EN S STCHl ’ * * * • •X-.-.C 1ADF:. OOOVI B E I ••<.»•06 i ADH. 67291 OB INT " SYNTAX HERROR“ ..-«XY7 5737H •«X »* ORG •>X«ÖV DEF w 43DEH « B it END • MH) 10 DEFW 68OAH 182« FOR OOOl 1 DEFW 44E2M «87« NEXT 68) SH « 8 4 : DATA Ou«. 12 DCFW ©•X*l 3 DEFW 6E 6CM «85« INPUT •X<©14 DEFW 79F6H «86: D1H 0*X> 13 DEFW 6F47H «87« READ 6B7CH «88: L ET OOO 16 DEFW 6ABAH « 0 9 : GOTO ©M0I7 DEFW 6A8FH «8A: RUN OOOlB DEFW 00019 DEFW 6C77H 188« IF 4320H «8C i RESTORE 24 DEFW 477AH « 9 0 : STOF 6CDBH 19 1 t PRINT 00025 DEFW DEFW 4439H «92« CLEAR © •»27 DEFW 7640H *93» L IS T 626BH « 9 4 : NEW *-••»*20 DEFW 6BA2H « 9 5 : ON 00029 DEFW ©• » 3 0 DEFW 75F9H «961 WAIT 741DM *97» DEF •>-•71 DEFW 78C3H « 9 8 : PO».E © «03? DEFW 4397H « 9 9 , CONT «•053 DEFW «««.»74 DEFW 6329H :9 A : 4444 » .» 7 3 DEFW 6329H «9 8 : 444« 73F7H * 9 C : OUT ©v©36 DEFW »X*0T7 DEFW 6C85H «9D: LPRINT • -•038 DEFW 7638H «V E: L L IS T •».<39 DEFW 7CD4M «VF« C L S . •«.-»40 DEFW ©OOOM «Am : 4 t « i •■«•41 DEFW 6 7 2 VH « A l: »4M • «-•42 DEFW 6BJ7H «A 2 : E L S E 0004S DEFW 4 3A8M »A 3: TF.OH ••■.•<•44 DEFW 47ACH »A4: TROFF 00045 DEFW 47B1H |A S : SWAP « •0 4 6 DEFW 43F2H *A6« ERASE »> 47 DEFW 3D22H *A 7 : ED IT •.»»’,<48 DEFW 6C3AH «AB: ERROR •:«>,»49 DEFW 68EBH *A V, RESUME ••’» 5 © DEFW 787DH «AA« D ELETE 00031 DEFW 6C45H *A B : AUTO - - ‘3 2 DEFW 78FEH :A C : RENUM 69F9H «AD: DE FSTR 60053 DEFW «.-»©54 DEFW 6VFCH »A E: DEFINT «»55 DEFW 6VFFH »AP 1 OCFSNG •>«»56 DCFW 6A02H »BO« DEF DDL •» > 5 7 DEFU 6E01H »B I« L IN E « > •3 8 DEFW OOOOH »82« 444« « •0 3 9 DEFW OOOOM »83« 4444 *.««.»60 DEFW 5228H «84« WHILE 0 « »*1 DEFW 524CH 1 85« WEND O* -.»62 DEFW 52RBH »86« CALL 00063 DEFW 363CM ,8 7 « WRITE ‘ -- •6 4 DEFW 6B13H « 8 8 : COMMON «>.»65 DEFW 574EH : 8V : CHAIN ' »X<66 DEFW 7A2EH «8A i OF'TION ««>67 DEFW 7D32H s 88: RANDOM •->•60 DEFW OOOOH »BC: 44*4 «•C»69 DEFW 7DAIH « 8 0 : SYSTEM •— >7© DEFW OOOOH : 8P : **« » '» • 7 1 DEFW 5072H « B F: O IEN 3703 STD.” !>n«V 5 7 DB 57DD 5 7 DP 5-' E l 5 "E3 57C5 57 E7 5/EV 5 7EB 57ED Wenn bei uns schon mal was schiefgeht, dann aber gründlich! 7H4D FD4I .'1.4F 7B4D DC 41. 9A4t OOO© 827E 8151 D34D 644D «X -> 00©O DEF« 4P73H «CO« F IE L D 4F ?I41 OOU73 DCFW « C I : G EI « •0 7 4 DEFW 4F7C1I iC .\ PUT «-> 75 DEFW 4D3BH «C 3: CLOSE »•76 ICFW «C 4: LOAD «DOCH « -•7 7 DEFW 4C9AH «C5s MERGE « « •7 8 DEFW «>>41 «C6« » * *» •X<»7V DCFW TEB2H |C7« »6 4* DEFW <>X>8<» 518FH | C 8: F I L L DEFW 00081 ; C 9 : L S ET 4PD5H DEFW 00082 4DD4H «CA« R S T I «»083 DEFW «»O H »CB: *44» •»084 DCFW OOOoH «CD: SUUW «X>85 00086 «JCT2T FOLGER 2 -IO T E S 1ÜLCNS. <>»87 «DAS ERSTE BYTE IM B A SIC -T E« T IS T IMMER F F . « » 8 8 «IN DER L IS T E STEHT DAS ZW EITE. « •0 8 9 5 'E F 7348 «>uVO DEFW 4873H « ö l: L E F T * 5 7 F I A348 00091 DEFW 48A3H :8 2 « RIGH T* 371 3 AC4ü «>092 DEFW 48ACH «B7: MID* 5 ? r 5 FB2S «•093 DEFW 28FB<< «84: SON ©«»9« DEFw W 7 F32A 2AF5H «8 5: INT 00095 DEF« 37FV E 62 8 29E&H ; 8t : ABS 3 7 rn D4 36 •X»V6 DEF« 3fet*4H «8 7: SOR 57FD 7t.33 •X » 97 DEFW 307fcH : 68a RND 37FF F 03 8 0«»V8 DEFw 38F0H «69« S IN 5801 4t>2*” »>X»99 DEFW 2 ’ 46H «öl.« LOG 5 803 8F 37 «>1«> DEFw 378FM : 8P : E *F « •101 DEFW 5B‘>3 ER TU 38tAH »3 t : COS MB »7 80 7V «•» 02 DEFw 398DM «ÖD« TAN 5809 A23V « •1 0 3 DEFw 29A2M «8E : ATN «104 PEFW 58-j B 24 »A 4A24H «CM 1 FRC •«>105 DEFW 5Rul» DC75 ▼5DCH «90s IMP 7^'.l C2T 0 0106 DEFW 73C2H « V it FOS 5811 0 54 8 •X«lu7 DEFw 48C>5M : V2’t LEN 3 313 D945 o o l 08 DEFW 4SP9H «9 3: ST R * 5 815 CD4b «•1 0 9 DEFW 48CDH : 9 4 : VAL 581 7 1143 •X»l l o DEFW 4 9 1 IH «9 5: ASC 5B 1V 2148 «< 111 DEFW 4821H «9 6: CHR* 531 8 8 178 «U 12 DEFW 78BBH «97: PCL» 5 8 1 0 5848 «»113 DEFW 4358H «98« SPACE* «>114 DEFW t * : F e r 45 45CFH sV V: O CT* «>115 DEFW 5021 1*445 45D4H »VA« HE»* ?<82T> 81*73 •» 1 1 6 DEFW 73BDH :V B : LEO S <»117 DEFW 582!. F 42V 2VF4H «V C: CIN T •X<118 DEFW 5827 w C o 2A6AH 19B : CSNG «•liv DEFW 502V 962A 2A96H «V E, CDBL t4»2B E22*a « •1 2 0 DEFw 2AE2H «VF« F IX «>121 «TOFENS A»>-AV ADR. OOOOH «*«» 5 84TH 5 843 •»>122 ORG 5 8 4 3 W J», «>123 DEFw 4AVBU «AA: CVI T«4 5 VE4.. «<124 DCFW 4AVEH «AB« CVS 51547 a k a «<123 DEFW 4AA1H «AC: CVD 5849 E34E 00126 DEFW 4EE3H «AD« EOF 00127 DEFw 5 848 274F 4F27H «AE: LOC •5848 2A4F « •1 2 0 DEFW 4F2AH ; a F : LOF 56 4 F 824 A « •1 2 9 DEFW 4A82H »&•>« M> 1* 5851 8 54« «»130 DEFW 4A85M «Bl« IV S * 5 853 88 4A «>131 DEFW 4A88H «B2: MID* 5 8 5 5 VB-’ D 00132 DEFW 7BV8M 5B3s ROW •X»ÖO «< 133 END «■000 TOTAI ERRORS 71865 TE » f AREA BY TES LEFT W«->1 i KHONSTRATION DOS-CALLS (RST 28M< «X<03 00004 «t a ct a u r -acpraoc OOOO 3C09 0002 EF 0003 20F» f CHAR NOM IN A A dressen 39FB; e in ig e r FNDVAR : In te rp re te r-R o u tin e n F in d V a r.A d r. D e li . 00 or 41 O E : PRTCRT : Output D evice 4308: Com pare : H L-D E , F lags 430E: SNTEST : T este 442E: TESTLET. : T este au -f : w ie * P rin t 5740: N O D IRT : V erh in d ert vo r, OOO« 3E09 OOOA 0607 oooc oeoo OOOE 0011 0012 0014 0015 0016 0018 21B5SF EF 3804 AF 88 28FO 0018 3E02 0014 « 5 8 OOIC EF 4 A : ab HL, das auf in dem C a ll In cr. HL Buchsraben, NC A b is D irek t-M o de wenn P ro t-F la g (6: (O O O ) T este P -M ode 6343: PRTERR : P rin t E rror— T e x t , NEWLIN : Update Lin e < (L ists c h u tz ) Code in E P o in te rs 6564: FN D LIN : F in d L in e 6943: NXTBYT : H o le näch stes S k ip B lan k s Num ber Codes Z e ic h e n u. e in ig e d ir e k t . aus dem P gm -T ext. C o n tro ls, b eh an d le Listing 5. Einige Interpreter-Routinen, weitere im Text ID ISF CHAR I CURSOR «CHAR TO DISP 00045 DSPMS8 LO 0004* 00047 RST 00048 JR t-x.49 messg pern 00050 0<«051 «VIDEO CONTROL «DISP MESSAGE »POINT TO TEXT 7CF* 7CF8 7CFA 7CFC 7CFE 3E0F 06*>1 2607 2C07 EF 00053 FT)INT 00054 00055 00056 00057 «VIDEO CONTROL «FUNCTION POINT iROw 3 (COL 7 «BASICS CLB-4QUTINC «ERASE TO END OF FRAME «A-O 2TAB CO) RET Konstanten schneller als Variablen «CHAR (H i. 4L• NOW 3E0F <*603 ;»07«..3 EF 7D11 3EC, (H L) 6521: e in ig e by DE 00013 00014 00015 BCTLI» OOOl* 00017 00018 00019 00020 00021 00022 00023 00024 BREAK 00025 0002* AUSGABE AUF VIDEO 00027 00028 D6PCHR 7CD4 7CD4 7CD5 7CD7 7CD9 7CDA 7CDC 7CD£ 7CDF 7CE0 7CE1 7CE4 7008 EF (H L) Z e ic h e n Text g e se tz t TESTPT wenn Z e ic h e n PR TLIN poin ted - > CRT Z e ic h e n , 4660: 5749: i s Adr. v a lid S y n tax-E rro r 442F: V ar-N am e - , - . »SCAN KB * WAIT 0003 3C0J 0007 EF A Listing 4. Der Schlüssel zum Interpreter: Adressen der Routinen je Befehl »TESTE KEYBOARD «CALL FUNCTION "POKE &H0ACE.&H18”. Unter Programm-Kontrolle können Sie den Screendump auch aufrufen und zwar mit :"X = &HOABA:CALL X". Das sind zwar leider absolute Calls ins DOS, aber dafür habe ich keine Funktionsnummer gefunden. Für folgendes wird es wohl nie eine geben, die Sache mit dem List­ schutz: Ein mit P-Option gesichertes Programm setzt das Flag in 6247 < > 0 . So ziemlich am Anfang der LIST-Routine wird das Flag geprüft. Jetzt poken geht nicht mehr, da die Routine, die Direkt-Mode testet, auch das Flag prüft. Die wird aber nicht immer aufgerufen, zum Bei­ spiel nicht bei SYSTEM. Sie können also in aller Ruhe ein Programm nachladen (und dabei starten) m dem steht *COR A:LD« (6247)(A:RET*\ Haben Sie das nicht, geht folgendes: Vor dem La­ den des P-Programms poken Sie auf 5740 ein C9 (RET), und nach dem Laden auf 6247 eine Null, und Ihr versehentlich mit P gespeicher­ tes Programm ist wieder sichtbar. OW-59 OC«60 PRTAT 00061 oc>o*r 0«**3 000*4 <«X*65 00066 HOVCUR •»•67 «-•66 ««69 OOu7© « « 7 | FNDCLIR C«073 00073 0*X'* »4 t«©75 LP LO LO LP RST A, OFM 8.2 HL.0307M LO LP LC RST A.OFH 8 .3 HL.03O7H 28W «FUNCTION MOVE CURSOR «P.OW 3 , COL 7 LO LO RST A.'TFM 8 .4 28H «FIND CURSOR POSITION «FUNCTION PRINT A1 «POW 3, CGl 7 2Char TO PRINT 2BH «CURSOR POS. NOW IN H.L OOO© 00«X> TOTAL er p o p s 33502 TE*T AREA BYTES LEFT Listing 6. Jegliches I/O läuft über DOS-Calls. Hier einige praktische Beispiele Bliebe noch zu erwähnen, warum hier Konstanten schneller sind als Variable. Sie werden direkt nach der Eingabe umgewandelt und ste­ hen als Hex-Zahlen im Pro­ grammtext. Der Encoder startet bei 6583, die Konstanten werden ab 6731 kon­ vertiert. Aus ”&Hxx" wird ”0 C nn", wobei nn für die beiden Bytes in L HEFT IE Härz 1986 42 LSB/MSB-Order steht Auch eine Oktal-Konstante wird so abgelegt, nur steht anstatt QC das Typ-Byte OB. Eine Dezimal-Konstante wird ähnlich behandelt, wenn sie größer als 255 ist, das Typ-Byte ist dann IC. Bei Zahlen von 0 bis 9 wird 1 addiert (OIH-OAH), das Typ-Byte entfällt dann, das higher Nibble wird aber 1, aus 0 - 9 wird 11H IAH. Aus Zahlen von 10 bis 255 wird OAH - FFH, wobei das TypByte jetzt OFH ist. Wenn Sie also beim Disassembiieren im Scanner (so ab 6966) oder im LIST auf diese Bytes stoßen, that's it. Da direkt nach der Eingabe konvertiert wird, muß da auch geprüft werden. Das ist der Grund, warum die Eingabe einer Zeile mit FC-Error quittiert werden kann. Bliebe noch die obligatorische Frage zu klären, wo man in den In­ terpreter mit eigenen Routinen ein­ steigt. Hier ist die Sache ganz einfach, da man immer im RAM ist. Man »patche« da, wo es für den je­ weiligen Fall am günstigsten ist. Die Routine, die die Tastatur ab­ fragt, startet bei 7BC8. Hauptschlei­ fe und Scanner hatten wir schon erwähnt. EVALEX auch, also: W o bleiben die interessanten Listings für das Modell 4? (P. Wollschläger/ml) Listing 7. Entry-Points zu Fehlenneidungen: Demonstration eines häufig von Microsoft gebrauchten Tricks Es darf gelacht werden N E W S OF THE WORLD vom R eporter des Satens: F.W . Softwarepiraten London: Die Polizei Londons hob ein bestens organisiertes Nest britischer Amstrad Soft­ warepiraten aus. Den alten Trick, den Anfang der kopierten Kassette mit Musik zu bespie­ len, hatte die Gang perfektioniert. Wie der Polizeichef mitteilen ließ, wurde zur Tarnung die ganze Kassette mit Musik überspielt. Raffiniert sorgte die Bande dafür, daß der Hausdurchsuchungstrupp auch keinen Compu­ ter fand. Der Prozeß findet trotzdem im Mai 1987 statt. Bis dahin bleiben die Tatverdäch­ tigten im Tower und können gegen Entgelt besichtigt werden. Prozessorwechsel bei Schneider Türkheim: Die Firma SCHNEIDER wird für ein neues Produkt dem bewährten ZSO untreu und wendet sich dem 68000 von MOTORv ROLLER zu. Eingesetzt wird der Prozessor erstmals bei einem überdachten Mofa mit Schleudersitz, Kaffeemaschine und obenlie­ gendem Handschuhfach. Der TÜV weiß gott­ sexdank noch nichts davon. Computer für Leere and Forschung Wiesbaden: Aus dem Vorhaben der hessischen Landesregierung, Universitäten mit Compu­ tern auszurüsten, wird vorerst nichts. Minis­ terpräsident Bönner weigert sich, dem Wunsch der Grünen nach einem Grünmonitor nachzu-geben. Bönner dazu wörtlich: "Ich weigere mich, dem Wunsch der Grünen nach einem Grünmonitor nachzugeben! * Wenigstens vorerst" 00 01 02 03 04 05 06 07 08 09 OA OB OC CD OE OF 5B00 5810 SB20 5B30 5B40 5B50 5B60 5B70 5BB0 5B90 5BA0 SBBO 5BC0 5BDO 5PE0 5BF0 SCOO SC10 SC20 5C30 SC40 SCSO 5C6G 5C70 sceo 5C90 SCAO 5CB0 scco SCDO SCEO 5CF0 *> *> ■> «> *> *> ■> «> *> «> c> •> «> «> -> •»> -> «> *> «> «> »> *> «> •> «> *> *> *> 93 28 BE 74 68 6F 20 65 72 74 68 6F 20 6F 66 20 20 66 75 6E 76 65 72 66 65 6D 6F 72 20 6C- 69 6E 65 73 65 72 69 70 6E 67 65 00 44 66 69 6E 69 74 6E 20 62 79 20 6C 20 64 69 72 73 6D 61 74 63 72 69 6E 67 20 67 20 74 6F 6F 67 20 66 6F 72 6D 70 6C 65 78 69 6E 73 65 00 73 65 72 20 66 52 45 53 53 4D 74 68 6F 75 74 69 6E 74 61 62 73 73 69 6E 67 6£ 6S 20 62 75 6F 77 00 3F 00 73 74 20 4E 43 43 20 77 69 74 45 4E 44 20 77 «> 45 00 46 49 45 *> 00 49 6£ 74 65 9E 77 61 77 74 6C 4F 6D 2B 69 78 69 2B 6C 71 AF 75 74 20 46 72 6F 72 00 75 74 20 47 29 OO 4E 45 58 54 20 4F 52 GO 53 .79 6E 74 52 45 54 55 52 4E 20 4F S3 55 42 00 4F 75 44 41 54 41 OO 49 6C 6C 65 67 61 63 74 69 6F 6£ 20 63 61 6C 6C 00 6C 6F 77 OO 4F 75 74 20 6F 66 20 79 OO 55 6E 64 65 66 69 6E 65 64 20 6E 75 6C 62 65 72 00 53 75 62 74 20 6P 75 74 20 6F 66 20 72 61 75 70 6C 69 63 61 74 65 20 44 '63 69 6F 6E OO 44 69 76 69 73 69 6F 7A 65 72 6F 00 49 6C 6C 65 67 61 65 63 74 00 54 79 70 65 20 6D 69 69 OO 4F 75 74 2G 6F 66 20 73 74 73 70 61 63 65 00 53 74 72 69 6E 20 6C 6F 6E 67 00 53 74 72 69 6E 6D 75 6C 61 20 74 6F 6F 20 63 6F 00 43 61 6E 27 74 20 63 6F 6E 74 53 6E 64 65 66 69 6E 65 64 20 75 75 6£ 63 74 69 6F 6£ 00 4E 6F 20 43 00 52 45 53 55 4D 45 20 77 69 20 65 72 72 6F 72 00 55 &E 70 72 6C 65 20 65 72 72 6F 72 OC 4i> 69 20 6F 70 65 72 61 6E 64 00 4C 69 66 66 65 72 20 6F 76 65 72 66 6C 3F 00 46 4F 52 20 57 69 74 68 6F 38 54 00 3F 00 3F 00 57 48 49 4C 68 6F 75 74 20 57 45 4E 44 00 37 69 74 68 6F 75 74 20 37 46 49 4C 4C 44 20 6F 76 65 72 66 6C 6F 77 72 6E 61 6C 20 65 72 72 6F 72 00 ».NEXT without FOR.Synt ax e r ro r. RETURN without GOSUB.Ou t of DATA. I l l eg* 1 function c e l l . Overflow.Out of «einer y. Undef tned lin e number. Sub s crip t out of r* nge.Duplicate De f in i tion .D i vi s ie n by l e r o . I l l ega 1 direct.Type mi «match.Out of st rin g «pace.S trin g too long.Strin u formula too co mplex.Can’ t cont inue.Undefined u «e r fu n ction .No RESUME.RESUME wi thout error.Unpr in ta b le error.Mi **inq operand.Li ne bu ffer o verfl ow.7 .7 .FOR Witho Ut NEXT.?.? . WHIL E without WEND.W END without WHIL E.FIELD overflow .In tern al erro r. Volkszählung verschoben Listing 8. Viele Fehler­ meldungen werden nach direktem Zugriff auf diese Tabelle ausgegeben bei Sclbstprogrammicrern wirksam werden zu können, wird das Jugendamt in Zusammenar­ beit mit dem Gesundheitsamt in Zukunft Hauskontrollen durchführen. In Eigenarbeit programmierte Spiele, die nicht dem Jugend­ schutz genügen, werden dann ersatzlos ein­ gezogen. Dem ertappten Sünder wird ein Strafvortrag über Zahnpflege und Fußpilz durch Turnschuhe gehalten. « Grucdstücksschwindel aufgedeckt. Frankfurt Die nächste Frankfurter Computerroesse ist für das Frühjahr 1986 geplant. Die Messeleitung korrigiert den bei einigen dies­ jährigen Besuchern entstandenen Eindruck, sie seien Besitzer eines Grundstücks. Der enorme Preis für einen Parkplatz sei, so erklärte seitens der Messelekung Herr R. Affke, die ortsübliche Parkgebühr, nicht etwa der Kauf­ preis. 7Zot St . von F. W. J. Därniei fragt Ich würde mir gerne eine Floppy kaufen, aber dann wäre ja das Cassettengerät am 464 nutz­ los. Soll ich nicht lieber gegen einen 664 U m ­ tauschen. F.W. antwortet Das Cassettendeck ist auch nach der Anschaf­ fung der Floppy nicht nutzlos. Es eignet sich hervorragend als Staubschutzhülle einer Cas­ sette. Zudem wird der Platz als Abstellfläche der Kaffeetasse benötigt B. Lödsinn fragt Daß LOGO von Schneider ßoll von 5CKNEIDERN-AKTIV nicht mehr benutzt werden. Nun Stellt dieß aber doch lediglich ein "ß" dar. Heißt daß jetzt, daß ein *ß* nicht mehr benutzt werden darf? ßieherheitßhalber Eabe ich mal meinen Brief mit dem Doppel-Ö geßchrieben, man kann ja nie wißßen. Oder hat ßich daß *ß" etwa auch Öchon eine Firma alß LOGO gekrallt? Bonn: Die schon einmal verlegte Volkszählung wird erneut um unbestimmte Zeit verschoben, da die nötige Computerkapazität momentan nicht zur Verfügung steht. Wie es heißt, erfordere ein von den Angestellten zwischen­ zeitlich installiertes Adventure-Garae mehr Zeit zur Lösung als geplant. F.W. antwortet Leider, leider erwurten wir den Einßpruch Jugendschutz bei Videospielen von Uturi, bezüglich deß "U* uus UTURI. Denken ßie bitte in Zukunft un die Möglich­ keit einer Kluge, wenn ßie Ihre Briefe ♦Bonn: Einige Videospiele wurden aufgrund ihrer Gewaltverherrlichung indiziert. Um auch ubfußßen. Vielen Dunk. SMARTSCREEN, SMARTKEY und SMARTPRINT: nützliche Utilities — oder Spielerei? A uch den neueren Versionen des stem es, C P /M 2.2und sogar C P /M 3.0, sieht man noch an, daß es seine Wurzeln in d er Zeit der Com puter-Veteranen hat. D ie Ein- und A usgabe ist zeilenorientiert — schließlich stcinden damals nur Lochstreifenleser und -Stanzer (daher d ie und »puncher«-Routinen im BIOS) sow ie Fem schreibterm inals zur Verfügung. M it zunehm ender Bild 1. Speicherverteilung bei ei­ Verbreitung der Bildschirmsichtgeräte wurden die­ nem 64k-CP/M-System m it se auch für den Personal Com puter interessant. SMARTSCREEN: S teigende Integrationsdichte und der Verfall der Preise für integrierte Schaltungen sorg­ ten bald dafür, daß Bildschirmsicht­ geräte mit erheblicher Intelligenz ausgestattet wurden. Heute führt meist ein eigen er Mikroprozessor Befehle w ie »Bildschirm löschen«, »Loschen von Cursor bis Zeilenen­ de*, »Löschen von Cursor bis Bild­ ende«, »Einfügen einer Leerzeile«, »Ausfügen einer Zeile«, und so wei­ ter aus Damit waren die Vorausset­ zungen geschaffen für bildschirm­ orientierte Editoren, Datenbanksy­ steme mit Bildschirmmasken und nicht zu vergessen die Computer­ spiele sowie viele andere Anwen­ dungen. Doch damit tauchte be­ reits ein neues Problem auf, denn die Hersteller (d er Terminals) hat­ ten sich, wie so oft in der Vergan­ genheit, nicht auf einen Standard geeinigt. Daher können verschie­ dene Terminals nicht nur verschie­ dene Funktionen ausführen, oftmals verwenden verschiedene Termi­ nals für eine identische Funktion verschiedene Steuercodes. Beispiel: Direkte Cursoradressierung. Steuercode Terminal (ESC) = (Zeile)(Spalte) Lear Siegler AD M 3/5/31, Soroc IQ 120, 4 5 Televideo 912-950, NEC, Osborne I. steuert. Dadurch, daß SMART­ SCREEN direkt unter dem CCP liegt und auch den BDOS-Sprung bei Adresse 0005H verändert, bleibt SMARTSCREEN auch beim Warm-Boot im Speicher aktiv und muß daher nicht vor jedem Pro­ gramm neu geladen werden. Das hat jedoch zur Folge, daß der Spei­ cherplatz, der vom CC P und von SMARTSCREEN belegt wird, nicht dem Anwenderprogramm zur Ver­ fügung steht. Der Verlust beträgt 2,75 KByte Speicherplatz. Das »virtuelle« ADM-3A-Terminal erkennt folgende Steuercodes: !K, (VT), OBH: Cursor 1 Pos. nach oben !J, (LF), OAH: Cursor 1Pos. nach un­ ten 1H, (BS), 08H: Cursor 1 Pos. nach Bildschirmorientiert arbeitende Programme müssen daher in der links Regel (meist vom Anw ender) an 1L, (FT), OCH: Cursor 1 Pos. nach das eigen e Terminal angepaßt rechts werden. Um diesem Umstand wei­ tt, (RS), 1EH: Cursor in Zeile 1, testgehend abzuhelfen, wurde von Spalte 1 FBN Software das Programm IZ, (SUB), IAH: Cursor in Zeile 1, SMARTSCREEN entwickelt. Dieses Spalte 1 und Bildschirm löschen Programm lädt sich direkt unter !M, (CR), ODH: Cursor an den Zei­ den CP/M Console Command Pro­ lenanfang cessor (CCP) und verändert die IG, (BEL), 07H: Bell (Klingel) Zur Cursor-Adressierung benutzt Bios-Sprungtabelle so, daß bei der Ausgabe über die Console das ADM -3A-Terminal folgende (Bildschirm) zunächst die jew ei­ Sequenz: (ESC)- in HEX: 1BH, ligen Übersetzungsroutinen in 3DH, gefolgt von der Zeilen- und SMARTSCREEN angesprungen Spaltenadresse. Die Adresse ist in werden, die dann den ADM-3A-Co- HEX, begonnen wird in Zeile 1, de in den terminalspezifischen Co­ Spalte 1 mit 20H, 20H. Zeile 1, Spal­ de übersetzen. Damit sieht es für te 2 wäre also 20H, 21H. W ie nicht anders zu erwarten, ein Anwenderprogramm so aus, als würde ein ADM-3A-Termina! ange­ muß man SMARTSCREEN vor der (ESC)Y(Zeile)(Spalte) Heath/Zemth 19, DEC VT 52, ADDS, IBM 3101, Intertube, Superbrain, Teleray (DC4)(Zeile)(Spalte) A C T IV/V (RS)(Zeile)(Spalte) Datamedia (ESC)(Zeile)(Spalte)( Dynabyte 57 (ESC )&a(Zeile) HP 2621 (Spalte)C (ESC)f£palte)(Zeile) Info-10 (ESC)Y (Zeile) (ESC)X Perkm Eimer (Spalte) Tabelle 1. Beispiele der Cursor­ steuerung verschiedener Termi­ nals ersten Benutzung an das eigene Terminal anpassen. Das geschieht mit dem mitgelieferten Programm SMSPATCH. Für eine Anzahl von Terminals kann SMSPATCH die notwendigen Änderungen in SMARTSCREEN selbst durchfüh­ ren. Dies sind: Microterm A C T IV/ACT V, DEC VT-52. Heath/Zenith H19/Z19, A N ­ SI X3 standard, ADDS Viewpoint, Hazeltine 1500, HP 2621, TRS-80 (P&T), IBM 3101, NEC, Vector Gra­ phic und Superbram. Für alle anderen Terminals ist ei­ ne spezielle Anpassung notwendig, die aber mit dem SMSPATCH keine Schwierigkeiten macht. SMSPATCH fragt nach der maxi­ malen Spalten- und Zeilenanzahl. Bei der Cursoradressierung ist beispielsweise folgende Form vor­ gegeben. (stringl) (Adresse 1) (stnng2) (Adresse 2) (string3), wobei jeder string aus einer Folge von 0 bis 9 Zeichen bestehen kann. Es kann wahlweise als erste Adresse die Zeilen- oder Spaltenadresse gesendet werden. Der Zeilen- und Spaltenoffset kann ebenfalls g e ­ trennt eingegeben werden. Bei­ spiel für eine selektierte CursorAdressierungs-Sequenz: (ESC)Y (Spalte+ 20H) (Zeile+ 20H). In entsprechender W eise w er­ den die notwendigen Steuerzei­ chen für Bell (Klingel), Cursor 1 Pos. nach links, Cursor 1 Pos. nach unten, Cursor 1 Pos. nach oben, Cursor 1 Pos. nach rechts, Cursor an Zeilenanfang, Cursor Home und Bildschirm löschen eingegeben. Die Eingaben können dezimal, he­ xadezimal oder direkt, als Tasten­ druck, erfolgen Da nach Aktivieren von SMARTSCREEN das Programm nicht nur sich selbst, sondern auch den CCP im Speicher vor Über­ schreiben schützt, ist es nicht mehr notwendig, beim Warmboot den CC P von der Diskette zu laden. Auch das kann man bei der Pro­ grammanpassung durch SMS PATCH vorgeben. Bei einigen Computern wird es sogar notwen­ dig sein, ein Nachladen des Sy­ stems zu unterbmden. W ird näm­ lich beim Warmboot auch das BIOS neu geladen (wie beim Super­ bram), bleibt SMARTSCREEN ohne diese Vorsichtsmaßnahme natür­ lich nicht im Speicher. Nachdem SMARTSCREEN ange­ paßt ist, kann man die Anpassung mit dem ebenfalls mitgelieferten Programm SMSTEST testen. SMSTEST erstellt mit Hilfe der ADM-3A Steuercodes Testbilder, die mit den schriftlichen Beschrei­ bungen beziehungsweise mit den Abbildungen im Manual überein­ stimmen müssen. Hier fehlt aller­ dings der Hinweis darauf, daß das Testprogramm nur für ein Terminal mit 80 Zeichen pro Zeile und 24 Zei­ len geeignet ist. Bei anderen Bild­ schirmformaten sind die Angaben nicht mehr korrekt. Bei der Benut­ zung arbeitet SMARTSCREEN so, wie man es von ihm erwartet. Die für ADM-3 adaptierte Version eines bildschirmorientierten Editor funk­ tionierte einwandfrei. Einen Nach­ teil sollte man aber nicht ver­ schweigen: Das ADM-3-Terminal kennt nur wenige und nicht sehr lei­ stungsfähige Kommandos. Die mei­ sten neueren Terminals können b e­ reits selbständig Zeilen ein- und ausfügen und andere leistungsfähi­ g e re Befehle ausführen. Die mei­ sten Programme (wie Wordstar) kennen diese Befehle ebenfalls und können sie mitbenutzen. Der Geschwindigkeitsvorteil, gerade bei seriell angeschlossenen Termi­ nals ist beträchtlich. Die meisten kommerziellen Programme lassen sich außerdem auch an eine große Anzahl weiterer Terminals anpas­ sen, notfalls sogar im Dialog, Kom­ mando für Kommando. Auch Anpassung an Tastatur und Drucker möglich W er diesen (geringen) Aufwand scheut, eine größere Anzahl bildschirmorientierter Programme hat, oder wer gar Programme hat oder benötigt, die sich nicht anpassen lassen und die für das ADM-3ATerminal ausgelegt sind, für den kann und wird sich dieses Pro­ gramm lohnen. Einen ähnlichen Zweck wie SMARTSCREEN verfolgen auch die Programme SMARTKEY und SMARTPRINT. Der Unterschied ist, daß sie nicht die Funktion eines »virtuellen« Terminals, sondern die einer »virtuellen« Tastatur bezie­ hungsweise eines »virtuellen« Druckers haben. W er hat nicht ei­ ne Tastatur, auf der es einige von CP/M nicht, oder falsch genutzte Funktionen gibt? Oder eine Tasta­ tur, die keinen Standard-ASCII-Cod e ausgibt? Diese Probleme kann (in den meisten Fällen) SMARTKEY lösen. SMARTKEY funktioniert ähn­ lich wie SMARTSCREEN. Einmal aktiviert, liegt es unterhalb des C C P und fängt die Eingaben über die Tastatur ab, übersetzt sie so, wie vom Benutzer gewünscht und leitet sie weiter. Hiermit lassen sich nicht nur Tasten umdefmieren (man denke nur an die Verwechslung von »Z« und »Y« bei vielen Tastatu­ ren), oder allen Tasten neue Codes zuordnen, sondern es lassen sich einer Taste ganze Strings, wie zum Beispiel »DIR(CR)« zuordnen« Ist das Programm erst einmal aktiv, können die Zuordnungen ständig verändert werden. Das geschieht durch Eingabe eines bestimmten Controll-characters (normalerwei­ se (ESC), läßt sich aber verändern). Damit gelangt man in den SMART­ KEY-Input-Modus. Nun betätigt man die Taste, die umdefiniert wer­ den soll und gibt anschließend den zuzuordnenden String em, abge­ schlossen mit einem weiteren (ESC). Die neue Zuordnung wird in ei­ ner Tabelle innerhalb des SMARTKEY-Programmes gespeichert und wird ab sofort berücksichtigt. Beispiel. »ID« soll durch »DIR (CR)« ersetzt werden. Eingabe: (ESC)ID DIR(CR)(ESC) (Das Blank nach dem ersten D wird automatisch von SMARTKEY er­ zeugt) Wird hiernach tD betätigt, so erscheint nicht ID, sondern DIR auf dem Bildschirm und der Befehl wird durch das folgende (CR) aus­ geführt. Um diese Zuordnung wie­ der rückgängig zu machen, muß man nur (£SC)!D (ESC) emgeben, dann wird wieder der Origmalco­ de ausgegeben. Die weitergehende Verwaltung der Zuordnungstabellen und des Programmes SMARTKEY ge­ schieht durch das Programm FIX­ KEY. Ist SMARTKEY aktiv und man startet FIXKEY so erscheint folgen­ des Menü: COMMAND MENU 0 Exit to CP/M 1 Pack and Save current definitions 2 Load a definition file 3 List contents of a definition file 4 List current definitions 5 Clear current definitions 6 Alter Escape character 7 Terminate SMARTKEY Dadurch ist es auch möglich, die Zuordnungstabellen auf Diskette abzuspeichem und später direkt als Tabelle zu laden. So kann man mehrere Übersetzungstabellen abspeichem und jeweils die benötig­ te laden. SMARTPRINT hat eine entspre­ chende Übersetzerfunktion für die Ausgabe über die »List«-BIOS-Routine. Hier hat man ebenfalls die Möglichkeit, Drucker, die nicht ASClI-Code-kompatibel (zum Bei­ spiel alte Femschreib-Druckwerke) sind, entsprechend anzupas­ sen. Die Generierung der Zuord- HER IE Harz 1986 HE 4 1 — kann der Autostart von Power In dem letzten Beispiel wird noch Den großen Pluspunkt stellt jedoch ein Menüsystem dar, daß das A r­ einmal die Frage gestellt, ob ko­ nach Lauf eines (Transient (P ro ­ gramm (A)rea Programms an und beiten mit diesem Programm zu e i­ piert oder transferiert werden soll. Die Handhabung dieser Pro­ ausgeschaltet werden ner wahren Freude für eilige Be­ Der Unterschied besteht darin, daß gramme wird erst dann kompli­ nutzer mächt. Anstelle von achtstel­ "M " nur den Namen in das jeweili­ — es können bestimmte Attribute ziert, wenn man mehrere dieser ligen Programmnamen wird die g e »DIRECTORY« einträgt, die Da­ bei Systemprogrammen (R/W, Utilities gleichzeitig benutzen muß. Eingabe von nur ein, zw ei oder tei aber nicht kopiert wird. Bei ei­ R/0, SYS, DIR) gesetzt werden. Beispielsweise SMARTSCREEN Etliche weitere Hinweise zum höchstenfalls drei Ziffern benötigt. ner Kopie würde die gesamte Datei und SMARTKEY. Dann ist es wich­ »Zuschneidern« des Programms auf So wird zum Beispiel ein einfaches, auf der Diskette dupliziert werden! tig, das Programm, welches länger selektiertes Kopieren möglich, oh­ Das U hinter »DIR« ist der C ode für persönliche Wünsche findet m a»in aktiv bleiben soll, zuerst zu starten. ne wie bereits gesagt, lange Buch­ die Darstellung aller Benutzerbe­ dem recht guten und umfangrei­ stabenkolonnen eintippen zu müs­ reichseinträge in das »DIRECTO­ chen (etwa 123 Seiten) Handbuch Bleibt noch anzumerken, daß sen, das gleiche gilt für den Lösch­ RY«. Durch Hinzufügen eines X (Kapitel Anpassung * Customiza­ SMARTSCREEN, SMARTKEY und vorgang, das Ausdrucken von Da­ können auch die Benutzerbereiche tion), das mit dem Programm gelie­ SMARTPRINT zur Zeit mcht unter teien auf dem Bildschirm, wobei auf anderen, bis dahin angespro­ fert wird. Dort findet man auch die einzelne Dateien nur angedruckt chenen Disketten-Laufwerken an­ Erklärung eines Hüfsprogramms, werden können und nach Eingabe gezeigt werden. Da es für die mei­ das im Lieferumfang von Power eines 1 Ks (dieses Zeichen kann sten Befehle Schlüssel dieser Art enthalten ist — PWRETOOL. Mit auf ein gewünschtes geändert gibt, ergeben sich mehr als »nur« Hilfe dieses Programms ist es mög­ werden), die nächste aufgerufen die oben erwähnten 55 Befehle. Zu­ lich, die Befehle umzubenennen, wird. Es gilt weiterhin für den Ver­ sätzlich zu diesen gibt es noch eine sie als Funktion zu streichen oder Eigentlich wäre dieser Ausdruck falsch, denn dieses Programm ist in Richtung gleich mehrerer Dateien, Neube­ Datei, die die Programmsteuerung sie mit einem Schlüsselwort zu b e­ Benutzer dem CP/M vorgeschaltet, aber w a s die verstärkende W irkung des nennung von Dateien, Kennzeich­ übernimmt. Der Inhalt kann mit ei­ legen. Zum Beispiel ERA wird in nen von Bits in Dateinamen zum se­ nem »LOG«-Befehl sichtbar g e ­ LÖSCHEN umbenannt und mit ei­ Nachbrenners betrifft, ist er richtig. D ie Sammlung von Dienstroutinen über­ macht werden. Die in dieser Datei nem Schlüsselwort versehen. Nun lektierten Kopieren, Schreibschutz nimmt d ie Programmsteuerung durch ein numeriertes Directory. Sie eignet vorhandenen Parameter kann man kann nur derjenige ein Programm von Dateien, Ausschließen von der sich für alle »täglichen« Gegebenheiten. D ie — laut Handbuch — 55 Befehle immer ändern, wenn das Power- oder eine Datei löschen, der im Be­ Darstellung von Dateinamen beim Zeichen vorhanden ist (A 0 -): »DIR«-Befehl, Größenfeststellung sitz dieses Wortes ist. werden hier zusammenfassend besprechen. — so kann hier bestimmt werden, von Dateien, Transfer zwischen Besonders viel Interesse dürfte ob beim Kopieren die auf dem Ziel­ verschiedenen Benutzernummem. die genaue Erklärung, wie man ei­ ie zuvor angeführten G ege­ f) Gruppendaten auf dem Bild­ hafte Sektoren, Reparieren dieser In Bild 1 sehen Sie ein Beispiel die­ laufwerk vorhandene Datei auf den ne zerstörte Diskette (BAD SEC­ benheiten kann man in fünf schirm anzeigen (in ASCII und Stelle(n) oder Ablegen in einer Typ .BAK umbenannt, überschrie­ TOR Meldung) w ieder brauchbar ser Menüarchitektur. Sammeldatei, um sie von d er Be­ HEX) Gruppen einteilen: ben oder übersprungen werden macht, finden. Auch Tips, wie man Der Programmname XDIR.COM g ) Gruppendaten in den Speicher nutzung auszuschließen 1. Datei- und Directoryaktivitäten soll oder die Abfrage der genann­ Daten nach einem Systemcrash ret­ ist mit einem Stern versehen. Dies Zu diesen Punkten kommen noch 2. Diskmanipulationen und Repara­ lesen und auf die Disk schreiben kennzeichnet eine »nur lese«-Datei. ten Möglichkeiten in dem Fall ten, Dateien für ein schnelleres La­ h) Sektor- und Spurdaten auf dem zwei weitere hinzu. So gibt es für turen Nun noch ein Beispiel für eine selbst durchgeführt werden soll Bildschirm anzeigen (in ASCII und den Umgang mit POWER noch den neu organisiert und wie man 3. Programmschutz Übertragung von einem Benutzer­ — in w ieviele Spalten seitenweise a) HELP (Ausdruck von POWERProgramme modifizieren kann, fin­ HEX) 4. Debug-Arbeiten umgeblättert wird bereich in einen anderen. Mit dem i) Sektor- und Spurdaten in den Befehlen) det man im Anhang. 5. Diskettentest Befehl XUSER wird d er Transfer in — ob Original und Backup nach Zum Punkt Datei und Directory­ Speicher lesen und auf die Disk b) EXIT (Rückkehr zu CP/M) Dieses Programm lief auf einem c) LOG (Programmparameter) dem Kopieren markiert werden einen anderen Bereich eingeleitet aktivitäten w erden folgende Funk­ schreiben CP/M-System Version 2.2 einwand­ (Bild 2). sollen j) Programme und Daten von der d) SPEED (Geschwindigkeit, mit tionen ausgeführt: frei, auf einem System mit Version Disk lesen und auf dem Bildschirm der Daten auf dem Bildschirm »ge­ a) Umbenennen 1.41 (Icom-Floppy-Disk-System) er­ blättert werden) anzeigen (in ASCII und HEX) b ) Löschen folgte die Fehlermeldung, daß eine A > P O W E R Vier weitere (USER1 bis USER4) c) W iederherstellen dieser ge ­ k) Markieren von Dateinamen zum spätere CP/M-Version vonnöten 1 . Beispiel zum gemeinsamen Kopie­ sind vorbereitet, aber noch nicht löschten Dateien P O W E R 3 .0 3o nC P / M 2 .2 sei. Das Handbuch ist leider in Eng­ belegt. Hier können Benutzerwün­ ren (ohne Uml^enennung) d) Größe von Dateien feststellen lisch, das einigen nicht so perfekt l) Sortieren des »DIRECTORIES« sche verwirklicht werden. e ) Vergleichen C o p y r ig h t< c )1 9 8 1 , 1 9 8 2b yP A V E LB R E D E R »Computerenglisch« sprechenden Der Umfang der obigen Samm­ f) Kopieren zwischen verschiede­ nach bestimmten Kriterien A ll r ig h tsr e s e r v e d .0 1 / 0 3 / 8 3 Lesern einiges Kopfzerbrechen be­ lung zeigt, daß sich hier mehrere nen Laufwerken Zu Punkt 3 — Dateischutz: reiten wird. Störend wirkt sich auch A O = D I R g) Kopieren zwischen Usemum- a) Bestimmen von Dateien, die nur Programme, die sonst einzeln auf­ A O : 1 «P O W E R .C *R O M 12 E S O U R C E .C O M 13 *S D I R .C O M das Fehlen einer Bildschirmsteue­ gerufen werden mußten, alle unter m em mit Schlüsselworten bearbeitet «S A O : 4 U R V E Y .C O M 15 *S W E E P 3 7.C O M I 6 *S P O O L .C O M rung aus. So werden zum Teil glei­ einem »Hut« befinden. Dies erleich­ h) Schreibschutz setzen für Dateien werden können che Informationen über den Bild­ A O : 5 *X O I R .C O M * i) Aufheben des Schreibschutzes b) Dateien als »nur zu lesen« kenn­ tert beträchtlich die Arbeit. Man schirm geschoben, anstatt nur die muß sich nur auf die Einarbeitung j) Dateinamen als systemeigen er­ zeichnen sich ändernden Daten neu abzubil­ A O X U S E R3 in ein Programm konzentrieren. So klären (nicht sichtbar mit »DIR«) c ) Lesen und Schreiben erlauben den. A 0 3 » C 0 P Y gibt es zum Beispiel für die »wilden k) Systemprogrammschutz aufheZu Punkt 4 — Debug-Arbeiten: A O 1 *P O W E R .C O M 12 «R E S O U R C E .C O M 13 *S D I R .C O M Dieses umfangreiche Programm Karten« unter CP/M eine verein­ ben A O 4 «S U R V E Y .C * S W E E P 3 7 .C a) Speicherinhalt anzeigen und er­ fachte Sequenz, statt *.* ist es mög­ O M 15 O M 16 «S P O O L .C O M ist leicht bedienbar. Es eignet sich 1) Starten von Programmen A O 9 *X D I R .C O M * daher (bis auf Einschränkungen — m) Starten von bestimmten Spei­ setzen (in HEX, ASCII, BINÄR) lich, nur ** einzugeben, was eine s ilc c t? 6 siehe vorhergehenden Abschnitt) b) Speicherbereiche vergleichen Erleichterung gegenüber der Ein­ cherbereichen für den kommerziellen Einsatz, auf n) Emloggen von Disketten (Reset) c ) Speicher »dumpen« gabe »Shift Stern-Punkt-Shift-Stern« A d e * t i n a t i o n d r i v e: den es gut zugeschnitten werden Zu Punkt 2 — Diskmanipulationen d ) Speicher mit einem bestimmten darstellt. Einige Befehle sind auch ( C lo p yo r* M ) o v e :M kann. A b er auch d er Hobbyist, Byte füllen A O ::» schon durch CP/M und dessen A :S P O O L .C O M und Reparaturen: dem es in erster Linie auf Pro­ e ) Speicherzonen verschieben Dienstprogramme bekannt, jedoch a) Laden von Dateien grammabarbeitung und weniger f) Bytemuster im Speicher suchen A O « D I RC U 3 wurden sie aus dem Verband b) W egschreiben von Dateien g ) Ausführen von im Speicher be­ (STAT - hier die Befehle DISK, A O 1 «P O W E R .C «R E S O U R C E O M 12 .C O M 13 «S D I R .C O M um Betriebssysteminteresse geht, c) Laufwerkstatistiken A O 4 «S U R V E Y .C «S W E E P 3 7.C O M 15 O M 16 «S P O O L .C O M ist mit dieser Vielfalt von Hilfsprofindlichen Maschinencoderoutinen SETDIR, SETSYS, SETRO, SETWR, d) Laufwerkstest A O 7 «X D I R .C O M « grammen sicher gut bedient. SIZE, STAT oder PIP - C O PY) her­ e ) CP/M-Gruppen listen für eine Zu Punkt 5 — Diskettentest: nungstabellen geschieht genauso wie b ei SMARTKEY. Man kann SM ARTPRINT auch dazu benutzen, vom Drucker nicht druckbare Zei­ chen in äquivalente umzusetzen. Kann ein Drucker beispielsweise die Zeichen »{« und »)« nicht drucken, so kann man sie mit SM ARTPRINT durch ».LT.« bezie­ hungsweise »GT« ersetzen lassen. Die Verwaltung d er Zuordnungsta­ bellen und des Programmes erfolgt ebenfalls durch FIXKEY. Man kann also auch hier d ie Zuordnungsta­ bellen permanent auf Diskette spei­ chern. CP/M 3.0 und unter Microshell lauffähig sind. Die in Deutschland ausgeliefer­ ten Handbücher sind in englischer Sprache und dem Programm durchaus angemessen. Nachteilig fiel nur auf, daß die Handbücher nicht auf einem Standard-ASCIIDrucker erstellt wurden. Dadurch sind an Stelle der eckigen Klam­ mem beispielsweise deutsche Um­ laute abgedruckt, was manchmal etwas verwirrte. (Andreas W alter) POW ER — ein Nachbrenner für CP/M D Büd Beispiel für die M enüarchitektur Büd 2. Beispiel für eine Übertragung m it dem Befehl XUSER Datei a) Testen der Diskette auf fehler­ ausgelöst und einzeln verwendet. A 3 1 «S P O O L .C O M (Axel Pohl) 4 g DISK DOCTOR E s komm t alle Nase lang vor, daß man irrtümlich die falsche Datei löscht. »ERA*.BAK« ist ein Beispiel, das wohl jed er CP/M-Benutzer kennt. Bem erkt man den Irrtum sofort nach Ausführung d es Befehls, dann kann D isk Doctor das Inhaltsver­ zeichnis (Directory) der Diskette so verändern, daß d ie Datei dem Benutzer w ieder vollständig zugäng­ lich gem acht wird. Es sollte jedoch bereits an dieser Stelle bem erkt werden, daß durch den Gebrauch von D isk Doctor unter Umständen m ehr kaputt gem acht als repariert wird. D 4 S isk Doctor bietet auch für den Fall Hüfestellung, daß man das Löschen erst später b e­ merkt. ln diesem Fall ist es jedoch nicht immer möglich, die ganze Da­ tei zu retten. (Die Gründe hierfür liegen beim CP/M-Betriebssystem. Eme Erklärung würde an dieser Stelle zu weit führen. Man kann sie im Disk-Doctor-Handbuch nach­ schlagen.) In Disk Doctor ist ein »DIR«-ähnlicher Befehl vorhanden, mit dem auch gelöschte Dateien an­ gezeigt werden können. Anhand dieser Liste kann man sich dann die »hervorzaubemswerten« Datei­ en aussuchen. Ein anderes Anwen­ dungsgebiet liegt bei defekten Dis­ ketten. Hier sind mehrere Fälle zu unterscheiden, die alle von Disk Doctor abgedeckt werden: — Defekte Sektoren im Directory. Sämtlicher Zugriff auf Dateien wird hierdurch unmöglich gemacht. Disk Doctor kann nun ganze Disket­ ten kopieren, indem einfach Sektor für Sektor kopiert wird. Die defek­ ten Sektoren der zu kopierenden Diskette werden beim Kopieren einfach übersprungen. — Defekte Sektoren in Dateien. Auch hier kann wieder die gesam­ te Diskette kopiert werden. M ei­ stens reicht es jedoch aus, die noch lesbaren Sektoren einer Datei auf em e andere Diskette zu kopieren. Auch hierfür steht eine Routine von Disk Doctor bereit. — Defekte Sektoren in Bereichen, die keiner Datei zugeordnet sind. Beim Anlegen der nächsten Datei könnte ein Fehler gemeldet wer­ den. Disk Doctor durchsucht die ganze Diskette nach defekten Sek­ toren und erzeugt dann eine Datei, in d er diese Sektoren sozusagen gesammelt werden. Falls der Be­ nutzer nun eine neue Date? anlegt, werden die defekten Sektoren von CP/M automatisch übersprungen. In diesem Fall geht kein Byte an In­ formation verloren. Disk Doctor ist auf verschiede­ nen 5,25-Zoll-Diskettenformaten und auch auf 8-Zoll-SS-SD-Format erhältlich. Das Handbuch ist hervorragend — aber nicht aktuell Das 20seitige englische Hand­ buch ist — von wenigen sachlichen Fehlem und Schönheitsfehlern ab­ gesehen — hervorragend. Nach ei­ ner kleinen Einführung wird die Art, wie das CP/M-Betriebssystem Dateien und Directory handhabt, ausführlich beschrieben. Ab er das kann man von der Dokumentation eines Diskettenreparier-Programmes ja wohl erwarten. Anschlie­ ßend wird das Installieren von Disk Doctor auf das Diskettenformat des Benutzers beschrieben (ein Relikt aus den Zeiten der CP/M-Version 1.4.). Die folgenden Kapitel b e­ schreiben den Aufruf von Disk Doctor und das Arbeiten mit den fünf Routinen des Disk Doctors (g e ­ nannt »Ward A « bis »Ward E«, siehe »Anwendungsbereiche«). In diesen Kapiteln wird dem Benutzer auch ein tiefergehender Einblick in die Arbeitsweise des CP/M-Betriebssystems gegeben, zumindest was das Verhalten von CP/M im Falle eines Diskettenfehlers betrifft. Nun zu den Schönheitsfehlern: Die sonst übliche Liste von Dateien auf der »Distribution-Diskette« fehlt. Man muß sich die Dateinamen aus dem Kapitel »Installation« heraussu­ chen. Aber auch diese Liste ist nicht komplett. In einer Datei na­ mens READ.ME wird erläutert, daß man das Installieren von Disk Doc­ tor auch einem Programm namens INSTALL2.COM (ebenfalls auf der Diskette) überlassen • kann. INSTALL2 sucht sich dann die not­ wendigen Installationsparameter (Anzahl Sektoren je Track, Anzahl Tracks je Diskette) aus den ohnehin schon in CP/M 2.2 vorhandenen Tabellen heraus. Ferner stehen das Programm HELP.COM und die Datei HELP auf der Diskette. Beide Dateien stellen praktisch ein gekürztes Handbuch auf Diskette dar. (Die Ausgabegeschwindigkeit von HELP.COM ist so gewählt, daß ein altersschwacher Fernschreiber keine Probleme beim Mitprotokol­ lieren bekommt.) Von diesen Datei­ en steht im Handbuch kein Wort. Mit anderen Worten: Das Hand­ buch ist seit einiger Zeit nicht mehr überarbeitet worden. Die gravierendste Unannehm­ lichkeit sei zuerst genannt: Besitzt man nur ein einziges Diskettenlauf­ werk, dann sollte man sich den Disk Doctor erst gar nicht kaufen. Selbst für das Installieren werden zwei Laufwerke benötigt. Abhilfe könnte allerdings ein (irgendwie zu beschaffendes) Programm schaf­ fen, das es gestattet, ein einziges Laufwerk so zu verwenden, als hät­ te man zwei oder vier (man wird da­ durch im wahrsten Sinne des W o r­ tes zum Disk-Jockey). Em anderer W eg, Disk Doctor mit nur einem Laufwerk zum Laufen zu bringen, besteht darin, im Programmcode herumzufummeln. In diesen Fällen lohnt sich vielleicht der Kauf von Disk Doctor doch noch. Ein weiterer Kritikpunkt ist die Notwendigkeit, Disk Doctor über­ haupt zu installieren. In einem An­ hang werden die Parameter für die wichtigsten Formate angegeben. Trotzdem kann der Benutzer Fehler machen, wenn er nicht INSTALL2 verwendet. Außerdem ist man ir­ gendwie auf halbem W e g stehen­ geblieben: Der Installierungsteil hätte genausogut in DOCTOR.COM eingebaut werden können. (Vor d er Verwendung des Formates 8 Zoll, 512-Byte-Sektoren sollte man sich hüten. In diesem Fall meint Disk Doctor, die Diskette habe nur 76 statt 77 Tracks. Der Fehler tritt auch bei Verwendung von INSTALL 2.CO M auf.) Die Behauptung, CP/M speiche­ re die Directory-Einträge einer Da­ tei immer in aufsteigender Reihen­ folge ab (siehe Handbuch, letzter Abschnitt Seite 14), ist schlicht w eg falsch. Dies ist zwar normalerweise d er Fall, es gibt allerdings auch Ausnahmen. (Löschen einer Datei von einem Texteditor aus, während man eine andere Datei bearbeitet.) Diesem Irrtum sind aber auch schon andere Utüities zum Opfer gefallen, hauptsächlich DirectorySortierprogramme. Infolgedessen verw eigert Disk Doctor unter Um­ ständen das »Un-ERAsen« von Da­ teien, die noch vollkommen intakt sind. Hat man häufiger mit defekten Disketten zu tun (ohne, daß der Fehler beim Laufwerk liegt), so ist Disk Doctor bestimmt ein gutes HÜfsmittel, Dateien zumindest teüweise zu retten. Falls die Hauptanwendung von DISK DOCTOR darin liegen sollte, »ERA« rückgängig zu machen oder defekte Sektoren auf der Diskette zu suchen, so ist einem systemer­ fahrenen Benutzer wahrscheinlich eher mit den kostenlosen — da Pu­ System -Checker und D iagnostics-Il Com puter sind komplizierte Maschinen. Fehler, besonders solche sporadischer Natur, sind schw er aufzuspüren. Unter Umständen aber kann sich der Com puter selbst diagnostizieren. Hier werden die beiden System-Testprogramme »System -Checker« vorgestellt. System -Checker ist eine abgem agerte Version von »Diagnostics II«. S owohl System-Checker als auch Diagnostics-II bestehen aus mehreren Programmen. Jedes einzelne testet einen bestimmten Bereich der Hardware: — Speicher, — CPU, — Disketten-Laufwerke (nicht die Disketten selber), — Terminal (nur die Ausgabe, nicht die Eingabe) und — Drucker. Ich werde nun im folgenden die Art und W eise beschreiben, wie Diagnostics-II die einzelnen Kom­ ponenten testet. Die Unterschiede zwischen System-Checker und Diagnostics-II werden am Ende ei­ nes jeden Abschnitts aufgeführt. □ Speicher Es gibt vier Testarten: — Der »Quick-Test« schreibt den Speicher voller Nullen oder OFFHBytes. Er testet also nur, ob sich je­ des Bit setzen und rücksetzen läßt. — Der »Walking Bit Test« schreibt den zu testenden Speicherbereich voller Nullen und »schiebt« ein ein­ zelnes Bit mit W ert » 1 « durch den Speicherbereich. Durch diesen Test können Ädreßdecodierungsfehler und »Übersprecher« zwi­ schen einzelnen Bits ausfindig g e ­ macht werden. — Der »Bum-In Test« soll testen, ob dynamische Speicherchips gegen »Einbrennen« von Bits resistent sind. — Der »Speed Test« soll Auskunft darüber geben, ob der Prozessor mit maximaler Geschwindigkeit ar­ beitet, oder ob er auf langsame RAMs warten muß. Der zu testende Speicherbereich läßt sich jeweils angeben. Mit System-Checker ist nur der »Quick Test« durchführbar. □ CPU Dieser Test stellt fest, ob der im Computer verwendete Prozessor ein Z80 oder ein 8080 beziehungs­ weise 8085 ist. Einige kleinere Testroutinen prüfen, ob der Prozessor die wichtigsten Befehle noch aus­ führen kann. Auftretende Fehler werden nur b ei Diagnostics-II mit recht ausführlichen Fehlermeldun­ gen gemeldet. System-Checker testet nicht ganz so viele CPU-Befehle wie Diagnostics-Il. Auch werden keine Fehler­ meldungen abgegeben. □ Disketten-Laufwerk Getestet wird, ob sich der Schreib-/Lesekopf einwandfrei po­ sitionieren läßt und ob Leseund/oder Schreiboperationen feh­ lerfrei ausgeführt werden. blic Domain — Programmen DISKUTIL, RECOVER, RECLAIM, UN­ ERASE, FINDBAD und so weiter geholfen. Dem remen CP/M-An­ wender jedoch ist mit Disk Doctor ein kompaktes sowie leicht ver­ ständliches und anwendbares Pr<^ gramm gegeben. Es nimmt ihm vielleicht auch ein wenig die Angst, durch eigene Fehler große Dateien zu verlieren. (Joachim Schäfer) Bei Diagnostics-Il kann der Be­ nutzer den Testablauf steuern (zum Beispiel durch Angabe der zu te­ stenden Sektoren). Bei SystemChecker hat d er Benutzer keine Einflußmöglichkeit. □ Terminal Dieser Test »zeigt jedes druckba­ re Zeichen in jeder Bildschirmposition«. Dies ist der bekannte Test, bei dem die Zeichen auf dem Bild­ schirm ein diagonales Muster bil­ den. Falls d er Bildschirm es er­ laubt, werden direkte Cursor-Posi­ tionierung und andere Spezialfunk­ tionen (inverses Schriftbild und so weiter) getestet. Dazu muß das Testprogramm erst installiert wer­ den. Dies wird jedoch vom Testpro­ gramm auf Wunsch durchgeführt und ist im Handbuch sehr ausführ­ lich beschrieben. Bei dieser Testroutine unterschei­ den sich System-Checker und Diagnostic-II nicht. □ Drucker Auch hier wird em Diagonalmu­ ster gedruckt. Besitzer von Typenraddruckem können sogar Vorund Rückwärtsdruck, hoch- und tiefgestellten Druck und einiges mehr testen. Auch hier gibt es keinen Unter­ schied zwischen System-Checker und Diagnostics-II. Abgesehen von Umfang und Komfort d er Testroutinen unter­ scheiden sich System-Checker und Diagnostics-II auch in der Art des Aufrufes: System-Checker wird mit dem Speichertest-Programm g e ­ startet. Ist d er Speicher getestet, wird automatisch das nächste Test­ programm von der Diskette nach­ geladen und ausgeführt. Bei Diagnostics-II muß jede Testroutine einzeln aufgerufen wer­ den. Hierbei ist dann allerdings auch die An gabe der Testparame­ ter als »Command-String« möglich. Ferner besteht die Möglichkeit, al­ le Testprogramme durch SUBMIT ausführen zu lassen. HEFT 12 Hirz 1?&6 SO 5 Das Diagnoshc-II-Handbucn um■ faßt 38 Seiten, das SystemChecker-Handbuch 18 Seiten so­ wie ein Sseitiges Glossar, in dem die wichtigsten Begriffe des Com­ puters aufgeführt sind. Beide Hand­ bücher sind in Englisch. Die Test­ routinen werden sehr ausführlich beschrieben, und es dürften keine Mißverständnisse aufkommen. Diagnostics-II bietet neben den oben genannten Testroutinen noch zwei weitere wichtige Programme: Em Schnelltest für die wichtigsten Systemkomponenten und ein Pro­ gramm. das beim Justieren des Schreib-/Lesekopfes von Disket­ tenlaufwerken gute Dienste tut. Die Diagnostic-II-Testroutinen schreiben auf Wunsch die auftre­ tenden Fehlermeldungen in eine Datei DIAG-LOG. (Sehr angenehm im Zusammenhang mit SUBMINT.) Falls beim Disktest Fehler auftreten. so kann Diagnostic-II diejeni­ gen Ein-/Ausgabeports oder Spei­ cherstellen »dumpen«, die dem Floppy-Controller zugeordnet sind. Der Speichertest von DiagnosticII kann auch Speicherbereiche te­ sten, die in einer anderen 64-KBank liegen. Angaben über den Zeitbedarf der Testroutinen w erden zwar bei Diagnostics-II gemacht, sind jedoch viel zu pauschal, um aussagefähig zu sein. (Mein 2,106-MHz-Z80 braucht 112 Sekunden für einen Test, der mit einer Minute veran­ schlagt ist). Für System-Checker gilt dasselbe. Falls die Hardware fehlerhaft ist und die Fehler von SystemChecker oder Diagnostics-II er­ kannt werden, so kann d er Benut­ zer mit den System-Checker-Fehlermeldungen (sofern sie über­ haupt ausgegeben w erden) kaum etwas anfangen. Die Diagnostics-IIFehlermeldungen lassen schon Extend — re eher auf die genaue Fehlerursache schließen. , Benutzer, die ihre Hardvfrare für fehlerfrei halten, sich dies aber be­ stätigen lassen wollen, sind wahr­ scheinlich mit dem billigeren Sy­ stem-Checker besser bedient. (Ob- sucht, und wenn es da nicht gefun­ den wird, auf Benutzer 0. 3B)ZSID Hier beginnt die Suche auf Benut­ zer 3, Laufwerk B:, danach Benut­ zer 0, Laufwerk B: und als letztes Benutzer 0, Laufwerk A:. Zusamxn enfassung CCP darf bei Warmboot nicht nachgeladen werden wohl der »Quick-Test« meiner M ei­ nung nach nur sehr grob e Fehler feststellt). Legt man jedoch Wert auf hilfreiche Fehlermeldungen, dann sollte man sich für Diagnosücs-II entscheiden. Diagnostics-II ist wohl ein Lecker­ bissen für Hobby-Reparateure, die öfter einmal den Mikrocomputer ih­ rer Bekannten nachsehen müssen. Denn ein einzelner Benutzer kann die Möglichkeiten gar nicht ausrei­ zen. Qoachim Schäfer) k w B i 1 y W c S S B i & 2 ‘8 für DcskfiffliE'cpEsfe“« H r* b o U L- U - V, Die Modifikation des CP/Ms durch Extend hat auch noch eine andere Nebenwirkung: Zu einer Warmbootsequenz gehört der Re­ set der BDOS-Parameter (FCB Adresse, DMA-Adresse und die Rückkehr zu Laufwerk A als Be­ Durch den Einfluß von »Extend« zugslaufwerk) sowie das Laden des CC P von den Systemspuren der auf den CC P ist es nicht mehr m ög­ Diskette. Diese letzte Ladefunktion lich, ein CP/M-Hilfsprogramm — wird durch das Vorhandensein von XSUB — zu benutzen. Anstelle des­ Extend unterbunden. Man muß sen gehört eine neue Routine — FBNSUB — zum Lieferumfang. Die­ hier also bei einigen Programmen vorsichtig sein, die den Speicher­ se wird in gewohnter Weise wie platz vom CCP belegen. Die G e­ XSUB aufgerufen, das heißt es wird fahr der Benutzung des CCP-RAMs als erstes Argument in einer Subwird jedoch heute im Zeitalter der mitdatei aufgeführt. 48- bis 64-KByte-Computer relativ • Da Extend transparent für dftn gering sein. Früher, mit 24 bis 32 Benutzer abläuft, also nicht interak­ KByte war sie jedoch oft notwendig. tiv, ist seine Benutzung innerhalb Um den CC P und Extend dann wie­ von wenigen Minuten gelernt. Drei der zu laden, ist ein Systemreset Seiten Begleitdokumentation g e ­ notwendig. Ein Systemcoldboot ist ben eine kurze Einführung in die Funktion und Handhabung des Pro­ dann auch der notwendige W eg, um »Extend« zu entfernen. gramms. (Axel Pohl) für CP/M-Gourm ets genau das richtige Unter Microshell sind solche Kommandos wie DIR, ERA, SAVE, TYPE, REN, USER also alle CP/Meigenen Kommandos, weiterhin gültig. Hier einige Beispiele für die Umleitung von Daten: B(0)DIR > > + SAMMELDIR Das Directory wird zu den bereits in der Datei »SAMMLDIR* stehen­ den Daten hinzugefügt, dies wird durch die Verdoppelung von » > « C P /M bietet, in einfacherer Form als M P /M , d ie Möglichkeit, in verschiede­ ^»rr^irhf nen, sogenannten »User«-Bereichen zu arbeiten, beziehungsweise das Frage, »Directo­ Keine ohne CP/M wdie Mikrocomputer- B(0)Dii «+ SAMMLDIR Zu der obigen Funktion der Um­ ry« in verschiedene Unterteilungen zu gliedern. So kann man zum Beispiel weit heute nicht das, v/as sie ist. CP/M gab den leitung kommt hier noch die Dar­ Hilfsprogramme wie PIP, STAT, (ZßlD, Kopierprogram m e und so w eiter im Be­ Softwarehäusemdie Möglichkeit, Programme für stellung auf dem Bildschirm hinzu. nutzerbereich 0 ablegen; Sprachen — wie Basic, Pascal, Pilot und andere mehr eine breite Masse von Benutzern zu schreiben. Und Ab er nicht nur in der Umleitung von Datenausgaben zur Diskette im Bereich 1 und Textverwaltung im Bereich 2. Jedoch man in allen B e langsam wurden auch andere Betriebssystem e b e­ für Drucker oder Bildschirm, das reichen die Programme P1P und eventuell STAT benötigen. Kopiert man diese kannt — darunter Unix, das hauptsächlich auf Mini- zusätzliche Echo auf dem Bild­ sondern auch die Anord­ nun in die »USER«-Bereichehinein, so beleg en sie jedesm al weiteren Speicher­ reclmem läuft. Dann kam man auf die Idee, die schirm, nung mehrerer Befehle in einer platz auf der Diskette. Diesem Übel hilft Extend ab. werden sicher­ Benutzerschnittstelle von Unix auf CP/M zu über­ Zeile steilen die Besonderheit von lich die gefährliche Methode der »Directory«-Manipulation kennen, a ber auch tragen. Eine Sammlung von diesen übertragenen Microshell dar. Der zweite Punkt, das »pipeli­ diesen erleichtert Extend das Arbeiten. Routinen stellt M icroshell dar. ning«, kann auf einem CP/M-Sy E xtend wird aufgerufen wie ei­ ne normale (COM)mand Datei. Stau sich jedoch auf den An­ fang der (Transient (Programm (A)rea (100H) zu laden, errechnet das Programm seinen Speicher­ platz, indem es vom Anfang des (Oonsole (C)ommand (Processors seine Länge subtrahiert. Dort oben lagert es sich em und verändert an­ schließend die Emsprungadressen ins CP/M. Außerdem werden die Parameter verändert, die die Län­ ge der TPA angeben. Da die Grö­ ße von Extend nur 2,5 KByte be­ tragt, ist die Verkleinerung zu ver­ nachlässigen. Damit ist das Pro­ gramm resident geworden. Um zu vermeiden, daß es durch andere Programme, die sich ebenfalls den oben einlagern (DDT, (ZjSID, DES­ POOL, XSUB und die »SMART«Prcgramme »rausgeschmissen« wird, bedienen Sie sich am besten des *AUTOLOÄD«-Features von CP/M. Hierdurch wird direkt nach dem »booten« des Systems Extend geladen. Nachdem die Kontrolle an das CP/M zurückgegeben wurde, meldet sich der C C P jetzt statt mit dem üblichen »A)« mit »OA)«. W ech­ selt man die »User*-Nummer, än­ dert sich zum Beispiel »OA)« zu 2A)«. Nun ist es möglich, Programme, welche sich in d er User-Nummer 0 befindet, von anderen Bereichen aufzumlen. Eine Einschränkung bil­ det jedoch die Tatsache, daß dies nur für die Kommandoausführung durch den CC P gilt. Benutzerpro­ gramme können diesen Effekt nicht nutzen, sie können nur Programme oder Overlays aufrufen, die sich in dem jeweiligen Benutzerbereich befinden. Hier einige Beispiele für das Auf­ rufen von Programmen3A)PIP PIP v/ird zuerst in der jetzigen Be­ nutzernummer 3 gesucht, anschlie­ ßend unter 0. 3B)A:STAT STAT wird in der Benutzernum­ mer 3 auf dem Laufwerk A: g e ­ M icroshell ersetzt den (C)onsoie (C)omrnand (Processor von CP/M. Es lagert sich un­ terhalb von dem CCP ein und ver­ ändert die Emsprungadresse 0005H und die Größe der zur Ver­ fügung stehenden (Transient (P ro ­ gram (A)rea (um 8 KByte reduziert). Nun zu den Funktionen von Mi­ croshell. Man kann sie in drei Gruppen aufteilen: 1. Umleitung von Ausgabedaten (Datensichtgerät und Drucker) auf die Diskette, Eingaben für Pro­ gramme werden statt vom Daten­ sichtgerät von einer Diskettendatei angefordert (ähnlich CP/Ms SUBMIT- und XSUB-Programmen). 2. »PIPELINE« Verarbeitungssiruktui, das heißt Ausgaben des einen Programms dienen als Eingabepa­ rameter für das nächste. Dessen Ausgaben werden wiederum von einem vierten Programm verarbei­ tet und so weiter. 3. SHELL- oder COMMAND-Dateien steuern die Abarbeitung von zum Beispiel Dienstprogrammen (Backup von Dateien, die seit dem letzten Backup neu beschrieben wurden, oder Modifizierung von Texten, ohne den Editor oder das Text Verarbeitungsprogramm auf­ zurufen). stem nur simuliert werden (es ent­ steht eine Zwischendatei) Unix ar­ beitet diese Prozesse parallel ab (ohne Datei). Als wesentlichstes Feature bietet Microshell eben die SHELL-Verarbeitung. Diese SHELL-DATEIEN (vielleicht besser Programme) füh­ ren viele Standardfunktionen in ei­ nem wesentlich komplexeren Rah­ men aus als SUBMIT/XSUB. So gibt es zum Beispiel die Möglichkeit, Dateien und Programme im gesam­ ten Disksystem suchen zu lassen (dieser W eg wird vom Benutzer über eine Datei bestimmt), SHELLDateien lassen sich gegenseitig verknüpfen (nesting), Argumente 5 2 Computer in den USA ZEICHEN > > * < I BEDEUTUNG BEISPIEL A u s g a b e n u m l e i t u n gs t a t>d a t e i n a m e v o m B i l d s c h i r m A u s g a b e n u m l e i t u n gp i p 1 s t : » D a t e i> * v o m D r u c k e r p r t d a t e i E i n g a n g s u m l e i t u n ge d t e x t .t x t< k o r r e k t u r l e i t e tA u s g a b e n e i ­ I D a t e i1 I D a t e i2 n e sB e f e h l s a l sE i n g a b e n a n s t a t* *Ip i p d e n n ä c h s t e n ls t = c o n : " I"d i e s e sZ e i c h e nI C o d e rI cw i r d v e r ä n d e r td e n f o l ­ A S C I IW e r t0 3 g e n d e n B u c h s t a b e n z u m A S C I I K o n t r o l l z e i c h e n 5 + 5 3 a l se r s t e sZ e i c h e n so w i r d k o m m e n ­ w i r d e sa l sK o m t i e r t m e n t a ri n t e r p r e t i e r t .o d e r s o a u c h E c h o d e rU m l e i t u n gD a t e i1 1 + D a t e i2 e r s c h e i n ta u fd e ms t a t * .* B i l d s c h i r m > + D a t e i n a m e b e iA b f r a g ed e s D a t e i1 1 — D a t e i2 K o n s o l e i n g a n g s S t a t u s= " Z e i c h e n e r h a l t e n " können beim Aufruf von SHELLs auch nicht belegt werden, MICROSHELL gewährleistet trotzdem ein­ wandfreie Funktion. Unter SUBMIT würde folgendes Beispiel eine Feh­ lermeldung auslösen: Submitdatei: DIR $l.C O M ERA $1.BAK PIP $2.ASM = $3.ASM,B:$4.ASM Befehlszeile: SUBMIT C LE AN M IC M A C MUC Hier fehlt das vierte Argument. Die Fehlermeldung »Datei nicht g e ­ funden« wäre unausweichlich. Hier gibt es unzählige Möglich­ keiten, in einer Art Programmier­ sprache, die Elemente wie G O TO IF ... THEN IFF (F-FILE ).. THEN RETURN (CO ND ITIO N) enthält den Programmfluß zu steu­ ern. So gibt es insgesamt 33 Variblen numerisch %A - %G String %A$ - %G$ sowie die von SUBMIT bekannten Ubergabeparam eter $0 - $18 H ierbei ist $0 für die Shelldatei reserviert. Es können also noch w eitere 17 Argumente an die auf­ gerufene Shelldatei übergeben werden. Zu d er Stringfunktion ist noch zu sagen, das eine Anweisung existiert, die ein Löschen der in den ZEICHEN BEDEUTUNG BEISPIEL • K o m m a n d o si n e i ­ n e rB e f e h l s z e i l e t r e n n e n d i r * .c o m ;e r a * J > a k mi b e h a n d e l td e n T e x te c h o " d i e sw ä r e e i n i n n e r h a l b d e r A n ­ a r g u m e n t ” f ü h r u n g s z e i c h e n a l s e i n C h a r . $ g l e i c h eV e r a r b e i ­ t u n g w i e b e i S U B M I T / X S U B A r g u m e n t e r s a t z -u -U e r l a u b to h n e K o n ­ A ( 0 )— U v e r t i e r u n g d i e W e i ­A ( 0 ) e c h o k l e i n b u c h t e r g a b e v o n K l e i n ­ s t a b e n < R E T U R N > b u c h s t a b e n k l e i n b u c h s t a b e n + v+ V g i b tE c h o v o n a l l e nA ( 0 ) + V K o m m a n d o sv o rd e rl ö s c h e n t e s ts p i e l A u s f ü h r u n g e r a t e s t .c o m e r a s p i e l .c o m ~ x-X R ü c k k e h rz u C P / MA ( 0 )— x A > Zeichenketten vorhandenen W erte vomimmt (%clear). In d er Tabelle sind einige Funk­ tionen von Microsheli aufgelistet. Die Tabelle ist nicht vollständig, aber sie gibt schon einen Eindruck von der Leistungsfähigkeit von Mi­ crosheli. Ein Beispiel, welches die Anwen­ dung solcher Anweisungen wieder spiegelt, ist Qine Schleife. Mit ei­ nem Texteditor oder über die di­ rekte Eingabe in eine Datei unter Zuhilfenahme von PIPTEST.SUB = CON: (LINEFEED muß nach dem [CR] extra eingegeben werden !) würde wie folgt aufgebaut werden: ;Beispiel für die Anweisungen .Kommentar, %Label, %getchar, ;Terminaldirekteingabe $T, ;numerische und Stringvariable, ;% if.. then ., %goto % Schleife %getchar %a$ < $'I %B$= %B$ + %A$;%A = %A +1 %if %A = 7 then ende %goto schleife Da die Eingaben in einer Zeile bis zu 84 Zeichen lang sein können, wurde eine recht praktische Edi­ tierroutine implementiert. Sie b e­ nutzt Wordstar ähnliche Komman­ dos, was das Erlernen vereinfacht. Es ergibt sich die Möglichkeit vor­ hergehende Anweisungen ein zweites Mal auszuführen. c o p i e r e n b a k ;a u f r u f p i p b :» a :*$ 1 ;d a t e i p i p b :» a :* J b a k ;a u s f ü h r e n U S A . das Land der »hartnäckigen« Computer: Ein Mann war längere Zeit von zu Hause Ion und hatte daher keinen Strom verbraucht. Der Computer der Elektrizitätsgesellschatt war aut Draht, er schickte dem Mann eine Rechnung über 0,00 Dollar. Sie landete im Papierkorb. Vierzehn Tage später: Wieder die gleiche Rechnung über 0.00 Dollar mit dem Zusatz »überfällig«. Auch sie wurde von dem Empfänger müde lächelnd zerrissen und weggeworten. Der Compu­ ter reagierte sauer. Er schickte vierzehn Tage später nochmals eine Rechnung über 0.00 Dollar und drohte, dem Mann das Licht zu sperren. Der geplagte Stromverbraucher resignierte und sandte der Elektrizitätsgesellschatt einen Scheck über 0,00 Dol­ lar. Der Computer war versöhnt und schickte dem Mann eine Karte, mit der er höflich für die Zahlung dankte. _ . . V 4 - Computer Einige Funktionen von Microsheli Viele der verwandten Anweisun­ gen lassen sich auf Benutzerwün­ sche anpassen. So kann man statt des Ausdrucks $T (für Terminaldi­ rekteingabe) eigene Wünsche ver­ wirklichen (statt $P vielleicht $DRK. oder für den Aufruf des Editors statt ! ein # ). Zu beachten ist nur, daß Einzelzeichen (! oder fi) dann für diese Aufgaben reserviert sind. W eiter gibt es Defmitionsdateien (zum Beispiel automatische Such­ prozedur) worin die erforderlichen Parameter definiert werden (wie viele Laufwerke, Reihenfolge des Such Vorganges), Echo auf den Bild­ schirm an- und ausschalten, auto­ matisches Einloggen von gewech­ selten Disketten und so weiter. Auf­ gezeigt werden diese Möglichkei­ ten sehr genau in dem mitgelieferten Handbuch. Dort werden die einzelnen Anweisungen auch sehr detailliert besprochen, Tips für die Anpassung gegeben, Fehlermel­ dungen besprochen und Pro­ grammeinsprungadressen angege­ ben, wenn jemand spezielle Pro­ gramme für Microsheli schreiben möchte. Leider muß hier noch b e­ merkt werden, daß das Handbuch in Englisch geschrieben ist, v/as vielen Lesern eine Erschwernis b e­ reiten wird, bis sie endlich die Vor­ züge dieses hilfreichen Programms genießen können. (Axel Pohl) »Scheinbar ja; über ^ V s 5 5 Resource — ein interaktiver Disassembler C P / M - D i s a s s e m b l e r g i b t es eigentlich »wie Sand g e r ist ein Disassem bler-M odul enthalten. Dagegen sind Resource, D isilog und Revas eigenständige Programme, die »nur« disassem blieren können. ogenannte Assembler überset­ zen in symbolischer Form (LDA, 3AH = Lade das Register A mit der Hexzahl »3A«) geschriebene Maschinenprogramme in Binärzahlen, wie sie vom Prozessor verstan­ den werden. Disassembler kehren diesen Vorgang um: Aus dem Pro­ grammcode. wie er in einem EPROM oder bei einem von Disk oder Kassette geladenen Pro­ gramm vorliegt, erzeugen sie ein für den Menschen lesbares Pro­ gramm in Assembler-Sprache. Lei­ d er hat dies aber so seine Tücken, denn nicht alles, was m einem Co­ defile vorkommt, sind Maschinen­ befehle — es können zum Beispiel Texte sein, die vom Programm aus­ gegeben werden, oder irgendwel­ che Daten, die in em er Tabelle für das Programm griffbereit vorlie­ gen. Disassembler können das von sich aus nicht unterscheiden. »Gewöhnliche« CP/M-Disassembler verlangen neben dem Namen einer Programmdatei (COM-FILE) die Angabe von Byte- und TextSpeicherbereichen, bevor der ei­ gentliche Disassembliervorgang stattfindet. Man kann nun nach ei­ nem von Murphys Gesetzen sicher sein, daß man mindestens emen solchen Speicherbereich überse­ hen hat. Ein anderes Gesetz be­ sagt. daß dies erst auffällt, nach­ dem man das bereits disassem­ blierte Programm stundenlang kommentiert, verbessert oder sonstwie editiert hat. Es lohnt sich also nicht, von neuem zu disassembheren, sondern man muß frustriert in einer Tabelle nachsehen, daß die Befehle LD C.A; LD L.E; LD L ODH den Text »Ok.« gefolgt von ei­ nem CR darstellen. (Dies Beispiel ist vielleicht ein wenig an den Haa­ ren herbeigezogen, zeigt aber, worum es im Prinzip geht.) Resource dagegen ist ein »inter­ aktiver« Disassembler: Man kann sich ansehen, was passiert, wenn man einen Speicherbereich ver­ suchsweise als Byte-Speicherbe­ reich definiert anstelle als Pro­ grammcode. Einige weitere Eigenschaften von Resource in Stichworten: Kommentare können bei Resour­ c e bereits während des Disassem- S blierens eingefügt werden. Sym­ bolnamen anstelle von Adressen werden automatisch erzeugt. Tex­ te, die länger als acht Byte sind, werden erkannt. Man kann sich die Angabe von Text-Bereichen also sparen. Das Disassemblieren kann zu jedem beliebigen Zeitpunkt un­ terbrochen und später w ieder fort­ gesetzt werden. Man kann nach 16Bit-Wörtem suchen. Anstelle von Hex-Adressen können auch Sym­ bole angegeben werden. _________Steuer-Tabelle Das »Was wäre, wenn« ist des­ halb möglich, weil Resource eine sogenannte Steuertabelle verwen­ det: Jeder Eintrag dieser Tabelle besteht aus einem Adreßteil und ei­ nem Byte, das den Disassembler steuert. Diese Tabelle kann vom Benutzer jederzeit verändert wer­ den. Zum Beispiel: Die Speicherberei­ che 0100-0102, 01200147, 0140 017F enthalten Programmcode, der Bereich 0103-012B einen Text, der Bereich 0148-014B zwei Datenwörter. Der Stackbereich des zu unter­ suchenden Programmes liege von 0180-019F. Adressen ab 0IAO kom­ men nicht vor. Dann sieht die zugehörige Steu­ ertabelle folgendermaßen aus: 0100,1 Instruktion ab Adresse 0100 0103,B Byte-Speicherbereich (*) 012C.I Instruktionen (*) 0148,W Wort-Speicherbereich 014C.I Instruktionen 0180.S Space, das heißt im Assem­ blerfile wird: »DEFS 20H« gelistet (20H = 01AO minus 0180) 01AO.E Ende des Programms Dabei gibt die Adresse immer den Anfang des jeweiligen Berei­ ches an. Der erste Eintrag ist von Resource vorgegeben, da CP/MProgramme ab Adresse OlOOHex gestartet werden. Ab Adresse 0100 ist demnach mindestens eine In­ struktion zu finden. Die beiden mit (*) gekennzeichneten Einträge wur­ den von Resource erzeugt, da ab Adresse 0103 ein Text steht, der länger als acht Byte ist. Am Ende des Textes »schaltet« Resource 'wie­ der auf Programmcode-Modus um. Die Programm-Ende-Markierung erzeugt im Assemblerfile an der entsprechenden Stelle den PseudoBefehl »END 0100H«. Nun kann man zum Beispiel den Eintrag »014C.I« löschen. Zusätzlich zu den beiden W örtern ab Adresse 0148 werden nun auch alle Bytes zwischen 014C und 017F als W örter gelistet. Indem man die Steuerta­ belle gezielt verändert, kann man also ein Assem blerfile erhalten, das von d er Struktur her mit dem Original übereinstimmt. Kommentare u n d S y m b o leim _____________Listing_____________ Es sollte beachtet werden, daß ab RAM-Adresse Offset + 100H g e ­ Resource weder eine Warnung, laden. Von nun ab ist der Offset w e­ noch sonst einen Hinweis ausgibt, niger wichtig. Gibt man nun den Be­ wenn die Tabellen nicht abgespei­ fehl »L100« oder D1234«, dann wird am M eer«: chert wurden.In jed em D eb u g ­ab wahrer Adresse Offset + 100H Resource-Versionen gibt es für gelistet beziehungsweise ab wah­ folgende Assemblersprachen: rer Adresse Offset+1234H ge8080: Standard-Intel-Format dumpt. Der Offset und Resource Z80 : Standard-Zilog-Format, TDL- selber werden für den Benutzer al­ Z80-Format. so »unsichtbar«. Falls man am Ende einer Sitzung Resource wird CP/M-gemäß ab Adresse 0100H geladen, ver­ die Assemblerdatei schreiben will, schiebt sich jedoch nicht unter das erfolgt die Ausgabe sowohl auf die BDOS, wie man es von DDT her Datei als auch auf den Bildschirm. kennt. Das hat zur Folge, daß man Dies ist zeitaufwendig. Deshalb einen sogenannten Offset angeben kann man vor jedem Befehl, den muß. Diese Offset-Adresse wird als man eintippt, den Buchstaben »O« scheinbare »Adresse 0« angese­ setzen (Quiet-Modus). Die Bild­ hen. Das heißt im einzelnen: Das zu schirmausgabe wird unterbunden, disassemblierende .COM-File wird bis man den nächsten Befehl gibt. Resource besitzt folgende Anweisungen: A Suche im angegebenen Bereich nach Texten (»A«SCII) B Erzeugen der Standard-Symbol­ tabelle (»B«uild«) C Control-Tabelle ändern D Dumpen eines Speicherbe­ reichs E Einfügen eines Symbols in d ie^ Symboltabelle F Finde 16-Bit-Worte K Symbol löschen (»K«ill) L Listen eines Speicherbereichs O Offset angeben O Quiet-Modus R Lesen von Dateien (»R«ead) S Schreiben der Dateien ; Kommentare einfügen (Joachim Schäfer) *st ein bildschirmorientiertes menü­ wird die Datei umkopiert und bei Erreichen des fehlerhaften Sektors gesteuertes Hilfsprogramm für Flop­ der Die Steuer-Tabelle selber macht Lesezyklus so lange wieder­ den Komfort von Resource jedoch py- und Harddisksysleme.Es gestattet die holt,Daten­ bis er entweder erfolgreich nicht allein aus: Mann kan an jed e oder vom Anwen­ sicherung bei Dateien mit die Weiterbe-, dabgeschlossen b eliebige Stelle des Listings bereits e r abgebrochen wird. Als Erfah­ beim Disassemblieren Kommenta­ nutzung von Disketten und Hard-Disks mit Hai'd-Feh- rungswert wird im Handbuch ange­ re einfügen. Diese werden sowohllem sowiedie Manipulation eines jeden Bytes auf geben, daß nach 40 bis 50 Versu­ in der fertigen Assem blerdatei aus­ die Funktion abgebrochen der Diskette oder Platte. chen gedruckt als auch auf dem Bild­ werden sollte. Bei den Leseversu­ schirm ausgegeben. Zum Spei­ chern d er Kommentartexte wird ein Speicherbereich verwendet, dessen Beginn der Benutzer selbst festlegen muß. Mit dem *B«-Befehl wird Resour­ ce dazu veranlaßt, eine Standard­ symbol-Tabelle zu erzeugen: Jede Adresse, die als Sprungziel, Unter­ programm-Adresse oder als 16-BitKonstante in einem Ladebefehl v er­ wendet wird, wird in die Symbolta­ belle aufgenommen: Adresse xyzt ----- Symbol »Lxyzt«. Zum Beispiel: Adresse 0 4 F A ----- Zeichenreihe »L04FA«. Die Symboltabelle kann jederzeit vom Benutzer verändert werden, Das Symbol »L005C« zum Beispiel kann in »FCB1« geändert werden. Ebenso ist folgende Konstruktion möglich: »L05F1« - »KONVRT« »L05F9« - »KO N VRT«+ 8 Damit das Disassemblieren zu e i­ nem späteren Zeitpunkt fortgesetzt werden kann, müssen die Symbol-, Control- und Kommentar-Tabellen abgespeichert werden. Eine .ASMDatei braucht noch nicht gesp ei­ chert zu werden, da, wie gesagt, der Disassembliervorgang noch nicht beendet ist Das Erzeugen e i­ ner Assemblerdatei ist demnach die letzte Tätigkeit, zu der man Re­ source veranlaßt D p ü yrU ach dem Start von Dpatch mel­ det sich das Programm mit Menü. Man kann nun eine der sechs Funktionen durch Eingabe der entsprechenden Ziffer aufrufen. 1 . Disk-Edit-Funktion 2 . Datei-Manipulation 3. Reaktivierung einer Datei mit I/O-Error 4. Disk-Oberflächen-Analyse 5. Reaktivieren einer gelöschten Datei 6. Programmende. Die oberste Statuszeile nach Auf­ ruf der Disk-Edit-Funktion infor­ miert, welcher Sektor von welchem Laufwerk gerade in hexadezimaler und ASCII-Form dargestellt wird, während die letzten beiden Kom­ mandozeilen die möglichen Befeh­ le zur Anwahl eines beliebigen Sektors auf allen angeschlossenen Laufwerken das Lesen, Modifizie­ ren und Zurückschreiben auf die Diskette oder Platte ermöglichen. Mit den Kommandos »IN« und »OUT« kann trackv/eise fortge­ schritten werden. Die nicht dokumentierten Kom­ mandos der Version 2.2. erlauben es, nach bestimmten Stringfolgen zu suchen (LOCATE, LOCATE NEXT) und einen kompletten Sek­ tor in einem von acht »Sektor-Regi­ stern« zwischenzuspeichern (PUT) und von dort bei Bedarf in einen an­ deren Sektor zurückzuladen (GET). Mit CNTRL-P kann der Bild­ schirminhalt jederzeit auf einem an­ geschlossenen Drucker ausgege­ ben werden. Als nachteilig wurde empfunden, daß im Disk-Edit-Mode mit den Kommandos + Sektor und —Sektor jeweils der physikalische Sektor um ±1 verändert und dargestellt wird und nicht unter Berücksichti­ gung des »Skew-Faktors« die logi­ schen Sektoren. Ein gezieltes Su­ chen, zum Beispiel durch den Be­ reich des Inhaltsverzeichnisses, wird dadurch erschwert, daß im­ mer sechs Sektoren weitergeschal­ tet werden muß. Bei der direkten Dateimanipula­ tion besteht dieser Nachteil jedoch nicht. Dieses Programmsegment arbeitet ähnlich wie die Disk-EditFunktion, nur muß hier zu Beginn der Name der zu analysierenden Datei eingegeben werden. Im G e ­ gensatz zur Disk-Edit-Funktion, mit der sich jedes Byte auf einer Dis­ kette oder Platte manipulieren läßt, ist dies mittels der direkten Datei­ manipulation nur innerhalb der g e ­ wählten Datei möglich. Dateien, die aufgrund eines I/OErrors nicht mehr lesbar sind, kön­ nen unter Umständen wieder korri­ giert werden. Zu diesem Zweck chen wird die Spur, auf der sich der fehlerhafte Sektor befindet, aus verschiedenen Richtungen ange­ fahren, in der Hoffnung, so even­ tuell ein gewisses Spiel in der M e­ chanik auszugleichen und den Kopf exakt so zu positionieren wie beim Schreib Vorgang Mittels der »Oberflächenanalyse« werden BAD RECORDS aufge­ spürt, in einer Datei »BADBLKS« zu­ sammengefaßt und unter der UserNummer 31 abgelegt, auf die unter Standard-CP/M-Kommandos nicht zugegriffen werden kann. Zwei Analysefunktionen können ange­ wählt werden: 1. Zerstörungsfreie Disk-Analyse 2. Test-Pattern-Analyse Während bei 1. die Diskette nur gescannt und Fehler aufgespürt werden, werden bei 2 . verschiede­ ne Bitmuster geschrieben, gelesen und verglichen. Hierbei werden sämtliche Informationen auf der Diskette zerstört Dpatch arbeitet in allen Funktionen fehlerfrei. Die in­ teraktive menügesteuerte Bedie­ nung ist, insbesondere aufgrund der guten Dokumentation mit um­ fangreichen Fehlermeldungen, im Klartext schnell zu beherrschen. Für den ambitionierten Anwender ist Dpatch sicherlich ein wertvolles Hilfsmittel. (Rainer Markgraf) 15 £ Bit 7 (1, wenn noch ein Zeichen im „Type Ahead Buffer"), Bit 5 (1, wenn „CA P S locked") und Bit 0 (Break ge­ drückt). Peter Wollschlaeger TRS-80/Modell 4: Kleine Zipperlein rasch kuriert Der TRS-80/Modell 4 wird serienmäßig mit TRSDOS 6.1 und einem erweiterten MBasic geliefert. Dieser Software ist durchaus Lob zu zollen. Doch es gibt nichts, was man nicht besser machen kann, und so ein paar kleine Zipperlein, die im Programmiererall­ tag manchmal ganz schön zwicken, sind auch hier vorhanden. Lesen Sie, wie man sie kuriert und einige schlummernde Eigen­ schaften der Software zum Leben erweckt. Vorab, wir greifen mit Peek und Poke ih das Betriebssystem ein. Einige der Adressen sind nicht offiziell dokumen­ tiert, andere wurden dem technischen Manual [1] entnommen, das aber in Deutschland (noch) nicht erhältlich ist. Theoretisch besteht also die Gefahr, daß sich mit einer neuen Version die inoffi­ ziellen Adressen ändern. Die neuen dann wieder aufzuspüren, dürfte aber für findige mc-Leser kein Problem sein. Auch in [1] sind keine absoluten Adres­ sen zu finden. Dokumentiert sind soge­ nannte SVCs (Supervisor Calls) - ein neuer Name für einen alten (CP/M-)Hut. Sprich, DOS-Routinen werden über eine Funktionsnummcr (im A-Register) im­ mer mit RST 28H aufgerufen. Ein S V C (65H) erbringt im IY-Register die Basis­ adresse einer Tabelle, in der diverse Sy­ stemvariable gehalten werden. B ild 1 zeigt die zwei Assembleranweisungen, die dafür erforderlich sind. Demonstriert werden soll aber etwas anderes: Früher 5 7 hätte man einfach, wenn man einen Wert von der USR-Routine an Basic zu­ rückgeben wollte, geschrieben: LD H U WERT, JP CINT. Jetzt ist für CINT nur noch ein Vektor dokumentiert (2605H); der Wert muß aber immer noch in HLstehen. Daher die Lösung ab Zeile 8. Nämlich: Wert auf den Stack. HL mit Adresse von CINT (aus Vektor) laden und "E X (SP )JiLM. Danach steht der Wert in HL und die Adresse von CINT auf dem Stack, das folgende RET wirkt als indirekter Sprung zu CINT. In Bild 2, Zeilen 100...130, finden Sie das Programm noch einmal, diesmal in einen Basic-Lader eingebunden. Danach steht die gesuchte Adresse in der Varia­ blen B A SE. BASE+10 zeigt auf die Versionsnummer, in diesem Byte steht 61H für „6.1**. In Zeile 150/160 finden Sie die praktische Anwendung. Wichtiger ist schon das K-Flag {Key­ board) in BASE+10. Interessant sind OOOOl «USR-ROUTINE. ERGIBT BASIS DER 00002 OOOn 3E63 A.63H 00003 LD 0002 EF 00004 RST 28H IY ouoos 0003 FDE3 PUSH 0003 2A0326 000<">6 LD HL.<2605«) 0008 £3 00007 EX (SP).HL 00*59 C9 RET 00008 OOOO 00009 END OOOOO TOTAL ERRORS 34831 TEXT AREA BYTES LEFT SYSTEM-FLAGS-TABELLE »SVC TO GET FLAP— »TABLE BASE -> IY »VAL TO KEfUHN »ADR CINT-ROUTINE »-> STACK »VIA CINT -> OAfcfIC Bild 1. So gibt eine USR-Routine ein Ergebnis an Basic zurück C A P S T a s t cv o m P r o g r a m m b e d i e n t Wesentlich erscheint dem Autor Bit 5. Da in String-Variablen sauber zwischen Groß- und Kleinschrift unterschieden wird, ist man gezwungen, Antworten auf Fragen wie „Ja oder Nein (J/N)?" so zu prüfen: IF A $ = T OR A $ = T THEN... ELSE IF A S « " N " OR A $ ^ ”n" THEN... Läßt man in der Antwort viele Buchsta­ ben und andere Zeichen zu, wird auch das Testen via A S C mühsam. Deshalb ab Zeile 180 die Demonstration, wie man mit Hilfe von „Bit 5" die CAPS-Taste im Programm abfragen und betätigen kann. Cursor in allen Varianten Viele Möglichkeiten eröffnet das VideoFlag. Vorab (Zeilen 350...510) einige Spiele mit der Uhr. Das Stellen wäre zwar auch über einen SYSTEM-Aufruf möglich, nur muß dazu eine Systemdis­ kette eingelegt sein. M ö g e n S i e l i e b e r e i n e n b l i n k e n d e n o d e r s t e h e n d e n C u r s o r ,h ä t t e n S i e i h n g e r n e t w a s g r ö ß e r o d e r k l e i n e r o d e r g a n z u n ­ s i c h t b a r ? Möchten Sie das alles mischen, um in Masken bestimmte Stellen herauszuhe­ ben? Kein Problem, in den Zeilen 520...690 werden alle Varianten vorge­ führt. Hardcopy mit einem Befehl Das Modell 4 erlaubt es, im Direkt-Modus mit „Control Shift Doppelpunkt" den Schirminhalt auf den Drucker zu kopieren. Per Programm geht das auch. Sie müssen nur die BS-Routine kennen (siehe Zeile 730). Sollte es Sie dann stö­ ren, daß anstatt Ihrer mühsam erzeugten Grafikzeichen nur schnöde Punkte ge­ druckt werden, dann hilft von Basic aus: S Y S T E M ” SYSTEM (G R A P H ICSr. Zeile 740 zeigt, wie man die Break-Taste aus- und einschalten kann, und Zeile 750, ein C LS mit Ready-Meldung, man weiß dann wenigstens, was Sache ist. Scroll-Protect von maximal sieben Zei­ len ist entgegen anderslautenden Ge­ rüchten auch beim Modell 4 möglich. Offiziell läuft das über SV C 0FH, wobei vor dom Aufruf das B-Register mit 7 und C mil der Zeiletizuli! z.u lüden ist. Ist Ihnen das zu mühsam, so geht das auch mit einem Poke-Bcfehl, wie in Zeile 800 gezeigt. Der etwas umständliche Aus­ druck dort ist die Kopie der BS-Routine: LD A ,C:A N D 7:LD C,A:LD A.(OBFB): AN D F8:OR C:LD (OBFB).A. L I S T B e f e h id e s a k t i v i e r t o d e rg e h e i m Man kann zwar ein Programm über die P-Option schützen, nur hat die den Nachteil, daß jeder Hacker weiß, wie man sie ausschalten kann. Wenn Sie sich nach den Vorschlägen ab Zeile 820 Ihre Spezialversion schaffen, wird es et­ was schwieriger. Wenn Sie ganz sicher gehen wollen, müssen Sie allerdings diese mc-Ausgabe komplett aufkaufen. B a s i c P r o g r a m m g e r e t t e t Nach einem versehentlichen Ausflug ins DOS (bei SYSTEM Textstring vergessen) kommen Sie leider nicht mehr ins Basic zurück, ohne das Programm dort zu zer­ stören. Abhilfe bringt die Routine in Bild 3. Der Basic-Teil generiert einen Cmd-File, so daß Sie dann nur noch BOLD tippen müssen, und die Welt ist wieder in Ordnung. Notfall« geht es auch so: Tipnen Sie im DOS: M EM O RY( G O X ’63DD'J. Sie kommen dann auch ins Basic, finden auch Ihr Programm intakt vor. nur alle Zeiger sind verbogen, und FRE(0) mel­ det einen freien Speicher von 8.054 Bytes, also 3 Bytes und noch ein halbes Bit oder so. In diesem Falle sollten Sie Ihr Programm sichern und dann Basic neu laden. Zeilen duplizieren geht doch Die kleino Routine in Bild 4 kostet kein einziges Byte, sie ändert nur den Editor. Der K-Befehl ist bekanntlich redundant (mit Delete geht es auch), weshalb ihm die Bedeutung KOPIE zugewiesen wur­ de, Wollen Sie eine Zeile duplizieren, so holen Sie sie in den Edit-Mode und tip­ pen IC Es erscheint ein „?“ als Aufforde­ rung, die Nummer der neueu Zeile ein­ zugeben. Sobald das erfolgt ist, wird die neue Zeile im Edit-Mode angezeigt. Sie können dann geben oder die Zeile gleich editieren, ganz original ko­ piert man ja meistens nicht. D e u t s c h eS o n d e r z e i c h e n a u c h g e d r u c k t Sollten Sie auch zu geizig gewesen sein, sich den Tandy-Drucker zu kaufen und sich statt dessen mit einem Epson oder ähnlichem bescheiden, dann haben Sie ein Problem. Die deutschen Zeichen er­ scheinen zwar auf dem Schirm, bringen aber auf dem Drucker nur Nonsens. Ab­ hilfe schafft das Programm in B ild 5. Das ist ein Basic-Lader einmal anders. Die Trick« und Tips tur d*n TR3-80 Model 4 ‘ ' 4" lOO 110 120 130 Pst er Wol UchUvqer, Hildesheim *D»e » «f.O PRINT"C:e arbeiten unter TRSDOS Vers« on “ j LEFT* (V*. 1>- . -R IAHT» 180 190 200 210 ’ CAPS-Taste * mmmmmmmmmm KF*ßASE*10* ’ Keyboard Statu» Flaq ' Status der CAPS-Taste testen: 230 IF PEEK (KF) ANO 32 TUEN PRINT-CAPS on Uppercase" EISE PRINT-CAPS on Lowercase" 240 * 230 ’ CAPS-Taste betätigen: 270 280 2»0 300 310 320 330 340 330 360 370 380 390 400 410 420 430 440 430 460 470 480 490 300 310 32u POKE KF,PEEK(KF) XOR 32 ’ Uppercase erzwingen: ’ ------------------------POKE KF, PEEK (KF) OR 32 'Lowercase erzwingen ’ --------------------------POKE KF.PEEK(KF) AND 223 ' 'Echtzeit-Uhr au* dem Bildschirm ’ VF»BASE-*-211' Video Statu» Flag 'testen ob Uhr sichtbar oder nicht ' ----------------------------------------------IF PEEK |"M" 390 INPUT"Code neues Symbol (hex mit l "|Ci POKE CSA,C eOO REH Code 32 oder 128 maent den Cursor unsichtbar 610 'testen ob Cursor blinkt 620 ’ --------------------------------630 IF PEEK«VF) AND 64 THEN PRINT"Cursor steht" ELSE PRINT“ Curaor blinkt" 640 ’ Cursor auf stehend schalten: 63O ' -------------------------------------660 POKE VF.PEEK (VF) OR 64 670 'Cursor auf blinkend schalten: * 680 ’ ---------------------------------------690 POKE VF,PEEK (VF) AND 191 700 ' Verschiedene Tricks 720 730 740 730 760 770 780 790 800 0X0 820 X*S>M3AOi CALL X «’ «erzeugt ein “Klick" X-!.HA8AjCALL X »' Hardcopy Schir* »> Drucker B»BASEk18i POKE B, PEEK ( B> XOR 16:’ Schaltet Break-Taste au* bzw. wieder an X»l«H3391CALL Xi ’ Wie CLS, ater mit Ready-Prompt ' ---------------- -------------------------------------------------------------------------------------' Die folgende Routine erlaubt, max. 7 Zellen auf dem Schirm zu schützen ' (Kein Scrollen dieser Zeilen) INPUT“W ieviele Zeilen schützen (max 7)"jZ POKE (PEEK(J.HBFB) AND &HF8) OR schlecht 'zu bedienen 1st. dann legen Sie doch die Funktion auf F l, und zwar M i ' POKE «.H3E6E.129 ' ---------------------------------------------------- —------------------------------- -— — ------- Bild 2. Eine Sammlung von Tricks: Eingriffe in das Betriebssystem über Peek und Poke HEFT IS Härz 1984 SB 5 9 |>10 »RE-ENTER PAS IC FROM TRSDOS 6.1 Wie Ihnen bei allen Programmen aufge­ fallen sein dürfte, wurde nicht mit MemSize ein Speicherbereich für die Assem­ blerroutinen geschützt. Nun, der EditorPatch braucht das nicht, die Routine von Bild 1 nutzt den I/O-Buffer, und die letz­ te Routine schließlich tummelt sich in Seite 2. Dort werden die Parameter für die „Geräte" KI DO usw. eingetragen, und zwar bis 0237H. Jedes „User-Devi­ ce" belegt acht Bytes, folglich ist mit dem ORG auf 0280H noch Platz für neun davon gelassen worden. Meines Erach­ tens kann man auch noch Teile der Seite 3 benutzen, wieviel, ist reine Ner­ vensache. Das Problem: Ab 0380H wächst Ihnen ein Stack entgegen, der allerdings nicht allzu tief werden dürfte. Normalerweise liegt nämlich der Stack „hoch oben", der untere wird nur be­ nutzt, solange der obere infolge BankSwitching nicht greifbar ist. Zum Schluß sei noch erwähnt, wie ohne Modeil-4-Assembler die Listings erstellt wurden. Ich habe das Modell 4 im M o­ dells-Mode unter NEW D OS gefahren und den NEWDOS-Assembler benutzt. Dünn wurden dieObjokl-Files auf eine TRSD0S-1.3-DiskeUe kopiert und von da (wieder im Model-4-Mode unter TRSDOS 6.1) mitteis C O N V herüberge­ zogen. Damit ist bewiesen, daß sich die TRS-80-Modelle 1,3 und 4 im Objektcode-Format (Lader) nicht unterscheiden. TRS-SO. fl 4 » 1903/12 PFTER WOLl OiXLATGLK, HIL.DESHElli WX*4*> tonnm :MITTEN IM I/O-l PRO 0 1•»V* fci-irtO 7DECH : LOAD BASIC/0V1 OOUO START CALL 6000 CDEC7D 42U6H »1NIT POINTER CALL 6003 CD0&42 0vl2v » READY-PROMPT 63D0H JP OOI 30 6006 C3CD6J START END 00140 6000 OOOOO TOTAL ERRORS 74818 TEXT ARE6 BYTES LEFT JO 'Proq»"*»m q*r\wrimrt »»n®i> C *d-Fil». N*m*i BOLD/CMD 20 * Z*»<>cfc > Ruckkanr von TRSDOS (über SYSTEM erreicht) tu BASIC. 23 ’ Au4*-U4» im TRSDOS: SOLD 30 * 40 DATA CD.EC.70. CD.86. 42.C3,DD,63 SO FOR I»0 TO 8: READ A*»POKE «.«6000*1, VAL f : NEXT 60 SYSTEM"DUMP BOLP/CMD»0 BUd 3. So kann man nach einem Ausflug ins DOS sein Basic-Programm retten OuOOl «ZDUP 00002 ZEILEN DUPLIZIEREN 00003 DAS EDIT K— KOMMANDO HEISST JETZT KOPIE 00004 00003 1984/3 PETER WOLLSCHLAEGER. HILDESHEIM 00006 3DE0 OOOIO ORG 3DEOH t PATCH K-CMD 3DEO 3E3F 00020 LD A, •?' 3DE2 CDAF40 00030 CALL ;PRINT »7» 40AFH 00033 lINPUT NEW LINE-» 00040 3DE3 21005F HL.3FOOH LD » USED AS INP BUFFER 3DE8 O!0005 00050 BC.0300H LD SALLOW MAX 5 CHAR. A, 9 3DEB 3£u9 00070 LD SSVC LINE INPUT 3DED EF RST 00080 28H sCALL SVC 9 OOOOO 3CEE 3E6C A.60H LD 19VC DECMEX CONVERSION 00100’ 28H 3DF0 EF RST sRESULT IN BC 3DFI ED430E61 OOllO <610EH),BC LD «STORE IN EDIT LINE A*H 2*i 3DFO Fl AF ‘ POP «KILL OLD LINE—» 3DF6 C5 «■0130 PUSH DC «NF.W LTNC-« -> SIACi. OUX4U 3DF7 C33D3D JP 303DH «EDIT MAIN LOOP * vooo 00130 END OOOOO TOTAL EPPORS 34536 TEXT AREA BYTES LEFT 1 'BASIC—Lad»»" ZDUP 10 DATA 3E.3F.CC. AF.40,21,00,5F.01,00,03,3E.09.EF.3E. 60,£F,ED,43,0E.61, F l. C3.C7.30.30 20 FOR 1-0 TO 25»READ AStPOtcE 6H3DEO-I, VAL( "RH“*A*> iNEXT Bild 4. Den Editor verändert: fetzt ist das Duplizieren von Zeilen möglich Literatur Assembierzeilen erscheinen als Kom­ mentare („**' heißt REM). Diese Art der Darstellung ist hier angebracht. Sie se­ hen ah Zeile 290 die Umsetztabelle, wo­ bei immer das erste Zeichen (in hex.) der Modell-4-Code, das zweite der Code des Druckers ist. Sie können damit jeden Drucker anpassen. Sollten Sie mehr oder weniger als sieben Zeichen konvertieren wollen, müssen Sie die Zahl Sieben in Zeile 160 ändern. Das Programm ..patcht“ direkt den Drukkertreiber. obwohl das die ideale A n­ wendung für ein Filterprogramm wäre. Nur ist es mir leider nicht gelungen, ein solches 7.um Laufen zu bringen, auch nicht, als ich ein Beispiel aus (1} vom Header bis zur Verschiebetabelle so weit zeichengetreu abgetippt habe, wie das mit einem fremden Assembler möglich ist (der Modell-4-Assembler ist noch nicht lieferbar). Auf ieden Fall muß ich einen intelligenten Fehler gemacht ha­ ben. denn die sonst so cleveren Experten bei Tandy-Deutschbnd konnten das Problem auch nicht lösen und haben es [1] Model 4 technical reference manual. Tan­ dy Corporation 1983. (21 Röckrath, Luidger: Der geknackte TRS-80. mc 1981, Heft 1. Seite 46. an die Zentrale weitergegeben. Der Au­ tor hofft, in mc vom Ergebnis noch be­ richten zu können. 10O MO DATA 120 • 130 DATA 140 DATA 130 DATA I öO DATA 170 DATA 1B0 DATA 190 DATA 193 DATA 200 DATA TIA DATA 220 DATA 230 DATA 240 DATA 250 DATA 260 DATA 2A> DATA 275 DATA 276 DATA C3.SO.,02» * ES »' CS »* 21.98.02:’ 06*07 1* 79 I* 1* 23 :9 BE 23 i9 28,09 ** 1A.F7 CI El D3.F8 79 BF C9 7E 18.F6 290 DATA Dl«SB DATA DATA OATA DATA 7*0 DATA 330 DATA 300 310 720 330 360 400 I D2.3C. 03,50 D6.7B D/.7C DQ.7D D9.7E im i* t* START LOOP EXIT :9 x9 X' X* rOUNP ORG JP ORG PUSH . PUSH LD LD LD INC CP INC JR DJN? PDP POP OUT LD CF RET LD JR 08ECM START O2B0H HL BC HL.TABLE-1 O’ .7 A.C HL (HL» HL 2.FOUND LOOP BC HL DEFW DEFW DEFW DEFW DCFW DEFW DEFW END 3BDIH i•Hir £ »PATCH KB-DRIVER »TAB LEN »CHAR TO TEST «NEXT CHAR TO TEST «IN TABLE? «POINT TO NEW CHAR 1IF : Fi r.r KFFP 1npKTNC. e 7 n &o s Mod, “i Boeckling Ulrich Koenig Hans J. Konrad Josef Kuhn Eckehard Muehlenbein Klaus Juer9en Neueder Jens Obermann Hartmut Perschbach Patrick Piller Walter Ra99an Hans Retzlaff Bernd Schneider Manfred Wa9ner Alexander T E S -Io Hs L 3 Buskouiiak Thomas Schrewe Christian Smerling Frank Stevens Peter Troesch Eberhard Wagner Guenther Ipi'tiA Vtkrr Epson — 6 i zu ü b e r t r a g e n . Gesen det werden I n f o r m a t i o n e n « Programme in A s c i i - L o d e , b a s i c o d e . P a s c a l und S c h a l t b i l d e r . 7~RS-&o HoJ. Lj Dreyer Gerald Hermann Klaus Stevens Peter Das V e r f a h r e n s Im F e r s e n b i l d werden d i e Z e i l e n 25 b i s 36 e n t s p r e c h e n d dem A s c i i - C o d e h e l l g e t a s t e t . So kann b e i jedem 2. H a l b b i l d e i n D a t e n b i l d ü b e r t r a g e n w erden. Der A nschluß « Beckhausen Wolfgang Zu/ickel Walter druckt#-__________ Beckhausen Woif9ar>9 Drerer Gerald Hermann Klaus Keeni9 Hans J. Muehlenbein Klaus Juergen Pi 11 er Walter Smerling FrankStevens Peter Troesch Eberhard Voi9tlaenoer Holm * DATbNUEBERTRAÜUNG PER FERNSEHBILD * ShiT ~ Drucker Albers Herbert GraJewski Werner Jablotschkin Rainer Mav Hol9er Schaefer Walter Schroeder Gerald Weiss Dieter Wucherer Juergen Zwickel Walter D ie S c a r t Buchse oder d i e A V -B uc hs e d e s F e r n s e h e r s oder V i d e o - R e c o r d e r s w ird über d a s I n t e r f a c e ’ V i d e o d a t 300* mit d er RS 232 S c h n i t t s t e l l e d es Computers v e r b u n d e n . A l s S o f t w a r e kann j e d e s DFü-Programm v er w e n d e t w e r d e n . D ie Para m eter s i n d : 300 Baud / 1 S t a r t b i t / 8 D a t e n b i t / 2 S t o p b i t s / ke in e P a r i t ä t . Das I n t e r f a c e s Das I n t e r f a c e ’ V i d e o a a t 300* muß man s i c h s e l b s t zusammenlöten. Die Koste n d e r B a u t e i l e b e l a u f e n s i c h a u f ca. DM 50. b in B aau sa tz i s t in V o r b e r e i t u n g . D i e s e r s o l l mit einem S D e z i e il e m 1C a r b e i t e n . Damit können d i e Kosten au f ca. DM 30 ges en kt w erden . Das S c h a l t b i l d bekommt i h r beim W D R Computer— Club und demnächst in u n s e r e r b o x . Viel Soai* beim L oten! t o a e u. H eribert Die* SC’-Ze;-chen-Karte Die Firma Schmidtke electronic machte 1984 eine bemerkenswerte Ankündigung: es sollte Mitte des Jahres (wohlgemerkt: noch befinden wir uns im Jahr 1984) eine 80-Zeichen- und Grafikkarte für ca. 500 DM angeboten werden. Diese Karte sollte neben 80 Zeichen, 25 Zeilen auch 720 x 480 Grafikpunkte, einen eigener Prozes­ sor. einen 64K-Soeieher, eine parallele und zwei serielle Schnittstellen bie­ ten. Zuerst verschob sich die Vorstellung auf den September, dann wurden diesbezüg­ liche Anfragen gar nicht mehr beantwortet. Mitte 1985 erfuhr ich dann« daß Schmidtke electronic endlich die karte anbot. In der Anzeige war nun von 80 Zeichen bei 25 Zeilen und 4 Zeichensätzen die Rede: Deutsch + Invers oder Grafik, Amerikanisch + Invers oder Grafik. Außerdem wurde auf die Software und ein umfangreiches Handbuch hingewiesen. Es hörte sich gut an und war mit 245 DM (inzwischen auf 295 DM erhöht) noch erschwing­ lich. Also her damit. Mitte November 1985 bestellte ich die Karte mit einem Scheck. Mitte Januar 1986 kam sie dann endlich. Diese Wartezeit ist bei Schmidtke noch guter Durch­ schnitt. Die Karte selber sieht dürftig aus: Es hätte doopelt so viel darauf gepaßt. Der Einbau in mein Genie IIS war recht einfach, aber er nichts ist gegen den in das Genie I/II. Zuerst mußten zwei ICs ausgewechselt werden. Kein Problem. Dann sollte die Karte in einen freien Slot gesteckt und mit dem Videokabel verbunden werden. Dieses Videokabel war nur leider zu kurz. Selbst nach Umstecken der anderen Karten erreichte es nur unter äußerster Soannung die Karte. Bei dieser Spannung brachen dann auch die Lötstellen am Stecker nach außen. Ein neues Ka­ bel und eine Videobuchse mußten besorgt werden, denn die alte war Hongkong­ made, sprich: verklebt statt geschraubt« Nun lief die Karte endlich. Aber das Bild auf dem Monitor mußte erst langwierig nachgestellt werden, bis sowohl im 80- als auch im 64-Zeichen-Modus alles er­ kennbar war. Beim Umschalten zwischen den beiden muß jedes Mal die Helligkeit verändert werden, denn im 80er-Modus sind die Zeichen heller. Nun wurde das "Handbuch" studiert. Eigentlich ist es kein Handbuch» sondern eine Montageanleitung. 21 der 32 Seiten bestehen aus Schaltplänen (dabei wollte ich die Karte eigentlich nicht nachbauen) und der Einbauanleitung für das Genie I/II. Der Rest beschreibt kurz die drei Programme auf der Diskette und noch kürzer die Programmierung der Karte. Auf der ersten Seite wird extra gesagt: Januar 1986 erscheint das "richtige" Handbuch, mit dem beiliegenden "Gutschein" kann man es anfordern. Nur: erstens lag kein Gutschein bei und zweitens habe ich die Karte im Januar 1986 bekommen, also dürfte sich das Handbuch noch im Kopf des Autoren befinden (falls es jemand inzwischen irgendwo aufgetrieben hat. wäre ich stark daran interessiert)• Die Programme sind schlicht, um nicht zu sagen simpel. Eines testet die Karte und zeigt dabei die verschiedenen Zeichensätze an. Dabei stellt sich auch her­ aus. daß das oben erwähnte "Grafik" eine geschickte Abkürzung für "Grafikzei­ chen" ist, die genauso öde wie nutzlos sind (bis auf die Kartensvmbole für Kreuz. Pik, Herz und Karo). Es gibt auf der Karte keine Grafik, nicht mal eine Entprechung für die SET/RESET-Grafik. Die 720 x 400 Punkte sind verschwunden. Ebenso der 64K-RAM-Speicher: Die 2048 Zeichen werden bei B000H oder F00ÖK ein­ geblendet. Die Karte hat genau 4K Speicher. Dafür kann die Karte aber die vol­ len 64K des Computers für CP/M verfügbar machen. Erweiterungen wie MBA / EG64 / LSS1 werden damit überflüssig. Von Schnittstellen keine Spur: Es gibt nur einen Anschluß für ein Netzgerät, falls man eins benötigt. Im Genie IIS entfällt dies. Weiter mit den Programmen: Das eine schaltet den S0-Zeichen-Modus an, das an­ dere ihn wieder aus. Interessant ist nur das erste. Es belegt der. Speicher über FC00H und leitpt alle normalen Bildschirmausgaben auf die Karte. Wenn ein Pro­ gramm allerdings nicht schön gesittet diese Routinen benutzt, sondern lieber poked, ist Sense: 80 Zeichen ade. Dieses Programm ermöglicht es, über PRINT CHR$(7> + Steuercode im Basic die verschiedenen Schriftsätze anzuwählen und sogar ein PRINT! bis 2047 durchfüh­ ren. Dafür laufen dann andere Hi 1fsprogramme vielleicht nicht mehr. Ich habe das bisher nur mit dem Bildschirmeditor ausprobiert, und der meldet sich ab. Was soll ich mit fantastischen 80 Zeichen und diesem alten, total untauglichen Zeileneditor? Zum Heulen! Andere Programme laufen von Fall zu Fall. Edtasm läuft im Editormodus, aber Assembeln tut er nicht immer, Scripsit meldet sich ab. Dem könnte ja abgeholfen werden, indem man diese Programme so abändert, daß sie selbst die Karte programmieren. Würde vielleicht klappen, wenn man wüßte, wie! Aber im "Handbuch" steht nur, daß die Ports D0-D2 benutzt werden und die Werte, die man in das Steuerregister D2 schreiben muß, um bestimmte Reaktionen zu er­ reichen. über DO und Dl schweigt es sich aus, aber sie werden von dem Treiber­ programm angesprochen. Nur was es mit ihnen macht und warum, bleibt im Dunkeln. So, ich glaube, jetzt habe ich die Karte genug verrissen. Noch einige Anmer­ kungen: Es gibt die Karte für TRS80, Speedmaster, Genie I/II/IIS und das Colour Genie. Lohnen dürfte sie sich nur, wenn man intensiv CP/M 2.2 nutzen will. Dann ist es D I E Erweiterung. Ansonsten würde ich beim Genie IIS wohl eher die TCS-Karte und für die anderen Computer eine Grafikkarte empfehlen. Falls mir jemand mehr Informationen über die Karte geben kann oder schon Pro­ gramme angepaßt hat: könnte er sich freundlicherweise bei mir melden? Das würde meine Laune stark verbessern. Gerald Schröder \t\^ y# r*r liest die Computerdiagnose und Ä Ä Computer mehr leisten kann. ___ « a IH p rt? « *•>*•F,mwke,nc" S peed Writing by Joe Lindsey W f you ow n an Epson MX-series printer. mW yo u 're w astin g time. T h at’s because your Epson prints at a fraction of its poten­ tial. Imagine a 40 percent increase in print­ ing speed— that’s w hat you’ll get with this modification. B y replacing your printer’s 6megahertx (M H z) crystals with ones rated at 10 MHz. you can print out both text and graphics faster. A n d you can m ake this simple modification for about >6 and a half hour o f your time. Here's how the modification works: The Epson's 6-MHz crystals govern the printer’s master dock. W h en you change the crys­ tals, you change the clock frequency. The faster the system dock, the more instruc­ tionsper-second the printer’s central pro­ cessing unit (CPU) executes. And when the C PU goes faster, the Epson goes faster. Printer Fix 6 5 faces you. I’ll refer to the right and left sides as you view the printer from the rear. I'll use “ front” and “ rear” in their true senses. Look carefully at your printer from the rear to get acquainted with its com po­ nents. The power supply appears on your left. A large control circuit board lies at the bottom o f the machine behind the paper feed mechanism. A smaller board, called the driver circuit board, sits on the right side and on top of the control board Remove the driver board from the con­ trol board by removing the two Phillips screws along the right side o f the driver board (see Photo 2). The left side of the driver board plugs into a couple of sockets (CN4 and CN5) on the control board. Care­ fully work the pins out o f the sockets un­ derneath. m aking su re you don 't bend them. You m ay want to remove the big. blue male plug (CN6) on the right side of the driver board. I left mine plugged in and let the whole board dangle by the attached wiring. Remove the driver board by grasp­ ing it and working it loose while pulling straight up. j Asingle ground w ire connector (FG ) at­ taches to the rear at the control board, just to the left of the external printer connector You first need to buy tw o 10-MHz crys­ tals from an electronics supply house. You also need a P h illip s sc rew driver, som e m asking tape, and a soldering iron. Disconnect the E p so n 's external cable and power cord, put y o u r printer on a ta­ ble or other level surface, and you're ready to begin. Pull the manual paper feed knob off the right-hand side of the printer and remove the smoked plastic cover. Flip It up to a ver­ tical position and lift It out. left side first O n the M X -100. reach inside the right side o f the printer (b y the control buttons) and u n plug the cable to the buttons. This will m ake It easier to remove the case. Look along the front of the printer: you’ll (CN1). Slip it o ff the pin onto w hich it plugs. You need to remove two power sup­ ply connectors (C N 2 and C N 6 ). both of which are on the left rear corner of the con­ trol board, near the largest of the two capac­ itors mounted there (C l) (see Photo 3). Tb free the control board, you have to remove three Phillips screws. One is In the see three screws w here the base of the gray cover was. and one screw in each of the back com ers. Rem ove all five screws and lift off the case Turn the printer upside down, making center of the printer Just behind the paper feed assembly, between the Integrated cir­ cuits labeled 2C and 3C (m idway between the two white standoff pasts protruding up through the control board from the bot­ su re you d o n ’t d a m a g e an y th in g that sticks out o f the top. and unscrew' the four Phillips screw s at each com er of the bot­ tom o f the case. C o v e r the holes with m asking tape to keep the screws from fall­ tom). The other two screws sit at the left side of the board in front o f the pow er transformer (see Photo 4). The only things h olding the control board in place now are three plastic tabs molded into the base, tw o along the rear o f the board, the third on the right side. Push each plastic tab out o f the way enough to clear the board, then lift the comer of the board out from under the tab (sec Photo 5} ing out. Turn the printer right side up and re­ move the top cover by lifting up on the left side and sliding the cover off the paper feed shaft that sticks out the right side You'll see some tied w ires running up to the printer’s control panel on the right side o f the m achine (see Photo 1). Unplug the connector In the top cover at the op­ erator panel and the whole cover should come free. Set it aside for now. Tu rn the printer around sc the back System Requirements E pson M X -se rie s p rin te r A simple, inexpensive modification to Epson MX-series printers that increases printing speed by up to 40 percent Raise the control board over the stand­ offs molded to the base and slide it out from under the paper feed assembly. The board is m ade of a paper laminate m a­ terial that breaks and chips easily, so be careful when removing i t Also, use cau­ tion when soldering or unsoldering, as ex­ cessive heat will destroy the board. Unsolder the two 6-MHz crystals (CR1 and CR2) from the control board and solder the 10-MHz crystals in their place, keeping the lead lengths the same as the original (see Photo 6). CR 1 is located toward the left and on the front of the control board just to the left o f the large integrated circuit la­ beled IC. CR2 Is on the right side of the control board Just in front of the large In­ tegrated circuit labeled 9B. The crystals in m y printer were also held in place by double stick tape. I had to pry u p on them slightly to break the tape bond, but the tape was still sticky enough so that I didn’t have to replace It. The new crystals came encased In metal, so I stuck a small piece of black electrical tape to the bottoms to keep them from shorting out to any circuitry close by. Now you can reassemble your printer, reversing the above procedure. Be sure you put all connectors back in their origi­ nal positions without bending any of the pins. Make sure that the connectors line up properly between the driver board and main printed circuit board. D on ’t force anything. Additionally, w h en you rein­ stall the PC board you need to push each of the plastic tabs out o f the way before you gently push the bo ard Into place. Don’t expect the board to move the tabs. Finally, don’t forget the control panel plug In the top cover of the printer. sult la that the skip and space speed of the paper feed has also Increased. ■ Printer Ready The operation I’ve Just described for speeding up your M X -80 is reversible— you can put the old 6-MHz crystals back In and your printer will work the way it did before. If you ever need to take your printer In for service, you may need to put the original crystals back in to return it to “ norm al” speed. Epson won’t fix a modified printer without unmodifying it. and you can’t ex­ change any boards to which you’ve sol­ dered. I do offer one caveat: I wouldn't try to in­ crease the speed over lO MHz. since the C P U and memory can't safdy drive the Epson any faster than thaL I’ve noticed no change In print quality and no skipping of dots after Increasing the speed of m y M X -80, even In heavy graphics printing. You’ll hear a noticeable change in pitch as It prints, but I don’t think it’s any louder. Another positive re­ Support für Genie Den Support der Recher Genie I und II übernimmt ab sofort die Finna Schmidtke Computmyiterne, Sandkautstr. 41, 5)00 Aachen. Produktion, Vertrieb und Support der aktuellen M o­ delle (Genie IIs. Genie IIIs und Genie 16) bleiben unverändert in den Händen der Firma Phoe­ nix-Computer. Phoenix-Computer. Computer GmbH Sl C0 KG. Grwrrbeprbict Klärensplatz. 5461 Windhafen. 0 2645 '3222 Tandy-Computer mit 89286 Ir, den gehobenen Bereich der M S -D O S Com puter ist der neue Tandy-3000 einzuorrinen. Diese Tatsache belegt nicht nur d ie W ahl der CPU (80286 m it 8 M Hz Takt­ frequenz), sondern auch der Arbeitsspei­ cher von 512 KByte in der Standardver­ sion, der ohne Erw eiterungskarten auf 6 4 0 KByte ausgebaut w erden kann. Das eingebaute D iskettenlaufw erk bringt auf jed er Scheibe 1,2 M Byte unter, kann aber auch IBM s Standardform at m it 360 KByte lesen. Das Betriebssystem , M S-D O S 3.1, gehört nicht zur G rundausstattung, kann aber getrennt bezogen w erden. Für M ehrpiatzanwondungen bis zu sechs Benut­ zern w ird künftig Xenix 5.0 auf dem Tan­ d y-3000 laufen. Als lokales Netzw erk für M S-D O S-C om puter bietet Tandy ViaNet an. Das G erat hat insgesam t zehn Erwei­ terungssteckplätze: Sieben davon sind kom patibel zum IB M -P C /A T und zw ei zum IB M -P C /X T. Ein w erterer JC T -S te ckpiatz kann für kurze Karten verw endet w erden: er ist norm alerweise von der ParallelVSeriell-SchnittsteHe belegt, die zur Grundausstattung gehört. W er viel M as­ senspeicher braucht, kann sich für das M odell HD entscheiden, das eine 20-M B yte-Festplatte en th ält Aber auch beim G rundm odell kann der M assenspei­ cher auf über 40 M Byte ausgebaut w er­ den. Für rechenintensive Aufgaben gibt es den Arithm etikprozessor 80287 als Zu­ satz, HER 3? Harz 1986 GE Photo 1. Unplug the connector at the operator panel to remove the cover. * Photo 4. Free the control board by removing the three Phillips screws at the left side of the control board. Photo 2. Remove the driver board from the control board by removing the two Phillips screws along the right side of the driver board. Photo 5. Push each of the three plastic tabs on the base o f the printer out of the way. Photo 3. Remove CN2 and CN6 from the left rear comer of the control board. Photo 6. Unsolder the two crystals CR1 and CR2 from the control board. TRS-80 Modell 4 P: Der schönste Fbrtable der Wdt zu vier Festplatten. Eine TbnbandBuchse fehlt. Auf der Vorderseite links vom Schirm sind der beleuchtete Netz­ schalter und die Regler für Hellig­ keit und Kontrast. Die Reset-Taste ist unter dem Netzschalter angebracht und damit so gut versteckt, daß man sie garantiert nie versehentlich aus­ löst. Auch innen sieht es gut aus V 1 Daß ein V :\ Portabler nicht \ immer ein häßlicher schwarzer Kasten sein m uß, hat Tandy m it dem Modell 4P eindeutig bewiesen. Ich habe noch keinen Porta­ blen gefunden, der besser aussieht. Bliebe die Frage, wos hinter der schönen Fassade steckt? Ein Anwen­ der des grol: großen Modell 4 hat den Kleinen gefestet * ine englische Fachzeitschrift schrieb unter d er Überschrift ^Tandy's Sweet P«, das 4P sei ein M4 »with Wanderlust«. Längere Wan­ derungen dürften damit allerdings nicht sehr lustig werden, denn im­ merhin wiegt der Kleine 11 kg, so klein ist er also gar nicht. Das liegt an der sehr soliden Konstruktion, ein Portable muß schließlich rauhe Be­ handlung vertragen. Die Bildröhre hat 9 Zoll Diagonale und damit ein Format, das als ange­ nehm bezeichnet werden kann. Wo­ mit auch gesagt sein soll: die 7-Zoil- E Formate der Mitbewerber sind bei 80 Zeichen/Zeile meines Erachtens unerträglich. Die Frontseite ist durch einen Deckel abgedeckt, der nach Lösen von zwei Schnellspannem ab ge­ nommen wird. Der Tragegriff ist auf der Rückseite, das Gerät wird also mit dem Schirm nach unten trans­ portiert. Im Deckel ist Platz für das Netzkabel, ein Fach für das PocketManual und 4 bid 5 Disketten. Auf der Rückseite verbergen sich unter einer Kiappe die Buchsen für das Netzkabel, eine RS232- und eine Centronics-Schnittstelle, Anschlüs­ se für den Rechner-Bus und für bis Das Gehäuse ist recht einfach zu entfernen: Zwei Schrauben auf je­ d er Seite und die beiden unter dem Griff lösen, Gehäuse abziehen. Nach dem Lösen zahlloser Schrau­ ben müßte man an die Einzelteile herankommen, mit wenig Aufwand läßt sich aber feststellen, daß das CPU-Board die Unterseite belegt, links steht senkrecht die VideoPlatte, rechts die Laufwerk-Elek­ tronik, den Deckel bildet sozusagen das Netzteil. Die Baugruppen sind untereinander nochmals mit Ble­ chen abgeschirmt; jetzt weiß man langsam, wo die 11 kg herkommen. Immerhin, lieber eine solide Kon­ struktion, die auch mal einen Bums verträgt, als ein empfindliches Leichtgewicht. Auf der Rückseite sieht man nach Abnehmen eines Blechdeckels in einen Schacht, der noch eine Platine aufnehmen kann, nämlich die für das in Deutschland nicht zugelassene Modem. Auch d er CPU-Bus ist mit einem Blech­ deckel abgedeckt. Vorbildliche Tastatur Die Tastatur ist beim Transport in einem Fach unter dem Bildschirm gelagert, man muß sie da herauszie­ hen. Leider ist das Kabel etwas kurz geraten. Zur ergonomischen Anord­ nung auf dem Tisch reicht es noch, nicht aber für die amerikanische Kreativ-Haltung, sprich Füße auf dem Tisch und Tastatur auf dem Schoß. Um gleich bei der Tastatur zu bleiben: Sie ist extrem flach, kann mit zwei ausschwenkbaren Füßen schräg gesteht werden und hat 70 beziehungsweise 75 (deutsche) Ta­ sten. Die Anordnung ist sehr gut (besser als beim M4), Shift und Enter sind deutlich abgesetzt. Die Tasten lassen sich gut bedienen und haben einen deutlich hörbaren Anschlag, allerdings nicht so blechern, wie beim IBM-PC. Auch schnelle Tipper können die Tastatur nicht schlagen. Alle Tasten haben eine Wiederhölautomatik, die Ansprechverzogerung und die Widerholfrequenz sind per Software einstellbar, die Grundeinstellung ist aber meines Erachtens schon genau richtig. Beim Bildschirm hat sich viel getan Das M4 hat als deutsche Version immer noch den Ffehler, bei großen Grafik-Flächen ständig und bei Tex­ ten im 80-Zeichen-Mode manchmal zu flimmern. Beim 4P ist das Bild g e ­ stochen scharf, und steht wie eine Eins. Obwohl der Schirm kleiner ist (9 statt 12 Zoll), läßt er sich deshalb mindestens genau so gut ablesen. Die Option, auf 40 Zeichen/Zeile umzuschalten, habe ich mal probiert (sie funktioniert), aber sonst nie an­ gewendet. Tatsächlich hat man die Qual der Wahl zwischen 24 Zeilen mal 80 Zeichen, 24 mal 40 und 16 mal 64. Erste Inbetriebnahme in drei Sprachen Das Modell 4P soll international sein, was an sich kein Problem ist, man muß halt nur die entsprechen­ de nationale Diskette einlegen, von der dann der Zeichensatz geladen wird. Dafür hat der Computer einen Bootstrap-ROM (Urlader). Alle Feh­ lermeldungen und Prompts erschei­ nen in Englisch, Deutsch und Fran­ zösisch, womit wir wissen, was d er Hersteller für die drei wichtigsten Sprachen der Welt hält. Daß sich da­ mit der Bootstrap-ROM vom M4 un­ terscheidet, ist klar, allerdings noch in einem anderen Punkt. Er erwartet TRSDOS 6.1.1 oder neuer. Eine Dis­ kette der Version 6.0.0 oder 6.1.0 bootet nicht. Solche Disketten kön­ nen allerdings ohne Probleme gele­ sen, und mit einem mitgeliefertem Programm auch »upgedatet« w ei­ den. Letzteres spielt nur das neue DOS auf, läßt aber alle anderen Da­ teien unberührt. Ein weiteres Problem. Das Tastgerät hat noch keine deutsche Tastatur, Die Lösung: Ich schreibe die Umlau­ te aus und lasse sie auf dem M4 über die globale Erset2funktion wieder in »äöüß« wandeln. Laut Prospekt besteht kein Unter­ schied zwischen dem M4 und dem 4P, vom Äußeren einmal abgesehen. Im M4 ist ein Modell 3 physikalisch echt enthalten. Tatsächlich fehlt dem 4P aber das Modell-3-ROM. Beim M4 ist es so, daß das ROM dem RAM adreßmäßig parallel liegt, und per Bank-Select automatisch das ei­ ne oder andere gewählt wird, je nachdem, welche Diskette man ein­ legt. Beim 4P funktioniert das im Prinzip auch so, nur daß das soge­ nannte ROM-Image auf der Diskette vorhanden sein muß Diese wird beim Systemstart zuerst in das RAM geladen, was natürlich einige Se­ kunden dauert. Hat man kein ROMImage auf der Diskette, kann man mit der zum Lieferumfang gehören­ den Software ein solches darauf ko­ pieren. Ist dafür kein Platz mehr, muß man mit einer anderen Diskette starten und dann die Scheibe wechsein. Dies mag auf den ersten Blick ein Nachteil sein, Hacker aber werden jubeln. Haben Sie doch jetzt die Möglichkeit, em Modell 3 mit maßgeschneidertem »ROM« anzuferti­ gen. Ich habe einige Modell-3-Software getestet, auch unter einem fremden ucct n tr i ü * 1984 io 7 4 DOS (NEWDOS/80), verschiedene Programme eingesetzt, die exzessiv ROM-Ware benutzen: kein Fehler feststellbar. Im Modell-4-Mode läuft das System von Haus aus (Lieferum­ fang) unter TRSDOS 6.1, ein Be­ triebssystem, das keine Wünsche offen läßt. Computer Nr. 3 ist eine reine CP/M-Maschine, vorausge­ setzt, Sie starten mit einer passen­ den Diskette. Von Tandy lange ange­ kündigt, ist CP/M 3.0. Disk-Drives und Geräusche Drei Computer in einem Dazu muß man wissen, daß das 4P von Haus aus 64 KByte RAM hat, das M4 ist darauf aufrüstbar. Beide bieten d ie Möglichkeit, auf 128 K zu erweitern (329 Mark). Diese letzten 64 KByte sind aber nur über Bank-Select zu adressieren, was TRSDOS 6.1 perfekt unterstützt, nicht aber CP/M so ohne weiteres. Hier dürfte das Problem in der An­ passung von CP/M 3.0 gelegen ha­ ben. Ungeduldige haben inzwi­ schen CP/M 2.2 gekauft. Vielleicht war die Id ee gar nicht so schlecht. Dieses CP/M soll laut Tändy zwar nicht perfekt sein, es hat aber einen Vorteil: Es liest und schreibt im For­ mat von IBM, Kaypro, Osborne und anderen. Welches Betriebssystem, des ist die Frcge! Beispiel beim Datum. TRSDOS 6.x ist ein exzellentes Betriebssystem, das keine Wünsche offen läßt. Wenn Sie NEWDOS kennen, wissen Sie, daß man da lange Parameterlisten mit unverständlichen Kürzeln einge­ ben muß, oder Ersatz-Werte durch viele Kommas zu definieren hat. Die vielen Parameter sind bei TRSDOS6 auch möglich, nur daß dafür Klar­ text oder auch nur die Anfangs­ buchstaben zugelassen sind. Aber das Wesentliche: Wissen Sie die Pa­ rameter nicht, geben Sie einfach den Befehl, zum Beispiel BACKUP ein, und Sie werden gefragt. Besonders zu erwähnen wäre noch MEMDISK, eine sehr einfach zu bedienende RAM-Floppy und SPOOL, ein Spooler, der im einfach­ sten Fall durch Nennung seines Na­ mens aktiviert wird. Allein diese beiden Programme sind Grund ge­ nug. die 128-KByte-Erweiterung. die jetzt auch in Deutschland erhältlich ist, zu kaufen. Es ist schon ein erhe­ bendes Gefühl, einen großen File auf »Disk« zu schreiben, und er ist da, sobald man die Enter-Taste wie­ der losgelassen hat. Ansonsten gibt es noch einige Pro­ gramme für Fortgeschrittene, wozu zum Beispiel die CommunicationSoftware (RS232) zu zählen ist. Die läßt zwar das Herz eines jeden Hackers höher schlagen — es fehlt nichts, was einen daran hindern könnte, fremde Großrechner anzu­ zapfen — aber die Bedienung ist doch arg umständlich. Diese Um­ stände könnte man zwar auch einem ICL-File anvertrauen, die Job Con­ trol Language ist auch einsame Spit­ ze, aber leider von Profis für Profis gemacht. Wer sich nicht scheut, den ausführlichen Anhang zu diesem Thema zu studieren (lesen reicht nicht), hat dann allerdings auch ein Mein Rat: Kaufen Sie zuerst TRSDOS 1.3, das Betriebssystem des M odell 3. Damit steht Ihnen schon einmal eine riesige Programm-Bibliothek zur Verfü­ gung, in der Regel wesentlich preis­ werter als CP/M-Software Dann schauen Sie sich das M4-Angebot an, und wenn dann noch was fehlt, versuchen Sie Passendes unter CP/M zu finden. Zwei Disketten und dann nur noch Festplatten als Option. Das heißt, für unterwegs muß man sich mit 360 KByte Massenspeicher (einseitige Aufzeichnung) »bescheiden«, zu Hause darf man dann auf 20 MByte aufrüsten. Das M4 erlaubt, noch zwei externe Laufwerke anzuschlie­ ßen, die auch »double sided« sein dürfen, es ist also im Prinzip preis­ werter mit Massenspeicher auszu­ rüsten. Im M4 klappern die Lauf­ werke ganz schön, was das große Gehäuse als Resonanzboden noch kräftig unterstützt, die 4P-Laufwerke sind dagegen wohltuend ruhig und deutlich schneller. Ich habe ein 1 100-Zeilen-Programm mit einem Assembler übersetzt, der dazu stän­ d ig auf die Disk, wo d er Source-Taxt liegt, zugreift. Auf dem M4 dauert das 80 Sekunden, auf dem 4P nur 66. W as gibt es an Software? TRSDOS 6.1 ist für das Modell 4 maßgeschneidert und eindeutig be­ nutzerfreundlicher als CP/M, letzte­ res hat aber den Vorteil, daß es ein riesiges Softwarepotenttial dafür gibt. Das heißt, wenn Sie unbedingt Software benötigen, für die unter TRSDOS nichts Gleichwertiges an­ geboren wird, müssen Sie wohl oder übel in den teuren Apfel beißen. Eine Zukunftsinvestition dürfte aber der Kauf von CP/M nicht sein. Der Schwerpunkt liegt eindeutig auf TRSDOS, was durch eine OpenSystem-Politik unterstützt wird. Das technische Manual das M4 (und 4P) ist ein Musterbeispiel dafür. Die Hard- und Software ist völlig offen gelegt, für einen Systemprogrammierer bleibt keine Frage unbeant­ wortet. Daß der Hersteller inzwi­ schen selbst exellente Software ent­ wickelt, zeigt das ALDS. ein SuperAssembler, der beim Autor gerade ;m Test ist; aber auch die OpenSystem-Politik trägt Früchte, wie Alcor-Pascal und Multiplan zeigen. Mitgeliefert wird TRSDOS 6.1.1 und Basic. V oti TRSDOS 6.1.0 gibt es auch eine Version für die deutsche Tastatur, Sie sollten allerdings auf d er Version 6.1.1.D bestehen, die noch besser eingedeutscht ist, zum 100 HO 120 ' D e » o B u b b l e s o r t m i t U H IL E / W E N D u n d SW A P '■ a « m c z z s » : ; : s z z s » » x s : » x s : : : 3 : t : a r s 130 ' 'A r r a v 140 FO R 150 160 170 180 ' 'S t a r t S o r t ' ----------------------------------------------------------------------------------------------------F L A G «1 190 W H IL E A * it 1=0 T0 Z u fa ls s a h le n la d e n : 1 0 : A U > = R N I » ( 1 0 0 > : n EXT FLAG 200 FLAG =0 210 FO R 1=0 220 IF TO 9 A { I ) > A t 1+1> 240 250 260 NEXT WEND ' 'P r i n t FO R ' 300 END 1=0 Was sich da im Copyright mit Ba­ sic 1.0 meldet, ist Microsoft-Basic Version 5. Die besonderen Eigenschaften dieses Basics erkennt man erst, wenn man sehr tief (mit einem Disas­ sembler) hineinschaut. So werden zum Beispiel Konstanten, auch hexa­ dezimale und oktale, sofort nach der Eingabe in das rechnerinteme For­ mat umgewandelt und so im Pro­ grammtext zusammen mit einem Typ-Byte gespeichert. Das heißt, + So einfach kann man m it dem neuen Basic ein Sortierprogramm schreiben. Die Anpassung eines Druckers ist an sich kein Problem, sollte aber im Manual bes­ ser beschrieben sein. ? . LA180/JCL .S e t ur fo r R S -2 3 2 -> D E C -P rin t e r I sorted S E T * C L TO COH /DVR SETCO H < B A U D = 2 4 Ö 0 »C T S = Y E S ) d a ta 270 ' -----------------------------------------------------280 290 Bas Basic ist mehr als erfreulich TH EN SWAP A < X ) * A < I + l > t FLAG“ 1 230 mächtiges Instrument zur Verfü­ gung. ICL ist nicht nur ein Textfile, der anstelle d er Tastatur gelesen wird, sondern schon eine Program­ miersprache für sich. Gut gelöst ist in TRSDOS 6.x das Konzept d er »logischen Geräte«. Das heißt, Tastatur, Bildschirm, Drucker, die RS-232 und Disk-Files sind im Prinzip alle gleich zu behandeln. Mit LINK kann man die »Geräte« mitein­ ander verbinden, zum Beispiel Schirm und Drucker, mit dem Er­ folg, daß man sieht, was gedruckt wird. Mit ROUTE wird umgeleitet, zum Beispiel d er Drucker auf den Schirm, womit sich die Formatierung überprüfen läßt, ohne Papier zu ver­ brauchen. In alle »Links« kann man sogenannte Füterprogramme schal­ ten, um Zeichen umzuwandeln, wel­ che hinzuzufügen (zum Beispiel zu jedem CR ein LF) oder andere zu »strippen«, sprich zu unterdrücken. Einige Filterprogramme werden mitgeliefert, wovon FORMS/FLT (Druckformat) und KSM/FLT (vom Anwender zu definierende TastenMakros) besonders hervorzuheben sind. TO 9 J P R IN T A < I > » : NE XT R O U TE »P R • L A - 180 / / E X IT TO rea d y *C L to use L A - 180 d er alte Trick, häufig benutzte Kon­ stanten als erste Variable zu definie­ ren, ist hier unangebracht, Konstan­ ten sind immer schneller! A b e r auch wenn man das Basic nur von außen Qaut Handbuch) kennenlemt, wird man erfreut sein. Zu­ erst: W er Level 2 oder Basic-80 be­ herrscht, kann sofort loslegen, wenn er sich bitte nur eines merkt: Reser­ vierte Worte sind mit Blanks zu tren­ nen. Tatsächlich ist Level 4, wenn ich das mal so nennen darf, eine Erwei­ terung von Level 2 oder 3. Über die neuen Befehle sollte man allerdings gründlich nachdenken. Auf Seite 32 unten links sehen Sie zum Beispiel, wie man mit WIHLE/WEND und SWAP (vertauschen von zwei Variablen) ein Sortierpro­ gramm mit einer in Basic bisher nicht möglichen Effektivität schrei­ ben kann. Die langen Variablenna­ men sind echt, bis zu 40 signifikante Zeichen sind jetzt möglich. Das Be­ mühen, volle Kompatibilität zu den Vorgängern zu erhalten, führt aller­ dings auch zu einiger Redundanz, sogar an falscher Stelle. So gibt es nach wie vor USR, ob­ wohl der neue Befehl ’CALL Name (Parameterliste)’ erlaubt, beliebig viele Routinen aufzurufen (andere Namen) und alle mit soviel Parame­ tern, wie in einer Basic-Zeile von 250 Zeichen unterzubringen sind. Diesem sehr guten Basic nicht j mehr angemessen ist der Editor, d er genau d er des alten Level 2-Basics ist. Ich würde empfehlen, Tandys ALDS zu kaufen. Dieses Ässembler-Entwicklungs-System beinhaltet einen erstklassigen Edi­ tor. der auch auf Basic-Files (ASCIIFormat) anwendbar ist. Einschrän­ kung: Basic-Zeilen dürfen dann nicht länger als 80 Zeichen sein, deutsche Umlaute werden ver- I fälscht. A lle Programme der Modelle 1 und 3 laufen auch auf dem 4, sofern Sie jedes PEEK und POKE und alles was sonst mit den Maschinen-Internas zu tun hat, strikt vermeiden. Wenn Sie die Programme vom Mo­ dell 1 mit REPAIR beziehungsweise vom M 3 mit CONV übertragen, dann bitte nur im ASCII-Format. PRINT heißt zwar immer noch PRINT, ist aber intern anders co­ diert, die sogenannten Tbkens ha­ ben alle eine andere Bedeutung. Vergißt man das, erhält man sehr lu­ stige Listings, nur laufen tun sie nicht. REPAIR und CONV versagen aber bei Modell 3-Disketten, die un­ ter NEWDOS erstellt wurden. Also schnell eine TRSDOS-1.3Diskette besorgen (27 Mark) und Zwischenkopien erstellen. Für Grafik-Fans eine schlechte und zwei gute Nachrichten, zuerst die schlechte: SET. RESET und POINT sind entfallen. Die erste gute Nach­ richt: Es gibt eine Grafik-Karte für 768 Mark mit einer extrem hohen Auflösung und mächtigen GrafikBefehlen. Die zweite gute Nachricht: Com­ puter persönlich bringt demnächst ein Programm, das die BlockgrafikBefehle w ieder installiert, und das mit doppelt so hoher Auflösung als beim Modell 3. Beim M4 hat man die Buchse für den Kassetten-Recorder noch be­ lassen, wohl, weil es das Gerät als Billig-Version auch ohne Disks gibt; beim 4P fehlt sie und folglich auch CLOAD und CSAVE. Somit dürfen 4P-Besitzer auch TAPE100 löschen, was Tandy vergessen hat. Das ist das Programm zum Einlesen von Modeil-100-Kassetten. Sie können das nicht löschen? Nun, das Paßwort heißt UTILITY. Die Dokum entation: Qualität. 7 3 In diesem Punkt war Tandy vom I Inhalt her schon immer gut, jetzt • auch in d er äußeren Form. Mein * M4-Manual wurde noch als Kopie ' von Schreibmaschinenseiten im Pappdeckel geliefert, die 4PAnleifung ist ein Ring-Ordner in Kunstleder mit Goldemdruck. Die Seiten sind richtig gesetzt und offen­ sichtlich von einem Layouter gestal ­ tet, das heißt angenehm und klar zu lasen, sofern man Englisch bej herrscht. Da Tandy aber inzwischen | Deutschland entdeckt hat, was Taj Statur und DOS schon beweisen, ist ! auch hier noch Besserung zu erwar! ten. Vom Inhalt her ist fast nichts zu be­ mängeln, bestenfalls zuviel Ausführ­ lichkeit, aber da gibt es ja noch das Pocket-Manual, mit dem ich gern praktisch arbeite Das »fast« mußte ich geben, weil ich die Kapitel über die RS232 me verstanden hätte, wenn ich nicht schon einiges darüber wüßte und I nicht wie wild im Manual geblättert hätte COM/DVR, SETCOM und COM M /CM D gehören nämlich zu­ sammen, sind aber im Handbuch völlig getrennt. Tatsächlich sind nur drei Befehle ; ttsöüg die Zeilen n r dem Pun>? Kommentare Legt man die in einem Do-File ab. reicht »DO Name« und der Drucker ist benutzbar.' SET­ COM selbst ist ein gutes Programm, sein Aufruf zeigt den Ist-Stand, mit »SETCOM(Parameter> kann man je­ derzeit ändern, und sich so sehr ein­ fach an die Besonderheiten einer wilden Norm wie die der RS232 her­ antasten. M 4 oder 4P, das ist noch eine Frage Theoretisch kosten beide Compu­ ter dasselbe, praktisch ist das 4P in gleicher Ausbaustufe um den Preis der dort serienmäßigen RS232Schnittstelle billiger (rund 300 Mark). Wenn Ihnen zwei Disketten­ laufwerke reichen (oder sie sich Harddisks leisten wollen), ist vom technischen her kein Unterschied festzustellen. Bliebe d er kleinere Schirm (9 statt 12 Zoll). W ie gesagt, der kleinere ist schärfer, und App­ les Macintosh hat auch 9 Zoll. Vorteilhaft ist die absetzbare Ta­ statur, und der Kleine blockiert nicht gleich den ganzen Schreibtisch. Er sieht besser aus und kann leicht weggeräumt werden. (Peter Wollschläger) 1 Auf eine Blick CPU:Z80A, 4 MHz 64 KByte, aufrüstbar auf 128 KByte zwei eingebaute Diskettenlauf­ werke, je 184 KByte Erweiterung um bis zu vier Fest­ platten, je 5 MByte Parallelschnittstelle und RS232 serienmäßig TRSDOS 6.1 (Standard), CP/M 3.0 (Aufpreis) Basic (Microsoft Ver. 5) Pascal, Assem­ bler und anderes Hochauflösende Grafik Bildschirm 9 Zoll, grün auf schwarz oder invers 24 Zeilen mal 80 Zeichen umschaltbar auf 40 Zeichen Absetzbare Tastatur, 75 Tasten Kann TRS-80, Model 3 emulieren Ibnausoabe Oe wich" 11 kg RAM: Betriebssystem: Sprachen: Gegen Aufpreis: Nachrüstbar: Besonderheiten: Bild 1. Ähnelt dem Vorgänger Modell UI: Tandys neues Modell 4 TRS-80 Modell 4 — Drei Computer in einem? Dasseit langem auf dem Markt befindliche Modell I und das sich kaum davon unterscheiden­ de M odell III bedurften eines Nachfolgers auf dem neuesten Stand der Technik. Mit Rücksicht auf die umfangreiche Software-Basis sollte die Kompatibilität der Reihe erhalten bleiben, ein bes­ seres D O S war nötig, und die C P /M -W elt durfte auch nicht länger ignoriert werden. Lesen Sie, ob und wie Tandy diesen gordischen Knoten mit seinem Modell 4 durchschlagen hat. as M odell 4 sieht aus wie ein Modell III (Bild 1), nur daß des­ sen abwischbarer MetallicLook durch soliden, mattweißen Kunststoff ersetzt wurde. Zum Öff­ nen sind zehn Schrauben auf der Unterseite zu lösen (man merke sich tunlichst, wo welche hingehö­ ren). Dann hebt man das Oberteil ab. Das erscheint einem sehr schwer, und das ist es auch, denn da hängt die ganze Bildröhre nebst Video-Platte dran (Bild 2). Jetzt hat man freie Sicht auf das Chassis und erblickt ganz hinten die große Hauptplatme, davor zwei kleinere für den Disk-Controller und das Netzteil. Die Hauptplatte ist durch D ein gleichgroßes Blech abge­ schirmt, auch sonst dürfte die Post zufrieden sein. Jedenfalls funktio­ niert der beliebte Modell-I-Trick, »Ton« über ein neben dem Compu­ ter stehendes Kofferradio auszuge­ ben, nicht mehr. Auf der Hauptplatte sieht man fünf Drahtbrücken, von denen min­ destens eine wild gebastelt ist, im­ merhin ein Zeichen dafür, daß das Gerät erprobt wurde (Bild 3). Die Sound-Platine mit ihren nicht viel mehr als drei Bauteilen hätte auch noch bequem Platz auf der Hauptplatte gefunden, und man hatte die Steckverbindung gespart. Aber irgendwie muß man ja Kun­ den, die die abgemagerte Grundversion kaufen wollen, davon ab­ halten. Sound scheint ein gutes V er­ kaufsargument zu sein. Ein weiterer Blick auf die Platine zeigt, daß Tandy den in der Einlei­ tung genannten gordischen Knoten mit Geld, sprich Hardware, durch­ schlagen hat. Mit 64 KByte RAM ist das Modell 4 als CP/M-Maschine ausgerüstet, 14 KByte ROM extra sind nötig, um die Modell-III-Betriebsart zu ermöglichen, und noch einmal 2 KByte Video-RAM zusätz­ lich waren nötig, um nicht CP/M ’s TPA durch einen Bildspeicher ab 3C00H zu verwirren. W er selbst von 64 auf 128 KByte aufrüsten will, muß mindestens ein Teil bei Tandy kaufen. Die Adreßlogik wird mit einem PAL (Pro­ grammable Logic Array) gemacht, und PALs sind kundenspezifische Schaltkreise, die nur an diese aus­ geliefert' werden. W ie gesagt, es gibt nur noch ein Netzteil, früher wurden die Disklaufwerke (2 x 180 KByte Speicherkapazität) geson­ dert versorgt, und das merkt man als leichtes Zucken im Bild, wenn ein Diskmotor anläuft. Insgesamt macht die Technik ei­ nen sehr soliden Eindruck, irgend­ wo müssen die 20 kg Gewicht schließlich herkommen. Platz für Erweiterungen ist genügend vor­ handen. Tandy bietet zur Zeit eine RS232- und eine Grafikkarte zum Einbau an. Die Tastatur ist deutsch (Bild 4) und hat mit 75 Tasten fünf mehr als die amerikanische, die im Hand­ buch beschrieben ist. Auf jeden Fall ist sie angenehm zu bedienen, prellfrei und hat Autorepeat. Leider habe ich noch das ameri­ kanische DOS, das deutsche soll in zwei Wochen hier sein. Das macht stutzig. Man sollte sich doch überle­ gen, ob man nicht bei der auch hier angebotenen ASCII-Tastatur bleibt, zumal, wenn man noch andere Computer bedient. Der Zeichengenerator erzeugt 256 Zeichen, darunter die deut­ schen Umlaute, griechische Zei­ chen und anderes mehr In Kombi­ nation mit Shift, Clear und Control sind sogar alle von der Tastatur aus erreichbar. Zu loben ist der Type-Ahead-Buffer (nur im ModeIl-4-Modus) zu b e ­ dauern ist, daß die mit Control e r­ zeugten Codes nicht wie beim A p p ­ le in Texte aufgenommen werden, man also weiterhin CHR$(x) tippen muß. Die drei Funktionstasten w er­ den vom Basic-Editor akzeptiert, ansonsten lösen sie keine besonde- ► HEFT 12 Här2 198 X’ 0BB9’ »FR •> -C«SÖ3 X’ F7A9' *S1 <• »KI »SO <■> »DO *JL «> Nil »DU <« X’ 08ED' »SO •> X'OEOF* Options: Spool, Typ», KSM »1, #2. #4, #8, Cyls* Cyls= Cyls= C yls« Listing 1. Der Device-Befehl infor­ m iert über Geräte und Software im System 40, 40, 40, 40, Oden, Dden, Dden, Dden, Stdes=l, Sides=l, S»des=l, S id e s «!, Step*12*s. S te p «12«*, S tep*I2ms, Step=I2ms, Dl y*.5s Dl y*.5s D ly*.Ss D ly*.5s 10 INPUT"Eingabe in Hex CH> oder in Dezi 20 IF E*="D" THEN 80 30 40 50 60 70 80 90* Skip 1 Oder 2 O-Bytes Wortende, Reset Bit 7 Gg«. Zeilenvorschub zeigt je tz t «uf Token RUN AUTO AND ABS ATN ASC CLOSE CONT CLEAR CINT CSNG CDBL CVI CVS CVD COS CHR* CALL COMMON CHAIN CLS DELETE DATA DIM DEFSTR DEFINT DEFSNG DEFDBL DEF DATE* ELSE END ERASE EDIT ERRS* ERROR ERL ERR EXP EOF EQV FOR FIELD FN FRE FIX GOTO GO TO GOSUB GET HEX* INPUT IF INSTR INT 1NP IMP INKEY* KILL LPRINT LLIST LPOS LET LINE LOAD LSET LIST LOG LOC LEN LEFT* LOF MERGE MOD «K I* MKS* HKD* MID* MEM NEXT NAME NEW NOT OPEN OUT ON OR OCT* OPTION PRINT PUT POKE POS PEEK »«TURN READ RUN RESTORE REM RESUME RSET RIGHT* RND RENUM RANDOM ROW STOP SWAP SAVE SPC( STEP SGN SOR SIN STR* STRING* SPACE* SYSTEM SOUND THEN IRON TROFF TAB( TO TIME* TAN USING USR VAL VARPTR WAIT WHILE WEND WRITE XOR Ready Listing 3. Ein Programm und sein Ergebnis: ABe Befehle und Funktio­ nen in alphabetischer Folge. TRS-DOS-6.1 ist L-DOS Zuerst zur Namensverwirrung. Im Copyright meldet es sich mit »TRSDOS 06.01.00», im Disk-Namen mit TRSDOS61 und ansonsten heißt es TRS-DOS-6.1. W ie auch immer, das erste TRS-DOS schrieb seiner­ zeit Bill Schroeder als Tandy-Mitarbeiter. Dann hat er sich selbständig gemacht und schuf das berühmte L-DOS. Offensichtlich hat er sich von seiner alten Firma in Frieden getrennt, denn TRS-DOS-6.1 ist LDOS-5.1. Tandy bietet L-DOS jetzt auch für die anderen M odelle an (sinnigerweise auch für das Modell 4, wo es unter anderem Namen zum Lieferumfang gehört), und schreibt in dem 84er Katalog, daß man neu­ erdings bevorzugt Software für LDOS liefern wird. L-DOS ist mit NEW-DOS/80 CD}";ES f ////// hex-dezi Konversion \\\\\\\ INPUT "Hexzahl (stop mit O)";HS • IF H*="0" THEN END ELSE PRINT V A L ("&H"+ H S ): GOTO 40 ’ ’ /////// dezi-hex Konversion \\\\\\\\ INPUT "Dezi mal zahl (stop mit O)"; D IF D=0 THEN END ELSE PRINT HEXS(D): GOTO 80 LIST 10 ' F r o q r l i s t e t d i» reservierten Wort» des Model 4 20 ’ (C> 1903 Peter Noll Schlager. A ll righ ts released. 30 * 40 TABELLENZEIGER-22666 50 WORTANFANG=ASC<"A"> 60 IF PEEK(TABELLENZEIGER+I) THEN PRINT CHR*(WORTANFANG» J 70 TABELLENZEIGER*TABELLENZEIGER-U BO ZEICHEN«=PEEK (TABELLENZEIGER) 90 IF ZEICHEN*« THEN WORTANFANG=WORTANFANG+l: OTTO 60:' 100 IF WORTANFANG > ASC("X"> THEN END 110 IF ZEICHEN THEN PRINT CHR*(ZEICHEN)|*OTTO 70 120 PRINT CHR* (ZEICHEN AND S.H7F)*“ " { t* 130 IF POS(O)>76 THEN PRINT:’ 140 TABELLENZEIGER-TABELLENZEIGER+lt * 150 OTTO 60 Ready mancher Anbieter so nennt. Dinge wie Makros, Variable und IFA THEN/ELSE machen eine gute JCL aus, hier smd sie vorhanden. Listing 2. M it dem neuen Basic vrird vieles einfacher. Hier Hex/Dez und Dez/Hex-Konversion mit je nur einem Befehl. durchaus auf eine Stufe zu stellen, ist aber wesentlich benutzerfreund­ licher und einfacher zu erlernen. Beeindruckend ist das Konzept der logischen Geräte, wonach zum Bei­ spiel d er Printer »★ PR«, das Dis­ play »★ D O und das Keyboard »★ K I« heißen. Dazwischen und über den W e g sogenannter Phan­ tom-Geräte (vom Anwender zu be­ nennen) ist ein beliebiges Routing und Linking auch zu/von Disk-Files und Anwender-Routinen erlaubt, ln die Links können eigene oder die mitgelieferten Filter-Programme geschaltet werden, um zum Bei­ spiel Zeichen umzucodieren oder zu strippen. Mit dem SYSGEN-Befehl können solche Dinge perma­ nent gemacht werden. Ich meine allerdings, daß Einstei­ ger sich schwer tun werden, die Möglichkeiten dieser Technik aus­ zuschöpfen, wenn sie nur das Handbuch lesen W er CP/Ms PIP und STAT kennt, tut sich da leich­ ter. Am frappierendsten werden die Unterschiede zwischen NEW-DOS und L-DOS am Beispiel Spooler sichtbar. W er sich unter NEW-DOS schon mal mit ASPOOL/MAS ver­ sucht hat, wird staunen. Unter LDOS reicht schlicht SPOOL. Damit wird automatisch ein 1-KByteDruckerpuffer geschaffen und alle Ausdrucke laufen ab sofort über diesen. Ist Ihnen 1 KByte zu wenig und sie hätten lieber 10 KByte, dann geben Sie einfach »SPÖOL (MEM = 10)« ein. Wrird es im A r­ beitsspeicher eng, können Sie ein Disk-File hinzunehmen und geben dazu nur den Namen und die FileGröße in KByte an. Auch in diese Rubrik fallt MEMDISK, was erlaubt, das Memory als Disk zu benutzen. Richtig Spaß macht das zwar erst in d er 128KByte-Version, aber mit 64 KByte geht’s auch. Ich habe so eine 10KByte-Diskette im Background, wo ich blitzschnell Zwischenergebnis­ se speichere. So schöne Dinge wie SPOOL und MEMDISK sollte man sich aller­ dings überlegen, bevor man vom DOS ins Basic geht. Das sind näm­ lich die einzigen DOS-Routinen, die man nicht unbeschadet von Basic aus initialisieren, wohl aber da be­ nutzen kann. Noch ein Bug, und zwar ein großer: ich habe noch nicht herausbekommen, wie man nach einem versehentlichen Ver­ lassen von Basic da wieder hin­ kommt und sein Programm unbe­ schadet vorfindet. Der Befehl »BA­ SIC ★ « von NEW-DOS fehlt. Das Problem dürfte lösbar sein. Ich ha­ be es mir vorgenommen, sobald ich über einen Assembler verfüge. Schon aus Gründen der Kompati­ bilität ist alles an TRS-DOS/alt-Befehlen auch hier vorhanden. Von den Extras wären hervorzuheben: Nach dem Kaltstart erscheint die (abschaltbare) Frage nach dem Da- ► 7 B Test tum als MM/DD/YY, die dann als Text quittiert wird, sofern man nicht versucht, den 29. Februar 1983 oder ähnliches einzugeben, was das Kalender-Programm nicht mag. Das Datum wird im File-Head er mit aufgezeichnet und kann zur selektiven Behandlung von Files genutzt werden. Em ebenfalls g e ­ führtes »Mod-Flag« erlaubt, nur Da­ teien zu kopieren, die seit dem letz­ ten Datum geändert worden sind. BACKUP kann als Spur für SpurKopie laufen oder als File-Kopie mit Krunch-Funktion (die Diskette wird aufgeräumt). DEVICE liefert ähnlich CP/Ms STAT Informationen über alle G e­ räte im System, aber auch über User-Options wie Spool (Listing 1). FILTER lenkt ein logisches Gerät über ein Filter-Programm. FORMS ist ein vorhandenes Fil­ terprogramm zur Druckereinstel­ lung beziehungsweise Formatie­ rung. MEMORY erlaubt »Lomem« und »Himem« zu setzen. PATCH ist em Programm zum di­ rekten Ändern von Disk-Sektoren; es arbeitet auch Patch-Files ab. REMOVE entfernt Files; es darf eine Liste angegeben werden. PURGE erlaubt globales »Removen« mit Rückfrage. SYSGEN bmdet eine AnwenderKonfiguration ins DOS ein und SYSTEM erlaubt ihre Anpassung/Emgabe. BLINK: Blink-Frequenz (auch 0) und Größe des Cursors. SYSRES: Laufwerke physikalisch anpassen. System-Drive kann ein anderer als 0 sem. TRACE gibt den Z80-PC aus. ALIVE erzeugt einen sogenann­ ten »alive bug«, ein Grafiksymbol, das sich in sich ändert, solange das System nicht »hängt«. Ein neues Basic von Microsoft Das Basic ist total RAM-resident und wird immer von der Diskette geladen. Damit sind Korrekturen und Erweiterungen leicht möglich und billig. Nun zum Handling von RandomFiles Es lauft in schlechter M80Tradition immer noch über Fiel­ ding. LSET und CVx. Em CIMDump in Basic w äre auch noch zu installieren und d er Editor ist der alte, also verbesserungsbedürftig, sofern man sich nicht Wordstar leisten will. Den Kern bildet dasa'üe Leven 2* Banc Dmyet* wurde Bild 3. Die Hauptplatine weist noch von Hand durchgefuhrte Änderun­ gen auf Bild 2. Etwas um ständüch zu zer­ legen — Bildröhre und zugehörige Schaltung sind in der Haube eingebaut vieles kam hinzu, aber es ging auch etwas verloren. CLOAD und CSAVE gehören dazu, was nicht zu beklagen ist, aber auch SET. RE­ SET und POINT. Die Grafik-Symbo­ le gibt es zwar noch, wenn auch wegen der jetzt 24 Zeilen leicht g e ­ staucht, man kann sie aber nur noch mit PRINT§ auf den Schirm bringen. Letzteres erlaubt jetzt auch die Angabe von Zeile/Spalte. POINT kann auch nicht mehr mit PEEK realisiert werden, weil der inzwischen ausgelagerte VideoRAM sich dem entzieht. Tandy bie­ tet allerdings eine Supergrafik-Kar­ te an mitsamt vielen mächtigen Grafik-Befehlen. Em Testbericht soll folgen. Gehen wir alphabetisch vor, so beginnen die interessanten neuen Dinge bei C wje CALL. Der Befehl erlaubt. Routinen in Maschinen­ sprache aufzurufen und beliebig viele Variablen zu übergeben. USR blieb erhalten, wurde aber auch erweitert. Noch unter C finden Sie zwei ganz wichtige Dinge, nämlich CH AIN zum Hereinziehen von Overlays und Fortrans COM MON, damit dann die Parameterüberga­ be auch klappt. CLEAR hat eine ganz neue Be­ deutung, Stringspace muß nicht mehr reserviert werden Es erm ög­ licht, im Basic-Programm Mem-Size und Stackgröße zu setzen. Mit letz­ terem kann man ein paar Byte spa­ ren, wenn mangels geschachtelter FOR-NEXTs oder GOSUBs der Ba­ sic-Stack bescheiden bleibt. DATES und TIMES ergeben die entsprechenden Daten. Die globale Deklaration von Variablen-Typen wie DEF1NT blieb (Gott sei Dank) erhalten, Vanabiennamen dürfen jetzt aber bis zu 40 signifikante Zeichen haben, was : wesentlich zur Lesbarkeit und Wartbarkeit der Programme b ei­ trägt und zahllose REMs erspart. ERL ergibt jetzt die echte Fehlerzei­ le, ERR gibt es noch, neu ist ERRS, das die Fehlermeldung im Klartext ausgibt. ERASE erlaubt dynamisches Lö­ schen von Arrays. FOR-Schleifen werden nicht mehr sinnlos ausgefiihrt, wie es bisher zum Beispiel in »FOR 1=1 TOO. der Fall war,. Vielleicht störend bei der Über­ nahme von Modell 3-Programmen kann sein, daß bei der Umwand­ lung Fließkomma in Integer nicht mehr abgeschnitten sondern g e ­ rundet wird. HEXS und OCTS als die Umkehr von &H und &O kamen hinzu und machen die so schönen Konver­ sionsprogramme glatt überflüssig. INKEY$(n) als Erweiterung dazu, macht auch Listings zu diesem The­ ma obsolet. Bei J gibts nichts, zu O wäre OPTION BASE zu erwähnen, was erlaubt, das selten gebrauchte nullte Element von Arrays zu strei­ chen. POS(0) ergibt wie gehabt die Cursorposition, ROW ist neu und »returned« die Cursor-Zeile und LPOS(0) gilt für den Drucker. Mit WIDTH kann neuerdings die Zeilenlänge für Video und Drucker eingestellt werden. RESTORE jetzt mit Zellennummer und RENUM mit drei Argumenten (wohin, woher, Inkrement) ist fest eingebaut. SWAP tauscht die Inhalte zweier Variablen. SYSTEM »DOS-Befehl« ersetzt CMD»x«, W A IT wartet auf ein zu definierendes Ereignis an ei­ nem Port. WH1LE/WEND bringt etwas Pas­ cal ins Basic und WRITE, wie ► PRINT anzuwenden, druckt die V a­ riablen mit Kommas getrennt und Strings in Anführungszeichen. Auf dem Schirm sieht das gut aus, als WRITE# auf Files angewandt e r­ spart es, selbst Delimeter vorzuse­ hen. Befehle, die nicht im _______ Handbnch stehen________ In der Einleitung des Manuals wird dem Besitzer zum Kauf gratu­ liert und ein kurzer Abriß über die Vorteile des M odell 4 gegeben , und da steht auch »sound genera­ tion« und mehr nicht. Im Anhang fin­ det man dann noch in der Liste der Tokens wiederum SOUND und das war's dann auch. Nach d er Metho­ de »trial and error« ergab sich fol­ gende Syntax: »SOUND Ton, Dau­ er«. Dabei darf Ton die W erte 0 bis 7 annehmen, was in etwa einer Ton­ leiter G-Dur entspricht, und Dauer darf 0 bis 31 betragen in grob 0,5Sekundenschritten. Klangqualität und Lautstärke sind nicht berühmt. Auch in der Tokenliste habe ich XOR entdeckt, die Syntax ist klar, vielleicht auch noch EQV, das wie alle Logik-Operatoren auf Bit-Ebene arbeitet und bei gleichen Bits 1 sonst 0 erzeugt. Etwas länger habe ich an IMP geknebelt. W as das heißt, weiß ich nicht. Vielleicht kann mir da ein Leser helfen, je ­ denfalls gilt *A IMP B = NO T (A OR B)—B« (Anmerkung der Redaktion: Wahrscheinlich handelt es sich um die logische Implikation). Eine An­ wendung dafür sehe ich noch nicht, jedoch für den Schrägstrich links, was DIV, also Ganzzahldivision heißt sowie für MOD. also Modulo. Auch nicht erwähnt wird, daß das altbekannte &H jetzt sogar in Aus­ drücken erlaubt ist, womit sich eine höchst simple Dezi-Hex-Konversion Gelöst wurde das so: Das »Token* 255 bedeutet, das folgende ist das richtige, hat aber eine andere Be­ deutung. Diese Sondertokens ste­ hen in der Tabelle im Handbuch als Zahlen >65280. Das ist 255 ★ 256+Tokenwert. Im Programmtext sind auch diese Tokens ^ 128, nicht aber in der RAM-Tabelle, da sind von ihrem W ert jeweils 128 subtrahiert, womit man sie von den anderen unter­ scheiden kann, ohne die 255 davor­ zusetzen. Nebenbei gesagt hatte ich auch Probleme, ein Basic-Programm im RAM zu finden, denn im Handbuch schreiben läßt, wie Listing 2 zeigt. steht folgende Memory-Map: Das neue Feature HEX$ wird 0000H-2F5FH DOS 2600H-2FFFH Overlays gleich mit demonstriert. Daß Variablen-Namen jetzt bis zu 3000H-85FFH Basic 40 Zeichen (signifikant) lang sein 8600H-Himem Programm Das ist insofern falsch, als Basicdürfen, habe ich mit Freude regi­ striert und prompt in CBasic-Art Programme schon bei 7F0CH be­ den Punkt mit eingebaut. Auch das ginnen. Mag sein, daß eine geän­ funktioniert, obwohl es nicht im M a­ derte Basic-Version, zum Beispiel nual steht. In die Rubrik gehört die für Grafik, mehr verbraucht, noch INPUT, was neuerdings (wo­ die kenne ich aber noch nicht. Zu zu?) als Direkt-Statement erlaubt ist. den Handbüchern ist nicht viel zu So belehrt mißtrauisch und hoff­ sagen, bekannte Tandy-Qualität in nungsvoll wollte ich wissen, ob Menge. Neu ist »Getting started« als denn nun wenigstens die Token-Ta­ extra Heftchen und eine Referenzbelle im Handbuch vollständig ist Karte. Zu bemängeln wäre: Das und fing an, das Pendant im RAM DOS-Manual ist nicht gedruckt, zu suchen. Sie war im Prinzip sondern direkt von der Schreibma­ schnell gefunden, aber nicht so ein­ schine kopiert, vielleicht kommt’s fach zu knacken. Wie, zeigt Listing noch besser. Für den Nicht-Diskba3 mitsamt dem Ergebnis. Dahinter sic-Teil gibt es ein extra Buch, ge­ steht folgendes: Alle Texte sind al­ meinsam für M odell III und 4, nach phabetisch sortiert und in Gruppen dem Motto, das alte Modell-IIIje Anfangsbuchstabe eingeteilt. Je­ Buch mit Hinweisen auf Model-4de Gruppe endet mit einem O-Byte, Features. Man hat allerdings ver­ folglich bedeuten zwei aufeinan­ säumt zu sagen, daß die meisten derfolgende Nullen, der Buchsta­ der aufgefühhrten POKEs im Mo­ be, zum Beispiel 0 . ist nicht besetzt. dell 4 Nonsens sind. Fazit: Eine solide Maschine mit ei­ Da so der Anfangsbuchstabe je Wort vorgegeben ist, wird er denn nem guten DOS und Basic, offen für auch weggelassen. Das Wortende CP/M und andere Betriebssyste­ wird durch ein gesetztes Bit 7 im me. Der Anschluß an die Vorgän­ letzten Buchstaben markiert, direkt ger und ihr Softwarepotential ist dahinter folgt das Token, ein 1-By­ auch gelungen. Vom Konzept und te-Code, der anstelle der langen vom Preis her eindeutig Richtung Basic-Worte im Programmtext ein­ kommerzielle Anwendung orien­ getragen wird. Um Tokens von an­ tiert, aber noch preiswert genug als deren Zeichen unterscheiden zu Homecomputer für gehobene An­ können, sind sie in der Regel sprüche. (Peter Wollschlaeger) ^ 128. Da ein Byte nicht mehr als 255 darstellen kann, sind maximal 128 Tokens möglich, das ging bis­ her ganz gut, das neue Basic hat aber 140 Tokens! Bild 4. Sehr schön: deutsche Tastatur m it 1Oer-Block 'AUFPOLIEREN' DER BILPSCHIRHAUSGftBE DURCH IWERSE ZEICHEN UND/ODER HELLIGKEITSUHSimTUNG 9 Die folgende Schaltung stammt aus 88 MICRO Hai 8] und ermöglicht, daß man an beliebigen Stellen int Text einzelne oder mehrere Zeichen invertieren kann, d.h. schwarze Zeichen auf weißem Hintergrund. Leider hat die Sache aber einen Schönheitsfehler und der ist, daß inverse Zeichen und Grafik-Zeichen nicht gleichzeitigt auf dem Bildschirm dargestellt werden können. Da aber die Anwendung der Invers-Darstellung vorwiegend im Textbereich liegt, ist dieser Nachteil meiner Meinung nach zu verschmerzen. Da ich mit dieser Schaltung in der Lage bin ein einzelnes Zeichen zu 'adressieren' lag der Gedanke nahe die Schaltung so umzubauen, daß man an der gewünschten Stelle auch die Helligkeit des Zeichens umschalten kann und damit einzelne Wörter oder Textabschnitte in den Hintergrund schieben oder auch besonders hervorheben kann. Die gesamte Schaltung ist auf 2 Bilder verteilt. Bild 1 zeigt die etwas modifizierte Schaltung (für TRS-881) aus 88 MICRO, Bild 2 zeigt die Adressierlogik. Inverse Darstellung und Helligkeitsumschaltung können HWmäßig über die Schalter SI bzw S2 und SW-mäßig über die Befehle: OUT 251,2 = Helligkeit schwach (XTT 251,4 = Inverse Darstellung umgeschaltet werden. Als Treiberprogramm muß entweder das Maschinenspracheprogramm (Listingl) oder das Basic Programm (Listing2) geladen werden. Nachfolgend habe ich die Beschreibung dieser Schaltung aus 88-MICRO übersetzt, damit Ihr auch wißt wie die Sache funktioniert. Die Umschaltung erfolgt durch Bit 7. Sieht man sich das Schaltbild des TRS-88 an, so sieht man das Bits 8 bis 5 von den Video Memory ICs an IC Z28 gehen und Bits 6 und ? zusammen mit ein paar anderen Signalen an IC Z27 gehen. Diese beiden ICs sind einfach Zwischenspeicher welche die Daten puffern die vom Video Memory kommen. Bis hierhin ist Bit 7 immer noch im Takt mit den anderen Datenbits. Von Z29 und von 28 aus gehen die Bits dann zu den Schieberegister Z18 und 211 die dazu dienen, die von den Zeichengeneratoren kommenden Zeichen Bit für Bit auszugeben. Mit Bit 7 wird entschieden, welches der Schiebe- register die Daten erhalten soll und somit ob ein normales Zeichen oder ein Grafiksymbol ausgegeben werden soll. Das Problem ist nur, daß Bit 7 gerade solange ansteht um das Schieberegister zu laden. Zu der Zeit, in der die Bildpunkte vom Register ausgegeben werden, sind aber die Bits an dem Datenpuffer inclusive Bit 7 bereits die, des nächsten Zeichens welches ausgegeben werden so!!. Die Konsequenz ist, daß das inverse Zeichen immer um eine Zeichenbreite nach links versetzt ist und damit nicht an der Stelle wo man es haben wollte. 00 7F 40 1 E 4049 FF B0 FF B 0 2 1 B F F F FF B3 22 1 E 4 0 FFB6 2 1 B E F F F F B 9 2 2 49 40 FFBC C32D40 FFBF DD6E03 FFC2 DD6604 FF C 5 D A 9 A 0 4 PFC 8 FFC9 FFCB FPCD FFD0 FFD2 FFD5 79 FE7F 20 89 3AEFFF EE 80 32EFFF C9 FFD6 FF D9 FFDA FFDC DD7E05 B7. 2 8 01 77 FFDD PFDE F F E0 F F E3 FF E 5 F F E8 FF5B FFEC FFEF 79 FE20 DA0605 FE80 D2A604 3AEFFF Bl C37D04 00 FFB0 00010 00020 00 030 00040 00050 00060 00070 00080 00090 00100 00110 00120 00130 00140 00 150 00160 00178 00 180 00190 00200 00210 00 220 00 238 00240 00 250 00260 00 27 0 00 280 00298 00 300 00 310 00320 00 33 0 00 340 0 0 35 8 00360 00 37 8 00360 00 390 00400 0 0 41 0 00 420 00 43 0 00 440 00 450 00 460 00 47 0 00480 00 49 0 00508 00 510 00526 00 53 0 00540 00 558 00 560 7 7* * L O W E R CA SE A N D I N V E R S E C H A R A C T E R D R I V E R P R O G R A M * ; * (DISK VE RS I O N ) ; j RVCODE 7FH EQU ; R E V E R S E C O N T R O L CO DE VIDEO 481 EH EQU ; V I DE O DCB ADDRESS HIMEM 4049H EQU z D O S H I G H M E M O R Y P O IN TE R ; 0FFB0H ORG 7 LOADER LD LD HL,START (VIDEO),HL 7 i t t GE T D R IV ER ADDRESS A N D I N S E R T IT IN TO THE V I D E O D E V I C E CO NT RO L BLOCK 7 A U T O M A T I C A L L Y S E T THE 7 THE FOLLOWING TW O INSTRUCTIONS T H I S O N L Y A P P L I E S T O NE WD OS ; D O S HI GH M E M O R Y P O I N TE R. (2.1 *2 O R LA TE R. OR 80) A N D T R S D O S 2 ; i F O R OTHE RS , T H E Y S H O U L D !B E D E L E T E D . H L , START-1 LD 7 G E T M E MO RY SIZE LD ( H I M E M ) ,HL t A N D S A V E IT i JP 402DH 7 RE TU RN T O DOS 7 7 1 G E T T H E A D D R E S S OF THE CURS OR IF R E A D I N G F R O M SCREEN, T H E N R E T U R N T O ROM t START LD LD JP L , (IX+3) H ,(I X + 4 ) C , 0 4 9 AH LD CP JR LD XOR LD RET A,C RVCODE NZ,DISPLY A, (M A S K ) 80H ( M A S K ) ,A LD OR JR LD A , (IX+5) A Z ,G E T C H R (H L) ,A LD CP JP CP JP LD OR JP DEFB A,C 20H C,0506H 80H N C , 04A6H A,(MASK) C 047DH 60 1 7 7 7 7 G E T THE CHARACTER IF IT 'S N O T R E V E R S E CODE T H E N G O T O "DISPLY" G E T T H E R E V E R S E MASK A N D T O G G L E IT S A V E T H E N E W MA S K RE TU RN W I T H O U T DISPLAY­ ING T H E CHARACTER 1 1 IF T H E C U R S O R IS ON 7 1 1 7 DISPLY 7 THEN BLANK IT 7 GETCHR MASK 7 G E T THE CHARACTER IF I T ' S A C O N T R O L CHAR. T H E N J U M P B A C K TO ROM IF IT ' S A G R A P H I C CHAR. T H E N J U M P B A C K TO ROM G E T T H E I N V E R S I O N MASK A N D ' O R ' IT W I T H CHAR. J U M P B A C K T O RO M R E V E R S E M A S K (INITIALLY S E T F O R N O R M A L DISPLAY) 7 AUTO -E XE CU TE DRIVER 7 7 7 7 7 7 7 7 7 ; END LOADER Program Listing 1. Disk based Inverse video driver. Oie Lösung ist der Einbau eines neuen Schieberegisters für Bit 7, welches das Signal für Basic-Treiber inverse Zeichen liefert. Das neue Schieberegister welches ich Z 18a nenne, liegt parallel zu Z18, sodaß sein Ausgangssignal gleich reit den Signal für normale Zeichen ist. 20 CLEAR209:CLS Die Umschaltung zwischen normalen Zeichen und inversen Zeichen geschieht durch die Logik 58 MS=PEEK(13561)+PEEKC16562)*254 nach Bild 2. Im normalen Darstellungsmodus ist Pin 8 von IC X2 high, d.h. Pin 4 von Z 26 low 48 MS=MS-4? und Pin 16 von Z24 ist high, wie bei der Darstellung von alphanumerischen Zeichen. Nenn im 88 POKE14541,MS~<254*INT(MS/254)) “ Invers Modus Bit 7 high ist, liegt 2 von Z27 auf low. Oer Unterschied zwischen diesem Signal 90 POKE14542,INT(MS/254) und DLY 7 wird von Z42a erkannt, dessen Pin 3 dadurch high wird. Dieses High geht nun zu Z 19a 108 M=MS welches dafür sorgt, daß die Bits im gleichen Takt wie bei Z16 ausgegeben werden. Die 110 IFM>32?47THENM=M-45534 Ausgangssignale von Z18 und Z18a gehen dann auf ein Exclusiv-Oder wodurch die Zeichen 138 F0RI=M+lTQM+49 invertiert werden. 148 REAON Wird auf normale Darstellung umgeschaltet, d.h. Bit 7 an Z 27 ist low, so wird Pin 3 von 158 POKE I,N Z 42a low, weil über die Gatter auf Bild 2 an Pin 1 und 3 von Z 42a das gleiche Signal liegt. 148 t e a I Da jetzt der Ausgang von Z 18a ebenfalls low ist, werden die Bits von Z 42a nicht invertiert. 188 MH=INT«MS+4?)/254) Z 26 bewirkt, daß Z10 alphanumerische Zeichen lädt, wenn die Signale CLK, DLY Bit 7, DLY 198 ML=(MS+49)-<254*MH) &ANK und DLY L8 alle low sind. Z 24a bewirkt das gleiche für Z 18a, benutzt jedoch nicht das 288 POKE M+14,ML:PQKE Mt 17,MH DLY L8 Signa), da DLY L8 dazu dient die 4 unbenutzten Zeilen unter jedem Zeichen zu erzeugen. 218 POKE M+43,HL:POKE M+22,MH Somit werden diese 4 Zeilen immer invertiert. 228 POKE M+43,ML:P0KE M+44,MH Voraussetzung für inverse Darstellung ist, daß Kleinschreibung installiert ist, da in 258 P0KE14414, einfach die Bank wechseln. Da es auch unten geht, ist der Computer * für CF/M (jedwede Version!) geeig­ net. Der Banker kann außerdem best! f»te Bereiche des Speichers getrennt für Lese- und Schreibzugriffe enabltn. Das bedeutet, daß man z. P. *ür LPRINT C H R S (10) nicht extra eine Utility laden muß, sondern einfach den Interpreter direkt umpoket. Und| schließlich kann Helmuts Banker die I/O-Adressen für Bildschirm, Tastatur, Floppy usw. ins Himer legen, so daß CP/M oder ein x-beliebiges ande“Jfc System mit der Maschine klarkommt. Da ist ein Speed-Up drin, bei date man mitten in der Arbeit von 1,77 auf 3,54 MHz und zurück schalten kfirm. Der ziemlich lendenlahme Cursor von SCPIPSIT wird plötzlich ganz sdhän munter. Bei PACMAN hat der Spieler keine Chance mehr, es sei denn, e n schaltet rechtzeitig auf 1,77 MHz. Die HRG lb ist ebenfalls eingebaut. Sie hat eine Matrij? vor. 354 X 192 Punkten. Sie ist nachträglich auf 16 kB aufgemotzt (ursprünglich 12 kB). Dieser Speicher geht nich£ der. Hauptspeicher von 6- kB- verloren, denn die RAMs befinden sich auf der Zusatzplatine. Wenn man nicht ce**£Ce eine Graphik bearbeitet, steht dieser Speicher für beiiegice Zwecke als Datsnfriedhof zur Verfügung. Außerdem ist die HRG nachträglich sauber dekodiert. Sie braucht nur 6 Ports, verseuchte aber ab Ne“) sc zierlich den kompletten I/O-Adreßraum bis zur; Port 127. Jetzt sind durch sis nur noch die Ports 0-7 belegt. Ein weitere*- Epc;cherzugewinn- ist-dadurch entstanden, daß Helmut eine Platine entwarf, d i e der Adreßraum 20ÖO-37DF; versechzehnfacht. Das sind runde 32 kB. Auf diese“ Platine sind 16 Steckplätze für Ec’RDMs oder statische RAMs. Einer davon ist vom Level-IV-EPROM vor. TCS belegt. D e r Pest (bisher gut zur Hälfte bestückt) kann andere Speicher au*nehmen, so daß mar beispielsweise ständig einen HRG-Treibe“ verfügbar haben kann c. De“ eingebaute Lautsprecher ist regel- und abschaltbar, falls das Gspuietsche bei r IGOUT einmal nerven sollte. Eine öhrhörerbuchse hat er auch, um cen Ärger mit de“ Nachbarn und der Familie in Grenzen zu halten. Die Tastatur ist vollständig mit Tasten bestückt. So sind die deut­ schen Umlaute, das ß, de“ Cursor usw. über die Tastatur erreichbar. Der Interpreter, auch Programme wie TSCRIPS Spieler, dabei mit, sc daß man sich die CTRL-Akrobat:k für diese Zeichen schenken kann. Zusätzlich gibt es 7 programmierbare Funktionstasten, die ganze Befehlsstrings oder sonstwas mit einem Tastendruck susgeben können. Die Strings dürfen auch Steuerzeichen wie NEW LI?*E etc. enthalten. Es gibt eine Anschlußbuchse für eine komplette zweite Tastatur und eine für einen Joystick. Bei letzterer habe ich zwei Kabel beim Löten vertauscht, so daß bei einer Cursorrichtung stattdessen ein Buchstabe ausgegeben wird. Ich habe selbst keine Lust mehr dazu, aber die Behebung dieses Mangels dauert keine zehn Minuten. Gegf. reden-wir noch darüber. Am Gehäuse ist ein CFU-Resetkncpf angebracht. Im Gegensatz zu dem an der Rückseite, de- nur einen FIMJ a.usgibt, funktioniert dieser immer, denn e»- versetzt den 157 in der, Einschaltzustand. Die Speicherinhalte bleiben allerdings e“ha!ter, so daß man nach einem Hänger einfach weiterarbeiten kann. Nur Zeiger auf BAHIC-Texte, Variable usw. werden in ihren Nullzu­ stand versetzt, denn das S/stem bootet natürlich neu. Der Cassettenreccrder ist auabebaut (wird mitgeliefert; es sind weiterhin zwei Recorder anschließbar). An seiner Stelle ist ein Ziffernfclock wie beim Genie XI, Zusätzliche Tasten, die ihn zu einem Hexblock machen, sind bereits fertig zur Einbau vorbereitet und werden beigelegt. Dazu hatte ich selbst allerdings bisher keine Lust. Das alte einfache Netzteil ist durch ein wesentlich stärkeres Schaltnetzteil ersetzt, sc daß für eine Fülle weiterer Um- und Anbauten genügend Power zur Verfügung steht. Wie sich in der Praxis zeigte, nimmt es auch Kurzschlüsse nicht übel. Die Floppies, die ich ebenfalls verkaufen möchte, sind auch modifiiert. Sie enthalte“ zwei Laufwerke mit 8C/DS/DD und eins mit 40/SS/DD. wreh einen Umschalter kann wahlweise auf Laufwerk 0 (80) oder 2 (40) eccotet we “den, sz daß rar. praktisch jedes fremde DOS fahren kann. Evtl, wäre ich interessiert, eines dar Laufwerke selbst zu behalten. Darüber ware zu verhandeln. fl I: tj I V HTl H 7 G e n i e Da ist auch ein Interrupt-Timer. Er generiert wahlweise nichtmas­ kierbare Interrupts (NMI) oder aaskierbare (INT). Gams rrecjenz laßt sich in weiten Grenzen einstellen. Mit Floppy -riegt man seine Interrupts von ihr. Aber dann ist das Ding dennoch lnte-essanc. weil rar in regel­ mäßiger, Abständen NMIs ausgeber k a m , sie irgendeine Fünf tier erfüllen. Sie verzweigen beim ZBO an die Speichers teile ÖOcrh. wz rar cani res Bankers eine eigens Routine unteroringer kann. Damit lasssr. sic* gramme überlisten, die die maskierbarer Ir.te““upts abschalten., ,7fcr sich .’ nicht :r. b:® Karten gucken zu lassen. er *_~ - t •«t e r - a~i11s u—sS**es _ . _ i s 'De“ Aj“eßraj.T 3500-7BFF ist bei de- Testatu“ Vorbehalten. Helmut hat es fe“t lir Bytes zu-ückzuetutzen, sc daß der Be“e:c Verfügung stent. Er nannte das :r zer z*t c ^rlizh' Kein Programm für TRS-5C eseh G e h De** Monitor ist bernsteinfarben. Außer Hel ruts Supert anker gehört zum Gerät auch noch der EG 64 MBA vcc TCS. Daran har® ich eine Platine angebaut, die alle notwendigen An­ schlüsse z«r co“t-: 'ü hat. Es lassen sich damit gleichzeitig ca. 20 extern-s Geräte ansteuern, c:e übe- Ports betrieben werden, L m a ECB-Bus».a-te r : ein as-ieiles Ir,te“face sind auch dabei. Beide £i*c srer “och nc-t a* car. Zzccuter angeschlossen. Da sich die Bastelei i“ ce*- letzter Zeit sehr gehäuft: hatte, waren immer andere Dinge wichti­ ge-'. Der, Eine«.J ist nicht schwierig. Seg*. kann ich Hinweise dazu geben. Z O O S “H 1 :eV. irr. is*. rc-rn ein 2weif ach-Euse.te^cs’* bare: . Er lasse“ s'ch a-jße^ den Flopp; s-s noc.w. weitere terete au*' re- Pus -stec *er». Ee. iie Stepi.le:ste- einer, recht weiter. APstanö haben, caeeer cut uns serr.e -ich zwei weite"» dar wischen, sc? da* ein Vier-fach-E’.tende^ entsteht. Eie Lei­ sten stechen in Slots und können her aus canonise": werden. tfpn kann deswegen Zusatzgeräte wahlweise mit Vater- oder Hutteranschlut betreiben. Letzte­ res ist bei den Cr-.ziger. Geräten für Genie-Corapute** üblich. Der Lese-" wi**d sich mit Recht fragen, weshalb ich ei“: solches Gerät nicht selbst behalte. Keil das Bessere der reir.d des Guter? ist. Irrwi­ schen habe ich nämlich ein Genie III s, bei de-“ all' das und noch einiges ir.ehr von Hause aus schon drin ist. Als Verband!ungsbssis -für de- Preis des kompletten Systems stelle ich «r;r DH 1.500.- vor. Allein die Floppies waren wesentlich teurer. Es durfte sich rund um ein Drittel der Summe der Neupreise aller Einzelteile handeln. Insofern denKe ich, ria£ dieses Angebot fair genannt we-de~ kann. Wenn Interessenten nur einzelne Komponenten des Systems haben möchten, wird car. sich übe- der, Freie jeweils unterhalten müssen. Umsonst gibt’s dazu noch H-DCE, eine erweiterte Version von E-DGS. Seine Featu-es möchte ich hier nicht beschreiben, d e m das wären e:r paar weitere Seiten. H-DOS holt aus der Hardware-Erwe:terungen jeweils das £uf3e-ste heraus und ist damit jedem anderen DOS, ces für die Computer unse-es Clubs im Umlauf ist, überlegen. A-nulf Sopp . )>V* £ * * * * «***' ° Ü *** eI ß erV ^ ef A s s e m b l e r k u r s zu v e r k a u f e n ! ? ! Die Z 80-M aschinensprache kann man nu r am prak tisch en B e isp ie l erle rn e n ! D iese T atsache ist mir d as erstem al auf gegangen, a l s ich d ie Z80-B ibel (Prog ram m ieren des ZBO von Rodnay Z a k s , e r s c h i e n e n im S Y B E X - V e r l a g ) d urc hzu ack ern versuchte. MDa i c h jedoch einen TRS80 mit e i n e r ZBO—CFU habe, kann das ja e ig e n tlic h nicht a l l z u sch wer sein**, d ach te ich und v e r s u c h t e mit a lle n m ö g l ic h e n M i t t e l n das G e h e im n i s d e r Mnemonics zu l ü f t e n . V e r g e b e n s !!! L eid er g i b t es trotz der beinahe schon in C o m p u t e rg e n e r a tio n e n zä h le n de n Standzeit des TRS80 k e in e n ein ig e rm a ß e n brauchbaren K urs zum E r l e r n e n der M a s c h in e n s p ra c h e au f d ieser M a s c h in e . Was tu n a l s o , um doch noch zu einem ein igerm aß en g efestig ten G r u n d w is s e n über d ie M a s c h in e n s p r a c h e p r o g r a m m i e r u n g z u kommen? E i n K u r s mußte h e r ! Nach e i n e r g e w i s s e n Z e i t d e r Umschau h ab e ich mich f ü r den Z S O -K u rs von C h ristian i en tsch ie den . G r u n d la g e der E n t s c h e i d u n g war dabei d ie Tatsache, daß ic h nach dem S oftw arekurs auch den an sc h lie ß e n de n P erip h erie-Leh rgan g machen w o l l t e . G esagt, getan! B eid e Kurse s in d beendet (je w e ils ca. 4 M on ate a * 20 S t u n d e n ) und i c h g l a u b e mich in z w is c h e n n i c h t mehr zu den gan z feuchten Greenhorns unter den A sse m b lerfre ak s zä h le n zu müssen. N a t ü r l i c h reichen d ie erworbenen K enn tnisse n icht, um unserem A s s e m b le r p a p s t A rn u lf Sopp d a s W a s s e r zu r e i c h e n und müssen noch e r h e b l i c h v e r t i e f t w e r d e n . Das j e d o c h kann i c h ganz g u t a u f dem TRS80 m ach en! Und s o s t e h t nun a l s o e i n Z 8 0 - K u r s ( M i c r o p r o f e s s o r ) und e i n P e rip h erieb a u ste in e-L e h rga n g herum und verstaubt. D ie s e n Zustand möchte ich ändern! Ic h möchte d ie gan ze “L e r n a n l a g e " v e r k a u f e n und von dem E r l ö s e i n e n O l i v e t t i MIO oder e i n Model lOO von Tandy a n s c h a f f e n ( l o g i s c h muß ic h noch was d r a u f l e g e n ! ) . Es s t e h t a l s o f o l g e n d e s zum V e rk a u fs 1 2 8 0 - K u r s (4 L e h r b r i e f e im O rd n er und e i n M i c r o p r o f e s s o r L e h r s y s t e m ) zum O r i g i n a l - P r e i s von 6 7 6 , - . 1 P h e r i p h e r i e - B a u s t e i n e —K u r s <4 L e h r b r i e f e im O r d n e r . m i t e i n e r E r w e i t e r u n g s p l a t i n e mit CTC, PIO und 8255) zum O r i g i n a l - P r e i s von 6 4 2 ,-. 13 18 ,- .W e n n B 9 ^ * Das G an ze s o l l f ü r c a . «P O O , — O M über den T i s c h g e h e n , w obei i c h auch an einem Tau sc h gegen e i n e n MIO oder ein Model 100 in te re s sie rt b in (n a tü rlic h mit entsprechender A u s g le ic h s z a h lu n g )! I n t e r e s s e n t e n melden sich am b e s t e n t e l e f o n i s c h b e i m ir . M ein e A d r e s s e und T e l e f o n - N r . s Hartmut Obermann Schwalbacher S t r . 6 6209 Heidenrod/Kem el <£F 06124 / 3913 HEFT 12 Harz 1986 SB H a r d w a r - im l e t z t e n A u g e n b l i c k ! 1! Am e r s t e n Wochenende ( S a . / S o . 01/02 ) im März h a t t e ic h Besuch von unse rem C l u b i n f o - M a c h e r J e n s Neueder. Sam stags war auch noch U l r i c h B ö ck lin g an w e se n d , von dem i h r i n d ie s e m I n f o e i n e n H a r d w a r e b e i t r ag fi ndet! Während d e s T r e f f e n s kam u n t e r anderem z u r S p r a c h e , daß man von dem laufenden E C B - P r o j e k t s chon l a n g e n i c h t s mehr gehört h a t . Es gibt schon G e r ü c h t e , d i e S a c h e s e i ganz g e s t o r b e n ! Dem, d a s s e i h i e r noch ei nm al a u s d r ü c k l i c h b e m e r k t , i s t n i c h t s o ! Nachdem mir d e r I n i t i a t o r d e s E u r o - C a r d - B u s - P r o j e k t s , W a l t e r Zw ick el, im Sommer d i e L a y o u t s f ü r d i e zu f e r t i g e n d e P l a t i n e gesch ick t h a t te , wurden d i e s e von U l r i c h B ö c k lin g auf F o l i e n um kopiert. Die H e r s t e l ­ lung der P l a t i n e h a t dann e i n e r u n s e r e r e i f r i g s t e n H ard w arebastler, M a n fr e d H e ld übernommen. Und obwohl a l l e an der Entwicklung und F e r t i g u n g d er A d a p t e r p l a t i n e B e t e i l i g t e n immer i h r B e s t e s g a b e n , w aren V e r z ö g e r u n g e n n i c h t ganz zu v e r m e id e n . S c h l i e ß l i c h g i b t e s f ü r e i n i g e M itg lie d e r h ie und da auch etwas w i c h t i g e r e s zu t u n , a l s immer nu r am Computer zu hän gen! N i c h t s desto trotz ist d ie P la tin e nun en d lich (z u m in d e s t in zwei Prototypen) f e r t i g g e s t e l l t . ? ? H ,? f $ * Ich h o f f e , m öglich st v i e l e M it g li e d e r v e r a b s c h i e d e mich b i s zum C l u b t r e f f e n Euer McvM/rwvt (Zb-SL^TMtvcvfvn kommen m it den S E ***> - % J J J E - - "" - 400 ^ ' • * » * U * ... f»t* ' - « f *t i* * % « ' *" 0ö«r d t»e v r***fl\**(" f .r oQr T este r g e s u c h t ? !! Nun muß noch d ie Prüfu ng auf ev. F eh ler im L ay ou t oder in der Schaltung e rfo lg e n . L eid er hab e ich gerade e r f a h r e n , daß W a lter Z w ic k e l au f e i n e n P C -K o m p a t i b le n u m g e s t i e g e n i s t und uns dam it d er k o m p e t e n t e s t e Mann zum T e s t e n w e g f ä l l t . S o l l t e s i c h jemand a l s T e s t e r zu r V e r f ü g u n g s t e l l e n , m el de e r s i c h b i t t e hei M an fred H eld o d e r bei m ir . Wenn a l l e Stricke re iße n , werden U l r i c h B ö c k l i n g und ic h das Auschecken übernehmen. D i e F e r t i g s t e l l u n g d e s P r o j e k t s w i r d dann a b e r noch l ä n g e r a u f s i c h w a r t e n l a s s e n , da w i r b e i d e n i c h t a l lz u v i e l Z eit h ab e n . Wenn a l l e s g l a t t g e h t , können d ie ersten K a r te n nach dem C lu b tre ffe n a u s g e lie fe r t w erden . D i e P l a t i n e n werden v o r a u s s i c h t l i c h c a . 1 0 , - DM p r o S tück k o s t e n und auch fü r den t e c h n i s c h n i c h t # a l l z u versierten (ein en Lötkolben so llte man schon bedienen können) zusammenbaubar sein . Die B au teile können e v . in Sa m m elbe stellu n g b e s c h a f f t werden, darü ber kann man j e d o c h auch a u f dem C lu b tre ffe n noch e n t s c h e i d e n . S o l l t e jemand essehr e ilig h ab e n , kann e r d i e K a r t e auch s o f o r t ( v o r den l e t z t e n ' T e s t s ) b e i M an fred H eld a n f o r d e r n 1 M anfr ed H e l d , d e r mich t e l e f o n i s c h bat d i e s e n B e r i c h t üb e r den E n t w i c l l u n g s s t a n d in Sachen ECB-Bus zu s c h r e i b e n , gab mir z u s ä t z l i c h den A u f t r a g , f o l g e n d e H i n w e i s e bzw. B i t t e n zu f o r m u l i e r e n : 1. D i e von ihm v o r g e s t e l l t e H ig h s p e e d - U m sc h altun g k o llid ie rt mit manchen CP/M-Erwei t e r u n g e n ! Aus d ie s e m Grunde so llte n C P / M -B en u tze r d i e A d r e s s e d e r S c h a l t u n g von FEh in FPh ä n d e r n . Wie man d a s macht ist im H a r d w a r e b e i t r a q von U lric h B öck lin g kurz b e s c h r i e b e n ( e s i s t nur e i n e A d r e s s l e i t u n g zu ä n d e r n ) ! 2. Um b e i der w e ite r e n E n t w i c k l u n g von K a r t e n f ü r den ECB-Bus K o l l i ­ sionen mit schon bestehenden H a rd w a r p p rw e i t e r u n g e n zu v e r m e id e n , werden a lle M itg lie d e r des C lu bs au fgeru fen , ihnen bekannte A d r e s s e n von E r w e i t e r u n g e n im I n f o zu v e r ö f f e n t l i c h e n bzw. an - M anfr ed H e i d , S t i r n e r S t r . 22, 8835 P l e i n f e l d zu schicken ! 7 .B . hat M an fred e i n e Hard w areuhr f ü r d^n ECB-Bus g e b a u t , w e l c h e d i e A d r e s s e n C8h-CBh b e i e n t . ü * & rr ' e' ’ s-er' ° ’ .e ^ * & e r ' w‘ sf. *xv r A i^ ® . >- . *'■ r>u ° f * v* V v\" •/ / •' V y* v • c ‘‘ “V .-ay.' a 'A * %V \ « • r. "> ‘ > e - . * e/ ' " .« V ,^v , o x v > *0 vl<>% :v v<^ ev V V v Ö V > •* p _\Lj. « V \ ' ' »\y ' y- T '■ ' “V' V '4-' ,&•' ,-.* - ■< > \ c > A >\y#' y y>\ '".. & - 1 > » ’ ’ .V*-°vV-* < * % < Ehe d e r cgr-o | 3e- ■t o p k a m Das Uolk der Bit im Lande B y t e , man schrieb 01 der N&nozeit, erwählte sich aus eigenen Kreisen einen König, welcher Flop geheißen. A u ch w enn Com puter-Freaks R e ch ­ nerprogram m e ohne kom m erzielles In teresse nur tau schen m öchten, bekom m en sie e s schnell mit dem Staatsanw alt zu tun. O der e s m el­ den sich R echtsanw älte, die durch »Abm ahnschreiben« sch n elles Geld einzustreichen geden ken . Flop war ein schneller Interrupter, er zog Register, hielt Adapter, und an der Spitze der Regierung gewann er manche Assemblierung. Flop emulierte fulminant und fing den Cobol mit der Hand. Einst sprach der 1. Programmierer der Bitpartei zu Flop, dem Führer: Es fehlt dir in dualem Sinn zum guten Glück die Königin ! ■‘ > ■ *‘ Abmahnfalle Des ernsten Rates Ironie bemerkte nur das Parity; die andern wählten klar und klipp dem Flop ein Weib, die flotte Flip. Flip-Flop, ein Hochzeitspaar in Pracht, man schrieb die Nanozeit 08. Das Bitvolk jauchzte - auf zum Run, zum Doppeljob als F e s t p r o g r a m m . Das war ein Flippen und ein Floppen, ein Zyklus, nicht mehr abzustoppen, denn kybernetisch digital wie weiland hexadazumal klang die Musik der Elektronen schon hoch bis in die Iler-Zonen. Auch Computerprognimme unterliegen dem Urheberrechtsschutz. Am tollsten trieben es die Timer, der Multiplexer gin.g in' Eimer. Mit Dezimalen fuhr man Schlitten, das Gleitkomma war ausgeglitten. A Im großen Overhead-Büro kniff man Compilern in den Po, und Bits addierten splitternackt im Puffer zum Dr e i v i e r t e 1t a k t . Ein Interface sang ordinär die Watson-Hymne rein binär. Man hatte Maß und Ziel verloren... dem Supervisor kams zu Ohren: Du lieber Dump, welch ein Gezeter Greif ein, oh großer Operator ! Ein Druck - es kam der große Stop. “Halt" war das letzte Wort von Flop, Abrupt erstarb der Bit-Gesang, na, seht Ihr wohl ? Cherchez la femme e 3 Im Lande Byte seitdem geht stumm bei Tag und Nacht der Error um ! n die »ees. Vertretung von Rolf Koch«*) war der lange Brief adressiert, in dem der Vater Holger Kodr rait rund 1100 Mari für »Ge­ bühren und Auslagen« zur Kasse gebeten wurde, Absen­ der war eine Rechtsanwalts­ kanzlei im fernen München, die in dem offensichtlich ver­ vielfältigten Schreiben Sohn Rolf »Software-Piraterie« anlastete und nun vom Vater per Abmahnung die Versi­ cherung erheischte, daß der Spnößhng Kopien seiner Pro­ gramme für den Heimcom­ puter niemals wieder zum Tausch oder Verkauf anbiete. Widrigenfalls seien für jeden Verstoß gegen § 97 des Urhe­ berrechtsgesetzes 2000 Mark Venragsstrafe fällig. Der vor­ läufige »Gegenstandswen« betrage 50 000 Mark. Als so hoch sei der Schaden cinzu'enatzen. den »»Pirat»« Roll' ' dem Hersteller seiner Com­ puterspiel-Programme . mit Raubkopien zufugen könne. *Und nach dieser Schadens­ höhe berechnet sich die Ab­ mahngebühr von 1100 Mark. Die Kochs hielten leicht ver­ stört Familienrat, vermoch­ ten sich jedoch keines Un­ rechts bewußt zu werden: Rolfbesitzt einige ComputerSpiele für seinen Rechner, tauscht die relativ teure Soft­ ware mit Freunden, hatte aber auch auf eine Annonce hin seine Programme einem anderen Freak angeboten. Eigene Kopien harte Rolf nicht angefertigt- Und Geld war bei Rolfs Tauschaktio nen zu keinem Zeitpunkt im Spiel gewesen. Allerdings: Die zuständige Staatsanwaltschaft harte ei­ nige Zeit zuvor gegen Rolf ermittelt, ob er Raubkopien von Computerprogrammen rechtswidrig unter die Leute bringe. Und spätestens hier beginnt der Fall Rolf allge­ meine Bedeutung zu erhal­ ten. Der Verdacht war näm­ lich aufeekommen, nachdem Rolfauf die Annonce reagiert hatte; denn beim Inserenten hatte die Polizei wegen des dringenden Verdachts der Software-Piraterie Haus­ durchsuchung gehalten und war fündig geworden. Was die Beamten auch fan­ den, war eine große Menge an Adressen weiterer Com­ puterbesitzer, darunter die von Rolf. Mitgefangen, mitgej>angen: Nach der Ergänzung des Ur­ heberrechtsgesetzes im- Mai des Jahres 1985 haben Er­ mittlungsbehörden nicht mehr nur auf Antrag eines Geschädigtem tätig zu wer­ den, sondern auch bei vennu teiem öffentlichen Interesse an Strafverfolgung So geriet auch Rolf in die Ermittlungs­ mühle. Für ihn verlief die Ge­ schichte allerdings unproble­ matisch: Der Staatsanwalt stellte das Verfahren ein. So klar die Situation danach war, so vertrackt ist die Rechtslage nach dem Abmahnschrciben aus Mün­ chen: Vater Koch hatte sich nach der ersten Rechtsan­ waltspost vehement gewei­ gert, die Unterwerfungserklä­ rung zu unterschreiben und damit ein rechtswidriges Ver­ halten seines Sohnes anzuer­ kennen: folgerichtig hielt er auch die 1100 Mark Gebüh­ ren für gegenstandslos. Er hat vielmehr den dringenden Verdacht, daß die Schuidfrage die Rechtsanwälte gar nicht sonderlich interessiert: Vielmehr sieht er - je länger die Sache sich hinzieht, desto deutlicher - die Forderung aus München als »Abmahn­ masche«, mit der sich die Kanzlei an alle Adressaten wendet, die sie über Ermitt­ lungsverfahren ausfindig ma­ chen kann. Vater Kochs entschlossene Weigerung zog weitere Rechtsanwaltspost nach sich: Werden die Gebühren bis zu einer letzten »Nach­ frist« nicht gezahlt, soll Vater Koch auf dem Wege einer Unterlassungskiage zur Zah­ lung bewegt werden. Nach nochmaligem Gespräch mit dem Staatsanwalt will Holger Koch nun erst recht standhaft bleiben. Eine Zuwiderhand­ lung hätte nur erwiesen wer­ den können, wenn der Staats­ anwalt eine Hausdurchsu­ chung angeordnet hätte. Die­ se Maßnahme mochte der an­ scheinend weise Staatsan­ walt jedoch nicht gegen bis­ her unbescholtene Bürger wegen des geringfügigen Ver­ dachts einer eventuellen un­ erlaubten Weitergabe von Raubkopien einleiten, zumal selbst bei begründetem Ver­ dacht eine Wiederholung auszuschließen sei. Holger Koch appellierte denn auch weniger juristisch, vielmehr pädagogisch an die Kanzlei, den Versuch zu unterlassen, mit dem Mittel der Abmah­ nung Jugendliche zu krimina­ lisieren. Rolf habe sich nicht rechtswidrig verhalten. Basta. Bei Redaktionsschluß war noch offen, ob der Appell an die Vernunft die erwünschte Wirkung gehabt hat. test rät: Besonders Eltern, die ihren Kindern einen Heim­ computer unter den Tannen­ baum gestellt haben, sollten vorbeugend aufklären: Gegen den Tausch von ComputerProgrammen im Freundes­ kreis ist so lange nichts einzu­ wenden, nie die Gewähr be­ steht, daß keine Kopien hergesteilt werden. Beider Weiterga­ be an Fremde, die dann ohne Wrissen des Eigentümers Raubkopienziehen, macht sich der Ausieikende mit strafbar. Die Frage, ob Computer-Pro­ gramme überhaupt als urhe­ berrechtlich schätzenswerte Werkeanzusehensind, hat der Bundesgerichtshof m einem Urteil vom 9. Mai 1985grund­ sätzlich bejaht PoliSeib eam ten unter die L iste n der T a u sch p artn e r aufm m m t, A n sch rifte n m it P a ß w ö rte r deckt und einen Ordner v o lle r Rechnungen yon Second-hand-shops hat, aus denen s ic h der E rw erb von Com puterhardw are und kom pletten Spielesam m lungen ohne T it e l e rg ib t.'^ v *‘ Nr. 0001: B A S I C - B r e v i e r : Eine Einf. Sie9mar Witti9 in d. Pro9. v. Heimcomp. Nr. 0009: --- Heinz Heise GmbH BASIC: Dateien» Listen und Verzeichnisse Busch Rudolf --- F r a n z i s - V e r l a9 GmbH? M neben Ein BA S I C —Kurs fuer Nicht-Mathematiker und echte Amateure. Neben Grund- u nd Aufbaukurs 9it«t es zahlreiche Beispiele (eine 9ute Sammlung!). Eine Software-Sammluns mit vielen nuetzlichen Programmen in Kursform (als o mit L e r n - E f f e k t ). Nr. 0002: Nr. 0010: Computerwissen Michael Scharfenberger --- Markt & Technik BASIC: Matrix-Operationen Busch Rudolf --- Franzis-Verla9 GmbH» M nchen T i p s fuer die Auswahl und Beschreibung von Anwendungsmoeg1ichkeiten von H ard- und Software sowie Erklaerung von mehr als 500 Begriffen. Eine Sof tware-Samml un9 rr.it vielen nuetzlichen Programmen in Kursform (als o mit L e r n - E f f e k t ). Nr. 0003: Nr. 0011: Computerspiele und Knobeleien Programm, Rueoe9er Baumann in BASIC --- V o 9 e 1- B u c hv er 1a9 (CHIP-Wissen) TRS-80 PROGRAMS Tom RuQ9 und Phil Feldman ---Di lithium Press» Beaverton»USA Von der Spiel idee ueber die Spie 1Strategie kommt es zum Programm selbst. Keine Sammlun9 von Spie 1konserven - keine Pro9rammierkenntn. erford. 32 BASIC-Pro9ramme (Erziehung» Anwendung» SFiele» Graphic» Mathematik und V e r s c h i e d e n e s ) fuer Level II. Nr. 0004: Nr. 0012: Mein Home-Computer - Eine Verbraucherfibel --- Vo9el-Verla9 (HC-Leserservice) Programme und Tricks fuer Genie I und Genie II Clemens Becher» Die besten Tips fuer Kauf und Anwendung von Home-Computern. Viele Programme» Nr. 0005: Nr. 0013: E. Floe9el Programmieren mit dem ZX81 in Basic u. Mascn.-code --- Hofacker» Holzkirchen Sammlung von Spiel-» Schul- und anderen Programmen sowie einem Kapitel ber die Programmierung des Prozessors Z80 (gute Programme dabei) Nr. 0006: Chris Palmer Tips und Tricks fuer den Genie. Franzis-Verlag Eine Software-Sammlung in BASIC (mit vielen guten Tips und Tricks fuer de n 7A m a t e u r ’ ). Nr. 0 0 1 4 : (Great Britain) --- ? BASIC: Alles ueber PEEK und POKE Heiko Re-^uardt ue Games For Your TRS-B0 --- Virgin Books Franz Se9er TRS-80 und Video Genie ROM-ListinS fuer Level LuidSer Roeckrath II --- ? Sammlung von 20 Basi c-Spiel-Programmen uno einer Anleitung» wie man besse re Programme schreibt. ROM-Listing» RAM-Adressen» I/O-Adressen» Unterprogramme» Basic-Anweisun9e n und Funktionen» Aufzeichnungsformate auf Cassette» ... Nr. 0007: Nr. 0015: Don Inman Introduction to TRS-S0 Graphics --- dilithium Press (Portland—USA) Mihael Machine Language Disk I/O & Other Mysteries J. Wagner ---IJG Inc.? 1953 West» USA In diesem Buch wird gezeigt» was man mit der TRS-80 Graphik machen kann u nd vor allem wie. Beispiele und Aufgaben veranlassen zum experiment. Alles runo urn Disk und DOS wird erkl rt - mit zahlreichen wertvollen Hinw eisen und T i p s . HEFT Nr. 0008: Nr. 0 0 1 6 : David H. Ahl More Basic Computer Games--- Creative Computing Press» USA 84 SFiele ruer den TRS-B0» wobei einige sehr interessante dabei sind. Das Buer, ist tu er Freunde von ßa s i c-Computer-Sc ie 1en nur zu empfehlen. verschiedene Das Modem-Sonderheft (Daten bertr. mit Mikrocomp.) --- MC» Franzis—Verlag» M nchen Jg H3PZ i m Grundlagen» S c h a 1tun9stechnik» Dr -Programme SB Nr. 0017: GENIE DATA (He f t 1/B3 q --- Eine N r. Sammlun9 0018: Lewis von Basic 0019: Lewis Nr. Disk I/O F a s t e r Dennis The Bathorv Faster And Better --- (englisches) Bu c h » Kitsz --- Microsoft Basic Farvour Ein kommentiertes Nr. 0022: Level II - B A S I C TRSDOS 2.3 Decoded Farvour Ein kommentiertes Nr. 0023: TRSDOS 2.3 TRS-80 Disk Pennington & Other 1 9 5 3 Wes t ? (G. Daubach) Inc.» USA und Tr i c k s zum Buch). 1 9 5 3 Wes t » Tips» IJG Inc.» z u m D OS» u nd Routinen sich mit & Other IJG Soft- Inc.» --- Inc.» 1953 West? Techniques for L e v e l Imma n » 0027: Don Imma n » Ein gutes Nr. 0028: Th. Duiver» ( Model Albrecht» Level L evel Lehrbuch II B A S I C Zamora Zamora f r den A n f Programming Margot The und benutzt. Mit se der Computerei ( --n9er in B A S I C (englisch-sprachig). --- dem TRS-80 Users The Beitr Die Verlag» huenchen Rest Of 80 --- 9e a us oer 8 0 - M i c r o Wavne Green (Allgemeines» Books» Graphik» USA Utilities). Z-80-A p p !ikationsbuch Klein 0032: Hofacker Journal. --in d ie Z 80 Assem b l e r Z 82 B e f e h l e Franzis Programmier- und Verlag» M nchen Interfacetechniken Handbuch --- pro9 ramiert Themen Book Of 8 0 - U S --- E i n L e h r b u c n » w i e m a n in B A S I C D a t e n f i l e s hr v i e l e n B e i s p i e l e n < e n S l i s c h - s p r a c h i g ). zu a l l e n In S t y l e Critchfield First Eine Einfuehrung e s s o r s Z 8 ß. Nr. I/III) --- --- aus 0030: Michael Zuordn und S o r t i e r r o u t i n e n II B A S I C Albrecht» 0029: Viele USA 1DD E i n f h r u n g in B A S I C » s t r u k t u r i e r t e s P r o g r a m m i e r e n * » T i p s zur b e s s e r e n A u f m a c h u n g d er e i g e n e n P r o g r a m m e » T i p s f r d e n P r o f i ( e n g l i s c h - s p r a c h i g ) Nr. 0031: 1 9 5 3 We s t » Advanced Suchroutinen Ein gutes L e h r b u c h mit vielen B e i s p i e l e n e n 9 l i s c h - s p r a c h i g ). Nr. II B A S I C --- verschiedene USA 0024: Programming Don Nr. Sprache. Inc.» 0026: Sammelband Sprache. Nr. L Brown Programming verschiedene USA Geheimnisse --- I JG Nr. Nr. 1 9 5 3 Wes t » Mysteries in e n g l i s c h e r f r u ns Mysteries in e n g l i s c h e r IJG u nd H a r d w a r e ins D e u t s c h e b e r s e t z t e B u c h b e s c h r e i b t die D i s k e t t e n o r 9 . » die f r e i e r S p e i c h e r b e r e i c h e ? die B e h e b u n g v. D i s k e t t e n f e h l e r n etc. Finkei in USA Das un9 TRS-80 Data File zur USA Tricks 1 9 5 3 W est» & Other & andere Mysteries Mysteries das --- 0025: William Barden Verlag Mysteries viele Custom TRS-80 & Other Decoded H. C. & Other das Nr. James Inc.i IJG Buc h » James Better IJG Ein sehr 9utes (englisches) e r e n C o m p u t e r D e s c h ft ist. 0021: Hueben Nr. Ein 9u t e s Buch ber s c h n e l l e G r a p h i k e n » im L e v e l II B A S I C ( e n 9 l i s c h - s p r a c h i g ). And --- Rosenfelder 0020: Heinz 3/85) ( e n g l i s c h e s ) B u c h » d as v i e l e T i p s etc. z e i 9 t (mit P r o g r a m m - D i s k e t t e Basic Ein sehr gutes B A S I C bietet. Heft 13 C o m p u t e r h e f t e n . Rosenfelder Ein sehr 9utes D I S K » zu F i l e s Nr. bis mit K o m m e n t a r Hofa c k e r » M nchen u n d Je e i n e m B e i s p i e l . des M i k r o p r o z Nr. 0033: Rodnay Als ch Programmierung Zaks (Bernd 0034: Daten Hans-Joachim Ploss) --- - Disketten S v b e x - V e r 1ag» Duesseldorf --- Nr. 0035: wie was Anwenderprogramme fuer Nr. --- (meist 0036: einfache) Programmieren Nr. Einfuehrung 0037: Die in d e n grosse Wolf-Detlev Luther Nr. Textsvstem Gert 0038: Scheller TRS-80 mit Wuerzburg und V i d e o fuer Genie Muenchen d en T R S - 8 0 . --- Hofacker» und viele Muenchen (meist einfache) R e f e r e n z t a b e 1 1 e der --- in B A S I C und 51 BASIC-Pro9ramme Dialekte L u t h e r - V e r 1a 9 » S p r e n d l i n g e n Z 8 0 - A s s e m b 1 er --- Luthei— V e r l a g » Sprendlingen Das Buch b e s c h r e i b t ein f e r t i g e s T e x t s v s t e m fuer den TRS-80» u n o Z 8 0 m o d u l a r a u f g e b a u t ist» u n d l e i c h t e r w e i t e r b a r ist. Nr. 0039: geschr TRS-80 TRS-80 BASIC V o 9 e 1- V e r 1ag» Hofacker» BASIC-Programme Stuebs Eine CHI P » Prog r a m m e mit k o m fortabler Dateiverw. bei d e n v e r s c h . D O S zu b e a c h t e n ist. Stuebs Viele Bu - Dateien Sacht A n r e g u n g e n und Hinw e i s e » leben w e r d e n k o e n n e n und M. Z 80 L e h r - u n d L e r n m i t t e l k o n z i p i e r t ist d i e s e s ins D e u t s c h e bersetzte ein u m f a s s e n d e s N a c h s c h l a g e w e r k und eine g r u e n d l i c h e E i n f u e h r u n g . Nr. M. des das in B A S I C Textsvstem in B A S I C und Z80-Assemc* 1er - Sand 2 Wclf9an9 Weoer jl fl j/ & er £,anc’ 2 beschreibt --- Luther-Verlag» S p r e n d 1ln9en Erweiterungen zum Programm aus Band 1. 1 02 S c h lu p 4 0 3 4 0 4 Vorstand HBGNCR Kontaktadresse für C 1ubanQe1egenhe1 ten Clubbücherei /Fundgrube Günther Gartenstraße k B2B1 Ne u be u e r n am C o d e Clubkasse Tel.*. «8035 /3361 < 18 - 29 Uhr > ein Programmbibliothek H allo Zuerst 6 3 W He i n h e i m getan, Tel.i 86291 /5S852 und l e n s NEUEDER Pa n o r a m a s t r a ß e 21 717B H i c h e l b a c h Kontaktadresse noch (Hexander Theresienstr. 21c 822k C h i e m i n g Kontaktadresse HBGNER sich der Bergheim ( S1B1 auch Ulrich Klaus-I. Böckling Hartmut Brnulf Obermann * Schröder Sopp * Günther B r t i k e l aus'- daran 3 Te s t u n d HC Bankverbindung des CLUB 8B Ich ftndere Runde 1 der a lte Ihr das M aterial bis nichts zu dazu gesichtet oder andere der zuzusenden. Bprilu n s e r im daß Cs Ihr ist zu a lle doch die m eist lernen. H it sehr interessant, Sicherheit hat Diskussionsthem parat, sprechen neuen sollte. Vorstandes kommen. H ier 2. Högli ch k e i t H eiterhin und d e r geht es Entlastung an d i e s e m auch über das man i n ja des Hochenende findet Fragen Compd a s Hase durcheinanderbringen einen Problem anderen darf - ganz a u s g e f u c h s t e n natü rlich eine andere Lösung Kollegen, aus seiner zieh t. seht also, dem C l u b t r e f f e n ein kurz lange überarbeitete in nur Sicht Bnfängerg e b a llte s zum g l e i c h e n T rickk iste Eurer *Computerei* der g ezielten .. die aus für m ir hoffe, einmal eines nutzen, ProgrammKurzanleitungen auf ein die zu Gelegenhei t n ie d e r etnas, ist kennen Hahl der doch t e i 1 zunehmen. Buch nicht ja sie findet p ersön lich oder die v o rg estellt- um d i e .. Hagner C o mp u t e r P e r s ö n l i c h , halt braucht H eiteren Cine seinen Dreyer Neueder sowie INFO Ihr einmal sich er * Gerald n ie b * lh ü M Jens Gerald in sich H eiterhin vorherigen. ) Tel.: 8843662 /51138 dieser Ausgabe -als Platz. ich zu nochmals hat dauert ist. versam m elter H a l t e r ZHICKEL L e n g f e l den 1 2 3 Kontaktadresse es darf Horte ich Cs Clu btreffen sta tt. Tel.: 88664 /1S88 Hardware Redakteure fiber sortiert findet, Bdventure-Ccke INFO m öchte kommen. Des Tel.! 8791 /42S77 tagsüber 8791 /44-667 12. abschließende sprechen Herke Redaktion unseres paar Kl a u s-J ü rg e n Mühlenbein f)ai Mönch g a r t e n Z S Kontaktadresse Club-BBer, persön lich es Sparkasse Rosenheia» BL2 711 5&Q 8© C lu btreffen s auf Konto-f*\ 194 712 Postscheckkonto der Sparkasse soll. es lohnt sich t e i 1 zunehmen. Kärtchen bei, Ruf das sich er alle für jeden von E u c h , Fälle lieg t jedem Euch als Teilnehm er a u s w e i s l und g l e i c h z e i t i g an Clubinfo des als Namenskärtchen dienen Nr. 8©77-8«i Zum Das I fiFD e r s c h e i n t Cs e r f o l g t der INFO-fibschlußdieses 12. 'Happy HacKing', gelungenes INFO' s ich v ie lFreude an d e r Euch C lubtreffen. keine Zensur oder K o n t r o l l e je u e ilig e n eingeschickten Infobeiträge durch d i e Redaktion. Bis oder noch z um nächsten früher in INFO - Holzhausen Euer s. d. Heide verbleibe a llen neuesten ich I NF O u n d e i n C L U B 80 M i tg li e d e r A d r e s s e n liste Name •_____Vorname______Strafle_________________ PIZ Alber Albers Beckhausen Boecker Beeckling Buskawiak Dreyer Drowälder Fröhlich Grajewski Held Hermann Hill Hummel Jablotschkin Kasper Koenig Konrad Kuhn May Misioch Mühlenbein Müller Neueder Obermann Perschbach PiIler Preuss Raggan Rank Retz1aff Schaefer Schneider Schrewe Schroeder Smerling Sopp Spiess Stephan Stevens Trapp Troesch Voigtlaender Volz Wagner Wagner Weiß Wucherer Zwickel Herbert Herbert Wolfgang Dieter Ulrich Thomas Gerald Bernd Burghard Werner Manfred Klaus Peter Anton Rainer Dieter Hans J. Josef Eckehard Holger Waldemar Klaus-Jürgen Kurt Jens Hartmut Patrick Walter Lothar Hans Heinrich Bernd Walter Manfred Christian Gerald Frank Arnulf Peter Hans-Martin Peter Harald Eberhard Holm Oliver Alexander Guenther Dieter Jürgen Walter Stadt_______________Telefon 7732 Niedereschach Alewannenstr. 20 2117 Hestedt Zum Buweishopen 14 5868 Bergisch-Gladbach 1 Vuerfelser-Kaule 38 2938 Varrel 1 Lehmweg 4 5414 Vallendar Am Sonnenhang 11 Eschersheimer Landstr. 257 6880 Frankfurt 1 6288 Wiesbaden-Bierstadt Am Speiergarten 8 4939 Steinheim Buchentalsweg 8 4358 Recklinghausen Brandströstraße 11 4228 Dinslaken Zedernweg 29 8835 Pleinfeld Stirnerstr. 22 7481 Pliezhausen Gartenstr. 22 6750 Kaiserslautern 31 Eckstraße 36 7612 Haslach Schubertstr. 2 4788 Lippstadt 8 Thiekamp 29 8952 Marktoberdorf Zeppelinstr. 9 2088 Pinneberg Hebbelstr. 25 8638 GröbenzelI Anzengruberstrafe 35 7443 Frickenhausen 1 Im Dorf 14 5768 Sündern 2 Marienstr. 9 8585 Röthenbach Adenauerring 25 6940 Weinheim -Lü. Am Hönchgarten 28 2058 Hamburg 88 Sol taustrafe 24a 7178 Michelbach/Bilz Panoramastr. 21 6289 Heidenrod I Schwa)bacher Str. 4 5888 Koeln 91 Waldstr. 52 CH-8835 Feusisberg Rohnenstraße 8 2948 Wilhelmshaven Lautshof 13 7146 Tarn» Backnanger Weg 3d 8088 Fuerstenfeldbruck Fruehlingstr. 2 2082 Uetersen Kleiner Sand 98 8168 Miesbach Rathausstr. 4 5880 Koeln 71 Rheinkasseler Weg 11 4068 Duesseldorf 31 Fliederweg 32 2185 Seevetal 1 Am Schuetzenplatz 14 2888 Pinneberg Tangstedter Str. 5 2488 Luebeck 1 Wakenitzstr. 8 8859 Rennertshofen Trugenhofenerstr. 27 Am Glasesch 9a (Postf. 1287) 4506 Hagen a.TH. 4680 Dortmund 1 Postfach 56 4278 Dorsten 1 Kranichstr. 46 4300 Essen 12 Altenessener Str. 414 6940 Meinheim Haselnussweg 38 7808 Stuttgart 80 Dusestraße 13 8224 Chieming Theresienstr. 21c 8201 Neubeuern Gartenstr. 4 7209 Wehingen Bürgtestraße 3 7750 Konstanz Brauneggerstraße 14 A-5181 Bergheim Lengfelden 123 Neuzuoänoe : Waldemar Misioch Peter Hill Kurt Müller Stand: März 1986 Bitte überprüft Eure Anschrift und meldet eventuelle Adressenänderungen an die Redaktion. 87721 /7102 82284 /62781 84451 /7Ö48 8261 /69522 869 /5601621 86121 /508218 85233 /4320 82361 /63416 02134 754573 89144 /6563 07127 770024 8631 754782 07832 /8289 88342 /1630 84181 Z289444 88142 /8494 87822 745417 82935 /1668 8911 /506051 86201 /55052 848 /7246S83 8791 /42877 (dienstl.44-667) 86124 /3913 8221 /872118 81 /7847418 04421 784247 (dienstl. 884-1) 87141 /603611 88141 /3791 84122 /43551 88025 /1631 8221 /?87044 0283 7748897 04165 /2682 04181 Z207284 8451 /791926 88434 /454 85481 799585 8231 /S93883 82362 742497 0201 Z342324 86201 Z65241 8711 Z731285 88664 Z1580 88035 Z3361 87426 Z7194 87531 Z29145 0043662751138