MM MM MM MM MM MM MM
Transcrição
MM MM MM MM MM MM MM
Des Computer leben... C I u l » i n f < » «lei* T m il. - m B e g e * s le r ,u n q 1 5. . 1 - » - * “ E n l h u s i asraus Z 2 G l i W I S i - S. » i k i i m m Ernüchterung : 7. Erschrecken 5 P r a c h » a s i g k B i 4 A 8 W E M I E K 9. AUSGABE E n l a n i a a 1I . E n i Spannung f e n ta M a d r a » ! CLUB 88 / Gütiha* MEMER / InhaJJfsveriei chilis S e ite : S lu b i« fe r n e s Oer y a r s ia n ö i n f o r m i e r t ............................. 81 - 82 D ie N e u e n ............................................................... Bl g a ttu a r e ( e s t l e g u n g von QRG D ire c to ry lesen . . . . . . . . . H3 ............................................ K4 I d i t o r ....................................................................Hb - HU LHOrrSET > i t DISABLE D O S ........................ B9 - l ß L p rin t « lie s e in fa c h e r POÜIVE-finaaben VIDHEK « i t ............................. 11 ................................................. 1Z H R E ................................................ 13 * 17 U nbegrenztes SP*«1vergnügen Ra ß i l d s c h i r « .................... Iß d e f i n i e r t ........................ 19 - 22 R d v e n t u r e - £ c k e ............................................23 - 21 B a s i c * ( j i s l e k t e ............................................2 5 - 3 2 Z eichencodes ..................................................... 3B BASIC - Hör t e r v e r g ] e i c h ........................ 33 - 36 H ardw are l l 'b - Bus J j y s t e » ............................................X I - 11 T e s t a d a p t e r ..................................................... 45 - R e l a i s - I n t e r f a c e .......................................47 * 52 B i l l i g e s CP/H..................................................... 5 3 - 6 2 L x t r a C R H .............................................................. 6 3 - 6 6 J e s t -- G e n ie H s .......................................67 - 6B Seife: B ö r s e Her hat was ???--|fer sucht was 7?? . 71 - 72 (ragen< frageni fragekasten . . . . 73 - 76 gonsfiges Ber i c h t i g u n g e n ...................... 37 - 3B N a c h l e s e ............................. fi9 frograoobibUiflfek Neue p r o g r a a i e ...................... "/'/ - |)H gie lefien Seifer (,'lubai tgl ie deradr essen ............. B? I a p r e s s u a ............................. B3 S c h l u ß ............................... B4 Beilageblatter ............... aa INF0~Ende r Liebe Mitglieder« w e n n ich d i e s e Ze i l e n schreibet habe ich zwar das Info no ch ni c h t g e s e h e n - a b e r ich habe mir vom Jens kurz e r z ä h l e n lasseni u as so a l l e s e r s c h e i n e n wird. Es ist d e m n a c h e in sehr 9utes Info sowohl h i n s i c h t l i c h Q u a l i t ä t al s a u c h U m f a n g t das f re ut mich sehr - zeigt es do ch davoni da3 «.Ile M i t g l i e d e r an e i n e m g ute n Info i nt er es si e rt sind. T r o t z d e m m ö c h t e ich e ine ’N a c h l e s e ’ zu m 0. Info br in ge n. Mir (und w a h r s c h e i n l i c h a u c h v ie l e n von Euch) hat es g u t g e f a l l e n ; w e n i g e r i n t e r e s s a n t d ü r f t e es für den H ar tmut g e w e s e n se in - er hat n ä m l i c h e t w a 15 S e i t e n des Cl ubinfo b e s t r i t t e n ! Es wa r a l s o i n s g e s a m t r e l a t i v w e n i g N eu es für den Ha rtmut dabei. Da w i r d Ihm d i e s e s 9. Info s c h o n wi ed er besser gefallen. Ich w o l l t e d a m i t nur g e s a g t haben» da £ es w ic ht ig ist» da 3 s i c h v i e l e M i t g l i e d e r a m C l u b i n f o b e t e i l i g e n - ich möchte d a m i t v or a l l e m die M i t g l i e d e r a n s p r e c h e n * die sehr w enig bzw. ni c h t s für das Info s c h r e i b e n » obwohl Sie e i n i g e s auf dem K as te n hätten. Nu n z ur C l u b k a s s e : W i r ha be n zur Zeit ein G u t h a b e n v o n ca. 6 6 0 DM; a m 19. A u g u s t w a r e n fo lg en de Be trä ge noch a u s s t ä n d i g ; J e w e i l s 10 D M N a c h z a h l u n g voni T r o e s c h » May» Wies* Hummel» Bozek» GraJewski» B a l d e s * Preuss* S m e r l in g* Retzlaff* Fr öh l i c h 6 D M (für Info 1 u n d 3) v on Alber Bo ec ke r» Für m i c h ist dies der e i n f a c h s t e und b i lligste Weg* die M i t g l i e d e r a n Ihre Z a h l u n g e n zu er innern - ich g l a u b e (bzw. h o f fe)* d a £ s i c h d u r c h d i ese Art und Weise n ie m a n d a u f den S c h l i p s g e t r e t e n fühlt. F e r n e r ist ganz klar» da3 sich Z a h l u n g e n von M i t g l i e d e r n mi t Erscheinen, dieses I n f o ’s be r e i t s e r l e d i g t h a b e n können! An d i e s e r S t e l l e m ö c h t e ich auch u ns er em M i t g l i e d P et er S p i e s s da nk e n» d er für e i n e n sehr gü ns ti gen Preis das I nf o u m d r u ck t. D a d u r c h k o n n t e ich seit dem 7. Info eine e r f r e u l i c h e R e d u z i e ru ng der K o s t e n f e s t s t el le n. Mi t d e m I nf o b e k o m m t Ihr a uc h ein We rb eb l a t t für den C L U B 80. W er G e l e g e n h e i t hat* s o l l t e diese an g ü n s t i g e n S t e l l e n (z.B. S c h u l e n * U n i v e r s i t ä t e n » C o m p u t e r g e s c h ä f t e n etc.) a u s h ä n g e n od er an ev. i n t e r e s s i e r t e P e r s o n e n ueitergeben. We r w e i t e r e W e r b e b l ä t t e r b e n ö t i g t » k an n d ie se bei mir a n f o r d e r n (in den G r ö ß e n D I N A 3 - D I N A6). W e i t e r e W erbung für den C L U B 8 0 w i r d h o f f e n t lich in de n n ä c h s t e n M o n a t e n in e i n s c h l ä g i g e n C o m p u t e r - Z e i t s c h r i f t e n e r s c h e i n e n . Ich habe die e n t s p r e c h e n d e n V e r l a g e d a r u m g eb et e n . Nu n m ö c h t e ich n o c h u n s e r J ä h r li ch es C l u b t r e f f e n a n s p r e c h e n ; s c h ö n l a n g s a m m u £ m an s ic h da w ie de r an die P l a n u n g ma ch e n. Ich d e n k e a n f o l g e n d e T er m i n e ; 2 2 . /23. März 0 5 . /06. April 1 2 . /13. April 7y - D a s T r e f f e n sollte me i n e r M e i n u n 9 nach w i e d e r im G r o l r a u m F r a n k f u r t / W i e s b a d e n s tat tf in de n. B it te s c h r e i b t miri an w e l c h e m W o c h e n e n d e es bei Eu ch b e s o n d e r s 9ut o de r s c h l e c h t g e h t und was Ihr s o n s t noch zum T h e m a C l u b t r e f f e n a n z u s p r e c h e n habt. A n s p r e c h e n mö ch te ich noch die M ö g l i c h k e i t i r e g i o n a l e C l u b t r e f f en a b z u h a l t e n . Dies m u £ aber v on den M i t g l i e d e r n se l b s t a u s g e hen. So m ö c h t e ich g an z ge rn e ein k l e i n e s T r e f f e n im N o v e m b e r in M ü n c h e n a b h a l t e n (1 N a c h m i t t a g oder so). W e r I n t e r e s s e a m E r s c h e i n e n hati so ll te sich bi tt e bei m ir m elden. J e d e s M i t g l i e d e r h ä l t mit di e s e m Info e i n e n A b d r u c k s e i n e r ab g e s p e i c h e r t e n Daten. Ich v ermute» d a . f i e i n i g e d i e s e r D a t e n bei v i e l e n M i t g l i e d e r n nicht mehr stimmen. De r ei ne hat e in w e i t e re s F l o p p y » der a n d e r e eine H R G usw. B i t t e ü b e r p r ü f t di es e A u s d r u c k e und falls es tuas zu ä n d e r n gibt» so i n f o r m i e r t m i c h b i t te u n b e d i n g t bis En de Septemb er . D A N K E ! H o f f e n t l i c h habe ich Euch mit di es en Z e i l e n J e t z t n ic ht zu sehr 9 e 1a n 9 w e i 1t. Viel Fr e u d e mit dem 9. Info w ü n s c h t E u c h a l l e n (und a u c h mir selbst) E u e r 0 0 HALBAUTOMATISCHE FEST: E O U M D VPN ORG B e i d e r P r o g r a m m i e r u n g in A s s e w b L e r s t e h t n u n öfter:: v c r d e m P r o b l e m , d e n B e g i n d e s Progr<-.#;!»s s o f e s t z u lecjen, d c P e s genciu an einer bestimmten Stelle e^dct. H i e L o s u n g die^.e P r o b l e m s k e n n m a n a'.if e i n f a c h e U e i s e s u c h d e m Assembler übeilassen: TÜF'MEM PRGLtN STAKT RAMUSE Et)U EOU ORG OFFFFH ipder ein a n d e r e r Uert 0000 ;zun ä c h s t irgend ein beliebiger TOFMEM-PRGLEN ; d e s F'rog r a m m s * F’ rog r a m m * 'letzte Anweisung des Programms' EGU $-START-l ;ergibt Programmlänae END START ;P r o g r a m m e n d e Uert in H E X Nun kann man das P r o g r a m » a s s e m b l i e r e n (ohne Abspeichern!), w o d u r c h d e r A s s e m b l e r d e n U e r t R A M U S E b e r e c h n e t , fliesen b r a u c h t m a n d a n n n u r in d i e F ' R G L E N - E O U - A n w e i s u n g e i n z u s e t z e n und hat nun für den e n d g ü l t i g e n A s s e m b l e r lauf das korrekte ORG. Josef Konrad * Hallo liebe C l u b - F r e u n d e » dieses Mal sollt Ihr a u c h w i e d e r et w a s vo n E u e r e m V o r s t a n d zu lesen bekommen. Ich habe g e r a d e e tw as Zei t und m ö c h t e E uc h a u c h als ’g ut es V or bi ld* v o r a n g e h e n : Sc hr e ibt doch r uh ig a u c h mal E u e r e k l e i n e n und g r o ß e n Kn if fe . Be st im mt ist d i e s e r A rtikel für viele k a l t e r K a f f e e - aber b e stimmt auch für m a n c h e n vo n Interesse. A l s o la£t E u c h nicht lumpen und haut in die Tasten! m ö c h t e ich in BASIC-Programmen das D i r e c t o r y in V a r i a b l e n e i n i e s e n und d a m i t arbeiten. N ac h e i n e r V o r l a g e au s ei ne r a l t e n CH IP e n t s t a n d d a bei folgendes U n t e r p r o g r a m m » das sich in J e d e s B A S I C - P r o g r a m m ei nbauen lä£t: 1000 1010 1020 1030 1040 1050 1060 1070 1080 1090 1100 1110 1120 1130 O N E R R O R G O T O 1130 D R * = * D I R / S Y S : * + R I G H T * ( S T R * ( D R ) » 1) OPEN* R * i 1 1 D R* FO R 1=3 T O LO F ( l ) GET 1*1 F OR 11=0 T O 7 F I E L D l i (11*32) A S D*i 1 A S A * i 4 A S D * i B A S F S * . 3 AS F E * IF N O T (C V I (A * + C H R S < 0 ) ) A N D 2 0 B ) = 1 6 T H E N 1100 A * ( J ) = FS *+ * " +FE * J=J+1 N E X T II*I CLOSE RE TU RN R ES UM E NE XT DR = D i r e c t o r y im D r i v e D R w i r d g e l e s e n (mu£ im Hauptprograirim fe st ge l e g t w e r d e n ) FS* = D a t e i n a m e bis zu m S c h r ä g s t r i c h (/) F E * = N a m e n s e r w e i t e r u n g nach dem S c h r ä g s t r i c h (z.B. BASi CMD) S e l b s t v e r s t ä n d l i c h m u £ das F e l d A* a u s r e i c h e n d d i m e n s i o n i e r t we rden und g e n ü g e n d S p e i c h e r zur V e r f ü g u n g g e s t e l l t werden. Möglic he A n w e n d u n g e n g i b t es g e n ü g e n d für diese Routine. Man kann z.B. damit s ei ne g a n z e n D i s k e t t e n k a t a l o g i s i e r e n und zu Je d e m P r o g r a m m n oc h ei ne kurze E r k l ä r u n g a b s p e i c h e r n oder m a n kann sich in e i n e m P r o g r a m m al le D a t e i e n m i t der N a m e n s e r w e i terung DA T a u s g e b e n lassen. Man kann a u c h das D i r e c t o r y a l p h a be ti sc h s o r t i e r e n la s s e n und n oc h v i e l e s mehr. f « i f E D I T O R Das haf n ic h t s mit e i n e m K o n d i t o r zu t u m s o n d e r n so n e n n e ich ein U n t e r p r o g r a m m * w e l c h e s eine Bildschirmorientierte Eingabe e r m ö g 1 i c h t . Mit H i l f e dieses UP k an n m a n in ei ne r B i l d s c h i r m m a s k e b e l i e b i 9 von E i n g a b e zu E i n g a b e s p r i n g e n * i n n e r h a l b e i n e r E i n g a b e sich bewegen* Z ei c h e n e i n f ü g e n un d 1 äs ch e r n etc. Er st zum Schluß w e r d e n da nn die E i n g a b e n d i r e k t v o m B i l d s c h i r m in die V a r i a b l e n e i n g e l es en . Ich b e n u t z e d i e s e s U P s c h o n s e i t ca. 2 J ahren. In di es en 2 J a h r e n w u r d e es l a u t e n d v e r b e s s e r t und e rg än zt . J e t z t halte ich den Z e i t p u n k t g e k o m m e n * E u c h d i e s e s UP v o r z u s t e l l e n , ü e r i g e n s gibt es d i e s e s U P J e t z t a u c h in u n s e r e r P r o g r a m m b i b l i o t h e k (wer es z.B. nicht ei n t i p p e n möchte). Die Z e i l e n 5 0 0 - 1 1 5 0 des L i s t i n g s g e h ö r e n n i c h t z u m U P s e l b s t - sie s o l l t e n nur die M ö g l i c h k e i t e n des E d i t o r o e m o n s t r i e r e n . PRÖGRAMMABLAIF: A) Ze il e 100 so llt e immer die 1. A n w e i s u n g im P r o g r a m m sein. D E F I N T U d e f i n i e r t U für das Ko p i e r f ei d (siehe hierzu BASIC F A S T E R b 8ETTER* S e i t e 40 ff* 6. C l u b i n f o ) . D a s K o p i e r f e l d w i r d für löschen* e i n f ü g e n und auffüllen mit be nu t z t . Die D I M - A n w e i s u n g ist nur n o t w e n d i g * w e n n m e h r a ls 10 E i n g a b e f e l d e r v o r h a n d e n sind. B) Im H a u p t p r o 9 r a m m w i r d z u n ä c h s t die E i n g a b e m a s k e g e l a d e n ; a n s c h l i e ß e n d w ir d der E d i t o r a u f g e r u f e n . N a c h der E i n g a b e k ö n nen die e i n g e g e b e n e n W e r t e ( b e f i n d e n si ch in E * ( ) ) w e i t e r b e a r b e i t e t werden. C ) Ze i 1e 2 02 30 : G = 0 b e d e u t e t 1. E i n g a b e z e i l e D ) Ze il e 20 04 0: A e r h ä l t die A n f a n S s p o s i t i o n der 1. E i n g a b e E) Zeile 2 00 50 : B liest das Z e i c h e n an der B i l d s c h i r m p o s i t i o n A ”) Z e ; U 2 C0 60 : A u s g a b e des ’C u r s o r ’ £) Z 2Z Z 7 C : ^astat'jraCifrage H) Z e i 1e 2 0 0 8 0 - Z e i l e 20220: A b a r b e i t u n g der E i n g a b e n / B e f e h l e (weiteres siehe unter Befehle)? V e rwaltung von A u nd G; in Z ei le 20210 m u ß das G O T O - S t a t e m e n t für den B ef eh l ’S H I F T T B ’ an das J e w e i l i g e P r o g r a m m a n g e p a ß t we rd en . I ) Z e i l e 20230: keine gültige Eingabe: Rüc k s p r u n g nach 20070 J ) Z e ile 20260-20320: Einlesen der E i n g a b e n direkt vom Bild s c h i r m ( m i t t e l s PE EK ). D i e Eingaben wer den in E$() a b g e s p e i c h e r t . W i r d e i n **' e i n 9 e l e s e r n so w i r d das E n d e de r E i n g a b e angenommen. Das Einlesen der Eingaben d a u e r t e i n i g e S e k u n d e n . D as U P w i r d m it RtTURN abgeschlossen K) Die Z e i l e n 2 1 0 0 0 - 2 4 0 5 0 d ü r f t e n v e r s t ä n d l i c h sein. L) Z ei le 50 Ö 3 0 : E i n e der b e i d e n Ze il en * die bei E i n b i n d e n in Programmen geändert w e r d e n muß. N a c h D A T A s t e hen J e w e i l s die B i l d s c h i r m p o s i t i o n e n für A n f a n g und E n d e der J e w e i l i g e n E i n g a b e f e 1 d e r . Di e W e r te m ü s s e n an die einzelnen Bildschirmmasken a n g e p a ß t w er d e n . A n h a n d der A n z a h l der e i n g e l e s e n e n W e r t e w e i s der E d i t o r auch* w i e v i e l e E i n g a b e f e l d e r v o r h a n d e n sind. D i e b e i d e n N u l l e n am E n d e sind unbedingt notwendig. Sie s i g n a l i s i e ren* d aß a l l e W e r t e e i n g e l e s e n w ur d e n . BEFEHL E: Cursor um 1 nach re c h t s ; w e n n E nd e von E i n g a b e f e l d e r r e i c h t ist» w i r d die n ä c h s t e E i n g a b e a n g e s p r u n 9 e n Cursor um 1 n ac h links Cursor e n t w e d e r au f das v o r l i e g e n d e E i n g a b e f e l d o. innerhalb des E i n g a b e f e l d e s ei ne Zeile höher (nur bei E i n g a b e f e l d e r mit e i n e r M i n d e s t 1ange von 64 Ze i c h e n m ö g l i c h ) | I Cursor e n t w e d e r auf das n a c h f o l g e n d e E i n g a b e f e l d o. i nn er h a l b des E i n g a b e f e l d e s e i n e Zeile tiefer SHIFT ► S pr un g a uf E n d e des E i n g a b e f e l d e s SHIFT S pr un g auf A n f a n g des E i n g a b e f e l d e s -*• SHIFT | SHIFT f S p r u n g auf A n f a n g des D 1. E i n g a b e f e l d e s S p r u n g auf A n f a n g des l e t z t e n E i n g a b e f e l d e s SHIFT f E E i n f ü g e n i n n e r h a l b des E i n g a b e f e l d e s SHIFT I L Löschen SHIFT J B A b b r u c h und R ü c k s p r u n g 3 A u f f ü l l e n des E i n g a b e f e l d e s mi t von C u r s o r P os it i o n bis E n d e des E i n g a b e f e l d e s ; Sp r u n g auf A n fang des n ä c h s t e n E i n g a b e f e l d e s ENTER S pr un g au f A n f a n g des n ä c h s t e n E i n g a b e f e l d e s CLEAR E i n l e s e n der E i n g a b e f e l d e r i n n e r h a l b des E i n g a b e f e l d e s in E *( ); Ende des UP VARIABLENLISTE A B EA( ) EE( ) F G I US Bildschirmposition Inhalt der B i 1d s.chi r m po s i t io n A An f a n g e i n e r E i n 9 a b e : e i 1e Ende einer Eingabezeile Anzahl der E i n g a b e f e l d e r gegenwärtiges Eingabefeld FOR-NEXT-Schleife V a r i a b l e für K o p i e r f e l d A$ E*() Inhalt der T a s t a t u r a b f r a g e Inhalt der E i n g a b e z e i 1en Ich hoffe» daß d i e s e r A rt i k e l für den E i n e n oder A n d e r e n i n t e r e s s a n t w a r . Das UP ist g a n z e i n f a c h - nur die E r k l ä r u n g fä ll t mir schwer. S o l l t e n n oc h F r a g e n zu d i e s e m Ar ti ke l au f t a u c h e n » so m e l d e t Eu ch bi tt e bei mir. G ü n t h e r Wa g ne r 100 C L E A R 50 00 : D E F I N T U: D I M E E ( 1 5 ) . E A < 1 5 > * E * < 1 5 ) : G O S U B 2 10 0 0 : G O S U B 23000 5 0 0 R E M --------------------5 1 0 R EM * #* H A ' J P TP RO GR AM M 5 2 0 R E M --------------------5 5 0 G O S U B 1003 560 GOSUB 20000 570 C L S : STOP 1000 R EM — ------------ -----1010 R EM *** E I N G A B E M A S K E A U S G E B E N 1020 R EM — 10 3C CLS > 1 04 0 PR I N T " A n r e d e : # ####" MMMMMMMMMM«" P R I N T " V o r n a m e : 1050 10 60 P R I N T " F a m i 1 i e n n a m e : # # # # # # # # # # # # # # # # # # # # " > 6 fo 10 70 P R I N T " S t r a e N r . : #####*#«•######################" iO 1080 P R I N T "PLZ W o h n o r t : # # # # # # * # # # # # # “' r J 1090 P R I N T " T e l e f o n : ##»*######"! ' 1 100 PR IN T " G e b . - D a t u m : #"S 1110 P R I N T T A B (49) " G e s c h l e c h t : ##############################• ?ö 1 120 P R I N T "B eruf: MMMMMMMMMMMMMMMMtfMKIIMMM'MM» 1130 P R I N T " B e m e r k u n g 1: • mm • «■ ••••• ••••• «•»**** «• » • » m» mm# # * « * » » « ,« # # h# m m ih * ih i* m m *» A m m m m ««»■ 1140 P R I N T " B e m e r k u n g 2: ############################################# **««#################################################################### *#*#########################################################" ; 11 50 R E T U R N 2 0 0 0 0 R EM -----------2 0 0 1 0 R EM * * * E D I T O R 2 0 0 2 0 R E M -----------r, / 20030 G=0 ' 4 > ■ 2 0 0 4 0 A =E A ( G ) > 20050 B=PEEK<15360+A) P 2 0 0 6 0 P R I N T 3 Ai C H R $ ( 1 4 3 ) ; C 2 0 0 7 0 A $ = I N K E Y * : IF A S = " " T H E N 2 0 0 7 0 2 0 0 6 0 IF A * = ,9 ’ T H E N P R I N T 3 A, *••?: U S ( 1 ) = 1 5 3 6 0 + A : U S ( 3 ) = 1 5 3 6 1 + A : U S < 5 ) =E E ( G ) - A - l : U S ( 6 ) = - 2 0 2 4 3 : G O S U B 2 20 00 : G = G + i : G O S U B 2 40 00 : G O T O 2 0 0 4 0 2 0 0 9 0 IF A * = C H R $ ( 9 1 ) T H E N . P R I N T 3 Ai C H R * ( B > ; : IF A - 6 4 < E A ( G ) T H E N G =G - l : G O S U B 24 00 0: G O T O 2 0 0 4 0 : E L S E A = A - 6 4 : G O T O 2 0 0 5 0 2 0 1 0 0 IF A * > C H R * ( 3 1 > A N D A* ;'CHR* < 128 > T H E N P R I N T 3 Ai A*;: A =A +1 : IF A < E E (G ) T H E N 2 0 0 5 0 E L S E G = G + l : G O S U B 24gtBBi..fi0T0 2 0 0 4 0 2 0 1 1 0 IF A S = C H F * < 9 ) T H E N P R I N T 3 Ai CHB*.(ß}i! : A= A + 1 : IF A< E E ( G ) T H E N 2 0 0 50 ELSE G = G + 1 : G O S U B 24000: GOTO 20040 2 0 1 2 0 IF A $ = C H R $ < 8 > T H E N P R I N T 3 Ai SHRjMßj*; : A = A - 1 : IF A > = E A ( G ) T H E N 20 0 5 0 E L S E G = G - 1 : G O S U B 24 0 0 0 : G O T O 2004‘ gL— .. 2 0 1 3 0 I F A * = C H F $ (10) T H E N PR IN T 3 A i ‘ X H R $ < B ) ; : IF A + 6 4 < E E ( G ) T H E N A = A + 6 4 : G O T O 2 0050: E L S E G = G + l : G O S U B 2 4 0 0 0 : " GÜ TO 2 0 0 4 0 2 0 1 4 0 I F A * = C H R * < 5 ) T H E N P R I N T 3 A, C H R * ( B ) ; : U S ( 3 ) = 1 5 3 5 9 + E E (G ) I U S ( 1 ) = 1 5 3 5 8 + E E (G ): U S < 5 ) = E E ( G )- A : U S < 6 ) = - 1 8 1 9 5 : G O S U B 2 2 0 0 0 : P R I N T 3 Ai ■ G OTO 20050 2 0 1 5 0 IF A * = C H R * ( 1 2 ) T H E N U S < 1 )=15361 +A : U S (3 ) = 1 5 3 6 0 + A : U S ( 5 ) = E E (G )- A« U S (6 >=-20243.: G O S U B 2 2 0 0 0 : G O T O 2 0 0 5 0 2 0 1 6 0 IF A * = C H R S < 2 7 ) T H E N P RI NT 3 A, C H R $ ( B ) ” G = 0 : G O T O 2 0 0 4 0 2 0 1 7 0 IF A * = C H R * < 4 ) T H E N P RI NT 3 Ai C H R * ( B ) ; : G = F : G O T O 2 0 0 4 0 2 0 1 8 0 IF A * = C H R * ( 2 5 ) T H E N P R I N T 3 Ai C H R * ( B ) t : A = E E ( G ) - 1 : G O T O 2 0 0 5 0 2 0 1 9 0 IF A * = C H R * (24) T H E N P R I N T 3 Ai C H R * ( B ) s : A = E A ( G ) : G O T O 2 0 0 5 0 Z 0 2 0 0 IF A * = C H R * (13) T H E N P R I N T 3 Ai C H R * ( B > ; : G = G + 1 : G O S U B 2 4 0 0 0 : G O T O ^'0042* I IF A * = C H R * ( 2 > T H E N CLS: G O T O 5 7 0 20220 IF A $ = C H R * < 3 1 ) T H E N P R I N T a A, C HR *( E ) ; : G O T O 20 26 0 20230 GOTO 20070 20210 20240 20250 20260 20270 20280 20290 20300 20310 20320 F O R G = 0 T O F: E * ( G ) = , ‘ F O R I = 1 5 3 6 0 + E A ( G ) T O 15 3 5 9 + E E ( G ) IF P E E K ( I ) = 3 5 T H E N 2 0 3 1 0 E * <G )= E * (G )+ C H R * (P E E K (I )) NEXT I NEXT G RETURN 21000 21010 REM *** K O P I E R F E L D V O R B E R E I T E N 21020 2 1 0 3 0 U S (0 )= 84 48 : U S (2)=4352: U S < 4 ) = 2 5 6 : U S ( 7 ) = 2 0 1 21040 RETURN 22000 22010 RE M * ** K O P I E R F E L D A U S F H R E N 22020 22030 J=0: D E F U S R = V A R P T R ( U S ( 0 ) ): J= US R< 0> 22040 RETURN 23000 2 3 0 1 0 R E M *** W E R T E F R E D I T O R E I N L E S E N 2 3 0 2 0 R E M -----------------------------------2 3 0 3 0 RE ST O R E : F = 0 2 3 0 4 0 RE AD E A (F ), E E ( F ) : IF E A ( F ) = 0 T H E N F =F -l : RETURN: E L S E F = F + l : G O T O 23040 2 4 0 0 0 R EM ---------------------------------------------2 4 0 1 0 R EM * ** U P F U E R R I C H T I G E B E S T I M M U N G V O N G 2 4 0 2 0 RE M ---------------------------------------------2 4 0 3 0 IF G < 0 T H E N G = F 2 4 0 4 0 IF G > F T H E N G =0 24050 RETURN 5 0 0 0 0 R EM -------------------------------5 0 0 1 0 R EM * * * D A T A - W E R T E F U E R E D I T O R 5 0 0 2 0 REM -------------------------------5 0 0 3 0 D A I A -15.» 2 0 » 7 9 » 9 9 , 143» 163» 207» 237» 2 7 1 » 3 0 1 » 3 3 5 , 3 4 8 . 3 9 9 , 409, 447, 448» 4 6 3 , 4 9 3 * 5 2 7 , 7 0 4 » 7 8 3 , 9 6 0 » 0 ,0 Com puter in Schweden Schweden, das Land der »freigebigen« Computer: In der schwedischen Stadt Göteborg erhielt ein Forstar beiter einen Gehaltsstreifen über 7 790 Kronen. Das sind ungefähr 6 000 Mark - das Zehnfache seines gew öhnli chen Gehalts. Der ehrliche Arbeiter gab den Lohnstrei fen an das Personalbüro zurück. W ieder trat der C o m p u ter in A ktion: Er schrieb einen neuen Streifen über 77 900 Kronen. I ZC :T *OURSELF- LMCFFSET with DISABLE DOS Ih^ J®nnt bestimmt alle den berührten Anhang, eien LMGF F S E T erzeugt: "DC THE FCi_LOU ING: ’ * etc., um ins Level II-Basic zu Gelangen. Erst durch SYSTEM und läßt sich das Programm starter.. Bei m e i n e * neuen Genie IIs ließen sich nun e i m a e der alten Programme (ohne diesen Anhang) nicht starter, weil sie (so ',erfr,ute ich jedenfalls) im DOS— Bereich stwrs ändern. Also mußte das DOS "ausgeschaltet" werden. Das kenn man rr.it L M O FFSET machen, indem man das Programm verschieben laßt und danr au* die Fr s g e " D I SABLE D O S “ mit "V" antwortet. Abgesehen davon, d?ß dies nicht bei allen Progra m m e n klappt, müßte das der Ho b b y - progra.?.irierer auch selbst kön nen. Was macht LMOFFSET a l s o ? Ganz einfach: wenn man vom Verschieben absieht, hängt LMOF F S E T nur ein klei nes Anhängsel an das Programm an. Dieses Anhängsel sieht im Prinzip so aus: ORG SOOOH {erste freie Adresse hinter dem ;Pregramm EN^RY: EOU 5300H sEntrypoint des Programms $ START: DI LD LD LD LD I R ; Interrupts sperren :Adresse der Tabelle (s.u.) ;feste Adresse im DOS ;Lange der Tabelle :c Byte von (HL) nach (DE) HL,TAB DE,42E9H 3C,ÜOOeH LD CA L L HL,TEXT 44&7H LGOP: JP LOOP TAB: NOF‘ NOP NOP JP ENTRY DEFM DEFB ’ DO THE FOLLOWING: . . . ’ ODH :Ende de? Te:.tes, nichtig! END START } TEXT: ;Adre=se des Testes ;Te.;t bis ÖDH auf Bildsc h i r m 5 ;Endlosschl eife $ Will man d iesen Anhang selbst erstellen, geht man am bes t e n so vor: 1. mit L M O F F S E T Start- und Endadresse sowie den Entrypoint feststellen (aber das P r o g r a m m nicht verschieben oder so etwas) 2. den E N T R Y F O I N T für ENTRY einsetzen und ORE mit der Endadr e s s e + ! setzen 3. A n h a n g assemb l i e ren und abspeichern 4. im DOS eingeben: LOAD, program?n/CMD und LOAD , a n h a n g / C M D 5. D U M P . n e u p r o g / C M D , st a r t , e n d e , entry wobei stsrt = S t a r t a d r e s s e des OriginalProgramms, e n d e = E n d adresse des Anhangs und e n t r y =Entrypoint des Anhangs (alles mit L M O F F S E T erfahrbar) (Punkt 4 und 5 lassen sich auch <r.it einem geeigneten M o nitor erledigen) Das P r o g r a m m wartet nun nach dem Aufru* auf <Break und Reset>. Durch die K o m m a n d o f o l a e "SYSTEM" und "/" wird die nach 4209H g e s p e i c h e r t e Bafehlsfolge a n g sorungen, die das Programm startet. Dieser A u f w a n d wäre ja eigentlich unnctig, denn das macht LMOFFSET automa tisch. Doch nun wird es erst ir.teresssnt! ! ! Was, w e n n L M O F F S E T streikt*7! Mir passisrte es: ASYLUM II lädt direkt in den Bi I d s c h i r m s o e i e h e r und w«is weiß ich wc sonst noch hin. L M O F F S E T zeigte nicht einmal d ie drei oben angesprochenen Adressen. » 4\ Jetzt müssen wir auf das RAM als Ar-.eitsDJ atz »erzicu ter- «r.c j«s rf:-?« ’ dis Diskette begeben. Natürlich mit dem von Hsrtff.ut “t^rmann .-..'.ci *:: :srts* Supersac. Ptan sollte ver;nuten, daß wir einfac- Cer- assemfcl ierter. Ar.n ane hinter ;?s Programm hangen können. Doch so einfach ist das leide- nicht. Beim Laden von der Diskette muß da; TOS ja wissen, wohin es das Fragr s-hit» bzx. b estimmte Teile laden soll und wo der Entrypoint ist. Der Entrypoint :^t leicht zu finden: wir suchen ur.s den letzten Sektor des Programms friert r,i:* dem ersten hinter dem Programm v e r w e c h s e l n 11') und suchen dort nach .3 ?". E 7r.es "0202". Hinter diesen Bytes steht :er Entrypoint, natürlich wieder :r. diese*verqueren Darstellung, so daß die beiden Bytes also vertauscht werder; müssen. Das ist aber einfach zu erkennen, denn sonst würde meist eine Adresse im r.Z^ herauskommen, an der der Start zumindest unwahrschsir.l ich ist. Nach diesen vier Bytes " 0 2 0 2xxxxH endet das Programm. Da kann man so.iel ändern, wie man will, nichts passiert. Also muß unser Anhang die 0202... übersch r e i b e n . Dafür fügen wir dann am Ende unseres Anhangs ein: "0202yyy>r‘ . wobei yyyy der Entrypoint des Anhangs i st. Wer meinen Vorschlag nun so versucht, bekommt einen "LOAD FILE FORMAT ERFGR" (Ihr seht, das ich alle Fehler schon gemacht habe). Es fehlt noch was. und zwar die Ladeadresse des Anhangs aus unserem ORG. Wenn wir den Anhang auf der Diskette betrachten, finden wir da« Fehlende: "01x>: y y y y “. Die 01 teilt dem DOS mit. daß eine neue Ladeadresse folgt., xx gibt die Lange des Blocks an, yyyy die Ladeadresse. Da die 01 auch im Programm voriommen kann, muß die Länge des Blocks genau auf die nächste 01 oder 02 (zum Starten) zeigen. Was allerdings mit Blocken ist, die länger als FF Byte sind, kann ich nicht sagen. Für solche Feinheiten ~.aben wir bessere Experten im Club (ArrjLif und Hartmut dürfen sich aufgefordert fühlen, hierzu etwas zu schreiben). Glückl i c h e r w e i s e ist das Problem bei mir noch nicht relevant gewesen, d e m einen so langen Anhang nabe ich noch nicht fabrizieren müssen. Allerdings habe ich einen kleinen Trick benutzt: im oben gezeigten Programm müßte der Text 6 4 j ; 1 6 Zeichen lang sein, damit der Bildschirm voll beschrieben *ird. LM0FFSET benutzt im Ori ai nal-Anhang noch eine zweite Blockübertragung, t.m den Bildschirm zu löschen. Doch das läßt sich einfacher erreichen. Am Anfang es3 s Textes fügt Ihr ein: "d e f b ICH DEFB 1FH was den Bildsc h i r m löscht. Um ein Return tEnter, Newline) zu erzeugen, (tiuis im Text DEFB 0AH auftauchen. Schon schrumpft der Text zusammen. Nun könnt ihr herrlich auf der Diskette rumscratchen und LM0FFSET zum alten Eisen werfen, denn die erste Ladeadresse des Programms befindet sich nat ü r lich am Anfang nach Olxx (es müssen nicht die ersten Byte im ersten Sektor sein!) und die Endadresse könnte man sich ausrechnen. Und wer eine neue La d ead r e s s e haben will: verschieben dürfte mit LDIR kein Problem sein. Doch dieses <Break und Reset> ist doch immer etwas umständlich. Was erreicht man eigentlich damit? Letztlich nichts anderes als ein System ohne DOS, aber mit dem Programm im Speicher. Wenn Ihr Euch nun das gute alte RQK-Listing anschaut und bei 0000H anfangt, seht Ihr die Befehle, die die DOS-Vektorer. zurücksetzen und das Level II-Basic initialisieren. Viele Programme benötigen bestimmt nicht eine volle Initialisierung, sondern nur das Rücksetzen der DOS-Vektoren und einige andere Kleinigkeiten. Seht Euch die Sefehle an und schreibt den Anfang ab (0674H-0689H, 0075H ff.). Dann noch ein JumP zum Entrypoint (ohne <Break und Reset>). Das bringt eventuell die gleichen Er* gebnis s e wie die u rsprüngliche Prozedur., Versprechen kanni ich nichts, aber bei einigen Programmen lohnt es sich bestimmt! Gerald Schröder L F R I N T a l 1 e s - e:n-facher ! ! ! (Tell Z) Ach, wie hücft mir das Herze lustig in der Brust! Da ist sehen w i e der einer ins L ag e r der Maschir.ensprache-Maniaes konvertiert. Lieber Hartmut, Deine Routine, mit der sich beliebige C o des mit LFRINT auf cen Dru c k e r ausgeten lassen, -funktioniert einwandfrei. Wenn ich ir.r ;e t:t e i n e Alternative entgegensetze, so geschieht das nur aus m i ssionarischem Ehrgeiz. Die l o g ische H ä l f t e des Assem b l e r - P r o g r a m m i e r e n s hast Du zwar s c h o n richtig cut drauf, aber hie'- folgt ein wenig zur ökonomischen Hälfte: Dis Losung, mit den Indexregistern zu arceiten, liegt nahe, wenn ein B y t e ven einem d irekt greifb a r e n Speicherplatz (hier <SP)) ein Stückweit entfe r n t ist. Ater das kostet Platz. Die indizierten Adressierungen e r f o r d e r n nicht nur ein zus ä t z l i c h e s Switchbyte (DD bzw. FD), sondern manchmal sind auch Um w e g e nötig. So mußtest Du z. B. den sonst u n b e n u t z ten Speicherplatz 4018h im T a s t a tur-DCB als Z w i s c henspeicher hernehmen. Eine genauere U n t e r s u c h u n g des Interpreters hilft weiter: Das Regis t e rpaar HL wird in den Treibern beim Einscruna nur als Adressenhalter benutzt) «it Jr !HL) werden sie adressiert. Einmal im Treiber anaelangt, ist HL frei. A l s o holen wir uns das zu druckende By te 4D lg a n ä e rm ifim i 0000 0003 0004 0005 0006 211101 25 3? 7E C3B405 LD DEC AD D LD JP 00001 00002 0 0 003 0 0 004 00005 HL.0111h H HL. SP A,(HL) 05b 4h : Summand, MSB 1 zu hoch ; jetzt HL = 0011h {Stelle im Stack errechn. ;Byte aus dem Stack laden ;und ausdrucken lassen Die ersten b eiden B e f e h l e erscheinen wide r s i n n i g ccer zumindest u m ständlich. Wozu HL «it ein e m Wert laden und den dann sofort iir. MSE (H) verändern? Der Ladebefehl L D HL.0011h (Codes dez. 33, 17, 0) hätte eine logische 0 enthalten. Die hätte der Interoreter aber mitten in der Stringvariablen LNS als Z e ilenende-Flac erkannt. Das wäre tödlich g e wesen. Daher mußte dieser kleine Kunstgriff die 0 vermeiden. H L wird mit dem S t a c k oointer addiert, so daß die Summe (die Adresse des Bytes! in KL steht. Aus (H.L.) wird es in den Akku geladen. Auch die Überprüfung der D r u ckerb e r e i t s c h a f t und die A u s gabe a u f ’s Papier kann man sich schenken, denn der Interpreter weiß auch, wie das geht. Has Du in den Zeilen 400 bis 9 0 0 p r o g r ammiert hast, steht dort ab Adresse 05B4h. Zusätzlich wird dabei sogar der Zeilenzähler im DCB unterhalten, was a l lerdings schon fast seit G u t e n b e r g s Zeiten überflüssig ist. Mit JP 05B4h geht also der Code auf den Drucker. Diese Interpreter—Routine ist e b e n falls ein Unterprogramm, so daß früher oder später auch ein RET a n g e troffen wird. Deshalb kommen wir elegant aus de m Druckertreiber wieder h eraus ohne ein eigenes RET. Das kleine BASIC-Programm, mit dem der neue Treiber wird, kann nun f o l g endermaßen angepaßt werden: implementiert 10 L N $ = " I 2 3 4 5 6 7 S ? ’ 1: F:EM 9 Bytes genügen! 30 F0F: 1=1709: REM Daher auch eine kürzere Schleife 40 DA T A 3 3 . 1 7,1,37,57,126,195,180,5: REM und weniger DATA Die übrigen Zeilen bzw. das übrige der gelisteten H.=.rtffluts Frcgra^m u nver ä n d e r t übernahmen werden. Arnulf Sepp * 4 Zeilen können von F D R I VE—A n g a b e n S i c h e r g i n g e s n i c h t n u r m i r sc; m a n b e k o m m t e i n e D i s k ins Haus und weiss ueber die L a u f w c r k s a n g a b e n u e b e r h a u p t nichts. Saemtliche PDRIVE-Parameter zu testen ist doch etwas zu langwierig. Ausserdem geben die Laufwerke dabei Geraeu?>che von sich, dass einem Angst und B a n g e wird. Ich m a c h t e mich also an die Suche und habe im BOOT/SYS, Sektor 2 die Parameter gefunden (ich hoffe, d a s s es auch stimmt). Die Tabelle ist in B y t e 00 bis 9F gespeichert, wobei j e d e s L aufwerk die Bytes 0 bis F belegt. Also z.B. L a u f w e r k 1 : 1 0 - 1 F / L a u f w e r k 4: 4 0 - 4 F usw. D i e P D R I V E —P a r a m e t e r s i n d w i e f o l g t v e r t e i l t : B y t e x0: Spur-Nummer DIRectory >: 1 x 3 : TC S P y.A: S P T 5 E K x5: G P L & y. 6 : (HD) >:7: (HD) >:8 : D D S L i ' ß r l / >:9: D D G A A & J. 1 / ;<A: (HD) x B : (HD) >:C: T S R .J >;D: T I 1. T e i l w o b e i A = 0 1 / E = 0 2 / C = 0 4 / D = 0 8 / E = 1 0 x E : TI 2. T e i l w o b e i H = 0 1 / I = 0 2 / J = 0 3 / K = 0 4 / L = 0 8 / M = 1 0 x F : TD wobei A = 0 0 / B = 0 1 / C = 0 2 / D = 0 3 / E = 0 4 / F = 0 5 / G = 0 6 ' Die Tabelle wurde einer Systemdisk NEWDOS 80 V 2.5 -fuer Modell III entnommen. Bei V 2.0 duerfte es sich wohl aehnlich verhalten. Beim Lesen einer Model I Disk im Modell III waere schliesslich noch der Befehl WRDIRP (bz w . u e b e r D I R C H E C K ) notwendig, da das Directory schreibgeschuetzt sein sollte.(KH) Com puter in Dänem ark Die H o lle r it h -Anlage Ihres Heimatortes konnte in der Al u n d schulpflichtig. © f X D H E X - Hexanzeige des Bildschirms mir ae** Hr.G D ie Sond e r seichen des Genie 3 (serienmäßig), 2 und 1 (rach H a r d w a r e ä n d e r u n g ) mit den ASCII-Ccdes 00-1F senen zwar ganz putzig aus. Sieht man sie jedoch in e i nen Dump mit dem Debugger oder erscheinen sie auf a n d e r e Weise auf dem Bildschirm, sc ist man gelegentlich ratlos. Sie sind n ä m l i c h in keiner T a b elle zu -finden, so daß man ihre ASCII-Codes bei B e darf nur erraten kartn. Um diesem Mißstand abzuhelfen, entwarf ich das P r o g r a m m VIDHEX/CMD, das mit Hilfe der HRG lb anstelle der ASCII- und Son d e r z e i c h e n k leine zweistellige Hexzahlen anzeigt. Was dabei h e rauskommt, ist in dem H R G —Ausdruck am Ende des Listings zu sehen. Es h a n delt sich um eine Anzeige des Debuggers. Die L a d e a d r e s s e 39Ü0 ist mit der serienmäßigen Hardware nat ü r l i c h nic h t 2 u realisieren. Das geht mit einer kleinen Zusatzplatine, die H e l m u t B e rnhardt in c't vorstellte (RAM vcn 3 9 Ü Ü - 3 B F F ) . Wer sie nicht hat, braucht nur ORG auf irgendeine andere Adresse zu setzen (genau 256 By t e s müssen b is zum Hirnen nach Mindestens frei sein). Das P r o g r a m m ist mit 2EUS/CMD erstellt. Für EDTASM müssen alle L a b e l s auf max. 6 Zeichen gekürzt werden. Kleinbuchstaben sind nur in den K o m m e n t a r e n erlaubt. DB muß in DEFB geändert werden, DW in DEFW. In einem D E F 3 - S t a t e m e n t d ürfen die einzelner. Bytes auch nicht durch Komma getr e n n t in eine gemein s ame Zeile gepackt werden, sondern jedes Byte erhält eine ei g e n e Zeile, D as a l les ändert aber nichts an der Programinlogi k, die im f o l g e n d e n erläutert werden scll. Unter allen S t euerzeichen ist (zumindest in der Direkteingabe über die Tastatur) E SC da s überflüssigste (escape, Shift-Hochpfei 1, ASCII 27 bzw. 1 B ) . Es hat z u d e m den Vorteil, daß sich mit ESC nichts auf dem B i l d s c h i r m ändert, solange man nicht etwa mit dem Level-4-fiOM arbeitet u nd E SC zusammen mit einer anderen Taste drückt. Deshalb wurde als T r i g ger für die U m w a nd l u n g des Bildschirms ESC ausgewählt. Hierzu erhielt der T a s t a t u r t r e i b e r einen kleinen Vorspann, der vor der normalen T a s t a t u r a b fra g e prüft, ob Shift mit dem Kochpfeil gedrückt wurde. Dies geschieht im F r o g r a m m s e g m e n t newdrv. Wird kein odar ein anderes Zeichen f e s t g e s t s ! 1t , geht es weiter an 4516, derc Beginn des normalen Tastaturtreibe*~s (G-DOS bzw. H-DGS). , Nach ESC e r folgt nun die Umwandlung. Hierzu wird zunächst der B i l d s c h i r m gerettet, denn er muß gelöscht werden, us die HRG-Ar.reige nicht zu stören. Ein P uffer wird für das Kilobyte des Bildschirms gebraucht. Die HRG benutzt von jedem Byte ihres Speichers nur 6 Bits zur Anzeige. Die beiden h ö c h s t w e r t i g e n Bits bleiben unsichtbar. Was liegt naher, als dort den Bildsc h i r m zu v e r s tauen? Dazu wird zunächst der Videozeiger mit 3COO geladen, dem Beginn des Screens. Der HRG-Zeiger kommt auf den A n f a n g s w e r t 0000. In den v e r s c h a c h t e l t e n Schleifen vidsavl und vidsav2 wird jeweils der Akku mit d em Vid e o b y t e geladen und «it CO undiert, ua die übrigen Bi t s zu löschen. Dieses Viertelbyte im Akku wird nun über den Port 5 in die HRG geladen. Jetzt werden die beiden oberen Bits der V i deostelle nach unt e n rotiert; die nächsten beiden Bits stehen an. Das ist ein b i ß c h e n fumrcelig und kostet auch ein paar Bytes Programmcode, aber 1 kB B i l d schirm p u f f e r im R AM wäre ein vielfacher Verlust. A n s c h l i e ß e n d wird der HRG-Speicher gelöscht. Weshalb das nötig ist, wi r d später erklärt. Seine internen Adressen gehen von 0000 bis 2FFF. Der Zeiger 4HL startet deshalb nach dem Puffern des B i ldschirms mit 0400 (= 1 kB), wo der H R G - Z e i g e r jetzt gerade fcteht. Das MSE der HRG wird bei jedem Schl e i f e ndurchlauf auf 30, den ersten nicht mehr erlaubten Wert geprüft. D i e s geschieht in der Schleife clear. « Nach dem Löschen geht es im U? he::d:so weiter. Es wird jeweils ein B ildschirmseichen geladen und mit Blank verglichen. Um den Bildschirm ü bersichtlich zu halten, wira e:n Blank nicht mit der He::zahl 20 a n g e zeigt. In d i e s e m Fall *ird das UP byte nicht angescrungen. Das würde ohne v orher i g e s L ö s c h e n der HRG bedeuten, daß die alten Codes dcrt erhalten blieben. Daher war zuvor die Löschung erforderlich. Im UP b y t e w i rd die Videcadrssse auf die HRG-Adresse umgerechnet. H i e r z u bra u c h t (zumindest für die cberste Dotzeile) nur 3C vom MSB sub trahiert zu werden. In diesem Falle aird mit 03 undiert, was au-f dasselbe hinausl äuft. N a c h e i n ander werden nun die beiden Halbbytes in eine Ziffer u m g e r e c h n e t u nd angezeigt: Das o b e r e N i b b le wird zunächst durch 16 dividiert und damit ins u n tere geschoben. DE wird nun als Zeiger auf die Zeichensatztabelle chrtab g eladen und d as UP nibble angesprunger,. Je nach Ziffer wird der Zeiger dort bis zu 16mal um fünf Stellen weitergerückt, denn jede Ziffer setzt sich aus fünf D o t m ustern zusammen. Die jeweilige Stelle in der HRG wird im UP H R Badr adress iert und bei output das Byte ausgegeben. Für das n ä c h s t e der fünf Byt es pro Ziffer muß der HRG-Zeiger HL um 1 kB erhöht werden. Das geht am einfachsten durch viermaliges Inkrementieren des MSB. Um b e i d e H e x z i f f e ^ n auf dem engen Raum einer einzigen Video-Anzeiges t elle gut u n t e r s c h e i d b a r zu machen, stehen sie untereinander und sind um zwei Dots in der Waagerechten gegeneinander verschoben. Das geschieht beim u n t e r e n N i b b l e (Einerstelle der Zahl) durch zweimaliges RLCA. Da das UP N i b b l e nic h t unterscheidet, welche der beiden Ziffern gerade ansteht, werden die b e i d e n R L C A immer abwechselnd abgearbeitet oder übersprungen. Dazu dient der r e l ative Sprungbefehl JR displc. Die Sprungdistanz displc wird mit dem XOR-Befehl gleich zu Beginn des UP nibble ständig zwischen 0 0 und 02 (durch Verwendung von Labels variabel gehalten) hin- und hergeschaltet. Wenn b e i d e Ziffern angezeigt sind, geht es mit der nächsten Bilds c h i r m s t e l l e weiter, bis alle Bildschirmzeichen als He>:zahlen auf dem H R G - S c r e e n stehen. Die HR-Graphik bleibt stehen, bis irgendeine Taste gedrü c k t wird. Jetzt muß der alte Bildschirm wieder restauriert werden. D ie Bildsc h i r m z e i c h e n, die bisher geduldig im Puffer gewartet haben, werden z u r ü c kgeladen. Das geschieht im Prinzip wie das Puffern, nur enen umgekehrt: Die b e iden oberen Bits aus einer HRG-Stelle werden aus dem Akku h i n a u s - und in ein Bildschirmbyte hineinrotiert. Dafliit ist endlich alles erledigt, mit RET geht es zurück ins Betriebssystem. Die B e f e h l e O UT <1),A und OUT <0),A zum Ein- und Wiederausschalten der H RG s tehen an frühst- bzw. spätestmöglieher Stelle. Daher kann der User bei 1,77 MHz ungefähr 2-3 Sekunden lang ein wildes Schauspiel auf dem S creen beobachten. Gute Unterhaltung! A r nulf Sopp II II II II II H M M H >1 II 3 S C ISSS( t i t S3E3Z1S s s t i s t c t i i a i i a i a n s s s e t s c s t 00001 0 0 002 Uffluandlunc rer Bildsch ir.nanzeige von ASCII00003 Zeic hen in He;: zahlen mit Hi l<e der KF:G 1b 00004 (C) ’85 by The HA C K T O R Y u 000* 00006 00007 3900h ;Lade- u. Einspr-jngsadr. 0F;G 00009 00009 :neuer Tasta turtreiber -für Shift-Aufw ä r t s p f e i 1 A,(3840h) ;Tastatur Steuerzeichen 00010 newdrv LD 00011 BIT 3, A j A u f w ä r t s p f e i 1 ged r ü c k t ? JF; ifalis nein 00012 Z ,ex i t LD 00013 A,<resoh> ;ja, S h ift-Reihe 0F: A 00014 ;Shift g e d rückt? Z.4516H jfalls nicht Sh.-Hochpf. 00015 ex i t JF 00016 00017 ;nach £hift- Hochpfeil Bildsch. r etten (1) .A ;HF:G einschelten 00016 OUT 00019 LD HL.3c00h ;Bi ldschiraiadresse sDE <- OOxx. HF:E-Adresse 00020 LD D.L ;DE <- 0000 LD 00021 E.L PUSH DE :HF:G-Adresse retten 00022 PUSH HL ;dto. Vide c a d r e s s e 00023 00024 vidsavi LD BC,04c0h ;4*2 Bits/Byte, Konst. CO HRGadr ;HP.G-Stelle adressieren 00025 vidsav2 CALL :Bildsc h i r m z e i c h e n LD A,(HL) 00026 00027 AND C ;nur o c e r s t e 2 Pits ;auf HRG ausgeben 00028 OUT (5),A (Zeichen 2 Bits sufrücken 00029 RLC (HL) F:LC (HL) 00030 vi d s a v 2 jbis 1 B y t e -fertig 00031 DJNZ ;nachste Videostelle INC HL 00032 6 ,H ;Bildsch. ü b e r s chritten? BIT 00033 Z,vidsavi 00034 JF: sfalls noch nicht 00035 00036 ;HFG-Sce:eher ab nächster -freier Stelle löschen HF.Gadr ;HRG-Stelle adressieren 00037 clear CALL CF 30h ;Spei eher überschritten? 00038 Z.cleared ;*al!s ja JF: 00039 XCF: A ;A <- 00 00040 (5!, A sdiese Stelle löschen 00041 OUT JF: cl ear .•nächste Stelle 00042 H_ ;Bildschirmanfang 00043 cleared FOF HL jfür spater retten 00044 PUSH 00045 00046 ;Bildschirm van ASCII- in Hexan zeige ändern ;Videczeiger retten HL 00047 hexdisp PUSH C.(HL) ;B i ldschirmzeichen 00048 LE ;Blank 00049 LD A,’ ' CP C ;Blank? (nicht verändern) 00050 (HL),A ;diese Stelle löschen LD 00051 CALL NZ,byte ;kein Bl., 1 B y t e umwand. 00052 00053 00054 ;Zeichen umgewsndelt oder Blank überspr.j nächst. Zeichen POP • 00055 HL ;Bi 1dsch i rmzei ger INC HL :n ä c h s t e Stelle 00056 6 ,H BIT 00057 ;Bildsch. überschritten? Jfi Z,hexdisp Ö005B ;nein, n ä c h s t e s Byte 00059 00060 ;Nach Anzeige auf Taste warten, dann Bildsc h i r m restaur. 0C49h CALL 00061 ;auf Tastendruck warten POP HL 00062 ;Vi decadresse POP DE 00063 ;HF;6 -Adresse B, 4 00064 raster 1 LD ;4*2 Bits/Byte s ) 3900 3900 3903 3905 3 90 7 390A 3 90 P 3 A4038 CB5F 2e04 3 A8038 B7 C A 1645 390E 3910 3913 3914 3915 3916 3917 391A 39 1 D 3 9 IE 39 IF 3921 3923 3925 3927 3929 392A D301 2 1003C 5D D5 ES 01C004 CDA839 7E Al D305 CB06 CB06 10F3 23 CB74 2BEB 392C 392F 3931 3933 3934 3936 3938 3939 CDAB39 FE30 2805 AF D305 18F4 El E5 393A 393B 393C 393E 393F 39 4 0 E5 4E 3E20 B9 77 C46539 3943 3944 3945 39 4 7 El ~7 CE74 28F1 39 4 9 394C 39 4 D 394E CD49Ü0 El Dl 0604 3950 3953 3955 3956 395B 3959 395B 395D 395E 3960 3962 3964 CDA839 DB04 07 C316 07 CB 16 10F3 23 CB74 28EC D300 C? 3965 7C '966 E603 3968 57 3969 5D 3960 79 3968 E6F0 396D OF 396E OF 396F OF 3970 • OF 3971 21AB39 3974 E5 3975 CD7C39 3978 79 3979 E60F 3979 El 397C 47 397D 3A9639 3990 EE02 3982 329639 3995 04 3986 23 39S7 23 398e 23 3989 23 398A 23 398B 10F9 398D 0605 398F C5 3990 CDA839 3993 IB 3994 7E 3995 1800 3996 3997 07 3998 07 3999 4F 399A DB04 399C Bl 399D D305 399F 14 39A0 14 39A1 14 39A2 14 39A3 2339A4 Cl 39A5 10E8 39A7 C9 KRGadr 00065 raster!: cf^-_ ;HF;G-Stelle adressieren A, (4) 0006c IN ;HRG-Byte hoi an | 00C67 F.LCA ;2 oberste Bits F'_ (HL! 00063 ;:n den Bildsch. lacen 00069 r.LCA F:L <HL! 00070 00071 restorC djn: ;bis 1 Vidscbyte fertig INC HL 000 7 2 ;nachste Bi I dschi r.ustEl la EIT 6 ,H 00073 ;Bildsch. überschritten'’ Z,rss.orl 00074 Jnl ;-falls nach nicht OUT (0 ) ,fi 00075 :HF:G ausschalten RET 00076 ;Tastaturtreiber verlass. 00077 00076 iüF Hs« sr.zaige:: 1 Byta ändern 00079 byte A, H L2 ;MSB der Videoaaresse 03 00080 AND ;Adr. Vid. -> Adr. H.RS D.A LD 00081 i neues KEB ET [_ 00082 LD ;HRG-MSB wie V i deo-MSB LD 00083 A,C ; '.'ideczei chen 00084 Of Oh ;oberes Nibble AND RECA 00085 ;ins untere schieden RF.CA 00086 00087 RRCA RRCA 00088 ;vor Tab. f. He^zeich. 00069 LD H L , chrtäb-5 HL (brauchen wir ncch 00090 PUSH nibble ;cberes Nibfcla anzeiger. CALL 00091 ;alter Code LD A,C 00092 O-fh ;untsrss Nibble AND 00093 jTabellenzeiger HL 00094 POP 00095 00096 ;einzelnes Halbiyte in die HRG laden sals Zähler i. c. Tabelle B,A 00097 n ibble LD ;Sprungdistsr.z A,(di=plc) LD 00098 output-di splc-1 ;umschaltan 00099 XOR ;neu lacan. LD (displc),A 00100 ;wegen DE = Tabelle -5 :n c B 00101 ;Zeiger nächste!len HL 00102 saekchr INC ;über 5 Steller, weil in: HL 00103 ;5 Codes pro Zeizr-.sn IN’ C HL 00104 HL INC 00105 INC HL 00106 seekchr sbis Code gefunden 00107 DJN'Z ;5 Dotzeilen pre Zeichen LD B.5 00108 :Zähl er retten BC 00109 nibloop PUSH HPGadr ;HRG-Stelle adressieren CALL 00110 ;HRG-Zeiger korrigieren DE DEC 00111 jDotzeile ladar, A, (HL) LD 00112 (variable Spruncdistanz JR *-*■2 00113 jhier Distsnzbyte 00114 displc EQU t-1 ;lower Nibble ve-schieben RLCA 00115 ;um 2 Dots RLCA 00116 ;Dotzeile retten C,A 00117 io utput LD jHRG-Byte mit Vidaccoda A, (4) IN 001 IE smit Dctzeile verknüpfen OF. C 00119 ; Dctzeile in HR£ laden (5), A OUT 00120 ;i« MSB um 1 kB erhöhen D INC 00121 ;-für nächste Dotzaile D INC 00122 D INC 00123 00124 D INC sr.ächster Code -für ZifreHL INC 00125 ;Zähler restaurieren POF BC 00126 ;tis Nibble angezeigt nibloop djn: .00127 ; zur'ick RET 00123 00129 00130 ;UP, urn dis H R G 1- Adresse auszuget:en f» 39AS 39A9 39AB 39AC 39AE 39AF 7B D302 7A D303 13 C9 3950 39E5 39BA 39PF 39C4 39C9 39CE 39D3 39D3 39DD 39E2 39E7 39EC 39F1 39F6 39FB 02 04 03 07 04 07 06 07 02 02 02 03 06 03 07 07 • <016 4016 0039 3900 * 00131 00132 00133 00134 00135 00136 00137 00138 00139 001 4 0 00141 00142 00143 00144 00145 00146 00147 00149 00149 00150 00151 00152 00153 00154 00155 00156 00157 00158 00159 00160 Hfiäsdr LD CUT LD OUT INC RET Ä c (2 ),A A ,D (3 ) , A DE jLbt cer'HKi=-nSre = SB ‘ ;su-f Port ausgeben ;M S B : jtci. ;n ä c h s t e HRG-Stelle ;Codetö b el l e für 1H R G - Z e i chensst; ■c » *■ » !0 chrtäb DB 2 ■ 4 ,6 ,5,4,4 DB ;i ;2 DB 3.,4,2,1,7 ^ 4H 7» * DB 7 • 4H »-> ;3 DB S4 *:,5,7,4,4 7 , 1,3,4,3 DB |5 DB k.1 1 ;6 1 «71 95 ?DB 7 $ 4• *»7 111 *1 :7 ;e DB 2 , 5,2 , 5 ,2 n .5,7, 2,1 DB ;? n ,5,74 5,5 DB :A —i T DB i5, 3, 5, 3 ;B DB iC 6 ,,1 , 1 , 1,6 T-■ DB ;D 1,5, 5, 5,3 DB 7,,1,3.1,7 ;£ DB 7,,1, 3,1,1 iF ;neue Tsstatur-- T reiberadresse imi DCB ;und zwar hier 0F.G 4016h ;A d r esse DM ne w d r v END newdrv :cort Einsprung 00000 Fehl er HRGadr■ d isplc nibloop vidsavl 39A0 3996 398F 3917 byte e::it output vidsav 2 3965 T90E 3999 39 1 A chrtab 39 BO he>:di sp 393A r e s t o r 1 394E cl e a r 392C newdrv 3900 restor 2 3 9 5 0 UW MM MW MM M M >W3, M M M M MM MM MM WH M M M M M M V -\l WW MM MM MM MM M M M M MM U l i HW YLW I W ~UH. HW M M M M WH IV-.1 V« i IVhI tttttY tt 1. WA M i HW mm m m -m* w w m m m m v ,^ w w s.v ^ wi^i m m m m w w w w w w w w w w h w wv< w w w w m m u w w w m m w w w w M M MM MM WW V t« UV* -m t W i M *r l M M W W W W W f l M M l H V* HW M M Mh\ MM M M * W M M M M M M /" -\ (17 )M W V MM MM MM l MM MM MM MM MM M M MM M M MM MM MM M M M M M M M M M M MM MM MM M M U li WM* WH M M MM M l WM I s* i WW cleared 3938 nibble 397C seskchr 3986 W'% M^MMMtSz %%%W<V*W* *»1. W ltm W M tm W tt WA \W*\\ l-’i \WW w v w & iu m tt m vvvvu-m nvv m v .m v .w v , r.VAWr'r'/r^rV'r \M i ttfV \\\\W> W A VA ^UVUV/mWVW WWWfttVWUV, ttW ;W W W W \S i MM Unberrenztes S^ielvercrnÜTen s a r s s s s s s s s x s s s s a a c a x v ^ s e s ’s« Sicherlich hat sich schon die ein oder andere Spieler - l.'atur geärgert, wenn eine schwierige Stelle im Ablauf der Bildchen zu einem großen Verschleiß an "Men" oder "Ships" geführt hat. In zwei Fällen läßt sich Abhilfe schaffen mit Debug oder einen Monitor: DONKEl'-KGNG läd bei mir von 7E2C bis B87B, Einsprung 9000. Eine Änderung am der Stelle AFD6 : 33 = Dec a in 00 = ITcp ••.und bei einem crash erfolgt kein Abzug nehr, es geht mit dem gleichen Guthaben an "Kännchen" und Punkten weiter. JUTJGLE-BOY von 5200 bis BFFF, Einsprung 5300 Adresse 77DO : 3D in 00 erbringt den gleichen Erfolg wie oben. Nun wünsche ich allen viel Spaß beim Cben der kniffligen Passagen und ich hoffe die Hiscore-Freaks sind nicht allzu böse auf mich! Dieter Kasper Freitag, 01011. A u g u s t 010001 (lt. L.)* Als der C o m p uter ersetzt wurde '( la u t L eib niz) vorgenommen und b e stimmt, ob das Zeichen eine Unterlänge hat oder nicht. Beim Abspeichern eines Zeichens wird auch Überprüft, ob Punkte eines Zeichens direkt nebenein ander liegen und damit den Anforderungen für Download Characters wi dersprechen Zur Bedienung Eis Bildschlrmedltoi für die definierbaren Zei chen de« Matrixdrucker« Star Getnlnl-lOx Ist diese« Programm. Ei lauft auf den Rechnern Model I nnd in von Tandy und Kompatible. Der Matrixdrucker Gemini-10x von Star verfügt über einen vom Benutzer definierbaren Zeichensatz (..Download Character Set“). Selbstdefinierte Zei chen können mit Hilfe die ses Zeichensatzes ge nauso benutzt werden, wie es mit dem normalen Zei chensatz möglich ist Le diglich kursive Schrift (Italics) und die Umschaltung zwischen nationalen Son derzeichen sind damit nicht verfügbar. Die Defini tion dieser Zeichen ist je doch eine umständliche Angelegenheit. Für jedes Zeichen müssen 9 x 7 Punkte als gesetzt oder nicht gesetzt bestimmt werden. Zusätzlich ist noch festzulegen, ob das Zei chen zum Erreichen einer Unterlänge beim Druck verschoben werden muß. Das hier vorgestellte Programm erleichtert Be nutzern eines TRS-80 mit Diskettenlaufwerk (Model I oder Hl) die Definition von Zeichensätzen. Es er möglicht das Editieren von Zeichen auf dem Bild schirm und das Abspeichera von Zeichensätzen auf Diskette. Die Zeichen werden auf dem Bild schirm in einem Feld von 9 x 9 Punkten editiert. Da durch ist es möglich, Zei chen mit Unterlänge direkt darzustellen. Vor der Über gabe der Zeichen an den Drucker wird die Umset zung in die 9 x 7-Matrix Nach einer Initialisie rungsphase von etwa 20 Sekunden erscheint auf dem Bildschirm das 9 x 9-Anzeigefeld für die Zeichen. Unterhalb des Anzeigefeldes wird der Code (ASCQ,dezimal) des Zeichens angezeigt und das Zeichen, so wie es im Zeichensatz des Rechners vorhanden ist. Weiterhin erscheint auf dem Bild schirm das Hauptmenü mit den verfügbaren Befehlen und eine zehnspaltige Ein gabezeile mit blinkendem Cursor. Zum Editieren in dieser Eingabezeile ste hen die Tasten ( —) und (ShiflM ( —)imit den bekann ten Funktionen zur Verfü gung. Leerzeichen vor oder innerhalb von Befeh len sind nicht zulässig. Alle Befehlseingaben müssen mit (ENTER) abgeschlos sen werden. Der wichtigste Befehl des Hauptmenues ist der Befehl zum Editieren eines Zeichens (E). Die Form .£" ermöglicht das Editieren des gerade im Anzeige feld dargestellten Zei chens, J3(” bzw. „E)" das Editieren des Zeichens mit dem nächstniedrigeren beziehungsweise nächst höheren Code. Die Form _En" ermöglicht das Editie ren des Zeichens mit dem Code n (32-126), E"x" das Editieren des Zeichens z. Das hintere Anführungs zeichen kann dabei auch weggelassen werden. Nach der Eingabe des Befehls wird das zu editie rende Zeichen im Anzei gefeld dargestellt. Ein blinkender Cursor er scheint in der linken obe ren Ecke des Anzeigefel des. Ein neues Menü erläu tert die Eingabemöglich keiten. Mil den Pfeiltasten kann der Cursor dabei durch das An2>eigefe)d b e wegt werden. \ Mit der Taste (« ) (mit oder ohne (Shift)) wird der Punkt an der Cursorposi tion gesetzt, dargestellt durch ein ■• ■ Mit der Leertaste wird der Punkt an der Cursorposition ge löscht. Beide Tasten bewir ken keine Cursorbewe gung. Mit der Taste (©) werden alle Punkte des Anzeigefeldes gesetzt, mit der Taste (CLEAR) alle Punkte gelöscht. Die Taste (Z) ermöglicht die Über nahme eines anderen Zei chens in das Anzeigefeld Nach dem Druck auf die Taste erscheint unterhalb des Anzeigefeldes eine Eingabezeile mit blinken dem Cursor. Hier kann ent weder der Code des ge wünschten Zeichens (32126) oder das Zeichen selbst in der Form Y an gegeben werden. Die Eingabe ist mit (EN TER) abzuschließen. Das angegebene Zeichen er scheint dann im Anzeige feld. Zu diesem Zeitpunkt bereits gesetzte Punkte werden dabei gelöscht. Die Taste (Q) ermöglicht das Abbrechen des Edi tiervorgangs Die für das ediberte Zeichen bereits abgespeicherte Darstel lung erscheint wieder im Anzeigefenster. Nach der Eingabe von (ENTER) wird das Zeichen im Anzeige feld auf Korrektheit hin sichtlich der Anfordenmgen für Download Charac ters überprüft Stellen, an denen zwei Punkte direkt nebeneinandergesetzt sind, werden in der Form Zeile. Spalte gemeldet. Sind sowohl in einer der beiden oberen als auch in einer der beiden unteren Zeilen Punkte gesetzt, so wird die Meldung “Unter länge ?T ausgegeben. Das Zeichen würde später ohne die beiden oberen Zeilen an den Drucker iibergeben. Sind Unkorrektheiten entdeckt worden, so er scheint die Frage ’Trotz dem abspeichem?" Wird als Antwort die Taste (EN TER) gedrückt, so wird das Zeichen im Anzeigefeld abgespeichert. Wird eine andere Taste gedrückt, so bleibt das bisher gespei cherte Zeichen erhalten Ist das Zeichen korrekt, so wird es ohne weitere Fra- 2»ich*n » d i t i wr mn Iv ic h tn ia ti 2 * ie h f n t iti 1 2 * ie h * n tilt tic t it r n lid a n ü b trtrig m @ Ic ic h m tt tf An D r u c k te i i b t r g t b f n E in 2 »tc h * n •n D r u c k a r ü b » r g * b » n n o n - 2 » i c h « m « t 2 « l * D lC D L C -2 * lc h fn titi X C -2 fie h »n titi drucken «in So sieht der Editor am Bildschirm aus gen abgespeichert. Der Befehl J i“ des Hauptmenus dient zum Abspeichem des Zeichen satzes auf Diskette. Der Be fehl hat die Form S - File name Der Filename darf maximal acht Zeichen lang sein und keinen Zusatz (Extension) enthalten. Die Extension /DLC (für Down load Character) wird vom Programm angehängt E)er Befehl „L" dient ent sprechend zum Einlesen eines Zeichensatzes von der Diskette. Er hat eben falls die Form L-Filename. Für den Filenamen gelten die gleichen Bedin gungen wie beim S-Befehl. Es ist nicht möglich, ein zelne Zeichen auf Diskette zu speichern oder von der Diskette zu lesen. Fehler, die bei der Euiund Ausgabe von Diskette auftreten, werden abge fangen und rühren nicht zum Programmabbruch. Die am häufigsten auftre tenden Fehler werden da bei mit deutscher Fehlerbe Schreibung gemeldet. Bei anderen wud nur der Fehlercode angegeben. Die Beschreibung des Fehlers muß dann im BASIC-Handbuch nachgese hen werden. Die Fehler meldung muß durch Driikken von (ENTER) quittiert werden, dann kehrt das Programm ins Hauptmenü zurück. Der Befehl JC“ bewirkt den Transfer eines Zei chensatzes von der Dis kette auf den Drucker, ohne daß der Zeichensatz im Rechner gespeichert wird. Der Befehl hat die Form X - Filename Für den Filenamen gilt das selbe wie beim L- und S-Befehl. Der Befehl JT' sorgt da für, daß im Drucker der normale Zeichensatz in den freidefinierbaren Zei- chensatz kopiert wird. Dies ist die Voraussetzung da für, mit dem Z-BefehT ein zelne Zeichen neu zu defi nieren Der Befehl „Z“ sorgt da für, daß ein selbstdefiniertes Zeichen an den Drukker übergeben wud. In der Form X " wird das im An zeigefeld dargestellte Zei chen übergeben. Mit .Zn" wird das Zeichen mit dem Code n {32-126) überge ben. mit Z“x" das Zeichen x. Der Befehl JD" bewirkt die Übergabe des gesam ten selbsldefinierten Zeichensatzesan den Drucker. Der Befehl ¥ ' sorgt da für, daß der auf dem Drukker vorhandene selbstde finierte Zeichensatz ausge geben wird. Dies g e schieht immer zweizeilig: die obere Zeile zeigt die Zeichen des normalen Zei chensatzes, die untere die des selbstdefinierten Zei chensatzes. Der Befehl ,A" sorgt da für. daß auf dem Drucker der selbstdefinierte Zei chensatz eingeschaltet wird. Alle weiteren Ausga ben des Druckers erfolgen mit diesem Zeichensatz. Die Verwendung des Be fehls ,P" macht diese Um schaltung allerdings wie der rückgängig. Alle Befehle, die auf den Drucker zugreifen, prüfen zunächst die Einsatzbereit schaft des Druckers. Ist er nicht in der Lage, Zeichen zu empfangen, erscheint die Meldung "Drucker nicht bereit!“ auf dem Bild schirm. Sie verschwindet wieder, sobald der Drukker einsatzbereit ist. Ein Druck auf die (ENTER)-Taste sorgt für den Abbruch des Befehls, für den Fall, daß der Drucker nicht ein satzbereit gemacht wer den kann oder soll. Die folgenden Befehle des Hauptmenüs werden aus Plalzgründen nicht auf dem Bildschirm angezeigt Die Befehle ( und ) bewir ken, daß das Zeichen mit dem nächstniedrigeren beziehungsweise nächst höheren Code ins Anzei gefeld gebracht wird. Wird der Code eines Zei chens (32-126) oder das Zeichen selbst in der Form "x“ eingegeben, so wird dieses Zeichen angezeigt Der Befehl .3“ sorgt für die Rückkehr ins BASIC. Die Speicherung des selbstdefinierten Zeichen satzes auf der Diskette er folgt in derselben Darstel lung, die für die Übergabe an den Drucker verwendet wird. So werden pro Zei chen nur 10 Byte auf der Diskette gebraucht, für den gesamten Zeichensatz also 950. Für die Umrech nung von der Darstellung auf dem Bildschirm und im Speicher in die kodierte Darstellung und zurück werden Routinen in Ma schinensprache benutzt. Diese Routinen werden über den USR-Befehl angesprochen. Während der Initialisierungsphase wer den die Rouhnen mit POKE in die Strings U0$ und Ul$ gebracht. Bei der Eingabe des Programms ist darauf zu achten, daß UOS 46 Zei chen und U1S 53 Zeichen lang ist Welche Zeichen verwendet werden, ist un wichtig. Ein Hinweis zum Listing: Programmzeilen. deren Nummern nicht mit 0 en den, sind Kommentarzei len. Sie können ohne Folen für den Programmabiuf weggelassen werden. Auch aas Listing wurde übrigens mit einem selbst definierten Zeichensatz gedruckt. Nur so ist es möglich, den 'Klammeraf fen 9 und die Umlaute gleichzeitig in einem Li sting zu haben. Gerd Kluge E r V t 2 3 4 REH REM REM REM 5 REM lO O 109 HO 1 20 130 1 40 149 1 30 160 1 69 170 150 1 90 200 206 209 210 220 230 240 230 260 270 280 290 299 300 310 320 330 340 350 339 360 369 370 380 390 400 410 B i 1d s c h l rm e d i t o r f ü r « a l b c t d i f ln ia r b a r a D r u c k a r i a i c h e n ( D o w n lo a d C h a r a c t e r « ) G e - in i 10X ♦ T R S - 8 0 M o d a l 1 I und 111 C L S iC L f A A 2 0 0 0 0 iD E F IN T A - Z iD E F S N G U B £ W .............. .......... V a r i a b l e n i n i t i a l i s i e r D IM Z Z , 1 , V , I « i B L « - S T R IN G « ( 9 , 3 2 ) t D IM Z , S , D , P i C D - 3 2 i P O - 2 0 5 T P - 1 0 0 iZ P - 1 4 0 iD IM C P , C U , Z S , X F , I N « , r# 1 « , C C , P , F E D i n U 0 t U l t U 0 « , U l « , B P aB L ,B H , Z « < 9 6 ,8 ) ,P ( 9 J ,B Z « < 8 ) P R I N T * 4 6 5 , “ B i t t e 2 0 S e k u n d e n H i r t a n T*| ROf ' ---------A r r a y f ü r Z e i c h e n b e l e g e n ------------------------FO R 1- 0 TO 9 3 1 FO R Z Z - 0 TO 8 l Z « ( I , Z Z ) - B L « iN E XT ZZ ■NEXT I FO R Z Z -O TO B i Z « < 9 6 , 2 Z ) - “ « t « * t * t t I “ i NEXT ZZ REM -1 ---- B i 1d s c h i r a a r r a y k o n s t r u i a r e n ---------- ------- — — FO R 2 Z - 0 TO B l POKE V A R P T R (B Z « i 1 1 ) I , 9 B P - 1 3 3 6 0 * P 0 + Z Z > 6 4 iB H - I N T ( B P / 2 5 6 ) t B L - B P - 2 S 6 IB H POKE V A R P T R (B 2 « <Z Z ) ) + 1 , B L l POKE V A R P T R ( B Z « <Z Z ) ) * 2 , BH NEXT ZZ REM------------- U S R - R o u t i n e n i n s t a l l i e r e n ---------------------- R E H ------------- U O« - 4 7 Z e i c h e n , U l « - 3 3 Z e i c h e n -----------U O «-“ 1 2 3 4 3 6 7 8 9 0 1 2 3 4 3 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 3 6 7 8 9 0 1 2 3 4 5 6 7 “ U l«- "1 2 3 43 67 8 90 1 23 43 6 78 90 1 23 43 6 78 9 01 23 4 36 70 9 01 2 34 36 7 89 01 2 3* U O-PEEK (V A R P T R (U O « )+ 1 1 ♦ 2 3 6 C P E E K ( V A R P T R (U O « )+ 2 ) U l -PECK ( V A R P T R ( U l« ] ♦ ! ) + 2 3 6 IP E E K ( V A R P T R ( U l« ) * 2 ) D E F U S R O - U O * ( U O > 3 2 7 6 7 )« 6 5 3 3 6 i D E F U S R 1 - U 1 « ( U l > 3 2 7 6 7 ) « 6 3 3 3 6 FO R UO—UO TO UO+46 READ V iP O K E U O + ( U 0 > 3 2 7 6 7 ) « 6 3 3 3 6 , Y i NEXT UO FO R U l- U l TO U l * 3 2 READ V i POKE U l ♦ ( U l > 3 2 7 6 7 ) « 6 3 5 3 6 , V l NEXT U l R E H - - ----- — - K a s t e n z e i c h n e n — ----------------- ■■ ■■ . . . . . C L S : P R I N T 8 Z P - 6 3 ,“ 1 2 3 4 3 6 7 8 9 “ ; P R IN T 8 Z P ,C H R « ( 1 3 6 ) |STR I N G « ( 9 , 1 4 0 ) | C H R « (1 7 2 ) | FO R ZZ-1 TO 9 P R I N T 8 Z P - 3 * ZZ « 6 4 , Z Z | C H R « < 1 4 9 ) | B L « | C H R « ( 1 7 0 ) | NEXT ZZ P R 1 N T 8 Z P * 6 4 0 ,C H R « ( 1 4 1 ) | S T R I N G « ( 9 , 1 4 0 ) | C H R « ( 1 4 2 ) | R E n ------------- Z e i c h e n d a r s t e l l e n ----------------------- ------ -— P R I N T i Z P + 7 0 4 ,C > « « (C D ) ,C D | iG G S U B lO O O O REH ■■ ■ ■1 M e n u e s c h r e i b e n ----- ---- ------------------- -----ON ERRO R GOTO O iG O S U B l l O O O P R 1 N T 8 T P ,“ £ — Z e i c h e n e d i t i e r e n “ | P R 1 N T 8 T P * 6 4 ,“ S - Z e i c h e n s a t z s i c h e r n “ | P R IN T B T P + 1 2 8 ," L - Z e i c h e n s a t z l a d e n ' i P R I N T 8 T P M 9 2 ," X - Z e i c h e n s a t z ü b e r t r a g e n “ j 4 2 0 P R I N T 8 T P * 2 3 6 ,“ D - Z e i c h e n s a t z 9 ) 430 P R 1N T 8T P *320, " an D ru c k e r ü b e r g e b e n “ ; 4 4 0 P R lN T e T P » 3 8 4 , “ Z - E i n Z e i c h e n ' i 4 5 0 P R IN T 6 T P + 4 4 8 ,“ an D ru ck e r ü b e rg e b e n ") 4 6 0 P R IN T 8 T P » 3 1 2 , “ K - R O M - Z e i c h e n s a t z a l s D L C "| 4 7 0 P R IN T 8 T P + 3 7 6 ,“ P - D L C - 2 e i c h e n c a t z d r u c k e n “ ! 4 8 0 P R IN T 8 T P + 6 4 0 ,“ A - D L C - Z e i c h e n s a t z e u i ' i 4 8 9 RE H ------------- B e f e h l s e i n g a b e u n d - a u a f ü h r u n q ----4 9 0 C P * T P * 7 0 4 1 GOSUB 13 0 0 0 i 1 « - L E F T « ( I N « , 1) 5 0 0 IF I « - " B “ OR 1« - * b “ THEN C L S iE N D 3 1 0 I F Ift- "<■ THEN I F C D - 3 2 THEN 3 7 0 El 5 2 0 IF I « - “ >■ THCN I F C D - 1 2 6 ThCN 3 7 0 1 5 3 0 IF I * - ■E“ OR I « - “ e “ Th e n lO O O 5 4 0 IF I « - “ K “ OR T « N 2000 5 5 0 I F I « - “ Z “ OR I « - “ z “ THEN 3 0 0 0 5 6 0 IF I « - " D “ OR I « - “ d “ Tt-EN 4 0 0 0 5 7 0 IF I « - “ S “ OR l « - “ s “ THEN 3 0 0 0 5 8 0 I F I « - " X “ OR !« ■ “ * * THEN 6 0 0 0 5 9 0 I F I « - " L “ OR I « - “ l “ THEN 6 0 1 0 6 0 0 IF I « - -p. OR I « - “ p “ THEN 7 0 0 0 6 1 0 I F IS - ■A“ OR I « - “ « “ THEN 8 0 0 0 6 1 9 REM1 — C ode o d e r Z e ic h e n ? 6 2 0 I F L E N ( !N « J < 2 OR L E N ( I N « ) > 3 THEN 4 9 0 6 3 0 C C - C D : IF 1 « - C H R « ( 3 4 ) THEN C D - A S C ( M ID « ( I N « , 2 , 1 ) ) i GOTO 6 3 0 6 4 0 I F I « < * 1 - OR I « > - 9 “ THEN 4 9 0 E L S E C D - V A L ( I N « ) 6 5 0 I F CD >31 AND C D < 1 2 7 THEN 3 6 0 E L S E CD-CC 6 5 9 REM-------------- F e h 1 e r r ü c k s p r u n g ----------— --------------- --6 6 0 P R IN T 8 T P + 7 6 8 ,“ F e h l e r 1“ | 6 7 0 FO R Y - l TO 2 0 0 lN E X T Y iG O T O 3 7 0 9 9 9 R £ M- - — E - 2 e l c h e n e d i t i e r e n ----------- , , 1 ............... 1 0 0 0 I « - H ! D « ( I N « , 2 , l ) i CC-CD 1 0 1 0 I F ! « - “ . “ THEN 1 0 6 0 1 0 2 0 I F ! « - “ < * THEN IF C D - 3 2 ThCN 1 0 6 0 E L S E C D - C D - liG G T O 1 0 6 0 1 0 3 0 I F ! « - “ > “ THEN IF C D - 1 2 6 THEN 1 0 6 0 E L S E C D -C D « 11 GOTO 1 0 6 0 1 0 4 0 I F L E N ( 1 N « ) < 3 OR L E N U N « ) > 4 TI-CN 6 6 0 1 0 3 0 I F l « a>O f i l ( 3 4 ) THEN C D -A SC ( M lD « ( I N « , 3 , 1 1 ) E L S E C D - V A L ( R IG H T « ( I N « , L E N ( I N « ) - 1 ) ) 1 0 6 0 IF C D <3 2 OR C D > 1 2 6 THEN C D - C C i GOTO 6 6 0 1 0 6 9 REM--- ———------U n t e r a e n u e s c h r e i b e n ----------------------------1 0 7 0 GOSUB 1 1 0 0 0 1080 P R I N T 8 T P ,- p f « ll t a s t e n - " j 1 09 0 P R IN T 8 T P * 6 4 , “ C u rs o rtte u e ru n g “ | 1 10 0 PR INT6TP*-1 2 8 , " L e e r t a s t e — P u n k t 1 6 s c h e n “ | 1 1 1 0 P R IN T 8 T P + 1 9 2 , “ I - P u n k t s e t z e n " ! 1 12 0 P R IN T 8 T P + 2 3 6 ," C L E A R - A l l e P u n k t e l ö s c h e n " ! --- 1130 1140 1130 1160 1169 1170 11 7 9 1190 1190 1200 1210 1220 1230 1240 1230 1239 1260 1270 1280 1290 1300 1310 1320 1330 1340 1350 1360 1370 1379 1380 1390 1400 1410 1419 1420 1430 1440 1450 1460 1469 1470 1999 2000 2010 2999 3000 3010 3020 3030 3040 3050 3999 4000 4010 4020 4029 4030 4040 4050 4999 5000 3010 3020 3030 3039 5040 3050 5060 5069 3070 3079 3080 3090 3100 3999 6000 6009 6010 6020 6030 6040 P R I N T ilT P * 3 2 0 t “ *i - A l l e P u n k t e s e t 2 e n “ | P R IN T «8 T P *3 8 4 , “ Z - Z e i c h e n e i n s e t z e n ' i P R IN T 4 T F « 4 4 8 , "G - E d i t i e r e n a b b r e c h e n “ | P R IN T 8 T P « - 5 1 2 ,“ ENTER - Z e i c h e n a b c p e i c h e r n " | REM— --- ------- Zu e d i t i e r e n d e s Z e i c h e n d j r s t a l l e n ---------- P R I N T « Z P » 7 0 4 ,C H R « ( C D ) ,C D | iG G S U B 1 0 0 0 0 REM ------------- B e f e h l s e i n g i b e u n d - a u s f u h r u n g ------- ------ - Z - 0 :S - O iC P = F O C U - P C E K ( 1 5 3 6 0 * P 0 * Z * S > iG O S U B 12 0 0 0 iF R IN T f c P O * Z * S ,C H R « ( C U ) | IF I i " THEN I * - “ * " I F I s - " 0 " ÜR l « - “ q * THEN 3 6 0 IF I « - “ “ OR I “ I " THEN PR IN T d P O * Z * S , I « | i GOTO 1 1 9 0 I F I « - “ * “ THEN C C - C D iC D - 12 8 iG O T O 1 3 2 0 IF I « * C H R « < 3 l ) THEN C C - C D « C D - l2 7 iG 0 T a 1 3 2 0 IF I « < > " Z " AND ! • < > “ *•' THEN 1 3 1 0 REM------------- Z e i c h e n e i n s e t z e n - - - - - - - - - - - - - - - - — - - - - - C C - C D :C P —Z P * 7 6 8 1GOSUB 1 3 0 0 0 IF L E N ( I N S ) < 2 OR L E N ( I * J > 3 THEN 1 3 0 0 IF L E F T « ( I N « t 1 1 - C H R « (3 4 I THEN CD-ASC (R IG H T « ( I N « , LEN ( I N « ) -1 ) ) E L S E CD—V A L ( I N « ) I F C D>31 AND C D < 1 2 7 THEN PR1 N T « Z P * 7 6 8 , B L « } EU_»| sGOTO 1 3 2 0 C D - C C s P R IN T “ F e h l e r ! " ! i FOR Y - l TO 2 0 0 iN E X T Y P R 1 N T 8 Z P * 7 6 8 ,B L « | B L * : : GOTO 1 2 6 0 GOSUB lO O O O :C D - C C iG O T O 1 1 8 0 I F I « - Ö # * « ( 9 I THEN I F S - 8 THEN 1 1 9 0 E L S E S - S « 1 : G 0 T 0 1 1 9 0 I F 1 « - 0 « « < G ) THEN IF S - 0 THEN 1 1 9 0 E L S E S - S - lt G O T O 1 1 9 0 IF I « > C M i « ( 1 0 ) THEN I F Z - 3 1 2 THEN 1 1 9 0 E L S E Z - 2 + 6 4 :G O T O 1 1 9 0 I F I « - C H R « ( 9 1 ) THEN IF Z- 0 THEN 1 1 9 0 E L S E 2 - 2 ~ 6 4 :G O T O 1 1 9 0 IF ! « < > 0 * 1 < | 3 ) T fC N 1 1 9 0 REM ------------- Z e i c h e n p r ü f e n -- ---------------- ------- ---------FE-Os GGSUB l l O O O t l - O FOR 2 - 0 TO 8 : FOR S - 0 TO 7 I F P E E K < I5360+P0+- ( Z S 6 4 ) * S J - 4 2 AND P E E K ( 1 3 3 6 0 * P 0 * ( Z S 6 4 ) * S + l ) - 4 2 T tC N P RIN T ® T P* I , Z * I j " j S * 1 j « I - 1 + 6 4 1F E - - 1 J I F I > 9 24 THEN GOSUB 1 1 0 0 0 : 1 - 0 NEXT S tN E X T Z REM— --------- - U n t e r - u n d O b e r l C n g e ? ------ — -------- --- --I F B Z « 17 ) —B L * AND B Z « ( 8 ) - B L « THEN 1 4 3 0 E L S E I F N O T I B 2 « 1 0 ) - B L « AND B Z « ( 1 ) - B L « > THEN P R IN T 8 T P * I , “ U n t e r l ä n g e J?? “ ! : F E - - 1 1 I - I * 6 4 1 I F I > 9 2 4 THEN GOSUB 1 1 0 0 0 : 1 - 0 I F NOT F E THEN 1 4 7 0 P R 1 N T 8 T P * I, “ T r o t z d e a a b s p e i c h e r n ? “ | I « - IN K E Y « : I F I « - " " THEN 1 4 3 0 IF I « O C H R « ( 1 3 ) THEN 3 6 0 REM— - — ------- Z e i c h e n a b s p e i c h e r n ---------------- --- ------ — FOR ZZ-O TO 8 : Z « ( C D - 3 2 ,Z Z 1 - B Z « ( Z Z 1 iN E X T Z Z t GOTO 3 7 0 REH — — ■------ K - R O n - Z e i c h e n s a t z a l s DLC GOSUB 1 4 0 0 0 : I F F E THEN 3 7 0 L P R IN T C H R « (2 7 1 I * « * » iD - O iG O S U B 1 3 0 0 0 1GOTO 3 7 0 Ff £M— — Z - E i n Z e i c h e n a n D r u c k e r ü b e r g e b e n *- - --■ GOSUB 1 4 0 0 0 : I F FE THEN 3 7 0 I « - f l I D « ( I N « , 2 , 1 ) i I F I « - “ . “ THEN 3 0 3 0 I F L E N ( I N « ) < 3 THEN 6 6 0 I F I « - C H R « ( 3 4 1 THEN C D -A S C < M 1D « ( I N « , 3 , 1 ) ) E L S E C D - V A L « R IG H T » ( I N S , L E N ( I N « ) - 1 ) ) I F C D < 3 2 OR C D > 1 2 6 THEN 6 6 0 C C- C D iG O S U B 4 0 3 0 t C D - C C i GOTO 3 6 0 R E M « - - - « - - - * - D - Z e i c h e n s a t z a n D r u c k e r ü b e r g e b e n ---«■ GOSUB 1 4 0 0 0 : IF F E THEN 3 7 0 C C - C D lF O R C D - 3 2 TO 12 6 lP R IN T S Z P + 7 0 4 , C H R « ( C D ) , CDJ GOSUB 4 0 3 0 : NEXT C D iC D - C C lG O T O 3 6 0 REM------------E i n D L C - Z e ic h e n k o d i e r e n u n d ü b e r g e b e n ------GOSUB lO O O O :Z - U S R 1 ( V A R P T R ( P < 0 ) I) L P R IN T C H R « ( 2 7 ) | “ t * | C H R « ( 1 ) |C H R « (C D I| FOR 1 ^ 3 TO 9 i D - P ( 1 ) iG O SU B IS O O O i NEXT IiR E T U R N RE M *—— ———— — S - Z e i c h e n s a t z s p e i c h e r n I F L E N ( I N « ) < 3 THEN 6 6 0 IF M 1 D « ( I N « , 2 , I ) < > “ - “ THEN 6 6 0 N M « * n iD « < IN « ,3 , LE N ( I N « ) - 2 1 ♦ “ /D L C “ ON ERROR GOTO 1 7 0 0 0 REM--*-—- - - - - — F i l e a r o f 4 n e n , P o i n t e r a u f B u f f e r ---- -----OPEN “ R “ , 1 , N M « lF 1 E L D 1 , 1 AS P « V - O iP - P E E K ( V A R P T R (P « J * 1 ) * 2 3 6 «P E E K (V A R P T R ( P « )+ 2 ) C C - C D iF O R C D - 3 2 TO 126 REM------------- Z e i c h e n k o d i e r e n -------------------- ------ -— --PR IN T 8Z P +7 0 4 , C H R « ( C D ) , C D | i GOSUB lO O O O iZ - U S R 1 ( V A R P T R ( P ( O ) )> REM-------- —— - K o d i e r t e s Z e i c h e n i n B u f f e r s c h r e i b e n -----FOR 1 - 0 TO 9 « I F Y - 2 3 6 THEN PUT 1 iY - O POKE P * Y , P ( I ) s Y - Y + 1 1NEXT I NEXT C D : PUT I t CLOSE I C D - C C i GOTO 3 6 0 REM— - - - - - - - X - Z e i c h e n s a t z v o n D i s k a u f D r u c k e r » - » » - » GGSUB 1 4 0 0 0 : I F FE THEN 3 7 0 E L S E XF — 1 RE M - - »— - - - — L - Z e ic h e n s a t z la d e n I F L E N ( I N « ] <3 THEN 6 6 0 I F M ID « ( I N « , 2 , 1 1 T K N 660 NM«Z M I D * ( I N « , 3 , L E N ( I N « ) - 2 ) ♦“ /D L C " ON ERROR GOTO 1 7 0 0 0 6 0 4 9 REM-------- ---- F i l e e r ö f f n e n . P a i n t e r a u f B u f f e r 6 0 5 0 OPEN “ I “ , 1 , N M « I C L O S E :O P E N “ R “ , 1 , N M « iF IE L D 1 . 1 AS 6 0 6 0 Y - 2 3 6 :P - P E E K (V A R P T R ( P « ) ♦ ! ) ♦ 2 3 6 « P E E K (V A R P T R ( P « ) * 2 ) 6 0 7 0 C C - C D i FOR C D - 3 2 TO 1 2 6 t P R I N T ! Z P * 7 0 4 , 0 « « (C D ) , CD| 6 0 7 9 REM --- ----------K o d i e r t e s Z e i c h e n a u s B u f f e r l e s e n 6 0 0 0 FO R 1- 0 TO 9 « I F Y - 2 3 6 THEN GET l i Y - 0 6 0 9 0 P < I ) - P E E K ( P « Y ) iY - Y M iN E X T 1 6 0 9 9 REM------------- Z e i c h e n a n D r u c k e r ü b e r g e b e n ( X ) — 6 1 0 0 I F XF THEN GOSUB 4 0 4 0 iG O T O 6 1 4 0 6 1 0 9 REM------------ - o d e r d e k o d i e r e n ( L ) ---------- ------ 6 1 1 0 FOR Z Z - 0 TQ 8 i P R I N T 4 P 0 * I Z Z I 6 4 ) . B L « J iN E X T ZZ 6 1 2 0 Z - U S R O ( V A R P T R ( P ( O I) ) 6 1 3 0 FO R 2 Z- 0 TQ 8 i Z « ( C D - 3 2 ,Z Z ) - B Z « ( Z Z ) lN EXT ZZ 6 1 4 0 NEXT C O lC L O S E lX F —O iC D —C C t GOTO 3 6 0 6 9 9 9 REM— — — P - D L C - Z e i c h e n s a t z d r u c k e n ■— 7 0 0 0 GOSUB I 4 0 0 0 i I F FE THEN 3 7 0 7 0 1 0 L P R IN T C H R« < 2 7 ) | “ • “ |C H R « ( 2 7 ) | " E “ 7 0 2 0 1 - 3 1 1GOSUB 7 0 4 0 * 1 - 7 9 : GOSUB 7 0 4 0 7 0 3 0 L P R IN T C H R « ( 2 7 ) | “ « “ : GOTO 3 7 0 7 0 3 8 REM------------- E i n e Z e i l e d r u c k e n ------- ----- ------7 0 3 9 REM------------ - S t a n d a r d - Z e i c h e n d r u c k e n --- — — --7 0 4 0 L P R IN T C H R « ( 2 7 ) | C H R « ( 3 6 ) | iD - O iG O S U B 1 3 0 0 0 7 0 5 0 FQR Y - ! TO l* 4 7 i L P R I N T C H R « ( Y )\ 1 l€ X T V 7 0 3 9 REM ------------- D L C - Z e ic h e n d r u c k e n ------------ — — 7 0 6 0 L P R IN T iL P R IN T C H R« 1 2 7 ) | C > « « ( 3 6 ) |C t « t ( 1 ) | 7 0 7 0 FO R Y - I TO I+ 4 7 s L P R IN T CHR« ( Y ) | if C X T Y 7 0 8 0 L P R IN T iL P R IN T iR E T U R N 7 9 9 9 REM ---» — — A - D L C - Z e ic h e n s a tz a k t i v i e r e n — ■ 8 0 0 0 ‘ GOSUB 140 00 1 I F FE THEN 3 7 0 8 0 1 0 L P R IN T C H « « ( 2 7 ) | C H R S ( 3 6 ) | C H R « ( 1 ) ; :GOTO 3 7 0 9 9 9 8 REM 99*^9 REM---- ------ — U P : Z e i c h e n d a r s t e l l e n — -------------- ---lO O O O FO R 2 Z- 0 TO 8 1 0 0 1 0 P R IN T * P O * <Z 2 1 6 4 ) , Z « < C D - 3 2 .Z Z ) | 1 0 0 2 0 NEXT Z Z iRET U RN 1 0 9 9 9 RE M ----------- U P i M e n u e l d s c h e n ------- -—— ----------------1 1 0 0 0 FO R Z Z - 0 TO 14 1 1 0 1 0 P R IN T 4 T P « Z Z 1 6 4 . P L « ; P L « ! B L « { 1 1 0 2 0 NEXT ZZ iR E T U R N 1 1 9 9 9 REM— - - - - - - U P , E i n g a b e z e i c h e n h o l e n -----------------— 1 2 0 0 0 P R IN T A C P +Z + S .C H R « ( 1 9 I I I I I« - I N K E Y « : IF I « 0 ““ THEN RETURN E L S E FOR Y - l TO S O lN E X T Y iP R I N T » C P * Z * S t C H R « < C U I1 l I« - IN K E Y « i IF !• < > • ■ THEN RETURN ELSE FOR Y - l TO SO lN EX T Y iG O T O 1 2 0 0 0 1 2 9 9 9 REM------------U P i Z e l l e e i n i e s e n ---------------------------1 3 0 0 0 P R I N T e C P ,“ 7 “ | iZ - O iS - !iIN « - " 1 3 0 1 0 C U - P E E K ( 1 3 3 6 0 + C P + S )lG O S U B 1 2 0 0 0 « P R IN T e C P * Z * 3 . C H R « (C U )t 1 3 0 2 0 IF I« - C H R « (8 ) THEN I F S-1 THEN 1 3 0 1 0 EL S E S - S - l J P R I N T 9 C P * S ,“ *ji IN « - L E F T « ( I N « t L E N ( IN «1 —1) i GOTO 1 3 0 1 0 1 3 0 3 0 I F I• ■ C H R * ( 2 4 ) THEN 1 3 0 0 0 1 3 0 4 0 I F 1 « - C H R « (131 THEN RETURN 1 3 0 3 0 I F I « ' - “ OR I « ' C t « « < 1 2 6 J THEN 1 3 0 1 0 IT 0 6 0 IF S - 11 THEN 1 3 0 1 0 1 3 0 7 0 I N « - I N « M « t PR IN T 8C F +S , I « « i S-S+ 1 ■GOTO 1 3 0 1 0 1 3 9 9 9 REM------------UP« D r u c k e r b e r e i t “* ------------------------1 4 0 0 0 F E —O i I F P E E K < 1 4 3 1 2 1 - 6 3 THEN RETURN 1 4 0 1 0 PR 1N T * T P * 7 6 8 .■ D r u c k e r n i c h t b e r e i t >* 1 1 4 0 2 0 IF IN » E Y «- C H R « ( 1 3 ) THEN F E — I : RETURN 1 4 0 3 0 IF P E E K ( 1 4 3 1 2 ) < >6 3 THEN 1 4 0 2 0 I 4 0 4 0 PR IN T * T P + 7 6 9 ,P L « t B L 1 1 B L « : iRETU RN 1 4 9 9 9 R E M - - - - — ---- U Pt B y t e a u f D r u c k e r p o r t g e b e n -----------1 5 0 0 0 IF PEEK ( 1 4 3 1 2 X >63 THEN 1 5 0 0 0 1 3 0 1 0 IF P E E K ( 4 ) - 6 THEN POKE 1 4 3 1 2 . D EL SE OUT 2 4 8 . 0 1 5 0 2 0 RETURN 1 3 9 9 9 REM------- ----- B y t e s f ü r USR-- R eut i n e n --- --------- ---3 . 33 1 6 0 0 0 DATA 2 0 5 , 1 2 7 , 1 0 . 2 3 5 , 3 3 ,,2 0 5 . 6 0 . 2 6 . 1 8 3 . 4 0 . 1 6 0 1 0 DATA 77. 61. 1, 1. 7 . 2 6 . 161 , 9 ., 1 9 7 ,, 1 9 . 1 9. 40, 1 6 0 2 0 DATA 2 . 3 4 . 4 2 , 1 9 7 ,, 1 7 5 . 7 1 . 1 4 . 6 4 . 9 , 1 9 3 . 203 16 0 3 0 DATA 1. 1 6 , 2 3 9 , , 9 . 1 93 . 16. 2 2 6 .2 0 1 . 205 1., 6 5 .,2 3 4 ., 1 6 0 4 0 DATA 1 2 7 , 1 0 . 2 3 5 , 3 3 ,, 2 0 5 ,. 6 0 .i 2 6 . IB 3 , 4 0 . 3 , 3 3 . 77 6. 9 ,, 1 9 7 ,, 19,, 1 9 ., 7 . 1 7 5 .2 4 5 ., 126 1 6 0 5 0 DATA 1. 61 . 1. 1 6 0 6 0 DATA 2 5 4 . 4 2 . 3 2 , 3 . 241 ,, 1 7 7 ,,2 4 5 . 1 9 7 . 1 7 3 . 7 1 , 1 4 . 64 9 a , 1 9 3 .2 0 3 ,, 1 6 0 7 0 DATA 1. 6 3 . 2 5 4 . , 1., 16.■2 3 7 ,.2 4 1 , 1 8 . 1 6 0 8 0 DATA 1 9 3 , 1 6 . 2 2 0 .,2 0 1 1 6 9 9 9 REM------ON ERROR R o u t i n e — 1 7 0 0 0 I F E R R < 45 THEN ON ERROR GOTO O iE N D 1 7 0 1 0 C LOSE 1 7 0 2 0 I F E R R * 106 THEN I N « - “F i I e e x i s t i e r t n i c h t ' “ lG OT O 1 7 0 7 0 1 7 0 3 0 I F E R R » 122 THEN I N « - “ D i s k e t t e v o l l ' “ iG OTO 1 7 0 7 0 1 7 0 4 0 IF E F R - 1 2 8 THEN l N « - NF i 1 e n a w e n i c h t s u M s s i g ' " i GOTO 1 7 0 7 0 1 7 0 S 0 IF E R P - 134 THEN I N « - “ D I s l e t t e s c h r e i b g e s c h ü t z t ' “ (GOTO 1 7 0 7 0 __ 1 70 60 IN « - “F * h le r N u n « e r i “ * S T R « « (E R R /2 )*1 ) 1 70 70 P R IN T « T P * 7 6 8 .IN « j 1 7 f'8 0 IF If# :E Y « - - - THEN 1 7 0 8 0 E L S E RESUME 3 7 0 -- -- ------ © d f ö — z _Dit_S«c*tt__ IP cA. __ J luj, V d u __ iA^i j/S^ „ f r . ^ / ^ a c V . 11 / J< J e l f t u l k * ___" 0 '« J u i gC u * c® v c L u ^ to _4*J /k - u .ii l i .'p _ _ 2 ’) J 6 y _ (ib i> « i* » jH tü LU * t< ^ _ £ A “-*-/«! _______ » i A _____ k _ is , r j < ( V > v ts ___cl» j* __ o iö i C. lLu ___k/*4 ( _______ J ijV . IqaaA. Lu.'i i*>\ ^ 0 ^ , _ F / u <1<, - - ^ « -£ V._ / u <hr t^K H* ete>__ 4p itl^rSf ___ do-u ______ _ kA^ Ä-_4 . ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- — w^ö [ ? O C ^wCj>. i c<*__ i -*nN J .lh c _ DtJ.Ji’lW.»fcti > —•_ Jj. AsiL.it.ff« _Sfidxcj 'ö->*-*ii. __A<! W ^iof-^Y ~ 3 y Kifcc t y i“ w . . __ _____________________ ______________ vf ^ [tu*cV^ u*td _____ ________________ Ä . I i-.Vt •*_jl»*', .4 ________ frao ______ i ifi>t _u-<o^_fjßUc * «V/ u^idt rlut Tolans, _________ v. . . ah ^ ck.l.P.iritfiC'J t “ ? .J c u c ^ *ll.5k U A p J< > * • _______________________________________ _________________ ß ~ i; Id sifodx___ ______ ____ , ----------------------- Jjl* <-** 0-*~3z. -<« * $ _A /«-W-r V<\/ A- “ *-f <^Ar< fe®_ii11 *j< A * U 11* f fe-U^P ■Vtllt . '/ 4 k f<A>wt bti-Hj h'c^-r Öbh k t t ‘ >* / » - <U/ (M-iit •--------- A".y<_ A i't Z « t < t ( S.c?**^/_«_ ü m i 0.1 ^ A ^ ( i l** _fpill—&M C V (.M* ’___^iS;mc 4 1*'/ ifne^ic ------ £c\f^a/*^± u?ü _ « L-S»4^_Vo_a _//»!» Tg\fc lU d • J vu. _______ SJtleß *;<Al _ 3Hcdl IHffttkipbJi. ________ ___ ______ »^Havlc I pld^2 bekeiu *mS^ Ai aIU.4 Jtfti j *</7/f.V . u*aA /Va*c ^ Q t- W ^ l ö / i t ^ v . t U i I f u . ubaall _ V ail t»o t/^i“ £ S#w ^nge t'* i'jj-‘--> k c V *A > l ~ . M i d l l u , Ut*\* _ i < * « 4 taoo <-w k l « .V * i - f, t ___ ____ ________ ____________ _____ ____________ j< L f - f «?u. j f <: C/ ^ ^ , 2. i^ruAt«. , ________________ ______ ______ ________________ _________ _________ -------- -- - -------- W|JLa UJJkA K jf l-uu, Jiv\ .... ..........>_____________ ________________ >* "A ^.*<.\ ./c _Ua4*>K_ L'a//c-4 JL .-£ _sivu «.t.< . &-be.L<£JjiuQs JkM lu til^lBu. .. V ..» « * __'A*'*'USSL_5fojk .u~-cl i^SstA /■* t t _jj» { ]0 , __ _______________________ _________________________________ «’ ‘.‘•J. c1" Spiti u**»»V k*S^V'*? j fiu. bnud->^_^)C_>U4 f '. j b4<kfwC/__ / « k v i _£u. _|i* /V.Ca* . _«r __-£f Jc5c// .Ooum. A*- £ i L * f ,4 eJif lo tr v if s f ^ i , L & n r i SL. L n & i i p f J . 1 b J c£t .ii-<— . D )* iti ,i'*iti J a L b / ^ u ^ itt K . j£i ^ f < u « /anj^sr ^ JcU\ _ •- , — ___ ft. tcfittA _,_£i\. j/i'vfe */_ _i w~-£;_VmL.tii,________________________________________ ______ ^ u*-'-51**■ __ £z(fs*f U L’c m u j P o . — v - ^ f fld c J , ^ .. _ifl.<$yt_sLa<h_ SHJ cfrjAJ fty -i 4* <Jt AtH.K_Uc-f—1*-^. _cUjL<0 _I _. JÄf*c.i.i^mec_veiA. ctf^tXtv P*'-*o<94 f e ^*»1 f i^ in J _ j^SQ 6c -fe -.c k ti J l^ . J < A a lt * - / _ lu J _ SlA ImI& i J'? tk-Lf_,_ V V tir/ ? (•/ Sfeii-e t___ itw i, -tf^cL’ ^ . _______________________________________________________________ A t f tf fits_ (m X v JÄ toifelM .-LL K d - ^ k _ . fci'L^i< £fJiF(/L « ________ __/<e i*i'^-_.4ftä lcu*4z* 1J _ i p iS k t m jiit. pX'£<,i£x.l%~ Basic- Dialekte im Vergleich -Teil 2 In Ausgabe 18 begannen wir einen Vergleich der Basic-Versionen der belebtesten Heimcomputer. Auch bei den Befehlen für die hochauflösende Grafik gibt es etliche Unterschiede. ntscheidendes Kriterium für den Kauf eines Heimcomputers war bis vor kurzem noch die Speicher-Kapazität. Der ZX80 bot nur 1 KByte RAM, der VC 20 immer hin das fünffache Diese Zeiten sind vorbei. Denn ein Heimcomputer bietet heute mindestens 16 KByte RAM -Mit ein Punkt bei der Ent scheidung für oder gegen einen neuen Hei .Computer sind heute die grafist. ,en Fähigkeiten. Nach höherer Bil ischirmauflösung, mehr Farben und besserer Grafik-Soft ware bei möglichst niedrigeren Preisen ist gefragt. 64000 oder gar 256000 Graäkpunkte auf einem Bild schirm sind schon keine Seltenheit mehl"und ein Ende dieser Entwick lung ist nicht abzusehen. Der Mitsu bishi DC-186 zum Beispiel bringt es auf über eine Million einzeln ansteuexbarer Pixel. Fiir dieses Gerät müs sen etwa 17000 Mark bezahlt wer den. aber a ich preiswertere Geräte leisten sch n Erstaunliches. Schon für wenige, als 1000 Mark gibt es Computer zu kaufen, deren Grafikfahigkeiten wie Auflösung, Anzahl der Farben und SoftwareUnterstützung einiges bieten. Bei der Erstellung eigener GrafikProgramme lassen sich fast alle Heimcomputer mit Basic in der Grund version in zwei Gruppen einteüen: die »Poke«-Gruppe und die Grafik-Basic-Gruppe Zur ersten Gruppe, rii-7 Grafiken nur mit ent sprechend Tbolkits oder über kompliziert . 'KE-Routinen erzeu gen. zahlen aim Beispiel alle Commodore-Computer und der TI 99/4A E Auch bei Grafikbefehlen: Gleicher Name, andere Funktion Die meisten Heimcomputer erlau ben den Ein^ '.tz von Basio-Befehlen T S wie »Line«, • .et* und »Circle«, um 5 J Grafiten zu izeugen. Bei diesen y Befehlen g: es aber bei jedem Heimcomputer eine ändere Syntax oder gar ein anderes Befehlswort. Der »Line«-Befehl dient im allgemei nen dazu, eine Lime zwischen zwei Punkten zu zeichnen. Beim Spec trum aber wird der »Line«-Befehl nur mit den Befehlen »Save* und »In put« eingesetzt und hat dort ganz an dere Funktionen Um bei diesem, wie auch bei anderen Computern (siehe Übersicht auf Seite 129), eine Linie zu ziehen, ist der Befehl »Draw« einzusetzen Für Computer, die die sen Befehl nicht eingebaut haben, kann das Programm aus Listmg 1 eingesetzt werden. Die allgemeine Syntax des »Line«-Befehls ist: Line (X,YXYW),pl,p2. Mit den Variablen X und Y wird ein Punkt des Grafikbildschirms definiert, von dem aus eine Linie zum Punkt VW in der Far be pl gezogen werden soll. Die Va riable p2 kann bei den Computern Dragon 32 oder Dragon 64 »B« oder »BF* sein. Durch den Einsatz von »B« interpretiert das System die Punkte X.Y und VW als gegenüberliegende Ecken eines Rechtecks, das mit der Option »BF* ausgemalt wird. Bei an deren Computern als denen von Dragon sollten diese Parameter fort gelassen werden, da sie eine Feh lermeldung hervorrufen können. Der »Pset (X,YJ>-Befehl setzt einen Punkt mit den Koordinaten X,Y in der Farbe F. In anderen BasicDialekten lautet das entsprechende Befehlswort »Plot«. Etwas kompli zierter ist da schon der Einsatz des Befehls »Circle«, der einen Kreis er zeugt. Die allgemeine Syntax hierzu lautet: Circle (X.Y).R,F,HB,A.E Wie der geben die Variablen X und Y ei nen Punkt auf dem Bildschirm an Dies ist der Mittelpunkt des Kreises, der mit dem Radius R in der Farbe F gezeichnet wird. Hier sind die Mög lichkeiten der meisten Heimcompu ter erschöpft. Die Syntax der Dragon-Computer erlaubt noch drei weitere Parameter Die Variable HB steht für den Quotienten Höhe/Brei te, mit dem man die Exzendzität für das Zeichnen einer Ellipse definiert Mit A und E wie Anfang und Ende wird vereinbart, ob nur Kreis- oder Ellipsenbogen gezeichnet werden sollen. Diese Eingaben sind nicht er forderlich, bieten aber eine einfa che Möglichkeit, komplizierte Tteil- Diese Effekte entstehen mit dem Programm aus Listing 7, obwohl nur Linien gezeichnet werden ■*Auch b ei die sem Beispiel sind nur »Plotx-Befehle eingesetzt worden r * r. Ar.fa:.? una tn ae s.er. aa: de:. 350-GradAfejlkie» und --.-eben der: zu zeichnenden Ausschm“ an Auer, beim Spectrum kann man ei nen Teilkreis erzeugen, indem an die »Draw- Anweisung ein dritter Pa rameter angehängt wird Heimcom puter. die den Befehl »Circle« nicht haben, dafür aber »Plot« oder »Set« "beziehungsweise »Pset«. können den Befehl durch ein kleines Pro gramm simulieren (Listing 2). Für grafische Darstellungen muß bei den meisten Heimcomputem der Bildschirmmodus umgeschaltet 1 2 3 4 lt 2t 30 ' zieh« Linie von ' der Koordinate ' A.A zu der ' Koordinate A,B FOR P - A TO B SET A,P f€XT P Listing 1. Mit dieser Befehls folge wird der »Plot ton- oder »Draw«-Befehl simuliert werden. Die Befehle dazu heißen »Pmode«, »Mode«, »Fgi«, »Graphics« oder »Hgr«. Dabei sind, je nach Computertyp, unterschiedliche Pa rameter einzusetzen. Auch mit einfachen Befehlen sind Grafiken zu erzeugen Alle Beispielprogramme sind auf den Dragon-Computem 32 und 64 ohne Änderungen lauffähig. Für an dere Typen müssen die jeweils an gegebenen Befehle ersetzt werden Wer noch keine Erfahrungen mit der Programmierung von Grafiken hat, sollte die Beispiele aus Listing 4,5 und 6 ausprobieren. Mit dem Programm aus Listing 4 wird ein Punkt kurseitig ein- und ausge schaltet, indem die Befehle »Set« und »Reset« eingesetzt werden. Für andere Computer werden diese Be fehle durch »Plot« beziehungsweise »Unplot« ersetzt Das Programm aus Listing 5 setzt den »Line«-Befehl ein, um eine Linie und ein Rechteck zu zeichnen, ln anderen Basic-Dialekten ist dieser Befehl durch »Draw« oder »Plot tex zu ersetzen. Für Com puter, die nur die Befehle »Set« und »Reset« haben, kann das Programm aus Listing 3 eingesetzt werden. Das Programm aus Listing 6 schließlich stellt Kreise mit unterschiedlichen AbJ&u: ci* ;•=:.= entstehen, eischof (er; aarsreuen Eine Linie wanden ucer einen ima ginären Kreis und creht sich dabei um ihren Mittelpunkt. Dadurch ent stehen sogenannte Moire-Bilder. Da nur die Befehle zum Zeichnen einer Lime und zum Setzen eines Punktes notwendig sind, ist das Programm leicht auf jeden Heimcomputer um zusetzen. Die Beispiele zeigten, wie einfach Grafiken entstehen können. Auch die Übersetzung eines Basic-Dialekts in einen anderen, fällt nicht schwer. Gleiche Befehle haben nur Das Programm aus Listing 7 durchläuft eini ge Schleifen. So entstehen immer neue Bil der. Listing 2. Auch Computer ohne den »Circle«Befehl können Kreise zeich nen lt 21 4t Sl il 71 8t 91 IM 111 111 I2 t 13t 14t IM 17t 18t 19t 2 tt ' ' ' ' ' ' ' ' 1 2 3 4 5 11 21 31 41 51 ' N il dieser Befehlsfolge ' können Coeputer, die ' den "C irde'-B efehl ' nicht Kennen, einen ' Kreis darsteilen. ' R = Radius ' CHOR - Corvir h o r iio n til ' OJER - Cursor v e rtik a l ' PI * Kreiszihl (3.14?) FOR A - I TO 3 P I STEP PI/R 6» X = R I COS A ♦ CHOR 7 t T = R I SW A ♦ Cl€R 8» SET X,Y : 'oder PLOT x ,y 9t « X T A 91 ' Der Schnittpunkt von 92 ' CHOR und CVCR is t der 93 ' Mittelpunkt des Kreises Befehlsfolge n ein Rechteck zu zeichnen K • Kantenlinge A - Eckpunkt oben links B■ " oben rechts C* " unten links D* " unten rechts je te ils die Nerte der ' X- Achse sind vuugeben ' BY- und CY- Hertc »issen ' «gegeben «erden. FOR 2 * A TO A ♦ K SET 2,A : fEXT 2 FOR 2 = BY TO SK ♦ K SET B,2 : «X T 2 FOR 2 * D TO I K STEP - I SET 2,D : HEXT 2 FOR 2 = CY TO CY - l t STEP -1 SET C,2 : (EXT 2 Höhe/Breite-Verhältnissen dar. Wer durch diese kleinen Beispiele noch nicht genügend motiviert ist, sich mehr mit Computergrafik zu be schäftigen. sollte das Programm aus Listing 7 eingeben Kein Bild und keine Erklärung kann die Effekte, «Listing 3. Dieses Pro gramm stellt ein Rechteck dar unterschiedliche Namen, die Funk tion bleibt die Gleiche Schwieriger gestaltet sich schon die Umsetzung eigener Ideen in entsprechende / ___ Programme Das ist aber gar nicht f so kompliziert, wie wohl mancher denken wird. De: Bkdsc&rni. : 3e: cesser de: Giafikbüdscmrrr.. ist m Zeilen una Spalten su.'geieilt. Ze;ien liegen ho rizontal und Spalten vertikal auf dem Schirm Jeder Schnittpunkt dieser beiden Limen wird als Punkt oder Der Bildschirm als Koordinatensystem Pixel bezeichnet und kann , beein flußt werden. Bei den meisten Heimcomputem ist die obere lirtke Ecke mit den Koordinaten 0,0 bezeichnet. Von ihr aus werden die Spalten und Zahlen fortlaufend gezählt, abhän gig von der höchsten Auflösung. Beim Dragon 64 zum Beispiel lautet 18 ' « D e m i * « 15 'iU m H in H IH H H U IIIX H 2* 25 39 35 48 45 58 55 RM '( AuflöwngsgridJ SOI 'I Firbgrupprf ' i H intergrund ärbe* ff= 8 f r 128 'IX-Koordinate von PH 'M i 'I Y " PH l*=2*8 " PH »=125 'I Y " P2I #>=888 ' l H irte s c M e ifc * ’■u 'u m m m m m m m m n 45 78 75 88 PMCO£PH,l:SCf£ENl,SC:PaSHF FOR I=« TO HGittXT 1 L ItC (X l Y ) - ( y , » l PS£T FOR 1=8 TD NflrffXT I 85 L H £(X,Y)-<V,»,P ffiSET 98 FOR 1=8 TD M rK X T 1 95 LINEtX.YJ-W.IO.PSET.B 188 FOR 1=8 TO HA:NEXT t 185 L IfE (X ,Y )-(V ,K ) ,PRESET,8 118 FOR 1=8 TO W rf€XT 1 115 L It€ (X 1r ) - ( V , » l PSET,8f 128 m I= * TO NA:NEXT I 125 LH€OC,Y)-(V,IO ,PRESET,BF 138 GOTO 78 18 'HDETO'PSET.PRESETII 15 'iH H n m in m f iiir r r iiiiiiii 28 P tM 25 SC=I 38 >F=8 j 35 *=128 , « r=9i j * 5 F=5 58 HA=288 AuflösungsgraiR Firbgrupp«! ' i H in lergriintffjrbrf X-Koardi/iate* '1 Y-Koordinalrf '1 li 2eichenfirbei H a rte s c h le ifrt j 55 'Iim H H IÜ Jtim iilX H IftlH H PHOOEm,l:SCR££Nl,SC:PaS(f a FOR 1=8 TO I « : « X T I a 78 PS£TCX,Y,n 75 FOR I=« TO HA: tCXT I 88 PRESET<X,Y) Listing 4. Blinkender Punkt 85 GOTO 65 f f D a s Wenn und das Aber sind das Erbteil der Dummen. ff Italienisches Sprichwort ff Unsere Prinzipien , dauern gerade so lange, bis sie m it unseren Leiden schaften oder Eitelkeiten in Konflikt kommen, und zie hen dann Jedesmal den kür zeren. ff Theodor Fontane, deutscher Schriftsteller (1819-1898) ■* Listing 5. Durch »Pset, B» wird ein Recht eck dargestellt. Für andere Computer als den Dragon 32/64 muß das Programm aus Listing 3 eingesetzt werden. die größte Zeilennummer 192 und spiel zwischen 0 und 256, für die Ydie höchste Spaltennummer 256. Achse sind Werte von 0 bis 192 zuläs Dadurch wird die unterste rechte sig. Nicht jeder Basic-Interpreter Ecke definiert. Halbiert man diese läßt bei Grafikbefehlen den Einsatz beiden Zahlen, so erhält man die von Gleitkommazahlen zu. Deshalb Werte 128 und 96, wodurch die Büd- sollte man bei allen Berechnungen schirmmitte bezeichnet sein sollte nur Integer-Variablen anwenden. Eine Überprüfung dieser Berech nung mit dem »Set«-Befehl wird die Ohne Mathematik geht ses Ergebnis bestätigen. Mit dem Punkt P=(128,96) hat man einen es auch bei Grafik nicht Koordinatenpunkt bestimmt, wobei der erste Wert die X-Achse und der Solange Linien parallel zum Bild zweite Wert die Y-Achse angibt. Bei allen Befehlen, die diese Koordina rand gezeichnet werden, erfordert tenschreibweise einsetzen, muß die Bestimmung der Koordinaten man darauf achten, daß jeder Wert keine große Aufgabe Für em Recht im zulässigen Bereich liegt. Für die eck sind vier Linien zu definieren, je X-Achse liegt dieser in unserem Bei- zwei parallel zu den horizontalen und zwei zu den vertikalen Bildschirmrändem. Davon abweichen de Lagen eines Rechtecks, wie zum Beispiel ein auf der Spitze stehen des Quadrat, müssen über Formeln berechnet werden, ln diesen Fällen reicht es aus, die Eckpunkte zu be stimmen. Jeweils zwei Eckpunkte liegen mit dem Mittelpunkt des Q u a drats auf einer Geraden. Das heißt aber auch, daß die X-Koordinaten der Punkte A C und M gleich sind, wie auch die Y-Koordinalen der Punkte BD und M. Ausgehend von einer Auflösung von 256 x 192 Punk ten haben wir also folgende Koordi naten festgelegt:M ■ = (128,96), A = (128,y(A)), B = (x(B),96). C * (128, y(C)) und D ■ =(x(D). 96). Da das Qua- Spruch der Woche Es kann passieren, was will: es gibt immer einen, der es kommen sah. ff Ich erkenne die M än ner an den Früchten, die sie bevorzugen. Apfelsinenes ser werden gute Familien väter. Bimenesser schätzen Ruhe und Gem ütlichkeit Himbeeren verraten den Romantiker, Nüsseknacker sind sehr kom pliziert Vor sicht vor Männern, die grüne Früchte lieben. Am temperamentvollsten sind Grapefrucht-Freunde. folgendes ; A » (128, y(A)), B *= (98. y(B)) und C - (158, y (Q). Anschlie ßend wird die Dreieckshöhe (h) be rechnet: h - 60 *SQR (3)/2. Das er gibt 52 und die Strecke (h/2) ist somit 26 Pixel lang. Um nun die richtigen YWerte zu finden, müssen diese 26 Pixel für den Punkt A von der Mittelpunktkoordinate abgezogen und für die Punkte B und C addiert werden Die Koordinaten lauten also : A = 028,70), B - (94122) und C = 058,122). Attraktive Grafiken durch Bewegung Erweitert man die bisher bespro chenen Programme durch eine oder mehrere Fbr-Next-Schleifen, kann man Bewegungen simulieren. Die einfachste Bewegung ist wohl die eines Punktes, der über den Bildschirm läuft (Listing 8). Dabei wird ein Pixel ein- und ausgeschal tet. wobei der Wert der X-Koordinate immer um den Wert »eins* er- ff Martine Carol, französische Film Schauspielerin (1922-1967) drat in der Mitte des Bildschirms ge zeichnet wird, sind die Abstände D ie Teilung der der Eckpunkte zum Mittelpunkt kon Hand in Finger hat keine stant, nämlich genau halb so lang, wie die Länge der Diagonale (d) des Schwächung herbeigeQuadrats. Legen wir fest, daß die fiihrt, vielm ehr ihre Lei Kantenlänge aus 60 Pixeln besteht, errechnen sich die Abstände der stungsfähigkeit gesteigert Eckpunkte vom Mittelpunkt aus mit Ebenso erhöht der Staats der Formel: 60 * SQR (2)/2. Aufgemann, der anderen einen nindet ergibt das 43 Pixel, die nun, immer vom Mittelpunkt aus betrach Anteil an der Führung gibt, tet, die Koordinaten der Eckpunkte durch die gemeinsame Lei ergeben: M - 028,96), A ■ =(128,53), B ■ = (85,96), C = (128,139) und D stung den Erfolg seiner Tä 071,96). tigkeit Daß der Bildschirmmittelpunkt für Berechnungen von Grafiken zentra Plutarch, le Bedeutung hat, zeigt auch das griechischer Philosoph und nächste Beispiel. Auf dem Bild Historiker (50-125 n.Chr.)_______ schirm soll ein gleichseitiges Drei eck gezeichnet werden. Die Dreiecksbasisseite soll dabei parallel liegt, • berechnen sich die X- höht wird. Im Programm aus Listing zum unteren Bildschirmrand verlau Koordinaten relativ einfach aus: x(B) 9 wird der Befehl »Line« eingesetzt, fen. Wieder legen wir eine Seiten = x(M) -30 = 98 und x(C) = x(M) + um immer größere Quadrate zu lange von 60 Pixel fest. Da der Bild 30- 158. Der Mittelpunkt (M)hat die I zeichnen. Dadurch entsteht der Einschirmmittelpunkt auch genau in Koordinaten M = (128,96). Für die I druck, als ob sich ein langer Tunnel der Mitte der Höhe (h) des Dreiecks Punkte A. B und C ergibt sich also ' öffnen würde Dieser Effekt wird ff Befehl Computer Apple II Auri Colour Gerne Draper 32/&4 Lf-.ser YZ20C Smciair ZX81 Sinclair THS'?. Spfcr~-rr. II S;.fc.T K Z 7j0 Diawiov.w. Plot x.yic L^.ie(x.y)— sieheLi inLising Diawv,w. sieheL.- s.eh*L.['ZifitrteineLinievan HPiatx.y x.v (vw). Psei sting1 1Piotein- x.yvorher sting1 san; I v.w Mxj)oa’di (*;*’). *T ~ tovw nutvorher Ploi deü setzen mit Plot nieren def S*-T 7-‘ TTs / AufHin AufHinter- Nplol z.y Urue<x,y— inListing inListing Over 1; inListing inListing tergrund- grundiarbe tov,w (v.w).Preset 1Reset 1Unplot Draw, vw’. 1Reset 1Reset iarbeum- umschalten einsetzen einsetzen x,yvorher einsetzen einsetzen •-_~v sehahen undDrawto mil Plot .H P l o t 1 3 v. w ei n geben definie *m m lOV.K ren Plot x.v Psetd.vl Set x.v Plot x.v Plotx.v Set x.v ■Setx.v -*'•» Ro(xv Rotxv lot xyin -Nplotxj Preset(xj) Resetxj Unplotxy Plot; .Pl Resetxj Reset xj HjToIttPxjT. in P Hintergrund Over 1; färbe ^rund ? *> t*rb* T/ V*, : * ’ - sieheU- seheListing ECircle Circle(x^Xi ■ siehe1> sieheLi Circle sieheLi ►Cirtüe tXJ.T «fltmg2 sting2 xy.r sting2 •Tjrjuur '1*21r ’ ' lkÄ.LLig2 2 mit Plot P ter . F ernWirk r" »CLS CLS n,s Cal] FE Graphics TCLS PCLS CLS (CLS ,»>«4 -, G0rodei Hai (Mode) t 3nlasting lnListing3 iPlotAto Linie(A.fi> tsiebeLi- lnListing kDraw sieheLi »eheli- . 3Scetb S etdurch 2toCto (CD). Pset.B 'Shng3 3Sei A.B: sting3 •stieg3 . - *C'. Plot ersetzen “DtoA durch DrawEC _ dui * 1. P l o t ei D raw Ploter ' '* setzen setzen CD: DrawDA 1. RmH Graphics3 ■FGRmit Ptnode0mit Mode 1 64x44 2S6xl92, 128x48, 80x50, '• V •G 40 x48 mit 40x24 J6Qx96 128x96Punk mit Punkte, 8Farben 2Farben 8Farben P unkten. Punkten. 4 Punkten. ten, 2Far 128x64 2 Farben Vv16 Farben Farben. G ra h 4 F arben ben; P m o d e -P unkten, HGRnrö phics4mrt he 1mit 128x96‘8Farben i \ •280x160 80x48Punk <■(a ROM’s) Punkten,4 .. IP unkien, 2Farben 1160x102 Farben; -. HFaibim ten. Graphics5 rmit neuen Pmode2mit 31GR2od mit 80x48 ROM's 192x128 * ^80x192 unkten. 4 Punkten, 2 PbdU-jii. P Farben, Gra Färben; >fr - ■* QFtotoen phics6mit r Pmode3mit r . * 1 6 0 x 9 6 P unk 1 9 2 x 1 2 8 ' 'b' ten, 2Faxbe□ Punkten, 4 ti-, »• Graphics7 • Farben; • - » _ c *mit 160x96 Pmode4mit i Punkten, 4 2 5 6 x192 ' ^' ' Farben. Gra Punkten. 2 phics8mit > Färben ■■f . 320x192 j■ Punkten, 2 Farben r Übersicht der wichtigsten Graßkbefehle aber durch die fortlaufende Bewe gung erzielt. Als stehendes Bild sieht man tatsächlich nur Quadrate In dieser Ausgabe haben wir die unterschiedlichen Grafikbefehle der gängigen Heimcomputer ge genübergestellt. Die Computer VC 20 und Commodore 64 fehlen in die ser Ü bersicht, da sie nur mit Tbolkits wie zum Beispiel »Simon’s Basic« Grafik erzeugen. Der nächste und letzte Tfeil der »Basic-Dialekte im Vergleich« wird sich mit den System befehlen beschäftigen. (F.L.Moersdorf/rs) ▼ So berechnen sich die Koordinaten für ein a u f d e r Spitze stehendes Quadrat. I ForzneL d » a * bei a b 60 Pixel B> d /2 s 43 Pixel => A B C D • (128,S3) «(85,96) - (128,239) • 071.96) « Zeichencodes in Computern hex 00 , 01 02 03 04 05 06 07 08 09 0A OB OC 0D OE OF 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F dez. ASCII hex dez. ASCII hex dez. ASCII hex dez. ASCII 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO Sl DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 Space j " # $ % & 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 @ A B C D E F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 • a b c d e f 9 h 1 ( ) • + / 0 1 2 3 4 5 6 7 8 9 ; < — > ? H I J K L M N 0 P Q R S T U V w X Y z [ \ 1 T i j k I m n 0 P q r s t u V w X y z { 1 1 I — DEL Deutsche Sonderzeichen Bedeutung der wichtigsten Steuerzeichen N U L — o h n e W ir k u n g . S O H - s t a r t o f h e a d e r , S T X — s t a r t o f t e x t . E T X — e n d o f te x t . E O T — e n d o f t r a n s m is s io n , E N Q — e n q u ir y ( A u ff o r d e r u n g d e r G e g e n s t a t io n z u m S e n d e n ) . A C K — a c k n o w le d g e ( B e s t ä t ig u n g , R ü c k m e ld u n g ) , O L E ~ d a ta lin k e s c a p e ( U m s c h a tte n a u f e in e a n d e r e S te u e r z e ic h e n g r u p p e ) , D C - D e v ic e C o n t r o l (D C 1 - X O N , D C 3 - X O F F ), N A K - n e g a tiv e a c k n o w le d g e , S Y N — S y n c h r o n is a tio n s z e ic h e n .E T B — e n d o f tr a n s m is s io n b lo c k , V T - v e r tic a l ta b u la t in g ( C u r s o r n a c h o b e n ) . H T - h o r iz o n ta l t a b ( C u r s o r n a c h r e c h t s ) , B S - B a c k S p a c e ( C u r s o r n a c h lin k s ) , L F — L in e fe e d ( C u r s o r n a c h u n t e n ) , B E L — b e ll ( a k u s t i s c h e s Z e ic h e n . K lin g e l) , C R — C a rr ia g e R e tu r n . F S — fie ld s e p e r a to r , G S — g r o u p s e p e r a to r . U S — u n it s e p a r a t o r , S p a c e — L e e r r a u m . D E L - D e le t e / R u b o u t . G Zeichen § A 0 U ä ö ü B IBM-PCu.ä. hex dez. ISO-Norm hex dez. 15 8E 99 9A 84 94 81 E1 40 5B 5C 5D 7B 7C 7D 7E 21 142 153 154 132 148 129 225 64 91 92 93 123 124 125 126 © © Im abschließenden Teil der Basic-Befehlsübersicht befassen wir uns mit den Systembefehlen und Funktionen. Diese Befehlsgruppe ist für den ernsthaften Programmierer beim Kauf eines Heimcomputers entscheidend. M ancher Programmierer wird es zu schätzen wissen, wenn in dem Basic seines Heimcomputeisder Befehl »Trace« einge baut ist. Hie tut wird während des Programm- :laufs immer die aktuel le Zeüennu mer angezeigt. Damit kann besoo ^rs bei komplexen Pro grammen dis Arbeitsweise Schritt für Schritt vt rfolgt werden. Falsche Ergebnisse 'er Reaktionen lassen sich so auf einfache Art und Weise erklären. Vieie Heimcomputer aber bieten diesen Befehl nicht. Die Feh lersuche in Programmen gestaltet sich daher äußerst kompliziert. Mit diesemBefeh: hat man ein Mprkmal, das bei der Kaufentscheidung nur indirekt mit dem Preis zu tun hat, denn auch preiswertere Geräte ha ben diesen Befehl, bieten aber auf anderen Gebieten (Grafik- oder System-Befehle) weniger. Ein weiterer nützlicher Befehl ist der »Auto-Eefehl, der bei der Ein gabe eines Programms automatisch nach der Betätigung der »Returns Taste die Zeüennummem um einen angegebenen Wert erhöht. Bei der Eingabe längerer Programme er spart man sich so das Eintippen der Zeüennummem und hat immer den gleichen Abstand zwischen den Zei len Sollte einmal eine Umnumerie rung eines gesamten Programms er forderlich sein, lemt man schnell die Vorteile des »Renum«-Befehls ken nen. Mit diesem Befehl werden die Abstände zwischen den Programm zeilen verändert. Hat man zum Bei spiel ein Programm, bei dem der Abstand immer genau zehn Num mern beträgt, möchte nun aber ein Erweiterung von zwanzig Zeilennummem dazwischen schieben, so genügt es, d->s Programm mit dem ■Renum*-Be ;hl auf den gewünsch ten Abstao' zu bringen. Wurde die Änderung irchgeführt, kann na türlich wie eine Umnumerierung erfolgen. 7 Beispiel auf einen Ab stand von i Zeilen Der große Voneil bei g 'sem Befehl ist, daß © Basic- D kM te im Vergleich -Teil3 M a t h e m auch die Adressen der Sprunge (Goto. Gosub) mitverändert werden. Bei Computern, die diesen Befehl nicht kennen, gestaltet sich eine ProgTammüberarbeitung äußerst um ständlich Hier kann von vomeherem nur mit sehr großen Zeiienabständen gear beitet werden. A p p l« D a t is c h e A ttn 400/800 C o k ra i G e n i« Jeder Heimcompuier speichert migkei:en auitreten. kann ein erneu . re unc zum anderen die Software an Programme und Daten auf einem tes Abspeichem vor dem Verlust i belangt. Nur wer genau weiß, was e: Kassetten-Recorder oder emem I der Daten schützen. Nicht jeder von seinem Heimcompuier erwarte: Floppy-Laufwerk ab Sehr wichtig Computer aber biete: den dazu er und wofür er ihn einsetzen will, der beim Speichermedium Kassette ist forderlichen Befehl «Verify*. kanr. auch anhand der Übersichten Das optimale Basic gibt es nicht, entscheiden welcher der für ihn es. die auf einer Kassette gespei cherten Daten oder Programme mit noch nicht. Bei jedem Computer Richtige ist. denen im RAM des Computers, zu muß ein Kompromiß eingegangen vergleichen. Sollten dabei Unstim- werden, was zum einen die Hardwa(rs) Conunoda» • m .v eto r* C o m n o d are D ra g o n L a w 210/310 Shup 4000er. 32/64 V Z 200 MZ-700 S ird u ZXBI Sm cUa S eh n cidc r S pec tn u n C P C «64 TRS60 Im ] D Tfexjs Inan. TI99/4A 8000er F u n k t io n e n A b a o h itw e rl v o n i A 2 S (x ) 4 4 - v “ *. r ** 4 4 4 4 4 4 ' 4 * 4 4 t a g ts e h e » U N I V V adm Q pftm g 4 4 4- ♦ + 4 A z k n stm g c n a 4 Conm B 4 4 4 + + 1 ^ 0 U Ü h lR IU 4 4 4 4 •. 4 ♦ ♦ 4 ♦ 4 0 4 4 .! 4 4 4 4 4 4 4 4 ♦ j 4 * 4 4 4 * 4 4 4 4 0 0 V * ' ■ - 4 4 4 4 4 ♦ 4 0 + 4 ♦ ' 4 4 4 4 4 4 0 4 L o g is c h e ■N ieh l«' Verknüpfung . - L o g is c h « »O d « r * ♦ 4 4 4 0 4 lm e geifan k tio n ♦ 4 4 4 4 4 * Sums V ez k n äp fu n g 4 ♦ + 4 4 4 4 T an ge n s 4 4 4 ♦ «4 4 Zn f& D sah len e n e a g « c 4 4 4 4 4 0 0 S y s t e m CLQAD r 4 ♦ 4 4 4 * + ♦ 4 4 4 4 ♦ ♦ 4 4 4 4 4 4 4 4 4 4 4 « + 4 4 • 4 4 ♦ ♦ b e f e h le ♦ 4 0 CSAVE 0 4 4 0 0 4 4 0 0 0 0 4 0 LOAD 4- ♦ 0 4 4 0 0 ♦ 4 4 4 0 4 SAVE 4 4 0 4 4 0 4 4 4 0 4 0 4 * 4 0 4 * 0 0 0 Q 0 0 0 0 4 0 4 4 0 £1 * 0 4 N u m ber V E R IF Y MERGE 0 0 0 0 0 4 '4 0 0 F u n k t io n e n • ' 4 0 4 AUTO o * 4 0 4 4 4 4 4 4 4 4 4 4 4 4 4 -4 4 4 4 4 0 4 0 4 4 D • 4 0 4 0 4 4 4 ♦ ♦ 4 CONT 4 - -♦ 4 4 DEF 4- 0 4 DEL 4 0 4 4 D IM 4 4 4 4 E D IT FT.^r 0 0 4 o 0 0 ♦ 0 —f 4 4 ♦ -♦ END FOR 4 CO SOB 4- GOTO 4 IF T H E N LET w 4 ♦ • 4 4 -f -+ -4 4 4 ■ r ijV * 4 CLEJUL/CLR - ’ * ' ' 0 0 4 4 4 4 0 4 0 4 4 4 ♦ 0 4 4 4 0 4 - 4 4 4 4 4 « 4 4 4 4 4 *> *~ 4 4 4 4 4 4 . fl T» 0 0 4 . . 4 * * 0 4 4 0 4 4 4 ♦ + 4 4 4 4 4 * 4 ♦ 4 4 4 4 4 4- 4 4 4 * 4 4 4 4 4 4 4 4 ♦ * 4 4 4 4 4 4 4 4 4 4 NEW 4 ♦ 4 4 ♦ 4 4 4 4 NEXT + ♦ ■f 4 4 4 4 4 4 4 4 ♦ O N x GOTO ♦ 4 4 ♦ 4 0 4 0 4 4 4 4 4 POEE 4 4 4 4 4 TRACE ♦ 0 TRON 0 TRON 0 4 4 PEEI NOTRACE 4 0 TROFF USR 4 ♦ 4 * o J r ' • •" ♦ CAIAi 4 0 4 0 0 0 0 4 SYSTEM 0 0 4 0 D ATA ♦ 4 4 -4 •4 READ 4 ♦ 4 R ESTO RE 4 ♦ 4 4 . RENUM 0 0 4 0 „ * 4 4 4 4 4 4 4 0 4 4 4 TRON 0 0 4 TRON ♦ 0 TSCJN 0 + TROFF 0 TR O F F 0 0 TR O F F TROFF 4 4 4 4 R A N D USB R A N D U SR 0 4 0 •ddr, «d d z , ' 4 *, # S IS 4 , ^ 0 0 0 0 4 0 4 4 0 0 0 ■ 0 0 0 - " 0 0 0 0 0 0 0 0 0 « 0 4 0 4 4 4 4 0 4 4 ♦ + 4 + 4 4 0 4 4 4 4 4 4 4 ♦ 0 4 4 4 4 0 4 0 4 0 0 ♦ 4 0 ' 0 H eu te: B ild sch irm g estaltun g (1) H e u te : B ildschirm gestaltung (1) W o rt: T > T trttusg ebe n B edeutung: Ausgabe des Textes zw ischen Anführungszeichen PRINT Hallo!“ (in allen Systemen gleich) A im - . r . TRONIC T<:c, Variable aus geben Ausgabe: enger Abstand Ausgabe: weiter Abstand Wort: Ausgabe des W erts der Variablen X Gibt Texte/Zahlen u nm ittelbar nebeneinander aus (bei Zahlen: 1 L e e rs t Zwischenr.) Gibt Texta/Zahien m it größe rem Abstand aus. (6-1 0 Lee rst, )e nach System) B e d e u t u n g : Löscht alle Zeichen aul dem B ildschirm PRINT X (in allen Systemen gleich) PRINT X;Y2 (in allen Systemen gleich) PRINT X,Y,Z (in alien Systemen gleich) B ild s c h ir m lö s c h e n System: ACORN CLS ALPHATRONIC PRINT kann bei fast alten Rech nern durch ? ersetzt werden. P ie p s te n e rz e u g e n A u f S p a lte p o s itio n ie re n A u f S pattB n. ZeUe p o s itio n . Erzeugt einen kurzen Piepston (»akustisches S ignal-, abgekürzt BEL) Setzt die Schreibmarke (Cursor) a uf Spalte S und gibt d ort den Text aus Setzt die Schreibmarke (Cursor) a uf Zelle Z and Spalts S und g ibt dort den Text aus PRINT CHR$(7) PRINT TAB(S); "Hallo“ oder PRINT TAB(S), Hal Io!“ PRINT TAB(S,2);-Halk]!" PRINT CHR$(7) Diese Anweisung gift für alle Systeme außer für den SHARP PC-1500, wo es heißt OJRSOR(S):PRINT Halte!“ PRINT${Z,S),"Hallo!" A P P l£ APPLE HOME ATARI ATARI PRINT ESCAPE,CLEAfT PRINT “ ESCAPE, CONTROL+ ? POSmON<S,Z):PRWrHaltor COLOUR GENIE , as PRINT CHR$(7) PRINT@X."Halo<" (X -(Z -1 )“40+S) COLOUR GENE COMMONS BEEP VTAB Z:HTAB S:PR1NT HafW" 8096/C -c • VC20 COMMODORE PRINTGUT 8096/C-64/YC20 POKE 214,2: POKE 211 ,S: SYS 58460: PRWTHaDo!" SIMONS BASIC SIMONS BASIC ebenso PRINT AT(S.Z)"Hallo!" ebenso PRiNT@ XaHaBo!" (X-(Z-1)*40+S) ' EX-BASIC EX-BASIC CLS BEEP EPSON HX-20 CLS SOUND 10,10 IBM PC CLS BEEP LOCATE Z,S:PRWT.Haflo!" CLS SOUND 1.1 PRINT@X."HaBo<" (X-32*(Z-1>+S) LASER 3000 HOME SOUND 1,1 HTAB(S):VTAB0:PRINrHaiJo!‘ MSX-BASIC CLS BEEP LOCATE S ^PR W TH allo!* ORIC CLS PING PR1NT@ S i'H a llc i" PRINT CHR${7) LOCATE SZFW N TH alto!’ DRAGON DRAGON i-e .C«O-ru •' *HX 20 BU PC ' -Vj ' LASER 310 LASER: 3 r LASS -5Ö#f V e « S ,c ic * » « .■ •» Ä S S S i * ”£ | d l e 7 " ,ie * SCHNEIDER CPC CLS w -s rs js ru *"”^ as MUSIC“ +G4“ CURSORSZPRWTHaöo!" SHARP PC-1500 CLS BEEP 0N:BEEP 1,1,1000 Nicht sinnvol bei Eirueilen-Dtsplay PRINTCHft$(12) PRINT CHRS(7) SPECTRAVIDEO CIS BEEP LOCATE(S^):PRWThafto!" TANDY C.C. as SOUND 100,3 PRINT@X,'Ha!ta!" (X -3 2 *(Z -1 K S ) TANDYTRSGO as PRINT CHRS(7) PRINT@ (Z,S)."HaHo!" TH J9/4A CALLCLfAR CALLSOUND(200144Cr2) ebenso ebenso DISPLAY AT(Z,S): "Haflo!" as BEEP PRINT AT Z,S;“HaOo!" / -EXT-BASIC ZX«$PECT -* LOCATE S ZPR W TH ato!" SHARP MZ-Serfe SIRflJS zx-ei PRINT@ X,"HaÄo<" P -3 2 *(Z -1H -S | ZX-S1 ZX-SPECTRUM ; V,_, Heute: Bildschirm gestaltung (2) CU HX hoch ( Cursor links Cursor rechtst-») etne Zeile nach unten Setzt die Schreibm arke (CURSOR) eine Zelle nach links Setzt die S chreibmarke (CURSOR) eine Zelle nach rechts PRINT CHR$(11) PHNT CHRJ(10) PflINT CHR$(8) PRINT CHR$(9) AtftO TKM C^ PRNT CHR$(3Ö) PRINT CHR${31) PRINT CHR$(29) PRINT CHR$(28) CALL-998 CALL-922 CAU.-1008 PRINT CHR$(21) ATARI w !? * " PRINT CHR${28) PföNT CHR${29) PRINT CHR${30) PRINT CHR$(31) COLÖURGBK: PfWfTCHR$(27) PRINT CHR${26) PRINT CHR$(24) PRINT CHR${25) COMMODORE B 09W W O PRINT CHR$(145) PRINT CHR${17) PRINT CHR$(157) PRINT CHR$(29) DRAfiON V . f - t Ci -. PRW TO ff${94) PRINT CHR$(10) PRINT CHR$<8) PRINT CHRS(9) ff s ä iiK - a o W w t» rM > . B e d e u tu n g : Setz) dis Sdrtibmarits (CURSOR) S ystem s"**1 eine ItSb.nach oben ...VA'. ,C irsortJef( Setzt die Schrelbmarfca (CURSOR) SUHOK BASIC EMASIC PRWTCHR$(30) PRINT CHR$(31) PRINT CHR$(29) PRINT CHR$(28) -_ \ ,%«.»* ... BMPC C i ’*5’“ >r PRNTCHR$(30) PRINTCHR${31) PRINT CHR$(29) PRINT CHR$f28) •iLASS! 3 1 0 ^ . PRINT CHR$(27) PRINT CHR${10) PRINT CHR$(8) PRINT CHR$(9) LASER3000;jS ,. P R W TC W (30) PRINT CHR$(31) PRINT CHR$(29) PRINT CHR$(28) usx-B A acT f- PRINT CHR$(30) PftJNT CHR$(31) PRINT CHR$(29) PRINT CHR$(28) o ü ’^ . PRWT CHR${11) PRiNT CHR$(10) PRINT CHR$(8) PRINT CHR$(9) SCHNEIDERCPC PRWTCHR$(11) PWNTCHR${10) PRINT CHR$(8) PRINT CHR$(9) PRtfTCHR$(18) PRINT CHR$(17) PRINT CHR$(20) PRINT CHR$(19) SPECTRAVDEO PWNTCHR$f30) PRINT CHR$<31) PRINT CHR$(29) PRINT CHR$(28) TANDYtC PRINT CHR$<94} PRINT CHR${10) PRINT CHR$(8) r V sharp : MZ-Serie SHARP PC-1500 souus PRINT CHR$(9) i TANDYTBS80 PRWTCHR$(27) PRINT CHR${26) PRINT CHR$(24) PRINT CHR${25) _* TH3/4A -CXT-ftASIC ZX-S1 ZX-SPECTRUM PftWT CHR$012) PRINT CHR$(11) PRINT CHR${113) PRINT CHR${10) PRINT CHR$(114) PflINT CHR$(8) PRINT CHR$(115) PRINT CHR$9) i . .t Heute: Bildschirm gestaltung (2) NO RM AL B lin k e n F o rm a tie rte A u s g a b e B e d e u t u n g : Stellt Zeichen Invers (dunkeJ auf ta ilftm Untergrund) dar S y s te m : Schaltet In den N orm alzustand zu rück (helle Zeichen a u f dunklem H intergrund) Läßt die S ch rift ln kurzen A bständen aufieochten D ruckt Zahlen und Texte for m atiert, also In Tabellen form. SS e n th ä lt Formatangaben ACORN mit COLOIA (abhängig vom Mode) MODE0 COLOUR-Anweisung abhängig vom MODE ..(String format) PRINT A.B.... ALPHATR0M5C PRINT CHft$(28) PRINTCHR$(18) ’ APPLE WVHRSE NORMAL ATA» B -Taste drücken 3 -T a s te drücken W o rb INVERS PRINT USING SS A B ;... FLASH Hilfsprogramm erforderlich* Kilfsprogramm erforderlich* COLOUR GENIE PRINT USING SS A B ;... COMMODORE PRINT CHR$(18) B O t t/c - M / v c » SIMONS BAS» PRINT CHR$(146) Hilfsprogramm erforderlich” INVa.b.c.d FLASH A,B (A-Farbe, B-Geschw.) USE SS. STR$(A):PRINT (A muß erst in String umgew. werden) EX-AASIC PRWT USING SSAB,... ' >-v:. «• . DRAGON PRINT USING S A B ,... EPSON KX-20 PRINT USING SS A B ,... vMpc ■ r* COLOfi 0.7 COLOR 2,0 C 0L0R X (x>16) U S E R 310 PRINT USING SS A B ._. PRINT USING S$ A B . - j*.. LASER 3000 FLASH PRINT USING SS A B ,._ MSX-BAS1C PRINTUSINGSSAB,... ORK PRINTCHR$(27),"L" Hilfsprogramm erforderlich* mftEVStY PRINT USING SS A B . - WVERSE PRINT CHR$(27);"@“ ; CHRS{27);’ w ' NORMAL PRINT CHR$(27);"G’ ; CHR${27);’ P ' SCHNEIDER CPC PRINT CHft$(24) SHARP: MZ-Sarto mitCOLOR PRINT USING SS A B .... SHARP PC-1S00 mit POINT, GCURSOR, GPRJNT USING S$: PRINT A .B .- SIFUUS^ SPECTRAVIDEO TANDYC X . ,*' ZX-81" PRINT CHR$(27);'p- PRINT CHR$(27);’ q" PRINT USING SS A B.... PRINT USING SS A B .... (nur erweitertes BASIC) ' TANDYTRS BO ■ **;« S C PRINT USING SSA B . - . _ PR1NTCHR$(16) PRINT CHR$(17) PRINT USING SSAB,... . L vj ZX-SPECTRUM PRINT USING SS: A.B.... G-Taste drücken INVERS 1 G-Taste drücken INVERS 0 Hilfsprogramm erforderlich* FLASH 1 B b ^ 5c h i {g w h g e h iv tttv n zum IN F O Z u m I n f o s e l b s t m ö c h t e i c h n o c h e i n p a a r P u n k t e bemerken. D i e Ü b e r s i c h t d e r B a s i c - D i a l e k t e a u f S e i t e 18 enthält ein p a a r F e h l e r . D a s C o l o u r G e n i e u n d d e r T R S 8 0 k e n n t die Befehle S W A P (A,B) u n d S P A C E $ ( B ) n i c h t . Im D i s k b a s i c w i r d SPACE$ zwar n i c h t als F e h l e r i n t e r p r e t i e r t , J e d o c h n i c h t r ic h t i g a b g e a r be i t e t . Peter Spieß * * * * * * * * * * * * * * * * * * * * « « * * « * * * * « * * « * « * * * * * * * * * »*tf****««*«4fKK ««Ktt****»tt * » .* * * * « * * * « * Erg a e n z u n g und Aenderung * **********************************************************1********************* Synchronisierte Taktumschaltung fuer V id e o g e n i g l n d e r C l u b i n f o N r . 8 ist d e r S c h a l t p l a n f u e r e i n e fue r d a s V i d e o g e n i e , der zwei F e h l e r e n t h a e l t . - Am - Am 1c X 3 Ic X 5 ist P i n ist P i n Dp s = f^ lO K Q 16V Toktuttichaltung 1 0 u n d P i n 11 v e r t a u s c h t . 3 und Pin 9 vertauscht. V Z37/2 0"® Z M /9 ^ t 1» A* 3 ff« ® U 0* Reset O— f* io 1— 1 A l s e r g a & n z u n g ist e i n e L E D h i n z u g e k o m m e n , d i e a n z e i g t , w e n n die C P U mit 3 . 5 5 M H z a r b e i t e t . B e d i n g t d u r c h die L E D m u s s der Uiderstar.d auf 6 8 0 O h m v e r r l n a e r t werden. D i e F e h l e r , die b e i m Z e i c h n e n des S c h a l t p l a n s e n t s t a n d e n s i n d , b i t t e ich z u e n t s c h u l t i g n e n . rtanfred H e l d f l 4,7X2 2 - C9MPUTSK H*3 M f 13 F- X2 5 XI X2 X3 X4 X5 ,+■ Q - CLK_ 74 LS 00 74LS03 74 LS04 % LS 30 74 LS 74 12 P9 i ---------- k X3 9 A7 0- 3531 s e s « « « ® 0 ® fe= sJ“ i XI ' Z 14 / 1 > 0 — Lj x ä p - U Lj— I q i#7Kß 10E P r 0 - * © „Nichts auf der Welt ist wirklich vollkommenl“ OUT ZI 5/a tfJfö }*- l _ a12 r - y , — L _ _ « z 40/5^2^-- —^ Z 3®/12 ® E£ c; ö — B U S — F-|-o j e k - t Im l e t z t e n C l u b i n f o f r a g t M a l t e r P i l l e r , w a s m a n al s Einsteiger mit dem ECB-BUS anfangen kann. Das regt mich jetzt zu einem G r u n d s a t z a r t i k e l für a l l e C l u b m i t g l i e d e r an. D a m i t soll a u c h de r Computerbesitzer der s ich für H a r d w a r e n i c h t (oder n o c h n i cht) interessiert wissen, wovon wir doch schon seit einigen Club-Infos schreiben. E s g ibt in u n z ä h l i g e n F a c h z e i t s c h r i f t e n Bauvorschläae für die diversesten H a r d w a r e —E r w e i t e r u n g e n . Ich will da nur die gebräuchlichsten aufzählen: Hich-resolution-grafik; Spei e h e r e r w e i t e r u n g e n : EPROM-Bank; Hardware Uhr mit Batteriepufferung; P a r a l 1 e l s c h n i t t s t e l 1 e; serielle Schnittstelle (V 24); Eprommer: Basicode-Hardware: S u p e r t a p e ; J o y s t i c k ; R e l a i s - S t e u e r k a r t e ; ..................... Wer nun irgendeine dieser feinen Dinger kauft oder seiberbaut, w i r d auf 2 P r o b l e m e stoßen: Entweder ist die Erweiterung nicht speziell für den TRS/VG g e b a u t und ist d a m i t ni c h t oder nur s c h w i e r i g verwe n d b a r . □ der es steckt schon eine Erweiterung am Expansion-port. Dann m u ß man je n a c h A n w e n d u n g s t ä n d i g d i e d i v e r s e n E r w e i t e r u n g e n an oder abstecken. Das r u i n i e r t in k u r z e r Z e i t d i e o h n e h i n n i c h t s e h r m a s s i v e n P l a t i n e n s t e c k e r auf der H a u p t p l a t i n e . D i e Lösu n g si e h t a l s o f o l g e n d e r m a ß e n aus: Es führt ein K a b e l v o m E x p a n s i o n - p o r t z u e i n e r P l a t i n e m i t 10 Steckplätzen. Dieses Kabel bleibt ständig stecken. 1 Karte (die sog.nannte Basiskarte ) entkoppelt alle Signale zum und vom Computer. Die restlichen 9 Steckplätze stehen für Erweiterungen aller Art zur Verfügung. Diese können ständig stecken bleiben, da sie im passiven Zustand keinerlei E i n fluß auf den C o m p u t e r haben. Damit erklärt sich die Frage nach dem Anwenderkreis fast von selbst: Jeder der sich mit Hardware-Erweiterungen beschäftigt und die ewige Herumsteckerei satt hat, wird dieses Bauprojekt gut gebrauchen können. Nochmals: Die ECB-Bus Platine samt B a s i s k a r t e kann allein noch überhaupt nichts. Sie brldet lediglich die Basis für kommende H a r d w a r e - B a s t e l e i e n a l l e r Art. Mas alles von der Hardware-Gruppe entwickelt oder adaptiert wird, hängt von der Interessenrichtung jedes Mitglieds und auch v o m L e s e r e c h o d e s g e s a m t e n C l u b S O ab. Bei mir sind zur Zeit Schaltpläne für f o l g e n d e Ei n r i c h t u n g e n verfügbar (keine Platinen): P a r a l l e i s c h n i t t s t e l 1e 3 mal 8 b i t s (mit 8 2 5 5 ) Serielle Schnittstelle (mit 8251) Hardware-Uhr mit Akku-Pufferung H R G - G r a f i k m i t T e x a s I c ’s ( T M S . . . . ) + 8 m a l 4 1 1 6 © Wenn man ein solches Steckkartensystem entwickelt, stellt sich gleich zu Anfang die Frage nach der Norm. Es soll ja nicht so sein, daß jedes Mitglied der Hardware-Gruppe seine Karten frei verdrahtet, sondern nach Möglichkeit jeder von der Entwicklung des Anderen profitieren kann. Das zwingt zu einer einheitlichen Belegung der Steckerstifte. Und wenn man schon soweit ist, kann man sich gleich am Markt umsehen, ob es schon eine derartige Norm gibt. Und sieheda es gibt sie: Die ECB-Norm. Das ist ein System zur Vereinheitlichung aller Erweiterungen für beliebige Computer. soweit sie mit einer Z80 CPU bestückt sind. Ursprünglich wurde dieses System für CP/M - Rechner der verschiedensten Hersteller entwickelt. Damit konnten Erweiterungen verschiedener Hersteller mit fast jedem CP/M Rechner verbunden werden. Dieses Konzept paßt uns ausgezeichnet Denn es gibt am Markt schon einiges an Bausätzen oder gar fertigen Bausteinen zu kaufen. Es wird auch laufend von den Zeitschriften ’ elektor' und c ’ t etwas für das ECB-System veröffentlicht, was für uns nach minimalen Modifikationen einsetzbar ist. Einheitlich ist dabei auch die Größe jeder Steckkarte. Nämlich genau eine sogenannte Europakarte, von der das System auch seinen Namen hat. (Euro-card-bus) Die Maße sind: 160 mal 100 mm. Das ist sehr handlich: sodaß die gesamte ECB- Hardware samt Netzteil in einem relativ kleinen Metallgehäuse untergebracht werden kann. So, ich hoffe daß nach Lektüre dieses Beitrages jeder Clubfreund weiß, was wir im Schilde führen und wir auf keinen Fall ein Club im Club sein wollen. Sollte noch die eine oder andere Frage offen geblieben sein, so bitte ich Euch, ohne Hemmungen zu schreiben oder mich anzurufen. M. Zwickel » ECB -Bus Netzteil Wie im Club Info N r .8 von Hertmut berichtet, habe ich m i r G e d a n k e n um die S t r o m v e r s o r g u n g für unseren ECB -Bus gemacht. p t e l l un g war, Strömen: Die Auf& a b e n - wir brauchen ein Netzteil mit den f o l g e n d e n S p a n n u n g e n / +12V/1A, -12V/0.5A, +5V/3.5A bis 5A und -5V/0.5A. Ein Netzteil mit diesen D aten und sogenannter L ä n g s r e g e l u n g ist im P r i n z i p einfach aufzubauen, das P r oblem ist aber der Preis. der T rafo k o s t e t min. 5 0 , -DM, der L ä n g s r e g l e r für 5 A ca. K o s t e n r e c h n u n g für alle Bauelemente einschl. Platine, ergab einen Preis von ca. Alleine 30»-DM, eine K ü h l k ö r p e r usw 130,-DM. Die b i l l i g e r e A l t e rnative dazu ist ein K a u fnetzteil* Die Firma: Erich-Willi M E Y E R 63^3 F r o h n h a u s e n (tel 02771/35071) P o s t f a c h ?4c8 bi etet ein Schaltnetzteill mit +12V/2A, folgenden Daten: +5V/3,5A, -12V/0,5A. Der Preis, komplett aufgebaut incl. -5V/0,5A, G e h ä u s e 99*80DM. Ich habe mir dieses Netzteil inzwischen gekauft und g etestet« M.E. ist dieses Netzteil vom Preis und L e i s t u n g her für u n s e r e Zwecke ideal geeignet. Wer bei 5V mehr als 3 i 5A b e nötigt kann a uch die V e r s i o n mit 5 V / 5 A (119,80DM) oder die Version 5 V /7.5A (1^9,50 DM) kaufen* Ulrich B ö c k l i n g Roboter festgenommen LO S A N G E L E S . 19. A u g u s t ( A F P ) . W e g e n » ö f fe n tlich e r R u h e s tö r u n g « hat die Polizei v o n L o s A n g e l e s im l u x u riösen Villenviertel B everly Hills e i n e n R o b o t e r » f e s t g e n o m m e n « . der k n arren d u nd klirrend d u r c h die S tra ß en stapfte. Z w a r k o n n t e n die B e a m t e n d a n k d e s W a l k i e -t a lk i e - S y s te m s d e s fe r n g e le n k te n R o b o t e r s mit d e s s e n B e sitzer V e rb in d u n g a u f n e h m e n , d o c h w e ig e r te sich d ieser, N a m e und A d r e s s e zu n e n n e n . D a r a u f h i n w u rd e d e r A u t o m a t o h n e w eiteres A u f h e b e n v o m w eg g e sc h afft. Abschleppdienst Zwischenbericht! In d i e s e s In fo wird an a e h r e r e n S t t l l t n ü b e r dai ECB-BusProjekt Ich licht* h it r kun über dit eigentliche A d a p t e r p l a t i n e (in verl i «rin. berichtet. pa a r H or t e Nachdta Halter Zw ic kel die S c h a l t u n g für dtn ECB-Adaptcr entworfen u n d in Fideltechnik aufgebaut h a tt e , war es an dtr Ze it , lieh üb er d ie sog. E n t f l e c h t u n g der Platine B e d a n k e n zu a a c h e n . Hit d i e i e i Problea beschiftigte sich vor allea Hanfred Held. Leider auBte er achon nach kurzer Zeit feititellen, da B e i n e v o l l s t i n d i g e Entflechtung n i c h t a ö g l i c h war. Ei N Ü r d e n ia a e r ein paa r, in F i d e l t e c h n i k n a c h z u l i t e n d e , V e r b i n d u n g e n ü b r i g b l e i b e n . Hi e le h r der M a n f r e d da e i t rec ht hatte, erwies Möglichkeit erhielt an einea GroBcoaputer Leiterplattenentflechtung zu aachen. Selbit entsprechenden Gpezialprograaa war nicht in v o l l s t i n d i g zu en tw i r r e n . lie h , a l l H a l t e r Zwi ck e l die ai t CAD Prograaa ei ne dieter Coaputer ait de e der Lage alle Leiterbahnen Ali E r g e b n i i e r h i e l t der H a l te r zwei P I a t i n e n z e i c h u n g e n f ür e i n e d o p p e l s e i t i g e Platine, bet der die beiden AnichluBleiiten (Coaputer<->Adapterplatine und Adapterplatine<->9&poliger ECB-Btecker) in Fideltechnik verdrahtet werden aüiien. Die Beitückungiseite der Platine enthilt nur relativ wenige V e r b i n d u n g e n (liehe La yo u t) . B r u n d s i t z l i c h gib t es nu n zwei M ö g l i c h k e i t e n vo n d e a L a y o u t G e b r a u c h zu a a c he n i 1. M an Ü B t si ch von e in e r Fi r a a e i n e z w e i s e i t i g e P l a t i n e ait al l en B o h r u n g e n u nd D u r c h k o n t a k t i e r u n g e n h e r s t e l l e n . 2. E i n e s der M i t l i e d e r der H a r d w a r e g r u p p e ( w a h r s c h e i n l i c h M a n f r e d Held ) itellt e i n e e i n s e i t i g e P l a t i n e her und d i e fehlenden Leitungen werden in F i d e l t e c h n i k n a c h g e l itet. Gegen die e r s t e M ö g l i c h k e i t sp r i c h t vor a l l e a der relativ hohe Preis pro Platine. Die z w e i t e M ö g l i c h k e i t ist z w a r billig, erfordert jedoch ein b i s c h e n Erfahrung ia U a g a n g ait de a L ö t k o l b e n . Da ab er s o w i e s o gelötet werden auB ( s i eh e obe n ), fi l l t dieses Arguaent nicht in s Gewicht. Ei n e entgültige E n t s c h e i d u n g ist j e d o c h no ch ni ch t g e f a l l e n . Zur Ze i t wi r d du r c h U l r i c h B ö c k l i n g von d e r ait d ea C o a p u t e r e r s t e l l t e n L a y o u t Zeichung eine Fotopositivfolie erstellt. S o bald diese Arbe i t e r ledigt ist, wir d eine E n t s c h e i d u n g ( e i n s e i t i g e / d o p p e l s e i t i g e P l a t i n e ) g e t r o f f e n und ich gl a u b e , da B wir sc h o n vor E r s c h e i n e n des n i c h s t e n C l u b i n f o s den M i t g l i e d e r n der H a r d w a r e g r u p p e die P l a t i n e zur V e r f ü g u n g s t e l l e n k ö nn e n. 6 o l l t e i r ge n d j e a an d n o c h Vorschlige oder Einwinde ia Platinenerstellung hab en , so bitte ich diese aöglichst t e l e f o n i s c h bei air) v o r z u b r i n g e n . D a s w a r ' s in G a c h e n H a r d w a r e , t sc h ü B Z u s a a a e n h a n g ai t der s c h n e l l (ae besten K o n v tmuA. Q b e / r w a / n n ©r 0 e o o o o o— ------- ' o ßesiiickungssei te o e o 'o ri 1 / 0 • o • <r i n r ~ r ~ i L'otseiie r J ................ _ r t Hans-Joachim Regge Test adapter Die Fehlersuche wird oft zur Tortur, wenn die Europakarte gut bestückt ist und zudem in einem Gehäuse sitzt. Die bei den hier beschriebenen Adap terkarten schaffen da Abhilfe. Die Idee d er V erw endu ng v on A d ap ter karten ist nun kein esw egs neu. Leid er sin d so lch e K arten im a llg em ein en rech t teu er, zum al m an für u n te rs c h ie d lic h e B u ssy ste m e au ch v e rsch ied en e T e stndapter benötigt. A us diesem G rund sin d die b eid en vorlieg en d en A d apter karten en tstan d en , d ie beid e mit S teck \e rb in d e rn n ach DIN 4 1 6 1 2 ausgerü stet sin d . Der w e s e n tlich e U n tersch ied liegt in d e r A nzahl der S teck erk o n ta k te: die oin e Karte ist für S y ste m e m it 64 p o lig e n . Hie an d ere für s o lc h e m it 9 6 p o lig en S te c k e rn vorgesehen. S ie sin d n ich t nur tur d en ECB- od er M C -65-B u s, so n d erfi' m ch für e in e V ielzah l and erer B u ssy ste me geeignet. K le in e K a p a z itä te n Die B u sle itu n g e n e in es M ik ro p rozessor sy stem s w erd en mit T ak tfreq u en z en bis zu fl MHz und m ehr betrieben . W ird nun du rch V erlängerung der B u sleitu n g en d ie K ap azität d erselb en (gegen e in e a n d ere Leitung od er gegen M asse) zu groß, so kann es zum L 'b ersp rech en o d er - der zw eite Fall - zur V erform ung der S ig n a le kom m en. B eid es kann d ie F u n ktion des G erätes b e ein träch tig en und muß d eshalb auf jed en Fall verm ied en w erden. Bei den b eid en hier v o rg e ste llten Karten sind mit A b sich t die Leiterb ah n en nur 0 .3 3 mm b reit gew ählt w orden, um d ie besagten K apazitäten so gering w ie m ög lich zu halten . Die ß i/d e r 1 und 2 zeigen d *JS Layout der 96p o lig e n A dapterkarte. Bei der 6 4 p o lig e n Kiirte kon n te zw i- B iId 1. U ie B a u te ils « ite d e r 9 6 p o lig e n A d a p le r k a r t e i seh en zwei Signalleitungen jew eils ein e dünne M asseleitung un tersebrach t w er den. um ein e zusätzliche L eiterbahn en t kopplung zu erreich en \ ersuch e erga ben, daß sowohl der m c-CP M -Com puter a ls auch der M C-65 problem los arb eite ten . wenn System karten mit d iesen A daptern betrieben w urden. E in e groQe H ilfe: S c h a lter Zur U ntersuchung von Karten, auf de* n en K urzschlüsse verm utet w erden, ist es erforderlich, ein zeln e oder a uch alle Leitungen vom System zu trennen. H ier zu sind auf den A dapterkarten zwei (64polig) bzw. drei (96polig) Reihen D fL-Sch alter vorgesehen, m it den en a lle Leitungen aufgetrennt w erden können. Besonders bewährt haben sich da die Sp ezialsch alter von S iem en s, die über ein en offenen Drahtbüge! verfügen. D ie ser Bugei eignet sich vorzüglich zum A nkJem m en von Prüfspitzen und d er gleich en . Die S ch a lter so llten so herum eingesetzt w erden, daß der Drahtbügel zum System hin zeigt, da man dann im geöffneten Zustand d ie System sign ale m essen kann. W er kein e S ch a lter b en ö tigt. kann stattdessen feste D rahtbrücken e in lo ten , die ebenfalls als Testpunkte gut geeignet sind. N och ein H inweis zum A uftrennen von Leitungen, die B etriebsspannu ngen fü h ren: W erden D aten anscchlüsse von ICs. deren Betriebsspannung . abgekJem m t“ wurde, von anderen „versorgten" ICs a n gesteuert. so können ICs beschädigt w er den. Deshalb: W enn zu T estzw ecken d ie Spannungsversorgung abgeklem m t w'ird, auch die D atenleitungen öffnen! ICs m it mehreren V ersorgungsspannung nehm en es oft übel, w en n nur ein e d er selb en abgeklemmt w ird. Damit die 64polige A dapterkarte für v er sch ied en e Bussystem e verw endet w er den kann, w urden die M asseleitungen zw ar zusammengefaßt, aber noch n ich t m it einem A nschluß des S teckers ver bunden. D iese V erbindung ist nach B e darf, am besten auf der S y stem b u s-Seite, h erzustellen. W ird b ei bestim m ten Bu s* S y s te m e n auch über ein e dünne M ittel leitung e in e Strom versorgung geführt, so m uß diese gegebenenfalls verstärkt w er den. da die Belastbarkeit im günstigsten F a ll 1,5 A beträgt. P latinen und Bausätze gibt es bei Regge Elektronik, Fesenfeld 5 7 . 2 8 0 0 Brem en. HARDWARE - ERWEITERUNG ' * + R E L A I S fuer d a s V ideo-Ger. ie. Tandy, - I N T E R F A C Ko mt ek E * * N a c h d e m im letzten IN FO v o n W a l t e r Zw ic ke l e i n e E C B- Bu s E r w e i t e r u n g fuer u n s e r e R e c h n e r v o r s e s t e l l t wurde, m o e c h t e ich an d i e s e r S t e l l e u e b e r e i n P r o j e k t sp r e c h e n , an d e m ich seit F e b r u a r B 5 arbeite. E s ha nd el t s i c h hierbei um e i n R e l a i s - I n t e r f a c e ueber w e l c h e s ich nun kurz b e r i c h t e n moechte. Ga nz am A n f a n s s t a n d der G e d a n k e mi t m e i n e m C o m p u t e r ’E t w a s ’ s t e u e r n zu wollen. N u n d i e s e s ’ E t w a s ’ s o l l t e ein s o g e n a n n t e r L e h r n - R o b o t e r s e i n o d e r a b e r a u c h ’E t w a s a n d e r e s ’ . Nu n war es g e r a d e d i e s e s ’E t w a s a n d e r e ’ w o r u e b e r ich mir den Kopf z e r b r o c h e n habe. Jeder der s i c h e t w a s in der H a r d w a r e a u s k e n n t wi rd s o fo rt ©inwenden, d a s s es k e i n e s g r o s s e n A u f w a n d e s b e da rf um ein paar R e l a i s m i t d e m C o m p u t e r s t e u e r n zu koennen. D o c h wieviel R e l a i s m u e s s e n es sein, d a m i t ich eine n Roboter und J e m a n d a n d e r e r ’E t w a s a n d e r e s ’ s t e u e r n kann ?? Und w i e soll d i e S o f t w a r e a u s s e h e n . d a m i t J e d e r m a n n da s St eu er kann, w a s er s e r n e m o e c h t e ?? Es gab v i e l e P r o b l e m e in Je ne m s t r e n g e n W i n t e r fuer m i c h um ein m o e s l i e h s t u n i v e r s e l l e s R e l a i s - I n t e r f a c e zu erstellen. Di e e n t s p r e c h e n d e H a r d w a r e war s c h n e l l a u s g e d a c h t und gefaedelt. N a c h e i n i g e n k l ei ne n B a s i c - P r o s r a m m e n und den e n t s p r e c h e n d e n A e n d e r u n s e n in d e r H a r d w a r e war der H a r d w a r e P r o t o t y p fe rt i g g e s t e l l t . D a s E r s t e l l e n ei n e r e n t s p r e c h e n d e n S o f t w a r e s o l l t e sich a l l e r d i n g s a l s s e h r viel s c h w i e r i g e r h e r a us st el le n. A n f a e n s l i c h e B a s i c - P r o a r a m m e h a b e ich schnell ueber den H a uf en geworfen, e i n e S t e u e r u n g der K a r t e vo n C O B O L aus war au ch nicht b e so n d e r s sinnvoll. ( L e d i g l i c h fuer d i e z a h l r e i c h e n Masken) B l i e b also nur n o c h ASSEMB LE R, zwar se hr a u f w e n d i g aber dafuer sehr schnei I und G e s c h w i n d i g k e i t ist s c h o n n o et ig um z . B 16 R e l a i s in n e r h a l b w e n i g e r S e k u n d e n v i e l e S c h a l t u n g e n a u s f u e h r e n zu lassen. Somit war d a s P r o b l e m der Wahl d e r S p r a c h e ge Ioest - nun g r au te es mir vor de r Au sf ue h r u n s . N a c h zwei M o n a t e n hatte ich scho n e i n i g e P r o g r a m m e beisammen. ( T e s t P r o s ramm e fuer das Interface, P r og r a m m e z u m ’S C H A L T E N ’ der Relais, P r o g r a m m e zum ’T A S T E N ’ der Re Is is ) . Mir war klar, d a s s e i n i g e s n i c h t b e s o n d e r s e l eg an t von der P r o g r a m m i e r u n g war, aber d i e F u n k t i o n d i e mir v o r s c h w e b t e war da. - An d i e s e r S t e l l e m u s s t e n a t u r s e m a e s s ein Ruec ks ch la a e rfoigens ein k o m p l e t t e r S y s t e m a b s t u r z m i t der Folge, d a s s alle S o ur ce n hin waren. Mir blie b nur n o c h e i n e t w a s aelterer Prosramtnausdruck. N a c h d i e s e m e r s t e n S c h r e c k ha be ich mir n o c h m a l s ueber das se sa mt e Pr oj ek t G e d a n k e n ge m a c h t - das E r g e b n i s ist ei ne •vollkommen n e u e V e r s i o n (Version 2.1) der S o f t w a r e die wohl -,a'j:r. '•.och W u e n s c h e offe n laesst. N a c h d e m M o tt os ' S o f t w a r e ist nur komplett mit H a n d b u c h ’ gibt es zu d e m P r o g r a m m e i n ca. £ 5 se it ig es ‘'ianuai. Das D e m o - P r o 9 ra mm zu m R e l a i s - I n t e r f a c e kann ueeber den Ha -t um t O b e r m a n n aus der P r o s r a m m - B i b l i o t h e k bezogen werden, oder aber d i r e k t bei mir. d a n n k o m p l e t t mit Ha nabucs (bitte D i s k e t t e uno 2. E0 DM fuer K o p i e n b e i l e 9 en.*. D a s D e m o - P r o 9 ra mm b e f i n d e t s i c h auf ei rer Di skette ohne Syst-n. 40 Tracks, ss/sd. Z u s a e t z l i c h werden drei S c h a lt -D at ei en f'jer d i e 24-Std. S t e u e r u n g bzw. K u r z z e i t s t e u e r u n 9 mi ge Iiefert. D i e s e D a t e i e n k o e n n e n vom P r o g r a m m eingelesen (ft). E d it ie rt (C> und a u s s e f u e h r t (7.1 werden. D i e Angaben in Klammern geben cas e n t s p r e c h e n d e P r o g r a m m an. N o c h e i n i g e S a e t z e zur Ha rd wa re : D i e H a r d w a r e ist zur Zeit 1. als Pr ot ot yp in F a e d e I t e c h n ;k und 2. auf P l a t i n e aufgebaut. D i e P :a t inenversion 1.0 muss n o c h m a l s u e b e r a r b e i t e t werden» da d i e Le it er b a h n e n zu den Re Ia i s - S c h a l t k o n t a k t e n zu duen n au sg ef al le n sind und si ch bei S t r o m s t a e r k e n u m 0 . 5 bis 1 A m p e r e in Rauch aufloeseri. Der G e s a m t - H a r d w a r e U m f a n g wi rd sich auf vier Eurooa-Karte-i (mit Netzteil.! bzw. drei K a r t e n (ohne Netzteil) erstrecken. Zum A b s c h l u s s n o c h e i n i g e Anwender-Handbuch: (gekuerztel Seiten aus dem I n h a l t s u e b e r s i c h t 1.0 Allgemeine Anmerkungen Se it e : 3 1.1 1 .2 1.3 Software Hardware T e c h n i s c h e Date n Sei te: Se ite: Se it e : 4 5 6 2. B Demo - Version Se it e : S 3. 0 Steuer - Programme Se it e : 1 3. 1 3. 2 3. 3 3. 4 3. 5 3. 6 3.7 3. S Info (H ar d/ So ft wa re ) Test (Laufli cht J Status Port ft / Port B DOS - Kommando Tasten / Schalten Uhrzeit setzen Schaltuhr R u e c k k e h r zu m D O S Se it e : 5e ite: Se ite: Se it e : Seite: Se ite: 5e ite: Seite: 8 5 10 11 12 13 14 15 4. 19 V e rwaltunss - Programme Se ite: 15 4. 1 4. 2 4.3 S c h a i t z e i ten s p e i c h e r n S c h a l t z e i t e n laden S c h a 1t z e i ten e d i t i e r e n Se ite: iE Se it e : IE Se ite: 17 5. 0 Hardware - Komponenten Se ite: 5. 1 5. 2 A u f b a u / F u n k t i o n der Karten An sc hl us s - Plaene Se it e : IS 5e ite: 23 1B 1.0 Allgemeine- Anmerkungen Wer hat si ch nicht schon einmal uebe rl eg t m e h r m i t s e in em C o m p u t e r anzufansen. als di e 12. V e r s i o n v o n ’ I n v a d e r ’ zu s p i e l e n ?! Es gi bt z a h l r e i c h e Moegi ichkeiten den e i g e n e n C o m p u t e r fuer S t e u e r u n g s - und U e b e r w a c h u n g s a u f s s b e n e i n z u s e t z e n . a l l e i n es fehlt d a s n o e t i g e In te r f a c e und die e n t s p r e c h e n d e S o f t w a r e um d i e s e n E i n s a t z zu ermoeslichen. Di e e i n f a c h s t e S t e u e r u n g ist wohl d i e z e i t l i c h e U e b e r w a c h u n g von e l e k t r i s c h e n Verbra uc he rn , d i e zu b e s t i m m t e n Z e i t p u n k t e n e i n - bzw. a u s g e s c h a l t e t w e rd en muessen. A l s B e s p i e l e se ie n nur die U e b e r w a c h u n g e i n e r Z e n t r a l h e i z u n g (Pumpe. Brenner. M a g n e t v e n t i l e fuer Gas u n d Wa sser. K a m i n k l a p p e usw.'; oder d i e S t e u e r u n g eine r M o d e l l e i s e n b a h n genannt. Es gi bt aber a u c h A n w e nd un gs fa el Ie . bei d e n e n n e b e n einer S c h a l t u h r f u n k t i o n au ch di e m a n u e l l e S t e u e r u n g v o n v e r s c h i e d e n e n V e r b r a u c h e r n g e f o r d e r t wird. Ein e i n f a c h e r L e h r r o b o t t e r mit vier A c h s e n w u e r d e acht K a n e l e zum S t e u e r n be no et is en . D i e A r m e e i n e s R o b o t t e r s m u e s s t e n bei m a n u e l l e r S t e u e r u n g auf T a s t e n d r u c k reagieren, zu de m s o l l t e e i n e M o e s ( ichkeit der S p e i c h e r u n g von z e it li ch en B e w e g u n g s a b i a e u f e n und ihre A u s f u e h r u n s 9 e 9 eben -sein. (sog. K u r z z e i t s t e u e r u n s e n ) Ne be n der re in en 2 4 - S t u n d e n - S t e u e r u n g kann mit e i n e r K u r z z e i t s t e u e r u n s (also St ar t ei n e s Sc ha Itprogramins v o n e i n e m frei w a h l b a r e n Z e i t p u n k t aus* ei ne M o d e l l e i s e n b a h n m i t m e h r er en Zu e g e n se hr ko mf or ta be l g e s t e u e r t werden. z. 1B. 10 Sek. 12 Se k . 15 Sek. IS S e k . IS Sek. nach na ch na ch nach na ch Prog. Start Start Start Start Star t Zug Zug Zug Zug Zug 1 ■fa&hrt an an 3 -faehrt an 1 StOOPt ä faehrt an Zf faehrt Es g ibt 5 iChe•r 1 ich n o c h v i e l e ander« »eile, bei d e n e n man mit e i n e r Re Ia i s - S c h a l t s t e u e r u n s V e r b r a u c h e r u e b e r w a c h e n kann. © ln d e r v o r l i e g e n d e n F o r m der R e l a i s - S t e u e r u n g per C o m p u t e r w u r d e b e s o n d e r s auf d i e B e n u t z e r f r e u n d l i c h k e i t der S o f t w a r e g e ac ht et . S i e ist s o ausgelegt, d a s s « a n f a s t a l l e A n w e n d u n g e n mit ihr a b d e c k e n kann, sei es e i n e rein m a n u e l l e S c h a l t s t e u r u n g per T a s t e r bz w . P e r Schalter, oder ab er e i n e v o l l a u t o m a t i s c h e 2 4 - S t u n d e n U e br wa ch un g. 1.1 Software D i e S o f t w a r e ist v o l I s t a e n d i a in A s se mb le r geschrieben um d i e g e f o r d e r t e V e r a r b e i t u n s s g e s c h w i n d i s k e i t e n zu erreichen (mehrere S c h a l t u n g e n innerhalb eine r Sekunde). Der je we i l i g e S c h a I t z u s t a n d der Re l a i s - P u s g a e n g e ist jede rz ei t auf d e m B i l d s c h i r m sichtbar, so d a s s bei F e r n -U eb er wa ch un g immer der Zu s t a n d der V e r b r a u c h e r (bestromt/entstromt; am B i l d s c h i r m e r ka nn t werden; kann. W i e bei v o l l a u t o m a t i s c h e n S t e u e r u n g e n e r f o r d e r l i c h gibt es a u ch hier das s o g e n a n n t e ’NOT A U S ’ , ei ne Funktion, mit der zu Jede m Zeit un kt al le V e r b r a u c h e r au sg es ch al te t werden Koenner.. Z a h l r e i c h e T e s t f u n k t i o n e n und di e M o e g l i c h k e i t der direkten A u s f u e h r u n s von D D S - K o m m a n d o s runden di e Steuerunss-Progran-ne ab. D i e G r u p p e der V e r w a l t u n g s - P r o g r a m m e bietet eine gute Hi lf e be im E r f a s s e n oder E d i t i e r e n der S c h a l t z e i t e n fuer die e i n z e l n e n Relais. Es steht ein B i l d s c h i r m e d i t o r zum p r o b l e m l o s e n V e rs en de rn oder N e u e r f a s s e n von Zeiten zur Verfuegung. Auf fuenf B i l d s c h i r m s e i t e n stehen fuer 15 zu sc h a l t e n d e Re la is insgesamt 27 0 Sc h a l t z e i t e n zur Verfuegung. Au f g e r e c h n e t auf ein e i n z e l n e s R e la is kommen somit z.B. fuer d i e 2 4 Std. Sc ha lt uh r 18 S c h a l t u n g e n auf 24 Stunden (also neun mal Ein-fius'J. Be n o e t i g t man we ni ge r Re Iais-ftussaenge, dafuer aber mehr Sc ha ltzeiten, so kann man m e h e r e R e la is parallel schalten um so m i t d i e Anzahl der S c h a l t u n g e n fuer eine n Relais-Kanal zu erhoehen. D i e S c h a I t k o n t a k t e der R e l a i s ko ennen mit 220 Volt und 1 ftme^re be la st et werden. Als S c ha le r st eh en pro Re lais 1 x um zur Verfuegung. ® 1.2 Hardware Der m e c h a n i s c h e A u f b a u der R e l a i s - K a r t e n si«•hx e i n e V e r t e i l u n g d e s S t e u e r - und L a s t t e i l s auf drei E u r o p a - K a r t e n vor. Auf der St euer(Logik.i-Karte b e f i n d e n s i c h d e r Ad r e s s - D e k o d e r , L e i t u n 9 streiber. LE D- Tr ei be r. L E D ’ s und e i n e Z B B RI O s o w i e e i n i g e w e i t e r e Komponenten. Mit H i l f e der L E D ’ s wi rd z u s a e t z l i c h zur S c h a I t z u s t a n d s A n z e i s e auf d e m B i l d s c h i r m der S t a t u s d e r R e l a i s o p t i s c h d i r e k t auf der K a r t e a n 9 e z e i 9 t. D i e V e r b i n d u n g St eu er (Log ik) K a r t e und C o m p u t e r g e s c h i e h t ueber ein 24 a d r i g e s Flachk ab el mit A n p r e s s - S t e c k e r . D a s f r e i e E n d e des K a b e l s w i r d di rekt mit d e m C o m p u t e r o d e r e i n e r v o r h a n d e n e n B U S - P l a t i n e verdrahtet. D i e S o f t w a r e a r be it et be re it s mit der L 0 9 ik-Karte. F u e r e i g e n e A n w e n d u n g e n kann man z.B. auf die R e l a i s - K a r t e n v e r z i c h t e n und di e S t eu er Ieitur.9 en ( T T L - P e 9 el) d i r e k t v e r w e n d e n . In d i e s e m Fall e r f o l g t d i e S t r o m v e r s o r g u n g v o m C o m p u t e r aus. (Jumoer auf der L o g i k - K a r t e fuer i n t e r n e / e x t e r n e Stromversorgung'; D i e R e l a i s k a r t e n sind w i e f o l 9 t a u f g e b a u t : K a r t e 1 e n t h a e l t ne b e n acht R e l a i s e i n Ne tz t e i l . d a s n i c h t nur di e R e la is d i e s e r K a r t e (Nr. 1 bis 3 ) ve rs o r g t . s o n d e r n a u c h di e R e l a i s d e r zw ei te n Ka rt e (R elais Nr. 9 bis 16). s o w i e d i e Log ig-Karte. D i e z w e i t e R e l a i s - K a r t e e n th ae lt n e b e n d e n R e l a i s ein f r ei es U r a o - F e i d fuer e i g e n e En tw icklungen. Die Re Iais -k ar te n w e r d e n ueber l E - a d r i g e F a l c h k a b e l ftriPress-Steckern mit der L o g i k k a r t e v e rb un de n. mit D i e von der P I D g e l i e f e r t e n S c h a l t s i 9 n a (e w e r d e n den R e la is ueber T r e i b e r - T r a n s i s t o r e n zusefuehrt. D i e T r e i b e r - S t u f e n befi nd en s i c h auf den Relais-Karten. D i e S c h a l t k o n t a k t e der R e la is sind auf K I e m m / S c h r a u b b o e c k e an de r S t i r n s e i t e der P l a t i n e sefuehrt» so dass dort d i e r e k t Kabe l bis 1mm Q u e r s c h n i t a n 9 esch lossen w e rd en koennen. D i e R e l a i s - K a r t e n bilden zusammen mit d e r L o g i k - K a r t e ei ne n k o mp ak te n S a n d w i c h - A u f b a u bei M o n t a g e ue b e r A b s t a n d s r o I I e n . An der eine n S t i r n s e i t e sind w i e e r w a e h n t d i e A n s c h I u s s b o e c k e der Relais-Karten, sowi e d i e L E D ’ s der L o 9 i k - K a r t e 9 efuehrt» d i e an de re S t i r n s e i t e steht fuer die A n s c h l u s s - K a b e l zur Verfuegung. die K a r t e n - K o m b i n a t i on kann daher b e q u e m w a n i w e i s e in ein e i ge ne s G e h a u e s e oder aber in ein 19 2oll E i n s c h u b r a c k installiert werden. 1.3 T e c h n i s c h e Daten Log ik- Karte '• - Z 80 PID. Bus Treiber, fidressdekoder, LED-Treiber, C o d i e r b r u e c k e fuer e x t e r n e / i n t e r n e St ro m v e r s o r g u n g 16 LEI1’ s. - A n sc hl us s L o g i k - K a r t e <-> C o m p ut er ueber 24 adriges Flachkabel mit Rn pr e s s - S t e c k e r - S i g n a l e der Rio (Port R und h ) I C-Fassung gefuehrt auf je we il s ei ne ’ 6 do I. Relais-Karte 1 - IE Re lais mit Ko nt ak t 1 x um. - flnschIussboecke fuer Kabel bis 1 ftmpere. Treiber-Stufen 1 mm Qu er sc hn it t - Netzteil mit 5 Volt und 1.5 A m p e r e R e l a i s - K a r t e 1 und R e l a i s - K a r t e 2 ) (fuer Logik-Karte. Relais-Karte 2 - w i e R e l a i s - K a r t e 1. je do ch statt Netzteil 2.0 freies W r a p - F e i d De mo ve rs io n Di e T r e i b e r - S o f t w a r e verfuegbar. ist in zwei V e r s i o n e n (Demo bzw. Einsatz'; D i e D e m o - V e r s i o n un te rs ch ie de t si ch von der E i n s a t z - V e r s i o n dahingehend, das mit ihr Keine H a r d w a r e a n g e st eu er t w e r d e n kann. Al le s o ns ti ge n F u n k t i o n e n sind vo ll ko mm en identisch. Mit der De mo v e r s i o n koennen Sc ha lt z e i t e n erfasst, veraenaert» g e s p ei ch er t und geladen werden. Bei der ftusfuehrung dieser S c ha lt ze it en (des Steuer pr og ra mr .s> w e rd en alle du rc h g e f u e h r t e n Sc ha l t u n g e n auf d e m B i l d s c h i r m ange ze ig t (wie auch bei der Einsatz-Version';.. B i 1 1 i g e s C R /M v o n B i l l B r e w e r übersetzt von G. Schröder Das Modell III Kann in seinem ursprünglichen Zustand keine CP/M-Programme laufen lassen. Aber dieser Bericht zeigt Ihnen, wie Sie eine einfache Modifikation mit zwei Chips für fünf Dollar bauen können. Das ROM belegt im Modell III die Adressen 0608-37FF hexadezimal. Außerdem liegen die Tastaturadressen und der Bildschirmspeicher in 37FF-3FFF. Nur der Bereich von 4060 bis FFFF kann im Modell III als Lese/Schreib-RAM benutzt werden. Die Aufteilung des Speichers wird in Bild 1 gezeigt. Das ROM liegt im Modell III leider genau dort, wo auch die Programme unter CP/M stehen würden. CP/M würde Daten an der gleichen Stelle speichern, an der das Modell I I I - R O M a b 0000 liegt, und CP/M lädt alle Programme, die unter ihm laufen, in den Speicher ab 100 hexadezimal. CP/M und alle Programme, die unter ihm laufen, brauchen einen durchgehenden Speicher von 0080 bis zum Ende des Speichers, wo das Betriebssystem steht. Abgesehen von dieser Speicherabweichung ist die Modell III Hardware durchaus dazu geeignet, leicht modifizierte 8080 oder Z80 Betriebssysteme laufen zu lassen; auch CP/M. Diese Hardware-Begrenzung im Modell III wird durch nur sehr wenige der Schaltkreise dieses Computers verursacht. Wenn man sich diese Schaltkreise ansieht, wird rasch ein schneller und leichter Weg sichtbar, um diese Hindernisse aufzuheben. Die Modell III CPU adressiert Signale über 16 Drähte in seinem Adressbus. Ein unmodifiziertes Modell III führt seine beiden höchstwertigen Adressdrähte in die eine Hälfte eines 74LS13? Multiplexers (U58), der einen Decoder Schaltkreis darstellt. Dieser Decoder gibt Signale aus, um eine der vier löK-Speicher- bänke einzuschalten (Bild 2). Wenn beide der höchstwertigen Adressdrähte (A14 und A15) auf einem niedrigen logischen Level sind, schaltet der Decoder die 16K-Speicherbank ein, die das Modell III ROM sowie die Tastatur und den Bildschirmspeicher enthält. Abhängig von den binären Werten dieser beiden Adressdrähte wird eine der vier 16K-Speicherbänke im Modell III Adressenraum ausgewählt (Tabelle 1). Ein zweiter Decoder, der die untere Hälfte desselben Multiplexers benutzt, produziert Einschal t-Signale in der 1<$K-Bank, die das ROM enthält. Indem er Adressdraht A14 und den 0000-3FFF-Einschalter (ROMENABLEX) benutzt, schaltet dieser Decoder entweder den 8K ROM-Chip ein, der das meiste des Modell III Basic enthält, oder eine andere Gruppe von Schaltkreisen mit einem 4K-R0M, einem 2K-R0M, der Tastatur und dem Bildschirmspeicher. Dieser Segment-Decoder wählt diese verschiedenen Routinen zur Benutzung in ihrem jeweiligen Speicherplatz wie in Tabelle 2 gezeigt. SIXTEEN KILOBYTE ADDRESS BANK SELEC TED BY M RQ*, A16, AND A15 © M RQ* A16 A15 BANK SELECTED HIGH LOW LOW LOW LOW EITHER LOW LOW HIGH HIGH EITHER LOW HIGH LOW HIGH NONE 0000-3 FFF 4000-7FFF 8000-B FFF C 000-FFFF Table I. I6K Bank Selection by U58 EIGHT KILOBYTE DEVICE SELECT BY ROM ENABLE* AND A14 ROM ENABLE* A14 DEVICE SELECTED HIGH LOW LOW EITHER LOW HIGH NONE 8 KILOBYTE PROM PROM, KBD. VIDEO Table 2. Segment Selection in Bank Containing R O M Eine TO P M ID D LE I6 K R AM I6 K LOW I6 K RAM R AM P R IM A R IL Y K C y b O A PO BAN K 0A N K BAN K U N U SED S W IT C H E S 2 K M O D EL ] 1! RO M * K M O D EL I II BK I 1 ! ROM M O O EL ROM /. Mode / / / / Memory Map Hardware-Lösung Die einfachste Lösung, um das Modell II! zu einer CP/M-fähigen Haschine zu machen, ist, das ROM aus dem Adressenbereich auszuschalten, den die meisten Programme benutzen, die nicht für das Modell III geschrieben wurden, und dafür das RAM einzu- schalten. Das sieht zunächst sehr einfach aus. Man kann dies erreichen, indem man die Leiterbahnen, die im Bild 2 mit 0000-3FFF und C000-FFFF bezeichnet sind, vertauscht. Somit wäre das ROM, die Tastatur und der Bildschirm in C080-FFFF und die 16K-RAM-Bank der Bank 3 würde von 0000 bis 3FFF adressiert werden. Dieser einfache Ansatz bringt aber zwei Nachteile mit sich. Erstens können keine Programme mehr laufen, die für das Modell III geschrieben wurden, denn ROM, Tastatur und Bildschirm würden ständig aus dem Speicherbereich herausgeschaltet werden, in dem sie laufen müssen. 2weitens würde der Prozessor - ohne entsprechende Änderungen seines Kontrol1-Schaltkreises - bei jedem RESET versuchen, ein Programm an der Adresse 0080 im RAM auszuführen; es gibt keine Möglichkeit, ein Programm in das RAM zu laden, bevor der Prozessor beginnt, von ihm Instruktionen zu holen. Sie Sie können die ursprünglichen Fähigkeiten bewahren, wenn elektronische Schalter benutzen. Elektronische Schalter können die Adressierung so ändern, da£ 0000 die Startadresse des ROMs ist, wenn Programme unter TRSDOS etc. laufen und daß 0000 die Startadresse des RAMs ist, wenn Sie Programme unter CP/M laufen lassen. Elektronische Schaltungen achten auch auf das Problem mit dem Laden des Programms: Mit einem elektronischen Schalter können Sie Programme mit Routinen aus dem ROM laden, bevor der Schalter die ROM- und RAM-Adressen tauscht. Somit versorgt ein elektronischer Schalter das Programm mit einer dauernden Kontrolle durch den Prozessor. Fig. 2. Model I I I Address Decoder Circuit © Ein el ek tron i scher Schal t er Ein Weg, um die elektronische Speicher-Iinschal tung zu erreichen, ist, die Adressensignale des 280 zu bearbeiten, bevor sie den Decoder erreichen. Während sich der Speicher im Standard Model I III-Modus befindet, kann der 280 Instruktionen im Adressenbereich von 4000 bis BFFF ausführen, um die Signale von A15 und A14 zu invertieren, wenn beide WAHR oder beide FALSCH sind. Somit wird der Decoder genarrt, denn er denkt, da£ eine vom Prozessor gelieferte Adresse im Bereich 0000-3FFF in Wirklichkeit im Bereich C000-FFFF liegt, und der Prozessor hat benutzbares RAM bei 0000. Es gibt einige kommerzielle Modifikationen, die den Speicher in dieser Weise umschalten. Diese Methode hat einen Vorteil und einen Nachteil. Das Vorbearbeiten der Adressensignale ist mechanisch bequem; es kann durch eine einzelne Huckepack-Platine im 280-Sockel erreicht werden, welche natürlich wieder den 280 in einem Sockel auf nehmen inuP. Der Vorteil ist, daB der Computer nicht physisch verändert werden muB; die Huckepack-Platine ist keine unwiederrufIiche Veränderung, denn der 280 ist einer der wenigen gesockelten Chips im Modell III. Der Nachteil ist, daß dieses Vorbearbeiten der Signale natürlich eine Verzögerung vor dem Erreichen des Decoders und der R^l-Bänke bewirkt, wodurch RAM-Operationen unzuverlässig werden. Diese Verzögerung ist im Modell III kritischer als im Model I I, denn die Speicher-2yklus-2eit (memory-cycle time) ist im Modell III um annähernd 28X kürzer als im Modell I. Ein neuen B a n k - N a h 1-Dec oder Eine bessere Lösung stellt der Ersatz des Multiplexer-Schaltkreises (U58) durch einen neuen Decoder-Schaltkreis dar, wobei dieser die Adresszuweisungen für ROM und RAM umschalten kann und trotzdem nicht langsamer im Ansprechen der Adressen ist als das Originaltei1. Der neue Decoder, der den ]4K Bank-Wahl Decoder in der oberen Hälfte von U58 ersetzt, besteht aus zwei anwählbaren Decodern in einem 7 4 L S 156 (Demultiplexer mit offenem Collector). Einer der neuen Decoder kann das ROM mit Tastatur und Bildschirm von 0000-3FFF und die RfW-Bank 3 von C000-FFFF einschalten (wie der Original Modell III Decoder). Der andere neue Decoder schaltet das ROM + Tastatur-Matrix ♦ Bildschirmspeicher in C000-FFFF und RAM-Bank 3 in 0000-3FFF ein. Dieser Schaltkreis, um den 74LS156 Demultiplexer (genannt U58-1) herum aufgebaut, wird in Bild 3 gezeigt. Es ist Jederzeit immer nur einer der Decoder aktiv. Ein aktiv-HIGH Signal ( R E W P ) , extern an die Decoder herangeführt, bestimmt, welcher der beiden Decoder die Speicherbank-Auswahl vornimmt. Weil die aktiv-LOW Ausgänge der Decoder als verdrahtete OR-Glieder (wired OR) geschaltet sind und der nicht angewählte Decoder HIGH (inaktive) Ausgänge für alle hat, kann nur der gewählte Decoder ein aktiv-LOW Signal über die Bank-Wahl-Anschlüsse senden. Wenn RErt=iP logisch LOW (inaktiv) ist, wird der Decoder, der in Bild 4 oben gezeigt ist, eingeschaltet; er gibt Schaltsignale aus, die mit der Original Speicheraufteilung des Modell III übereinstimmen. Ist REMAP logisch HIGH (aktiv), wird der untere Decoder eingeschaltet; er gibt Schaltsignale aus, die das ROM mit Tastatur und Bildschirm in die obersten 14K des Speichers verlegen. RAM-Bank 3 wird in die untersten 1<SK des Speichers gelegt. Vcc r AA33K MM,; •ooo • MM |tW J • KAM * A * R i «A M |4 «W I r*$t ■OM I N A t . C <vO«> •AM (H A ft if IW & N I HOTH IO ft C S i f’ O * «ALUCS A ll 4 TH I f I T O » OCCOOC« ACVIVC W ifn O uT •em ap . »o rro M A < r> «( m>i» *(UI» Fig. 3. Bank Decoder with ExternaI Request Line • ROM , * B 0 . V IQ I U 6 0 I 8 KBYTE USO A C T IV E OPEN A O O R E SS R A N G ES EN A BLE TO P CO LLEC TO R S IG N A L S • RAM ROM FO R 4K O N LY EN A BLE CO O O EFFF O R ROM ABO VE Fig. 4. Decoder f o r Bank Containing ROM , Keyboard, and Video Treffer» der Roboter C h i c a g o - E in e B a u fi rm a s ch rieb e i n e r Fabrik für ele k t ro n is c h e G e ra te : » U n s e r E le k t r o n e n g e h i r n h at a u s g e r e c h n e t , daß sich die K o s t e n d es v o n Ih n en geplanten U m b a u s a u f 125 0 0 0 D ollar belaufen.« Die F i r m a erh ielt u m g e h e n d die A n t w o r t ihres K u n d e n : » U n s e r E le k t r o n e n g e h i r n hält Ih ren K o ste n a n sc h la g für viel zu h o c h . W i r s c h la g e n d a h e r sobald wie möglich ein T re f fe n d e r beiden R o b o te r in u n s e r e m B ü ro vor.« D en z u s ä t z 1 i c h e D e c o d e r Ein zusätzlicher Decoder muß außerhalb von U58-1 benutzt werden, um die 8K Segment-Wahl Funktionen zu übernehmen, die vorher der untere Teil von U58 durchführte. Wie in Bild 4 gezeigt, besorgt der obere Decoder in einem zweiten 74LS156 Chip (genannt U58-2) die 8K Schaltungen für die unter Normal auftei1ung zum ROM gehörenden 16K Speicher-Segmente. Der andere Decoder versorgt vier 4K Schalter im Adressbereich C800-DFFF unter der Neuaufteilung des Speichers. Die Segment-Decoder werden -folgendermaßen durch REMAP angesprochen. 1st REMAP LOW, wird das ROM mit Tastatur und Bildschirm wie im Original-Decoder geschaltet. Ist REMAP HIGH, produziert der untere Decoder vier Einschal tsignale in Übereinstimmung mit Adress i e r u n g A12. Eine dieser beiden Möglichkeiten ist immer aktiv, wenn der Prozessor C000-FFFF adressiert. Der Draht, der “ROM + (3000-3FFF)" genannt wurde, schaltet in aktivem Zustand U<S0 ein, um das 4K Secynent inzuwählen, welches das 2K ROM, die Tastaturmatrix und den Bildschirmspeicher enthält. Die drei zusätzlichen Signale sind Ersatz, und sie sind für die drei and-f-^n 4K Segmente in C000-FFFF aktiv. Sie können zusammen benutzt werden, um 12K i^ier der Reihe einzuschalten (womit wir insgesamt 68K hätten). Die Original 8K- und 4K-R0Ms, die nutzlos sind, wenn sie von 0000 weggeschaltet sind, tauchen nicht mehr in der Speicherau-f tei lung auf. Dieser Raum ist frei -für eine Speichererweiterung. Der Ersatz von US8 durch die beiden 744LS154 Demultiplexer- Chips versorgt das Modell III mit seiner Original-Speichel— aufteilung und einer von CP/M nutzbaren Speicherau-f tei lung (siehe Bild 5). Außerdem erzeugen die neuen Decoder keine längere Verzögerung als die Decoder, die sie in dem Jeweiligen Speicherzustand ersetzen. Statt Unzuverlässigkeit im Speicherzugriff bewirken sie sogar eine Speichererwei terung. Das Signal , da s den Speicher umorganisiert (REIMAP) Das REMAP-Signal, das zwischen den beiden Speicher Konfigurationen umschaltet, könnte von einem Schalter außerhalb des Modell III-Gehäuses ausgehen. Aber' der Schalter kann nur betätigt werden, wenn der Z80 ein Programm ausführt, das in den Speicher 4080-BFFF geladen wurde (oder im ROM ist). Sonst "vergißt" der Programmzähler, welche Instruktionen er gerade aus-führte. Diese Einschränkung erfordert also, daß Sie ein REMAP nur dann ausführen, wenn die Kontrolle bei einem Programm liegt, das in den richtigen Bereich geladen wurde. Das Signal kann von einem unbenutzten Ausgabe-Port des Modell III Logic-Boards versorgt werden. Der Ausgabebaustein U98, normalerweise benutzt, um Kassettenrekorder-Levels und ein Video Zeichengröße Signal zu senden, beinhaltet ein unbenutztes D-Flip-Flop. Indem der unbenutzte Eingang dieses Bausteins mit Bit 0 des Data-Bus verbunden wird, kann die Ausgabe des freien D-Flip-Flop durch das niederwertigste Bit des Port EC kontrolliert werden. Ist dieses Bit LOW (inaktiv), geht der Ausgang des Flip-Flop (REMAP*) auf LOW, und die Speicher- aufteilung des Modell III ist für TRSDOS richtig. Ist dieses Bit HIGH (aktiv), wird der Remap-Befehl ausgegeben, welcher den Speicher für CP/M umorganisiert. Das RESET* Signal von U98 ist normalerweise an Vcc (♦ 5 Volt) gebunden. Die Information der beinhalteten Flip-Flops wird nicht unbedingt gelöscht, wenn Sie den Computer einschalten; auf Jeden Fall wird es nie gelöscht, wenn Sie Reset von der Tastatur aus eingeben. Um sicher zu gehen, daß der Computer mit dem ROM an 0000 (Startadresse des Prozessors) startet, muß das RESET* Signal zu U98 von der Unterstützungseinheit des Prozessors kommen und zwar genau von (J5? Pin 13. ffFf V IO E O HAH FCOO F*00 KEYBO A RD 2K MODEL S W IT C H E S F«00 I I I ROM FOOO SPACE FOR I2 K M IO O LE LOW TO P Rhysitche Modifikationen IIK IIK RAM E X P A N S IO N RAM RAM IIK RAM BAN K BAN K BAN K Fig. S. CP/M-Compatible Model I I I Memory Map. Die Decoder im Model 1 III zu ersetzen ist weitaus komplizierter als das Aufstecken einer Huckepack-PIatine in den Z88-Sockel, obwohl an der CPU keine größeren Änderungen vorgenommen werden. Der neue Decoder-Schaltkreis wird auf einer separaten Platine plaziert, welche in einen Sockel gesteckt wird, der wiederum den Platz des ursprünglichen Decoders (U58) auf der Hauptplatine einnimmt (Fotos la und lb). Teile des Decoders, bestehend aus IC58-1, IC58-2, zwei l<S-Pin-Sockel n , verschiedenen Widerständen und einem DIP-Stecker (der in den obern erwähnten, U58 ersetzenden DIP- Sockel gesteckt wird) werden auf einer passenden Lochrastei— platine aufgebaut. Di# Sockel für die Chips sind auf der Komponenten-Seite der Platine eingesteckt und die Verdrahtung wird auf der Lötseite mit ummanteltem Draht (Wrap-Draht) vorgenommen. Der DIP-Stecker ist auf die Platinenbahnen auf der Lötseite der Platine gelötet. Die Fotos 2a und 2b zeigen die Komponenten- und die Lötseite der Platine. Die schwierigste Änderung ist das Entfernen des Original-Decodei— Chips (U58) und die Installation eines DIP-Sockels. Das Abschneiden jedes Drahtes des Chips und das Entfernen je eines Drahtes mit einem nicht zu stark erhitzten Lötkolben ist am wenigsten riskant. Ein Sockel, der den Decodei— Board-Stecker aufnehmen kann, wird dann anstelle des IC58 eingelötet. Dies kann ein konventioneller IC-Sockel sein, doch ein aus einzelnen Pins (IC-Kontakte Meterware) individuell aufgebauter Sockel ist erheblich sicherer und besser. Die Reset-Leitung des Ausgabe-Latch (U?9) muß auf dem Locig-Board gekappt werden. Mit isoliertem Draht, der direkt an die IC-Pins gelötet wird, werden folgende Verbindungen hergestellt: -Data-Bus Leitung 0 von U188, Pin 14, zu dem Ersatz Port EC Latch Input bei U98, Pin 4. -Port EC Latch Output von U188, Pin 5, zu einer Klemme auf der Decodei— Platte, welche REMAP an U58-1 und U58-2 weiterleitet. -/RESET (RESET*) von U57, Pin 13, zum Port EC Latch Reset bei U98, Pin 1. -Adressleitung U12 von U48, Pin 13, zur Decoder-Platte. Ich habe die oben beschriebene Modifikation über hundert Stunden lang getestet und es ist kein Fehler aufgetreten. Die 8K und 4K Modell III ROtis sind ausgeschaltet und drei 4K Speichererweiterung Einschattsignale funktionieren wie beschrieben. Photo la. Socket for New Decoder Photo 2a. Component Side o f Decoder Board Das Asserablerlisting für den Bootstrap Loader ist als 'Paperware-Kopie' von Hartmut Obermann erhältlich Photo Ib. New Decoder Installed Photo 2b. Solder Side o f Controller Board i Vorläufiges Design zur Speichererweiterung Es wurden keine Tests mit einem Modell III durchgeführt, das zusätzlichen Speicher hatte. Die Speichererweiterung ist eine kostenlose Nebenerscheinung der Wahl unserer Chips für die Speicherneuaufteilungsmodifikation. Speicherweiterungen können in derselben Technik ausgeführt werden wie die beschriebene Modifikation zur Neuaufteilung des Speichers. Stecken Sie eine Platine, die aus 8 DIP-Steckern und 16 Sockeln konstruiert ist, in die Sockel für eine der 16K RAM Banken. Verbinden Sie 8 der Sockel parallel mit entsprechenden Headern und stecken Sie die 4114 RAM Chips in sie. Sie funktionieren genau wie bei einem nagelneuen Computer. Verbinden Sie alle Pins bis auf das CASX-Signal (CASiE - Column Adress Strobe pin) der acht übrigen Sockel (für die acht zusätzlichen 4114s) parallel mit entsprechenden Steckern. Eine CAS-Leitung, die mit allen CASX Pins der neuen RAM Chips verbunden ist, kann hergestellt werden, indem die drei 4K Einschal tlei tungen des U58-2 als wired OR verdrahtet werden. Un das neue RAM Bank-Wahlsignal CAS$X zu erhalten, wird das daraus resultierende Signal mit dem Model III CASX über ein OR-Glied verbunden (siehe Bild 6). Nur weiteres Konstruieren und Austesten kann sicherstellen, daß diese Speichererweiterungsmodifikation über längere Zeiträume brauchbar ist. Auf jeden Fall sollte die Stromversorgung, die mit einer 58-Hertz Leitung arbeiten kann, die neuen RAMs mitversorgen können. Außerdem dürfte in diesem gut durchlüfteten Teil des Gehäuses kein Hitzestau auftreten. Äußerste Vorsicht ist die einzige Garantie für einen Erfolg bei der Arbeit mit der CPU-Platine. Alle Verbindungskabel und Verbindungen, die in der Platine stecken, sind sehr dünn und sehr zerbrechlich. Versuchen Sie sich nicht an dieser Modifikation, wenn Sie ein Neuling im Arbeiten mit Lötzinn sind. J '" o o o 6000 - i r r r i m i • 2 . »m ai tut» »»t C * S < * (P'N a. * I L N t « 4H8' 3 ) L > Fig. 6. Preliminary Logic f o r a New R A M Bank-Select Signal © Sof twar e Kon trol 1e Die Software, die die Speicherumstellung schaltet, ist einfach. Um den Speicher zu re-organisieren, schreiben Sie die folgenden Instruktionen in Ihr Bootstrap Loader Programm: LD A,9 OUT (0ECH),A Dementsprechend benutzen Sie folgende Zeilen, um den Originalzustand Ihres Computers wiederherzustellen: LD A,8 OlfT (0ECH),A Das am wenigsten signifikante Bit des Ausgabe-Bytes schaltet den Speicher um. Andere Bits in diesem Byte betreffen Video Zeilenlänge und Zeichensatz, Video Warte-Status, Kassettenmotor Schaltung und externe I/O Bus Operationen. Sind diese Bits aus (off), ist das Modell III ln folgendem Zustand: £4 Zeichen/Zeile, japanischen kana Spezialzelchensatz, kein Video Warte Status und Kassettenmotor sowie I/O Bus sind ausgeschaltet. Mit Bit 3 an wird der griechische Zeichensatz angewählt. Die meisten mit kommerziellen Modifikationen gebrauchten CP/M-Versionen können leicht an diese Modifikation angepaßt werden. Durchsuchen Sie nur den Bootstrap Loader und das Basic Input/Output System (BIOS, das maschinenabhängige Modul in CP/M) nach den Speicherumstellungs-Routinen, die für die jeweilige Modifikation gelten und ersetzen Sie diese durch die oben angeführten. Als Alternative können Sie ein neues BOOT (s. unten) und BIOS für die Standard CP/M-Version schreiben. Der unten gelistete Bootstraploader kann in ein vorhandenen BIOS eingebaut werden. Ein Bootstrap Loader für CP/M oder jedes andere Programm, das Sie auf der Diskette plaziert haben, ist im Listing gezeigt. Der Loader mu0 auf Track 0 , Sektor 1 einer Diskette im Model I III Standard Format von 18 254-Byte Sektoren per Track stehen. Das zu ladende P r o g r a m mufl auf Track 0, Sektor 2 beginnen. Die Speicheradressen, in die das Programm geladen wird, sind imner am Anfang des Programms angegeben und dort können Sie diese leicht verändern, um das Programm anzupassen. Wenn Ihre Diskette eingelegt ist, bringt das Modell III ROM bei einem RESET den Loader in das RAM bei 4300 hexadezimal und übergibt ihm die Kontrolle. Er lädt dann Ihr Programm und dieses Programm gibt Ihnen Möglichkeiten, die Sie vorher nicht hatten. Bild 1: Modell III Speicher Aufbau Bild 2: Modell III Adressen Decoder Schaltkreis Tabelle I: 14K Bank-Wahl beim U58 Tabelle 2: Segment-Wahl in ROM-Bank Bild 3: Bank Decoder mit externer Wahlleitung Bild 4: Decoder für Bank mit ROM, Tastatur und Bildschirm Bild S: CP/M-kompatibler Modell III Speicher Aufbau Bild 4: Vorläufige Logik für ein neues RAM Bank-Wahl Signal Foto la: Sockel für den neuen Decoder Foto lb: Neuer Decoder installiert Foto 2a: Komponenten Seite des Decoder Boards Foto 2b: Lötseite des Controller (Decoder) Boards Extra R A H od er E in sicheres Plätzchen ia T R S 8 0 Modell A r t i k e l aus B O - U . S . J u r n a l von T r u a a n K r u a h o l z s e h r frei ü b e r s e t z t von H a r t i u t O b e r a a n n ln d i e s e * A r t i k e l a ö c h t e ic h d en A u f b a u e i n e s Heaory-Boards beichreiben, d a « d en Z w i c h e n r a u a z w i s c h e n R O H u n d T a i t a t u r a u i f ü l l t . Dieie« zuiätzliche RAH ist besonders zur g e s c h ü t z t e n Unterbringung von Haschinenroutinen g e e i g n e t , da es n i c h t voa Systea bzw. D O S b e n u t z t w i r d . Da s B o a r d b e n u t z t die Adressen 3 0 0 0 H - 3 7 7 F H und stellt 1920 B y t e s f r e i e n S p e i c h e r p l a t z zur Verfügung. D a s B o a r d lä ß t s i c h sc h n e l l u n d p r o b l e a l o s a u f e i n e r L o c h r a s t e r p l a t i n e in Fidsltechnik a u f b a u e n . D e r A n s c h l u ß an d a s S y s t e a e r f o l g t übe r d e n aeist unbenutzten S c r e e n p r i n t e r a n s c h l u B des Expansionsboards Dazu b e n ö t i g t aan e n t w e d e r ein s e lbstgestricktes Kabel ait passend» Stecker o d e r a an l ö t e t d i e L e i t u n g e n d i r e k t auf. A ls Stroaversorgung werden +5 Volt bei 0 . 5 A a p e r e benö t i g t *2 . Als Speicherchips werden zwei 2 1 1 4 s ( 1 0 2 4 * 4 Bi t S t a t i c RAH) v e r w e n d e t . Die Adressdecodierung w u r d e al t g ä n g i g e n T T L - B a u s t e i n e n (74 00 u n d 741 0) aufgebaut. Alle Leitungen zwischen dea Board und dea Coaputer sind gebuffert (74LS3S7 un d 821&) ua Ü b e r l a s t u n g u n d B e e i n f l u s s u n g d e s S y s t e a s zu v e r m e i d e n . Di e B " P u l l u p ' - W i e d e r s t i n d e (je 1 kfl) w e r d e n b e n ö t i g t , da a n s o n s t e n die H i g h - B i g n a l e auf d ea D a t e n b u s a a n c h a a l n i c h t die g e f o r d e r t e n M e r t e er re i c h e n . D as externe Powersuppty •* besteht aus einea 6- 8 Volt Transforaator (0.5-1 Aapere belastbar), einea Brückengleichrichter u nd einsa 4 70 0 P f S i e b k o n d e n s a t o r . Als S p a n n u n g s s t a b i l i s a t o r d i e n t e i n IC 7 8 0 5 S p a n n u n g s k o n s t a n t e r . Die V e r s o r g u n g s s p a n n u n g s o l l t e an j e d e a C h i p ait e i n e a K e r a a i k k o n d e n s a t o r (0.1 PF) vo n S t ö r u n g e n fr e i g e h a l t e n w e r d e n . Nach dea Z u s a a a e n b a u von P o w e r s u p p l y und H e a o r y Board sollte als erstes e i n e g e n a u e S i c h t k o n t r o l l e der S c h a l t u n g e r f o l g e n . Auf der S p e i c h e r p l a t i n e k a n n aan a u B e r d e a ai t e i n e a O h a a e t e r f e s t s t e l l e n , ob d i e S Volt-Leitungen einen Kurzschluß hab en . E rs t nach diesen Kontrollen sollte a an die St.- « V e r s o r g u n g anschliefien. Al s letzte Überprüfung schaltat aan die Vf jrungsspannung ein und überprüft alle Leitungen, die spiter zua t er f ü h r e n d a r a u f , dafi'keine se hr a l s S V o l t f ü h r t . N ac d ea e n d g ü l t i g e n A n s c h l u B der E r w e i t e r u n g ka n n aan das nun z u s i t z l i c h vorhandene RAH durch d as unten stehende Prograaa a uf seine Fu n k t i o n s f i h i g k e i t überprüfen. Natürlich ist a u c h d er rea l i s i e r b a r S i e h e S c h a l t b i l d Nr. 2 " 00 10 20 30 40 50 40 70 BO 90 100 110 120 130 AnschluB über den geplanten ECB-Bus ' H E H O R Y - T E S T R O U T I N E F U E R DAS Z U S A T Z - R A H 3 0 0 0 H - 3 7 7 F H L a n g s a a ab e r e i n f a c h ! Aa b a s t e n a it Z B A S I C o d e r A C C E L C o a p i l i e r e n !!! C LS F 0 R X • 12 28 8 T0 142 07 F 0 R Y * 0 T0 2 55 P 0 K E X,Y IF P E E K (X) <> Y T H E N G 0 S U B 100 NEXT Y NEXT X END 'FEHLERBEHANDLUNG P R I N T ‘S P E I C H E R F E H L E R IN ZE L L E "|X| * S O L L W E R T " | Y | " I S T W E R T '’R I N T P E E K (I) »TNT, " H E I T E R HI T < E N T E R > !" I N K E Y > C H R 13) TH E N S O T O 130 E L S E R E T U R N *| R E G L E R UA UA UA UA UA UA UA UA EIN 78 78 78 78 78 78 78 78 05 06 08 10 12 15 18 24 AUS O ie Q r i g i n a l z e i c h n u n g d u h e a o r y B o a r d Mir « e g e n i h r e r i c h l e c h t e n Dualität n i c h t zur V e r ö f f e n t l i c h u n g g e e i g n e t . Ich b e d a n k e e i c h v i e l a a l i bei M a n f r e d He l d , daß er e i n e r e p r o d u z i e r b a r e Z e i c h n u n g e n t e i l t e . Die Z e i c h n u n g dei N e t z t e i l t i t a e i t von air. H ie a a n f e i t i t e l l e n kann, lind aeine Fähigkeiten auf dea S e b i a t d e i t e c h n i s c h e n Z e i c h n e r n n i c h t a l l z u i e h r a u i g e p r i g t . Ich hof fe, aan ka nn e r k e n n e n n i i g e a e i n t iit. Äo/r-t/iftu/t {Mfe/i'ma/rvn San D iego - S ech s K ü h l s c h r ä n k e , die hier in e in e r O b e r s c h u l e aufgestellt w erden s ollten, w aren mit D re i-P o lS ie c k e rn au sg erü stet. In der S ch u le gab es j e d o c h n ur E in Z w e i -P o l -S t e c k d o s e n . am erikanische »»völlig n e u e s Frühsiücksgetühl« versp richt eine Als der L e h re r ein e r M ü n c h n e r B eru fs s ch u le die Prü- ihres l u n g slrag e »Was ist ein Lichtjahr'.’» stellte, an tw o rtete E lektriker. D e r eine versah die K ü h l s c h r ä n k e m it Z w e i- T o a s i r ö s t e r s , d e r j e n a c h W a h l b y z a n tin is ch e , llorentim - d er Prulling: »>Da.s ist die S t r o m r e c h n u n g für 3ö5 Tage.« Am nächsten Tag k am en zwei E l ek tro w aren tab rik den K a u te rn P o l - S te c k e m . U n te r d e s se n l a u s c h t e der a n d e re die S t e c k s c h e o d e r s p ä tg o t i s c h e O r n a m e n t e ins Brot b ren nt und d o s e n an d er W a n d au> und m o n tie r te überall D re i-Pol - ü b e rd ie s w a h r e n d des R ö s t e n s ein e M oz a r tm e lo d ie a b Steckdosen. k lim p ert. B a u te ile : R1-R11 IC1 IC 2 IC 3 IC 4 IC 5 IC 6 IC 7 IC8 IC 9 IC 10 ic h 1C12 IC 13 1 K fi z 74LS00 r 74 LS08 74 LS10 — 8216 — 8216 s 2114 s. 2114 — 2114 = 211 4 = LS 367 = LS367 s: LS367 s LS 368 - zu IC 8216: 8216 Rü 0 1 0 1 CE 0 M e m -^B u ss 0 M env«-Buss 1 off 1 off 66 3erald Schröders Genie IIs - Erfahrungsbericht Wie wohl inzwischen ein großer Teil von Euch mitbekommen hat. habe ich dauernd .nst t ech nischen Mängeln an meinem Genie I gekämoft. Der letzte Stand stellte sich sc der: die Laufwerke konnten sich nicht auf eine einheitliche Sourhsltung einigen L;nd ein Wackel kontakt an der Video-PIatine verwandelte den Bildschirm in ein Tur.melfeld aller möglichen Grafikzeichen, wobei nur ein kräftiger Schlag auf das Gehäuse Abhilfe schaffte. Entnervt beschloß ich gemeinsam mit meinem elterlichen Gelogeber, die gesammelten Neuheiten der Technik in Form eines Genie IIs zu erwerben. Glücklicherweise fand sich ein Händler in ,der Nähe (nur ca. 6C km entfernt), der uns bei einer Besichtigung der Anlage diese gleich andrehte. Für vier Riesen durften wir einer Computer mit zwei eingebauten Slimline-Lau+werken _.e 00 Track DS/CD und einer. TaHar.-Mcnitor mitnehmen. Zum Aufbau müssen nur die seDarate Tastatur und der Monitor werden an das massive (und dementsprechend schwere) Metallgehäuse angeschlossen werden. Die Anschlüsse sind absolut narrensicher, nur die Kabel leider nichts das Tastaturkafcel gehört zur Gattung der Flachkabel und ist dementsprechend inflexibel. Die Länge des Kabels eröffnet drei Mög lichkeiten: die Tastatur hinter das Hauptgehäuse zu stellen, genau davor oder etwas rechts versetzt. Die erste Möglichkeit scheidet aus. und die beiden anderen sollte man auch vergessen, denn die Laufwerke liegen ‘-im wahrsten Sinne des Wortes) auch rechts und damit ist das Laufwerk 0 mit davorstehender Tastatur nicht mehr erreichbar. Alse das Kabel dehnen so weit es geht und die Tastatur nach links. Aber wir haben ja noch ein Kabel: das vom Monitor zum Comouter. Die Verbindung am Computer rechtfertigt der. Slogan des Herstellers TCSs "Made in Ger/nany" • => Qualität, dach die andere Seite ist noch original Hongkonc-made, was wohl erklärt, warum erst das oritte (!!) Kabel nicht auseinanderfi el . Allerdings erklärt es nicht die laschen Qualitätskortrollen (von denen soäter noch die Rede sein wird). Fertig angeschlossen bietet sich ein tolles Bild: eine große, halbwegs flache Tastatur, ein wuchtiges Hauptgehäuse und ein f1immertreier Bildschirm (Video-Ausgang verbessert); dazu der Sound eines leicht rauschenden Lüfters und der leise ratternden Laufwerke. Doch der Schein trügt etwas: die Tastatur erfüllt nicht alle Erwartungen. Quantität ging vor Qualität. Sehr schön die Zusatztasten: zwei Funktionstasten ergeben in Verbindung mit den Ziffern im abgesetzten Ziffernblock (leider ohne zweite Enter-Taste) sechzehn Funk tionen, Reset wird über zwei gleichzeitig zu betätigende Tasten gegeben, die Umlaute sind gut erreichbar, im Gegensatz zu den Cursortasten zur Hcrizontalsteuerur.g im Ziffernblock. Die Qualität läßt zu wünschen übrig; ähnlich deo> C64 “schwimmen“ die Tasten etwas wie :n Gummi, außerdem habe ich (subjektiv) den Eindruck, als cb sie "hakenN: die alte GenieTastatur war tipp-freundl i c h e r . Eine Sondertaste fehlt noch in der Aufzahlung: die "LSPH-Taste (steht wohl für Lower SPeed). neben der rechten Shift-Taste. Sie rastet ein, wenn man sie drückt, und schaltet dawit die Geschwindigkeit des Prozessors von 6 auf 1.77 Mhz zurück. Damit habe ich auch einen Hauptpunkt angesprochen, der dieses Gerät so attraktiv macht: die Geschwindigkeit. Scripsit ist unter "Höchstgeschwindigkeit" fast nicht benutzbar. Der Cursor springt nur so über den Bildschirm und ein einzelner Buchstabe kann kaum getipot werden. Also muß man sich umgewöhnen; schreiben mit 1.77 Mhz und alle zeitraubenden Aktionen (Replace, Plät tern) mit 6. Selbst die Diskettenoperationen laufen etwas schneller ab. obwohl die Lauf werke natürlich hemmend wirken. Offensichtlich ist die hohe Geschwindigkeit vor allem im Basic. Sciele erreichen leiert die Qualität der in Maschinensprache geschriebenen. Nur eines vermißte ich sofort: den Sound. Kein Tongenerator lenkt vom "ernsthaften Arbeiter" ab. Vielleicht läßt sich der Ton über einen extern anschließbaren Recorder oder Lautssrecher ausgeben, aber dokumen tiert ist diese Möglichkeit nicht. Natürlich reicht die hohe Geschwindikeit nicht aus. diesen Computer zu rerhtfertigen. Also Funkt zwei: TCS ist einfach unserem Hardware-Zirkel unter Leitung von Walter Zwic-el zuvorgekemmen und hat das Steckkarten-Svstem benutzt. Nach Öffnung des Sehäuses :st sine gähnende Leere sichtbar. In meinem Gerät sind noch, fünf der zehr Stecl-clstze frei (Grundgerät ohne Floppy-Control 1er mit sechs freier,). Eis jetzt üietet TCP folgende Steckkarten an: Grafikkarte (B0;;2£ Zeichen. 4G0::*?2 Fjr.i-te). SIO.'F I2-K arte (zwei serielle und zwei parallele Schnittstellen). RAM-Ksrte '192 kb, höchste Sceicherkao&zitat 2T2 Yz i . Kost-Karte (zwei Harddisks anschl ießbar}. ROM-Kart.e (Erweiterung de* RQh auf o:s zl Z2 rb*. Außerdem kann die Taktfrecuer.z auf S .Im erhebt *ercsn. üs~igens: wer ssch sc etwas ' : ezer* c-l i..rr reitst Züs-mcenioter möchte. cem emsxe M e ich d:e- T e c n m s c h e Peschre:fcur.a -um 3er.ie II? i“”* CM, vor. “> ommeschläcer). Tort s:r.a aile Platinen mit Bauteilen etc. au? Ce. Seiten (-für mein Laier.aoce) ziemlich genau oe0 schr:eben. '.4>? .ersorocher. möchte icn noch e:r»?.$; a.'f die Dualität eingeher. Natürlich wellte :ch meinen Drucker nicht ungenutzt rurrstsr.er. lassen. Alse besorgte ich mir ein Druckerkabel rum Preis .on ?5 CM bei meinem Händler (Msterialkosten be: Conrad-electronic jnter SO .DM). Doch mein Drucker souckte nur M-jl! ajs und so schickte ich das Ding zurück. Das zweite kabel verschwand angeblich *ut de* Postwec, acer das dritte lief wenigstens, allerdings nur rr.it 7 Bit. Nun kaff, ich darauf, een Ausgang ö .t. Computer durchzorüfen. Und siehe da: statt den versorocher.er, S -.«me- nur 7 Eit heraus. Ich kann noch nicht sagen, was das zu bedeuten hat. aber ich werde 725 einen netten Brief schreiben müssen. Nun will ich zum letzten Punkt kommen: 2er Software. In einem Zusatz-ROM befindet sich im Genie IIs ein tolles Software-Paket: Meritor, Texteditor und Assembler und ein kleiner Disassembler. Nach Aufruf wird dieses Paket in den oberen Bereich des Speichers gelegt. Allerdings fehlen hier die Disketter,befehle, sc daß ein Zusatzprogramm auf der mitge lieferten Systemdiskette zu finden ist, das diese beinhaltet. Doch dieses Suoer-Faket löst sich mit zunehmender Arbeitsdauer in Luft auf. Angeblich können Programme bearbeitet werden, die in den Bereich 5300-DOOOH laden. Doch auch bei Programmen, die diese Grenzen nicht erreichen, hängt sich der Monitor auf. Außerdem scheint der Assembler etwas gegen Source-Codes zu haben, die über ein NQF hinausgehen. Sind beim Start des Procrammpakets noch andere DOS-Hi1fsprogramme im Speicher, kann man herrliche Effekte erzeugen ("blin des" Eingeben von Filenamen ohne Cursor, toll für die Password-Freaks), von denen nichts im Handbuch steht. Dieses Handbuch (besser gesagt deren zwei, für DOS und Basic) ist auch so ’ne Sache, natürlich auch die Technische Beschreibung. Angeblich können Controller und Laufwerke alles lesen, von '5/SD/SS bis 80/DD.DS, aber es ist mir mit keiner der angegebenen PDrive-Einstellungen g e l u n g e n . 40/SC'SS zu lesen. Auch die beschriebenen Prozeduren zu* Booten von 40er— Disketten sind absolut wirkungslos. Das DOS-Handbuch weif? außerdem nur in einem Vorspann über das mitgeliefert« GDÜS 2.4 zu berichten, welches angeblich für alle Genie-Rechner geeignet ist. Das Har.cbuch selbst hört beim S-DOS 7.0b für den Sreedmaster auf. Die letzte Auflage fehlt scheinbar noch. Dafür wercen einige neue Programme vorgestellt: r.P. zwei Grafikpakete für hochauflösende Grafik bei Genie IIs und IIIs. Oder KEY24, ein Programm, das sich selbst nach nlMEM ver schiebt und neben Druckertreiber einen BiIdschirmeditor zur Verfügung stellt, der aller dings nicht sehr komfortabel ist. cafü- aber im DOS, im Basic und in allen Programmen ohne eigene Eingabe-Routine zur Verfügung steht (da sollte sich Arnulf mit seinem HDOS noch mal hinterklemmen). Andere Programme unterstützen den zusätzlichen Speicher (falls vorhanden) und die Funk tionstasten (sehr einfach programmierbar). Bildschirm- und Tastaturtreiber wurden abge ändert (steht da jedenfalls). Und scheinbar auch das Mini-Sucerzap, hier DDE f=Disl< Daten Editor) genannt, denn es lauft nicht mehr. Im Modifiziermodus hangt es sich auf (wie vieles auf dieser Diskette). Dann ist da natürlich noch die Kompatibilität: Im Basic geht es noch, obwohl Dancing Demon einige komische Sachen macht. Aber mit Assembler-Programmen sieht es schlimm aus. Auf dem Genie I vollkommen lauffähize Programme müssen über das Level II-Basic gestartet werden und die Abspeicherung von Kighscores klappt auch nicht immer. Aber zur Laufen bekommen höbe ich bis jetzt alle, wenn auch mit Komfort-Einbußen. Nur alles Bootbare kann ich vergessen. Fazit: Trotz aller negativen Funkte x-cchte ich nicht zu meinem alten Genie I zuruckkehren. Das flimmerfreie Bild, die Umlaut- und Funktionstasten, der Bildschirmeditor, die 1.4 Megabyte Diskettenspeicher (mit den alter, SD/SS-Disketten?) und die Erweiterungsmöglichkleiten ohne das finger- und ne-vtötende Löten überzeugen mich von dem System. Ab und zu vermisse ich die Töne, aber die kann ich auch selbst machen, und schließlich war die Geräuschkulisse oft nervtotend. Außerdem: wer möchte nicht Intruder mit o Mhz soielen. So schnell bin ich noch nie ge storben. •> Kwfr-taV'MflHwgeH P»"og>"(Un«e Halla Leute, mir scheint, daß v ie le von Euch d ie g le ich e Idee mit den PragrajmnUurzerMlärungen auch schon hatten. Ich Herde mich also in nächster Z e it über d ie HurzerUlürungsbibltatheM hermachen und Euch in den nächsten INFO's die Resultate, in Form e in er A ufstellung von Hur2 anleitungen au f Hartan anbieten. Bis dahin könntIMFO Ih r . Euch aus der Ciu66/&i/ol/ieA d ie Anleitungen Ih r in diesem zukamen lassen. Die Auflistung der entsprechenden F ile fin d e t Henn Ih r im B esitz von A n le it u n g s - F ile s e it, d ie n ich t in der d ie Clubbibllathek. s u r an§efü/ir( / rtt/f/i'stünj sind, s e it b it t e so n ett und sendet di*,c ‘' an ese Usr ton i e r ^Br* Bis zur 1 Wura^ /ärunj }U v Im Artikel "Shift-Trlck" wird angesprochen, daß sich das unserer Computer verändern läßt und dann in 2532-Eprom's abgespeichert werden kann. Venn im Club Jemand solche Änderungen vornehmen will und keinen Zpromtcr besitzt, kann er sich an mich wenden. Ich bin gerne b e r e i t , kostenlos Eproma nach eigenen wünschen tu brennen. Als Beispiel habe ich mir den teilweise hässlichen Zeichensatz meines Genie IX völlig neu gestaltet. L2-Baslc Peter Stnee /um Kumpf gegen die Rattenplage *trd tn Japan ein clckir»sch bcmcbcncr Apparat ungeboten, der in regeima- lügen Abstande» »M iau«-Geräusche ausstrtiit und auIk'rdem mit lunkelnden Katzenaugen bestückt ist. ’ Heilige Hardware * M X , Markus, Lukas und Johannes würden staunen aber das, was Pfarrer John Derben in Kemptville in Kanada mit einem Computer zuwege bringt. Der Geistliche hat Bibelstellen, Bücher aus seiner Bibliothek und eine Fülle weiterer biblischer Informationen in einen Computer eingespeist, mit dem er seine wöchentlichen Predigten recherchiert. Anschließend schreibt er die Reden auf einem mit dem Computer gekoppelten atth uj TextVerarbeitungsgerät. In seinem Studierzimmer hat Derksen Geräte im Wert von Tausenden von Dollar installiert. Mit Hilfe seiner Computerdateien lokalisiert er schriftliche Dokumente, Bibelstellen und Informationen für besondere Feiertage und Anlässe. Das geht schneller als das herkömmliche Suchen und Nachblättem. Derksen macht sich zunächst zu seinem Thema eine Gliederung und skizziert in großen Zügen den Inhalt. „Allmählich wächst die Predigt, und mit dem Textprozessor kann man ganze Absätze hinzufügen, tilgen oder verschieben“, sagt er. Für ihn gehöre das handschriftliche Ausarbeiten von Predigten der Vergangenheit an. Canadian Press .------ -------------Notausrüstung' M Mann war ganz unglücklich, als er einsehen mußte, daß die Taschen rechner und Computer seinen guten alten Rechenschieber zum Museums stück gemacht hatten. Er warf ihn jedoch nicht weg, sondern ließ ihn an einer Wand seines Büros hinter Glas anbringen mit der Aufschrift: „Bei Stromausfall Scheibe einschlagen!“ . e in r M ir der Mann, der immer wenn er in einem Einreiseantrag auf die Frage nach der Rassenzugehörigkeit stieß, nur das Wort »Mensch* eintrug. g e fallt © © HEU HRT HRS #£# In d e r h e i m i s c h e n B a s t e l s t u b e e n t s t e h t z u r Z e i t e i n D r u c k e r s p o o l e r m i t max. 6 4 k S p e i c h e r . D i e s e r S p o o l e r ist fUr jeden D r u c k e r v e r w e n d b a r u n d w i r d z w i s c h e n C e n t r o n i c 1s - S c h n i t t s t e l l e u n d D r u c k e r g e s t e c k t . D a s G e r ä t a r b e i t e t m i t e i n e r e i g e n e n CPU und selbstständigen Monitorprogramm. D e r Preis wird aber nur e i n e n B r u c h t e i l e i n e s I n d u s t r i e g e r ä t e s k o s t e n . F a l l s im Club Interesse besteht, b i t t e ich um Nachricht. Weiterhin habe i c h jetzt eine externe Grafikkarte mit einer A u f l ö s u n g v o n 5 1 2 * 5 1 2 B i l d p u n k e n l a u f f ä h i g . Sie w i r d U b e r die P o r t s 80H - 8 F H a n g e s p r o c h e n u n d ist d a h e r u n i v e r s e l l f U r J e d e n Z80-Computer einsetzbar. Außerdem können unabhängig voneinander zwei B i l d s c h i r m s e i t e n Eingesprochen w e r d e n . D i e U m s c h a l t u n g e r fo l g t U b e r d e n P o r t 90H. D i e K a r t e e n t h ä l t e i n e n e i g e n e n AS C I I Z e i c h e n s a t z u n d h a t e i n e Z e i c h e n g e s c h w i n d i g k e i t v o n max. 1,5 Mill. B i l d p u n k t e / S e k u n d e . T e s t b e r i c h t f o l g t in K Urze. Z u v e n k a u - f e n ! ! 2. Zwei L a u f w e r k e T a n d o n T M 1 0 0 40 T r a c k / DS / DD, n o r a a l e B a u h ö h e Suche Ko n ta kt zu L e u te n , t u r e s haben. G e ra ld Schröder H a ra ld Trap p ! ' 1. E i n E x p a n d e r E X P 1 vo n R B - e l e c t r o n i c (Floppy- und D r u c k e r s c h ni t t s t e l l e ) A d v e n Ich h a b e e i n e n n e u e n u n d o r i s i n a I v e r p a c k t e n M a s n e t k a r t f - n , l.H'1 d er F i rma Redak t r o n z u v e r s c h e n k e n ( ! J . D e r N e u p r e i c - in ^ r I ch h a b e d a s G'e r a e t v o r c a . 2 J a h r e n f u e r K o n k u r s m a s s e ge k a u f t ( i n k l . 1 0 0 M a g n e t k a r j p n " m i t ’ 0 . £ Kfc< . •= Karte'.*. D e r L e s e r i s t e i n s c h I i e s s I i ch ^ 6 C fn t r o l I e r u n d H a n d ^ 'j r i v e r p a c k t u nd na c h A n s c h l u s s e i n e ^ ^ r s o r T u r ^ s s a a n u n ? e r d in 9 s e in betr ie b s b e r e it. l*Tan m u s s s i ftnpa s s u n s s -lnte r f a c e b a ^ e -rf^ u n d e n t s p r e c h e n d e S o f t w a r e s c h r e i b e n , a l s o s e ^ t ^ J T e l Z e i t i n v e s t i e r e n . A u ; d i e s e m I3runr! = r a e t n u r an e i n e n w i r k l i c h i n t e r e s s i e r t e n m o c h t e ich da Da d a s G e r a e t u n d d i e V e r p a c k u n g r e c h t q r o s s ’F r e a k ’ sindj^ffTtte ich um E r s t a t t u n g d e r P o r t o - K o s t e n ( c a . 2 0 hi«; We r h a t f o l g e n d e S a c h s n f ü r 8 0 T r a c k D S / D D : S u p e ru t i1i t y ( o d e r wpil) d i e r i c h t i a e E i n s t e l l u n g ) LDOS Newdos Mit b e s t e n G r ü ß e n d ie Spaß am Lösen von SUCHT HRS 3. E i n L a u f w e r k P h i l i p s 3 1 1 4 BO T r a c k / D S / DD, 2 / 3 B a u h ö h e Alle Preise auf A n f r a g e beit Gerald Wie l e ? e te n? Ich i c h a u f 80 T r a c k DS/DD s t i n k n o r m a l e 40/SD/3S bekomme n u r " L e s e f e h l e r I n h a l t s v e r s e i c h n i 3 ” W i e b o o t e i c h a u f L a u f w e r k e n m i t 3 0 / D S / D D D i s k e t t e n m i t 40 S p u r e n S D o d e r DD"’ D i e S o f t w a r e - L ö s u n g v o n J e n s l ä u + t b e i m i r ni c h t . We r h a t e i n P r o g r a m m , d a s d e n S t a r t Li ber d a s K a s s e t t e n b a s i c n u r s i m u l i e r t , o h n e ü b e r < B r e a k u n d R e s e t > ; u ni’ h p n ' ' RC1ML i ü i t i n o l i e f e r t l e i d e r n u r A n h a l t s p u n k t e , d e n n ✓i s ' l e O p e r a tio n e n s in d s c h e in b a r ü b e r f l ü s s i g (mir i s t i h r Sinn j e d e n f a l l s schlei e rh a f t). Dreyer Gerald Wer k a n n m i r 80Micro fu e r die ein A u s g a b e n A u g u s t und paar Tage a u s le ih e n Klaus « November ? Hermann 19B4 der Disket Schröder F=" R C3 E rxl P A SC AL - P R O B L E M E Beim A r b e i t e n :iiit ALCDF<-PASCAL V e r s i o n 1.2 für das Mui;..-i 1 ' bin ich auf f o l g e n d e P r o b l e m e gestoben: 1. O f f e n s i c h t l i c h e r k e n n t d e r Compil.tr be ■ d e r Verwc-nti .. 1 U n t e r b e r e ic h s t v p e n d ie :;e n i c h t i m me r r i e h t io. Um dies zu teslen, h a b e ich foleiendes k l e i n e ProurauiM : An al ys e eine s e i n z u g e b e n d e n T e xt es G e s c h r i e b e n u n d peic t (* *) <* (* PROGRAMMNAME DATU M : (* (* (* <* (» BESCHREIBUNG : HAS P R O G R A M M LI ES T E I N E N TEXT £1* UND B E S T I M M T DI E G E SA MT ZA HL DER ZE IC HE N, DIE A N ZA HL DER B U C H S T A B E N UND DIE A N Z A H L DER ZIFFERN. DER TEXT U I R D M I T EINEM * - Z E I C H E N A B G E S C H L O S S E N . DAS P R O G R A M M U I R D DURCH E I NG AB E E I N E S BEENDET. (» : TEXTANAL 3. 4. 19S5 (* <* <**■»*»*********•» <* PROGRAM TEXTANAL VAR C1,C2 BUCHSTAB Z I FF ER G E SA MT : : : s *> *> *) if**»***»*»-*#*»'»* *> *> *> *) *> *) *) <****■) *) (I N P U T , O U T P U T >; CHAR; IN TE GE R IN TEGER INTEGER; BEGI N REPEAT BU C H S T A B := 0 Z I FF ER := 0 G E SA MT != 0 URITELN RE AD ('ZUM B E E N D E N DER E I NG AB E f E I N G E B E N U N D E N T £> <C1): UH IL E CI <> DO BEGI N IF (Cl IN ( . 'A' . . ' Z ' . ) ) THEN B U C H S T A B := B U C H S T A B IF (Cl IN ( . ' O ' . . ' ? ' . ) ) THEN Z I F F E R := Z I F F E R + 1: GE SA MT := G E S A M T + 1; RE AD (Cl>; END; URITELN; U R I T E L N (' GE L E S E N U U R D E N '.GESAMT,' ZEICHEN.: ; U R I T E L N ( 'D A V O N W A R E N ' .B U C H S T A B . ' B U C H S T ABE'*- 'fit' ' ZIFFERN.'); RE AD vC 2 ) UN TI L C2 = '.' ) . - KH, $ Da m i t e r g a b e n sich mit f o lg en de n Eingabe.’ die Egefcnlsse (wobei m a n na ch clem A b s c h l u ß der E i n g a b e dc-c; S l r i n g s mit NTER> no chmal <ELNTER> füt die READ (C'2 )-Ann e isuna d r ü c k e n "-'.iß) : ABCDEFGHIJ* G E L E S E N W U RD EN D A V O N WA R E N 10 B U C H S T A B E N UND ABCDEFGH* GELESEN WURDEN D A VO N WAREN 8 ZEICHEN. 8 B U C H S T A B E N UND 10 Z E I C H E N . ZIFFERN. Wer arbeitet mit 5 ZIFFERN. ABC* G E L E S E N W Ü RB EN D A V O N WA RE N 3 ZEICHEN. 3 B U C H S T A B E N UND 1 ZIFFERN. A* G E L E S E N W U RD EN D A V O N WARE N 1 ZEICHEN. 1 B U C H S T A B E N UND 1 ZIFFERN. 14 ZEICHEN. 14 B U C H S T A B E N UND r ZIFFERN. ABCDEFGHIJKLMN$ G E L E S E N W U RD EN DA VO N WA R E N 1 2 34 5 6 7 8 9 0 » GELESEN WURDEN D A VO N WA R E N ??? 10 ZEICHEN. 0 BUCHS! (IBEN UND melden !! Wer hat Interesse daran, daß die Inhaltsverzeichnisse der 98 MICRO lv ZIFFERN. !“ i x t . ' < ) G E L E S E N W U RD EN DAVON WAREN L I S P Bitte bei Josef Konrad 10 ZEICHEN. 0 B U C H S T A B E N UND in INFO aboedruckt ws'-jr- ;.-!|en? Ulrich Böckling r # Zur Zeit sind Foto-Kopien dieser Verzeichnisse 2. Die L i b r a r y mit den e x te rn en T R S - F u n k t i o n e n bzw. P r o z e d u r e n < T RS LI B / O B J > e n t h a l t wohl Fthler, da P r og ra mm e, die Die beru tz en , nach dem Linker, nicht me hr ei nw andfrei fu n k t ioni er en . be. ‘ ■ "ad erhältlich. 3. 2er O v e r l a y - C o m p i l e r steigt immer m i t F e h l e r m e l d u n g e n aus, o b wo hl es sich um e i n w a n d f r e i e P r o g r a m m e handelt. F a ll s jemand P a t c h e s kennt, um di e s e od er a.tch a n de re Fe hl er zu b e he be n od er ab er die: c P r o b l e m e mit dem A L C O R - P A S C A L nicht h a t P so soll er si ch doch, bitte bei mir melden. J o s e f K o nr ad © Wer kann helfen! Ich bin nun glücklicher Besitzer der HRGlb von RB-El ektronik und möchte natürlich Graphiken erstellen. Dazu habe ich -folgendes Problem. Nach dem Laden des Treiberprogr. von RB und dem nachladen des Basicprogr. "Graf 1ix/BAS" aus der C.Persönlich Nr.21 v.3.10.84, jassen sich die Graphiken einwandfrei erstellen,nur ich kann die erstellten Graphiken nicht Speichern und Laden.Der Computer bleib hängen. ? ? ? F r a g a Ich m ö c h t e m i r e i n e C P / M - f ä h i g e n C o m p u t e r z u l e g e n . w i l l i ch n i c h t von d e r T R S 8 0 - L i n i e a b w e i c h e n . A u s G r u n d s u c h e ich L e u t e d i e e n t w e d e r : - Wer kann mir auch noch in dem Pr o g r .Gr a f 1i* stehenden Druckei Zeilen von flTOH auf EPSON RX umschreiben. * o d ir NEC J'ir LPRINTC HR* <27)"E"CHRJ<27>” T 1 6“ C H R <(27); LP R I N T C H R ? < 2 7 > " S 0 3 8 4 " ; i h r T R S 8 0 M o d e l 1 auf 6 4 k E r f a h r u n g s a u s t a u s c h ) oder - ein auf das auch noch pies e beiden Programme habe ich nun hervorragende H-DOS von Arnulf Sopp kopiert. Mit der JKL Funktion besteht nämlich die mäglichkeit die HRG mit auszudrucken. Beim Druck habe ich aber folgende Ergebnisse.(siehe Abbildung) Wer kann hier helfen. VideoGenie I oder II RAM mit *auf g e b o h r t " haben 64k RAM zu verkaufen Trotzde diesem (zun haben. V o r a l l e m b i n ich an e i n e r A n l e i t u n g z u r E r w e i t e r u n g d e s T R S M o d e l 1 a u f 6 4 k i n t e r e s s i e r t . S c h a l t p l ä n e für e i n e n M a p p e r b e s i t z e i ch b e r e i t s . H a n S~ J. k'ÖfjiG ■ WWer hat Erfahrungen mit einem VOICE SYNTHI ??? Wie wird er eingebaut ??? Wer kennt Bezugsquellen ??? Lohnt sich der Kauf ??? Patrick Perschbach ■ ,»,r 1 1 •r Wer hat Erfahrungen oder Bauanleitungen über einen ’Lichtgriffel* für TRS-30 Mod. I ? Ist der Light-Pen auch für die HRG verwendbar ? Jens Neueder Ich habe seit längerem die Grofl-/Kleinschreibung sowie weitere Tasten zur Erreichung der Sonderzeichen eingebaut. Nun habe ich damit folgendes Problem : Bei eingeschalteter Kleinschreibung sind die Kleinbuchstaben Wie ist es möglich Filenamen zu Sonderzeichen (speziell Lfcnlaute) verwenden? Das NEWDOS lässt ja nur Filenamen erreichen. Ve i n e klein dargestellt -wie es auch sein sollte-. dadurch die Filenamen genauer angeben L lassen und man weitere Zeichen mehr Codierungsmöglichkeiten hat. Jens Neueder Bei sind sicher interessant, da sich durch oder Basic) über SHIFT zu in Buchstaben' bzw. ab der 2. Stelle auch Ziffern zu. Umlaute für (im NEWDOS der Utalaute nur Alle anderen Buchstaben werden aber Arbeiten mit Textverarbeitung ohne oder SHIFT anderen Betriebssystemen taucht der Fehler nicht auf. Wer kennt die richtige Einstellung bzw. Lhnl autkleinbuchstaben ohne SHIFT zu erzeugen ? Jens Neuder den Zap um » Bierlexicon Unnummer S 01ÄÄ A 01 /BAS S 0177 B 02 /CMD Hilfe dieses Programms kann man sich ausf uehr 1 i ch ueber die deut schen Biersorten informieren, ohne dabei Gefahr zu laufen, wegen Alkohalismus seine Stellung zu verlieren. Das Programm macht, vom BASIC aus geladen und mit "NAME“aufgerufen, alle nicht als Sprungadressen benoetigten Zei1ennummern zu 0 und ei schwert somit die Veraenderung von Programmen durch Unbefugte. Fuenf zehnerspi el QUADRAT0 G 0167 A 03 /BAS G 0178 A 01 /BAS — Wer kennt nicht das unterhaltsame Spiel, bei dem es gilt fuenfzehn in Unordnung gebrachte Zahlen in einen 4*4 grossen Quadrat durch ver— schieben der leeren Stelle wieder zu ordnen. Das Programm verwaltet das Spielbrett fuer das bekannte Quadratospiel. Es ermoeglicht nicht Quadrato gegen den Computer zu Spielen! Quelle: Homecomputer LISP SuperTape S 016B A 03 /BAS S 0180 B 05 /CMD — Diese Implementierung der Sprache fuer die Programmierung von Proble men der kuenstlichen Intelligenz entstammt der Micro 80 Maerz 83 S. 176 Supertape ist ein Programm zur schnellen Speicherung von Programmen und Daten auf Tape (siehe Clubinfo Nr.7). Quelle: c't LOCEDIT Westwaerts 1B47 S 0170 A 02 /BAS B 0181 A 03 /BAS Das Programm entstammt der Micro 80 und ermittelt die genaue Stelle, an der ein Syntax-fehler in einer laengeren BASIC-Zeile auftrat. Das Programm ist beim Editieren von Programmen sehr hilfreich! Ein gutes Adventure— aehnliches Spiel mit Grafik. MÜDEM via Cassettenport CMDPATCH — BASIC Erweiterung S 0171 B 05 /BAS S 0182 B 03 /CMD 16 — Dieses Programm (Micro 80) ermoeglicht mit Hilfe einer/ kleinen Zusatz schal tung den Betrieb eines Modems an der Kassettenschnittstelle des TRSB0 Ml. Man erspart sich also die Anschaffung einer RS232. Dieses Programm erweitert den BASIC — Befehlssatz um die Befehle: CLIC K, FLASH, MELT, RVS und PIEP. Quelle: ELC0MP 4/5 84 PILOT D E F INPUT S 0172 A 03 /BAS S 0183 B 03 /CMD Quelle: Micro 80. Dieses Progranmpaket (3 P r o g r . ) implementiert nicht nur einen PILOT —Interpreter sondern stellt gleich einen kurzen Ei n — f uehrungskurs fuer diese Sprache dar. Dieses Programm erlaubt es, den BASIC— Befehl . Eingabelaenge usw.) zu versehen. RX 90 — Einsteller SPOOLER S 0173 B Ol /CMD — Input mit Parametern S 0184 B 03 /CMD (max — Mit diesem Programm kann man sehr leicht die Parameter (Schriftart, Randeinstellung usw.) des EPSON RX 80 einstellen. Das Programm ist ein compi 1 i ertes BASIC-Programm. Ein 4k R A M — Spooler der die Programmausfuehrung von Programmen mit viel Textausgabe erheblich beschleunigt. Da der Sourcecode vorhanden ist, kann der Spooler leicht veraendert (Groesse usw.) werden. Telefonwaehlt TOTO S 0175 B 03 /BAS S 0105 A 03 /BAS — Das Programm ermoeglicht, nach einem geringfuegigen Eingriff in das Telefon, mit dem Computer Telefonnummern zu waehlen. Autor: J. Herl Ein Programm, mit dem eigentlich jeder zum TOTO— Mi 11ionaer werden muesste! Autor: Guenther Wagner User Definable Keys INPUT S 0176 B 05 /CMD — Mit diesem Programm (Quelle: ELC0MP) kann man die meisten der Tasten der Tastatur mit DOS— und BASIC— Befehlen belegen. S 0186 B 03 /CMD — Das Programm erfuellt die gleichen Aufgaben wie das Programm DEFINPUT (S0183B03/CMD) jedoch mit anderem Syntax. Autor: Gerald Schroeder © Krift«trk D 01B7 B 03 A t h n l i c h d tt A d v e n t u r » P o x t r p l * n t t r M C i t i r t u n d «it Hi 1 f ( F u n k t i o n e n TRANSHUT /BAS jcdoch « i n g c d t u t i c h t , crhcbllch v i r i t h c n v on G e r a l d S c h r o e d e r 5 0 1 8 9 A 0t /BAS Dltsti Prograa* trleichttrt die Acndcrung von B A S I C - P r o g n a i c n . a o c g l i c h t z.B. d i e g l o b a l « A c n d t r u n g von Viri abl e n m a e n u n d d u - d t n v on B A B l C ~ B c ( c h l i i i o r t e n . »Feierabend!« Ei »rfiuffin CLUB BO — P r o g r a m m b i b l i o t h e k Heute e i c h t e ich b e i o n d e r i i m H e rz tuch nieder legen. e x tin p u r Prograaae au i dtr Bibliothek gini Di M i r e a l l e r i t e i e i n a a l d ie «irklich leh r g u t e ü b e r i e t z u n g de i S u p e r u t i l i t y * 3 . 2 - H i n d b u c h e i von 6 e n l d S c h r ö d e r zu n e nn en . Si e e r a ö g l i c h t ei a u c h dea , der engliichen Sprache weniger aichtigen, B e i i t z e r der S u p e r u t i l i t y dieie voll auizunutzen. D i e ü b e r i e t z u n g li eg t all S c r i p i i t - F i l e vor und kann 10 v on je d e a i c l b i t a u i g e d r u c k t o d e r d i r e k t aa B i l d i c h i r a g e l e i e n « er d en . Dal H a n d b u c h h a t ü b r i g e m ca. 70 S e i t e n ! ! ! Weiterhin n i r t n zwei P r o g r a m zu n e n n e n , di e i c h o n l i ng e r in der Bibliothek vorhanden fi nd . Ei handelt l ie h da be i ua EDITOR (S0007A01/BAS) und Akt i en T a b e l le ( S 0 0 1 B A 0 2 / B A S ) , b e i d e von umerea Clubgründer G ü n t h e r W a gn e r. D i e i e P r o g r a a a e H ü r d e n v oa G ü n t h e r ü b e r a r b e i t e t und li nd n un in i h r e r neueiten V e r i i o n zu h a b e n . Zua T h e a a A k t i e n v e r N a l t u n g ka n n ich n o c h b e r i c h t e n , daB unier M i t g l i e d Ulrich B ö c k l i n g ein iehr gutei P r o g r a a a zur L ö i u n g d l e i e i P r o b l e a i g e i c h r i e b e n hat. Ei iit l e hr u a f a n g r e i c h u n d ait v i e l e n HiHifunktionen geipickt. L e i d e r l ä u f t ei nur ait e i n e r H i g h r e i o l u t i o n 6raflk-ErNeiterung. Wer ei h a b e n a ö c h t e , lallte lieh bitte beia Ulrich direkt e e ld e n. Er bekoaat da n n nialich noch die A k t i e n k u r i e e i n e r U n a e n g e v on F i r e e n aui d en l e t z t e n 1 1/2 J a h r e n a i t g e l i e f e r t . Zu gu t e r Letzt noch ei n a a l ein HinNcif zu a inzNiichen abgeichafften Punkteiyitea. laaer Mieder i c h r e i b e n a i r M i t g l i e d e r , ic h l ol l e i h n e n ihr en aktuellen Punkteitand aitteilen. Hier alio noch e i n aa l der Hiniteiii Du Punkteiyitea iit a b g e i c h a f f t ! !! Jedei Mitglied ka nn io viele Prograeae beitellen wie ei aag. Diei kan n z.B. io w ei t g e h e n , da B ean air ein e entiprechende Anzahl D i i k e t t e n (die Bibliothek uafaBt z.Z. ca. S DS/DD/BO T r a c k - D i « k e t t e n ) z u i c h i c k t un d da n n d ie k o a p l e t t e B i b l i o t h e k z u r ü c k b e k o e a t . Trotzdea tollte natürlich nieaand vergelten, leine iclbitgeichriebenen oder a b g e t i p p e t e n P r o g r a a a e in d i e B i b l i o t h e k e i n z u b r i n g e n . D a i Mari aal Mieder. Ich h o f f e , ich h ö r e b al d aal von Eu ch , Euer 0*>«/T>*a4Yn