@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@W!( L(1   Y I`  d  Ld M * @  $ % CC$$)%1 Udߥ$9%: !0 S$% DD˙`  }J)Lr d M * @  $ % CC$$)%1 Udߥ$9%: !0 S$%} DD˙`  }J)Lr J  ((  p L ()   J}L= ( L 0q A    IB JC;? D W } LL  ` W )LA!  ߰")-݆ p" } $G@LL 08`Q")<2Q0 -G$Ș݆ UL# ; p8(()(0ʥ)NQ` }$GȘ݆LU )L ݆ L GȘ ݆LL )W>Z   HH)H }p h  hyhy D L> L JJ    ! LA*` BF }7'8  M HN H` 8 Z  \LdJJ!"! GFE@F (!L }EE !E^ ^ E E7EȩEdE/EȩE  D } .L }  ;F d  ;?F7F? ( .   Z D LL d } . D  L    p  E` , d)  D L) 0BM݊L݉} ML  N݆ L NLML [ TEqEHȱEqEh 0Gȹ G} HLL GɛL  LFREE SECTORS G) *Gȩ GȽG GȌ*jj >G} C8jJ3j2CD( C202C ԠBX` N 1? l LlD:RAMDISK}.COMLu L1 L ;LHL  T`  `8  ɐ     `TU  } L ? .  t`GBJ ~DEHI B V0dV!}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEh"}DEL8HI4 0 HI,0 0  9 .G VLO#},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D8:MEM.SAV J y08 B|DEHI$} V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEHI%} VY8 B V  @  /DE `E:D8:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO &}STILL RUN DOS B;DE J  (` 9 V⪍ ઍ  -'}LLu ÝDEHILV 9 .l 9 .l  `` s$B BH(}I|DE V BLV nB,DE JLV B V BLVDEIʩ BꭝLu } 3E:}DISK OPERATING SYSTEM II VERSION COPYRIGHT 1984 ATARI CORP.A. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDG*}E J. DUPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRES+}SF. LOCK FILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES P. FORMAT SINGLEL !N',}#"&))9(&*)/h)''-&؆莟R'S  vL/ˢ L }Insert DOS 2.0s, type Y Λx -}DEfHI 1莏#q! @ y0ɛ8A0,' ȅ 1 1ild! 1L!NO SUCH ITEMSELECT.} ITEM OR FOR MENU! 0 .z:*{}.|{ 1 0 0JB 18L%|DL/}%DIRECTORY--SEARCH SPEC,LIST FILE?[# 0 0 &|D3" 1L!NOT A DISK FILEN !B 1L!E# 1 !BD0}ED:}:1BJ|DE 1DEBHI 1 h0ߢ 0.1}  0?詛 1 y0YЛ 1 ;#L" ;#L! BL1TYPE "Y" TO DELETE...DELETE FILE SPEC2}COPY--FROM, TO?OPTION NOT ALLOWED561 FREE SECTORS COPYING---D8:COPY32.COMl# 0|D .L/%#3}##JB|DE 1BHID#E 1#0: B 1L!#͑### B 1#c$0SY4}S1}:## # # .#Ƚ# # 𩛙## 1,#PD#ELJ- <.BJD#E 5}1 1HH 0hh|DL%1}:̳# L% #D#EL% 1 0 . .0O% 1L!WILD CARDS NOT A6}LLOWED IN DESTINATION 0 <.|K}N 2 FORMAT. t* 5) 1L!`) 0NΞ 0 L1) 1 L!BAD LOAD FILELOAD FROM WHAT FILE?) 0 ?}0#B 1L!WHAT FILE TO LOCK?) 0 0$B 1L!WHAT FILE TO UNLOCK?DUP DISK-SOURCE,DEST DRIVES?TYPE "Y" IF OK TO US@}E PROGRAM AREACAUTION: A "Y" INVALIDATES MEM.SAV.FE! +L1   `*  70 2 2A} 0.* 1 y0 0)INSERT BOTH DISKS, TYPE RETURN^, 1 y038逍 N, 1L! ,B}C, t*  Lx+, 0 ^, 1 y0 , ,0,0 ,L+ ,I0 ,Vǭ0C}Ξ, 0 }, 1 y0C,ШC, 0K'!" H H 'h h Lx+!EF 5L1L!D,I,HhD}` NOT ENOUGH ROOMINSERT SOURCE DISK,TYPE RETURNINSERT DESTINATION DISK,TYPE RETURNE}`  `8 rL1`-* 1P* 1 y0Y`hhL!NAME OF FILE TO MOVE?- 0 0|DL% <.F},^ 1 70 0 .@L# .BJ 1  DEHIB V L1 ,} 1 70,L.  G}JB|,#P#DE 1 HI BDEHHII 1 B 1 ,^ 1 70,0La- B V,#PH},^ 1 70 0L#L!-* 1P* 1 y0Yj383}mm ݭI}}`8}``|* ? ɛ,`|:-)| / 1L!`DESTINATION CANT BE DOJ}S.SYS0 0H{ 24Δ 28/L!/) 2 Π 2 0 ξK}hAΞB,0 J 1 BDEHI,HÝDE 1HIHIDELSAVE-GIVE L}FILE,START,END(,INIT,RUN)O S0 1`BDEPHI V` S0H 1 L!M}0 0 1L~0`PLEASE TYPE 1 LETTER,0`hhL! 70 1L0L<1 ,;ɛ7,"ɛ:ݦ1ݥN}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{NAMEO} TOO LONG B VL!` L1I H1EΝDL1|mDiE` V0`8d/8 i:222 1 LP}!ERROR- 170ɛ+,' 20*.. өr2 1``2TOO MANY DIGITSINVALID HEXAQ}DECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8uR} ECIMAL PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1NEED D1 THRU D8u8<<  B JKIHiDiELV`L8 8 BLV`LxT}8t8l Lu8hihiHHȱȱL8c !#3`Lu8JJJJ`H 8h`HU}ȩh Q8L8 Z8L8 8L8 8L8 8L8S:@9E:E9H '9 H9I9 8 '9h)0ICV}9D9L8 L :::: :Lr:::IEL[::i:iIIL[:`:i::iX}::L:`L{:w:w: C`L:L: D8:MEM.SAV: 8| 9 '9`L:L: D:DUP.SYS:̩ 8Y} x:ɀL: '9`88 |9Y:X: '9L); D8:DUP.SYS; 8::88 9 '98? :`;WL`; 9Z}Ln; ` :Y;Y;L;L;)} Setting Up ATARI 130XE Ram Disk; 9L; ; -9  [} L;D8:; :9 :Y;L'ESPͽݤU̸HPJJJJ PH) h hT̷ H i}hRSR̺H) ` RJJJJ p hS̿H) SJJJJ h`/ԽTURS j}` `MӢ8ӌӢ<`0l /mȹ k}m  D)ӥ    Lt䩀DEHIDEEHIB V B V`/ l}DȄ   7.6 ]^ ȩHHLUh@l$%D:*.EXE D:APPEND.BASB V B V`/ hUxDATPOLINIINTDP@@@ @1@@IIn}II|MENUE1 .EXE|Harald Goedel, Am Bahnhof 4, 6270 Idstein|10.12.1990|IIo}II|--> Der erweiterte XEP80-Handler dieser Diskettep} (AUTORUN.SYS)|II| sucht und startet ein BASIC-Programm mit dem Extender *.EXE!|IIq} ;@, .@.@@DE: 5 @!5@$@r}@E:++@ @@AE:9@e'AfAF9AgAs}V-@.(>:@',>:A8,V@ @@AEE:! (}6-@!6-@ +t}-@"#-%'(+ )AdAU3&6-F:Ad,&"AU@Q4kk6-@$+"@1,%u}@$+"@0,%@$+"@&,%@$+"@$,%@$+"@),5!! @)!@@A6AAdv}AUAAAAAAcG(>:@',>:AU,D@ @@AEE:Gdw} DOS e.f Atari-BASIC  (} ++@ @@AE:, Tux}rbo-BASIC -6-@.+-@ "#-%'(+ /++@%@@E:05@y}5@@ D:TUR.COM16-?:C:hL,,2 Directory H-%@ H(2Inhaltsverzez}ichnis (nur Programme und/oder Texte):Z-%@Z(D{}>6-@>@@D1:*.*H@*6-@:7@<@,,H!@G* @X|}A!7@<@,4SYS)7@<@,4EXE)7@<@,4RAM)7@<@,4TUR)7@}}<@,4AUTA6-%@%P:'@,[*-%@3$+@$P:'@,,[(| 7@<@,~} 7@<@,%-%@g(|%6-%@ A<(6-%@%P:+%@,'@,<!}A19 -9(+| Keine Programme und/oder Texte vorhanden!%-%@g(|%6-%@R -R(D}A #A!!-@@%"9-@&@=(A }&6-F:Ad,&@(AA% Textausgabe +-%@ +(Lade --> LESER80.BAS%D1}:LESER80.BAS Data JJJJ| ͠} --> Bitte Kennziffer 1...5 auswaehlen! |JJ}JJ| | DOS 2.5 (80-Zeichen-Bildschirm) |JJ| | BASIC (Atari-BASIC) } |JJ| | Turbo-BASIC-Interpreter |JJ| | Inhalts}verzeichnis (Disketten-Laufwerk 1) |JJ| | Textausgabe-Programm (LESER80.BAS) } |JJJJ̠ }JJ   |JJ|| |||||}||| ||||||||| |JJ| || || |||||||| |||||| |||||||  |}JJ| || || ||||||| |||||||||||  |JJ| || |||| ||||| |||}|||||| JJ|     ؠ̠JJ}JJ| à Ơ렠Ϡ |JJ}666}6| Š㠭Ԡ |66 D1:MENUE1.EXE}| Š㠭Ԡ |66 D1:MENUE1.EXET;PLINDATPOCHR@@DP@@KK}NN|TURLOAD.EXE |Harald Goedel, Am Bahnhof 4, D-6270 Idstein|05.12.1990| }KKNN|--> Der erweiterte XEP80-Handler diese}r Diskette (AUTORUN.SYS)| LL| sucht und startet ein BASIC-Programm mit dem Extender .EXE!| KK} ;@, .@.@@DE: 5 @!}5@$@@E:++@ @@AE:9@e'AfAF}9AgAV-@.(>:@',>:A8,V@ @@AEE:! (}6-@}!6-@ 1-@ ")-@%-(1 )++@%@@E:*5@5@}@ D:TUR.COM+6-?:C:hL,,cG(>:@',>:AU,D@ @@AEE:G}eJJ̠ fJJ  } |gJJ|| |||||||| ||||||||| |hJJ| || || |||||}||| |||||| |||||||  |iJJ| || || ||||||| |||||||||||  |jJJ}| || |||| ||||| ||||||||| kJJ|     }ؠ̠lJJmJJ| à } Ơ렠Ϡ |nJJ D:T}URLOAD.EXE렠Ϡ |nJJ D:T ^^xlf~gf|fcO6``fl8LfffNDpbnbx``6`xgf~fzX^x~ f>flxl``fcnf~~ffv~n}>vfflxFf|``>vffoxFf|l>28Nf>>008`gffvacflxpffv~ng68f$<p~̘0vf`0  <~}!E"\]_p\CD!EHI BLV}H A P P YC O M P U T E RTURB}O-BASIC XL/XE V. 1.5 1985 Frank Ostrowski Vertriebsrechte:MCS (Micro Computer Service) MAINZBezugs}quelle:  -Raimund AltmayerBrunostrasse 80D-54329 Konz!  ө)}6L]""$$ (p%J[WܠjeC /D%Zub2gTSt$8®݊Ò}2% 5RŢtd.’$3@X7t5w5$?## $#L+D:*.*S:C:P:$#.#}) `:#(6ENeU\l؏&/ؕ؄sأ$LENeU\lأ$8آǔƐƉƐƇ4cY%٦rULۉCۄړp^gyض}%iwܸJڅ*ܣ$ڭڞجئأأ$ ,(""(222000000..222222222222222222222222222222**22*2}2&222$2222222222 ,(""(0000000--**2*&22$2222222 V`h}h@,lHH$HHHHHHӍl"H$HHl $`GHFH\` ` 4ӭ l 4Lq Ӡ}ԪӅԆL} Ӡ L( ӑ) ` b% +L:#HH 0 HHLj%ӥHlL{ee }8eeeeӦee褢%ƚƜ}`88夅奅8夕奕Ӡȱȱȱ㦢`L+`}8` .E)))8@8e0 *څۅ܅݅ޅ߄ԠF0y"ޥy"ݥy"ܥy"ۥy"ڥy"و0ǠF0}y"ݥy"ܥy"ۥy"ڥy"٥y"؈0ǠF0y"ܥy"ۥy"ڥy"٥y"إy"׈0ǠF0y"ۥ}y"ڥy"٥y"إy"ץy"ֈ0ǠF0y"ڥy"٥y"إy"ץy"֥y"Ո0L-`8`E)}))8i@0 *ڄԠ"("!""" "L**"""""}"&О"("!""" "L**""""""&О"(}"!""" "L**""""""&О"("!""" }"L**""""""&О"("!""" "L**"}"""""&Оd"("!""" "L**""""}""&ОL-6"e""e""e""e""e""i""}"""}"""}"""}}"""}"""}""ǭ"m"""m"""m"""m"""m"""m"""}"""}"""}"""}"""}"}""}""ǥՅօׅ؅مԅՅօׅ؅`` ` ` `80 `ԥՅ +.JJJJ)i}FiFi1FicFi'ȐȦoFiUȐFiiFi#iFiGi Fii@F iiFiici}ՊFigi'iՊօשBL-`I))83Ԥԥդե֤֥פץؤإ٤L,K6"Х}L--L--L--E0:e٥eإeץe֥eՐ؅٥ׅإօץՅ֩L}-8٥إץ֥հ'I8م٘؅ؘׅטօ֘ՅL-ؤm\G0Q@Ն֩م؅}2եمֆשم"ե؅֥م׆ةեׅ֥؅ץم؆لԘ)q +` . |. &7i |. ,%!}L?.`刱䈱㈱∱ሱ`ԅՅօׅ؅م`ԍՍ֍׍؍ٍ`ԍՍ֍׍}؍ٍ`L.L. Խսֽ׽ؽ` L%/`ӽޕ &ԅ)}@إ)JJJe)e - M 1. &Je0F 2 . /L(8`@ԠՈքׄ؄` . |. , . .} |. , #/L(8`0 I@ԥ) 2f / . & r 1. #/ &?P , .Iiԩ +})ԅ ,ӽޕL(`8`$)Ԧ61718191:1;1 (ť)8@0$Յ)e)e} -F . / , . &1 1. #/ &F I`U9>`D'RFuCU?b9dYdg@W2@?tS)%)@0})%ԅԢ / . &G  1.Ӱ6 #/ &.ӽߕ ,ԅԥ B1 (`8``0?}i? . . / , #/ &ԍՍ֍׍؍ٍ . . ( / , O2 / ,0 .JeF 2`L+}) .e٥eإeץe֥eՊi؊؅٥ׅإօץՅֆե1ԥ'JffffJffffJffffJffffم}`ԩ&&&&*&&&&*&&&&*&&&&*`Pi`)JJJeԅԘ)Peԅ`եԆ8@EB)JJJeԅԥ)}PeԅԘ)3eԅԽ3eՅ՘)JJJ}3ԥ}3`)JJJeԅԥ)PeԅԹ3eԅԹ3eՅդЧ` 0@P`'Nu pX}@(#d,X L(  兢0襙 bɥ⥋㩀 50ɥ0DȱȱȄ   i}k#ZMkVgğe拰ㅋ⅊0 eee拰 L f5дƨħ 4LY4 f5К,}ŧH 4h h5L4樤ܱ.* O %30  5Ԅ +(fԤԈ`ř嚰Ԥ`ڥۥड़0-԰}eڅڐۈ0eeL+58` O#`,#5  6`]5 6DE 68D}HEIHI V0$ 6Sл B V,# 6` $#LllBHI V0HH V0Ԩh``a$%Ȏ}$$xө$Ѝ$ ` `@X a)6 Ӆʢ ʎD  _ɠ} %` ɩHH `өL: g% D:AUTORUN.BASөjJHH`ՠԢӱԙ!ӹ!}`֝DEIHB V0YڝDa۝EօܥׅݥܝHݝI V0+Ӡڑڑ0`}l `  䅠 _ɠԐe拢 &L &Lħ © ¥4 䥝ň剰' k }ɀ8@4= LY ĩ`OJ ]J?L˜ KԪȱLRHHצ R, hhLRHHHHHH /}0ȑȑޠhhhhhh`HHHHHHHHHH $H bɐh}LHhhhhLň剰)i桰` )``L(兢ħ #$} x Hҩ h$襚ҥ ԝ` UV #T` ` `,H ¥ȍ` JKhLŢ  #})I L ¤Ȣ`L¦ ¦ Lĩ ½J*K+ $LąLĩ …L~ …`H Ġh é`,}H hH Ġ  ĭ 8}} L n [h`LkL © 8倝偝} Ġ  ĥ󥃅  Lĩ LHé éLH#h ĩ`H hKJ L+ , H }hHHħ s hKhJ  Lĩ# qL ĩ ŘL ũ& QŽLM " ĽNL  ĥԝL՝M  ĥԝN%LV } ¤ħ` Ťħ` ƪ Ċ Ťħ` ¢`届 x݅ L ĽCӠɀ L]}Ɉ L] Ln LŠIHEDBL$HH hh +L `ħ } LĢl ¦`YDAER ԅՅ֦󅗄`L+ ¢p 0 Hp hɈL` ,#,$,!}Lé ,H ĥDEԝH՝Ih L©L $`L© , k ĩԅ  + ĥ 夨ħ`}2ƪƪ ! A!Ƚa!Ƚ!Ƚ!Ƚ!Ƚ!``氤hhL1@$ƪư 0 0 n$P`L+FҐ}֥װ綾إٰو LǠFfؐ ee&ee* &eeeԪeըee$}.ƪ@!Ƚ`!Ƚ!Ƚ!Ƚ!Ƚ!`檦!!!!`!@!^!` Ȅ 8 n奱 }٥Lǥ֤צưĘ=ŗ78֪א& eԥe$`L: L ԅՅօׄ 1פ&} ٤ţĢԅeՅe8包卅 ]& 8Ԩժ%אְ`ֆL夨ħ` FҰg8&0ei֥}i0Tׅiإi0BJe؅eم0&ffff&0 &0 eeL+օפإ颎 %8包ԥ}卅 L ɥ ȱъŠe拰8``,ªȱȱI ѝ3}ȥLɥHHO]  ȥe暰Х ȥL+ʅȱhh}`Lħ OԪȱԨ``L :0 `L(奷 bɥ󥋅ȱȱȱȄ}#鈄0B8eeŶɛ,@LBˤ,ɛ`L?± ˤ樱f Oƨ} x݅ + ~ [ˠ O樥0# +  L˥`LL :ɛ,$PH h }$P润䧰 ʐLʦ䧐 +` ʐL3LBˢԝD՝E֝HםI L 兢L]& 兢L% ,L6 ,L6 &}L6 (L6妪@!I@!` ؐb`P KW ؐRB ؐ=;G ؐ4@ ;+ƪƪ@!=A! (ƪƪ@!A! ƪ@! ,}@@檦@!`!!!!!!`ƪ@! ǩjҤ /L.٤ƪƪ@!@!, 舽`!`!!ـ!!٠!!!!!`@}!jI*` . ֪ (ϰ`(8` ֤ׅԄ +҅L: Lyƪ8吪周}Ly sũ + ŐL Ly sŠԄ h L} L}٩    e쪽pLyL( + ڥHJJJJ h) 0}:i`  ک; n +ȱ)ȥ%ݓ Lh ԍՅԄׅ֩өL:ƪ?Ԣ )ɠ )}  -L &Lڦ@!)@!` n)8@ -L:` / n)8@I= n)8@/ѩ֔}$ሄ ,L: + n 0L8 n 0L8 n H1L8 n /L8 n /L8 n D/L8 n 1L8LLإL( }&)ԥ)8@JjH@MC)JJJe)e .F / .P . &F . #/ &}L.L(HHHHHH /hhhhhh & Y/hԅL:,` L _ܘ%ᨥ%Ly _ܘᨥLy _ܘEᨥEL}yٚ<|'g 0L`!!!!i ` &LإL٥LyɥLzv}mZ ƨ!0 4 䦵 ¥ԝD՝E֝HeםI Lܤį eį L` x݅ƨLLLܤ} ©`#ۢ Lĩ_,ߤ ڄ . eڅԥeۅհ"8څ֥ۅא8ܥݰL}۠Q%0ԅإՅ٥ަ0%Q% L-ե0LޥڤLyمօנ6&֐ eו`L( }Hħ hբՅ `ޥԢ `ޥՅ֠&&֐eܥeېڈ 7 \ 7 j N \ N j$0!ee}80å/8ܥ۰uڕ0eUiV`TUV`8UV`eTi`8TȢ` $}L„')Q ȱ8 e新`8`L齀).Q Ӱȱ8e新} O :L䅫# *$Ŭ Ʃ HL"䥫ș L` Ml/#樱0ZS'`ȱȱȱȱȱȱ}Ȅ`ȱօȘuԩׅu՘e֨҄`樱I 屝Ҡȱȱȱȱȱ` n$҅J?eԨe}` L 兙 兛 n %3 Ԥ` ҩ, , , L檤 ٙ!ؙ!י!֙!ՙ`!ԙ@!ә !ҙ!` 䤪ƪ!}ٹ!ع!׹!ֹ`!չ@!Թ !ӹ!`ƪ!!乡!㹁!a!A!Lp ґȥӑȥԑȥՑȥ֑ȥבȥؑȥّ` ***}j)e)e`ʭȅiȅiȅȩȩ Lfإ  4 } \ +] ¥򄟄   넨ɛ$0L祔 Z f0#}ڠ쩀 ߩ6ei$0 녖چ + !5ɛȑ @膔7 ɛ 襔!ɛL}! _ɩ8$IȢ %e拢 &!$P* &8孨客 "&$ 1L~ L~ &L _ɰ}e拢 &L~ +0 %30Ԅ 襡L 9:枢0 O L :H9}Hhh tLHH`hhLCL馩`ʆLC枢0ְş}LC`A枢Ɣ!L!L!T 򈩛LQLD ijq ߰,iŰD VD8}` 覲`8` 넬 S( +饰0 S0:$$ p8`$p (ȩ@҅ҥ򄬤 ߰ A }L8򨢄 %Ӥ򈦬ʽ ʽ % +HH 屝EҨhh$P0Ƭ 襯I `}_A[`8`80 &Ոԅ` 넬$ +  + h갳 h) + , 褔ԙ!}` "8` 襔 ɛ "ȱ"嫤!`! `) ɛ%)a{)_0:A[ }_դ`RE͕DATINPUԑCOLOҝLISԖENTEҚLEԛIƜFOҗNEXԑGOTϑGO TϑGOSU½TRAАBYŐCONԞCO͟CLOSŐCLҐDEǞDI͐ENĐNEנOPEΖL }OAĖSAVŢSTATUӣNOTPOINԡXIϤOΒPOKťPRINԐRAęREAĨRESTORŐRETURΩRUΐSTOАPOХGEԫPUԑGRAPHICӒPLOԒPOSITIOΐDOӒDRAWT }SETCOLOҬLOCATŔSOUNĦLPRINԐCSAVŐCLOAĚERROR- DPOKœMOVœ-MOVŪ*ƐREPEAԑUNTȊWHILŐWENĐELSŐENDIBPUBGEԒFILLT }DϐLOOШEXIDIҖLOC˖UNLOC˖RENAMŖDELETőPAUSŖTIME$PROøEXEÐENDPROÑFCOLOҪ*̕-RENU͒DEDUMЪTRACTEXԖBLOAĖBRUθ }GO*’PAINԟCLӔDSOUNCIRCLū%PUԘ%GEԚGOTGOSUTSTETHEΣ<<>ުNOOANĨ<<>STRCHRUS}ASVALEADATCOPEESIRNFREXLOCLOSQSGABINPADDLSTICPTRISTRIDPEE˦INSTINKEYEXOHEXDEDIFRATIMETIMMOEXE}RNRANTRUN%%%%GOUINSTERER+,%5&6(+8,<Xk`fghilm^deDѳH}c?,Ќ,е,Y_Ҳ+7,/01 2!3"4Ɛ"-"."-؂}֐ːĐאŐbj}+9,+;,ʐͭͭ@ABC\=>[<+:е<,&%}rvnnxc<\-78s_XV+@D&0d*"'}2GJh NRl~&2 +饰(+VWZ ]a8`L` } ¤ħ.H h L5 䄡  䅭 bɠ04Ů .ŭ%) e拰} ĩ L+Ư0 Le`毤Hɛ) h`  L ȱ R @}ʆ ȱȄ Iğ` :62T F :7 8 Lbԩ- L 8 8,I ɨ 8L.UH }`ƨh $ %3   + \L L 8󅯩" ¥ 8" ©" Ư" L8q :Z#]abj(}=) W같  L樤ħ`hh`H YhZ L<>EO ƹƹ0`H f5h`I&` }=? FQA` L񄳱ȱI 䦐Ħ ąŅ T k /䧰 k ,Ǡ ĩ}JH ThĥȑĥȑĦʊȑ`HHąŅH h hhhh ȱIELZ L`ȱI } Hȱȱȱȱȱ , h @ $L+L.*ȱȱȱȱȱjE}E `EjI `e`ħ ¥0 ` Lk 䦪`! 䧰L A}@L `I&`L ©؅ L.0`STOPPED륺 bɠhhL :ʅ` k %3}Hƹ h5h`hbjH h #ԤLQ #LLei  `LԑȥՑȥ }ȥבȥؑȥّ``䈥剰#)iiLɠL4űI&`!}048ץğ=ȱȄ `L  L0e拠0ȱȄL "} 䦪`!' >?L (<ж`!  $Л +`,LőŐ78Ƒ#}8 Ƒ`8` - PѠ`,,L L PQ 8,L$} ȱI ѝߠȱ`ԩ,L E  $EL+L],,,؍ 0âL%}ɀL ©7 F󦹩 RbL g 0g `Ո V fL{Ն + +􅕄L AT LINE?BLOAMEV&}ALU>#VAR$LE?DAT>3276INPUDISTACOVERFLO?LIN?FOTOO LON?DE?GOSUGARBAG?CHMEͣ?LOA?NES?WHIL?REPEA?D?EXIXPRO?'}EXE?PRO?IS OPE?DEWR ONLCMNOT OPEΣRD ONLEOTRUNTIMEOUNA!FRAMCURSO!OVERRUCHKSUDONMODNOT IMPRA͠D?(}>#FILEDSK FULFATAL I/FILENAMPOINLOCKEDCM>DI?FILPOIN?APPNBAD SECTORӥHՄ +h & .hԩ + )},҅L: ƪn (@Մ$ 0` 0` 0LoH - . /h &@Յ՘JJJJ X) 0:i`AV*}C2 sŠ 5  <)  < L L + e +e`e+}`&&&&&&eee` &&eee&*`` 兙 䦪!0 4 ۄܱ ,}**m ݤܱEۅڦڱ= ܥeƥiեLN@ ` **)]` 00``-} ( ((((((((8`W)ߥ & &e &߽řِ׼JJJJ&.}eXޥeYߥ䥛 9 FfЎᰈ `  M 8*` 兙 󥐅/}i祣L{ &L  0 & L ȑ & L; 0}# )ȱ L )ȱ) )ȱ 8ƣŐő1}0eސ`ƙ8ް`)ȱJJJ```=`]``` E߭H Ġ} hL2}±&Lv`[  ȱ R]  L L  䅠 bɰhhğȱȄ L 3}l"0e拱LjLx`[  ȱ R]  L L  䅠 bɰhhğȱȄ L aLINDATPOCHRFILE@ @ P@@KK5}NN|AUTORUN.BAS |Harald Goedel, Am Bahnhof 4, D-6270 Idstein|06}4.12.1990| KKKK|Programm-Loader 7} XEP80 / DOS 2.5|KK| The Turbo-BASIC-Interpreter (available on disk)|LL| 8} will execute this BASIC-program automatically.| KK9} ;@, .@.@@DE: 5 @!5@$@@:}E:++@ @@AE:9@e'AfAF9AgAV-@;}.(>:@',>:A8,V@ @@AEE:! (}6-@ !6-@ +-@"<}#-%'(+ )R6-@ @a$@H@@D1:*.*R @Q*E+@,77=}7@<@,4TUR)7@<@,4TBS-6-%@%((7@<@,66-%@.A/F3">}@@a4%D1:*.TUR=0 -%0( No Turbo-BASIC-programs on disk!>.+@ @@AE:?}.co(>:@',>:AU,D@ @@ADE:l@ @@AEE:oeJJ@}fJJ| Ԡ Ӡɠà A} |gJJhLoading -->)D1:AUTORUN.BASB})D2:AUTORUN.BAShLoading -->)D1:AUTORUN.BAS $1$FRAMFKTLINWINDOERROCTRLCTRLCTRLDEVBLKDF1F2TT1T2BUALINSPCOLRFKFOUTIOCBAAAHA!D}ALLDEDPEETKTKFILESEITPAGICTRAAAPAAPAn OP p!E}   9P ((@ _@@@AU@ @$!F}@y@@@@@ !@"Ad#Bp'$@f%A1&@8'(@#@)!G}@*+@@,-.A /0A LL!H} LL|LESER80.BAS|Harald Goedel, Veldenzer Weg 1, 6509 Armsheim|25.10.1992| LL!I}2 3CCXEP80-Infodisk Version 4.01,Textausgabe-Programm4''Drucke!J}r-Ausgabe 5Bildschirm-Ausgabe=AA:Drucker|:Bildschirm|:Menue laden|:DOS|:Direkt D1:S:|>||:D!K}rucker|:Bildschirm|:Menue laden|:DOS|:D1:S:|:Forced-Read|:Repeat|, ?))!L}:weiter|:weiter|:Neustart|@@@:zurueck|:vor|:vor|:bestimmte Seite|:Neustart|,A...erwarte Eingabe...B!M}Seite # _G,,Fehler: Kein Menue-Programm vorhanden!H55Fehler: Diskettenlaufwerk nicht betriebsbereit!I**Fehler: K!N}eine Text-Dateien gefunden!J$$Fehler: Seite nicht vorhanden!K++Fehler: Drucker nicht betriebsbereit!N<<Weiter?...!O}-Taste druecken! :NeustartO QuitQOptionen: R''- erkennt installierte RAM-Disk SHH- Drucker-A!P}usgabe ueber Centronis-Ausgang der XEP80 (mit Heftrand)T44- Bildschirm-Ausgabe in 80-Zeichen-DarstellungU>>- automatisc!Q}he Formatierung der Texte -seitenorientiert-V((- Menue und DOS direkt anzuwaehlenW..- Zugriff auf mehrere Laufwerke moe!R}glichX00- Direkt-Ausgabe: Laufwerk 1 -> BildschirmYBB,mit RAM-Disk:,- rueckwaerts blaettern Z!S}- Seitenauswahl[@@- Forced-Read-Funktion: automatisches Lesen und Bearbeiten\BB- Repeat-Funktion: zuletzt bearbeitete T!T}extdatei wiederholend i36-A6-A'6-AP36-An36-AP6-A'6-A36-!U}A shh;@0,;@,;@,;@,;@,;@,;@@,;@%,;@d,x3 6.S:!V}6-@y$6-@ 3;$AV,}JJ6.@ ___ ____ _________________ ______________%%6.hh!W}hhhԨ0 Ȅ`.@.@@E:5 AE5@$@@E:!X}++@ @@AE:K@e'@9AfAFKAgA9A)!Y}@ 'A0@9AVA$ A %@!6-% ZZ(Q}!Z}H( | ABBUC | &-@Q@/(| ![}A-@y@H(|YY(P4-@!\}@(|)-@y0(|4 YY(P!]}YY(P| Atari Bit Byter User Club e.V.| c/o W.Burger, Wieschenbeck 45, D-4352 Herten |YY(P!^}$, 1!6-F:@,!6-F:@,6j-@!_}$j(P ;G!#@`%"C-P!`}:+@&B:,,'@,@$G(@ -E$^ c$#@`%"$6-B:,%@hD-P:+@&,'@!a},%(3-@:(> D(m4&-P:+@&,'@,%@4(|  |rL&-P:+@&,'@,%!b}@-(;-@B(F L(w$ 6-@ 6-@ AdAU!c}&6-F:Ad,&"AUA "@(%@3A6-@ 6-@ 6- !d}$쭱36-%@4P:3(@ $쭲4P:A @"!e}$G/+"@*"@,)"@)"@=6-%@G A6-@%  AdAU&!f}6-F:Ad,&"AUA0"@(%'"@*"@ ' A!=%+"@)"A4,*"@!g}36-&@= A&;#"@)"@3)"A516-%@; A+ A%X6- ]"!q}B%DOS SYSB*)DUP SYSB SRAMDISK COMB\AUTORUN SYSB#mMENUE1 EXEBTURLOAD EXEBTUR COMB4AUTORUN BASBICLESER80 BASBKDEMO1 BASBMBASIC TXTBY-TWORD1 TXTOTWORD2 TXTXEP80D1 TXTWXEP80D2 TXTAb @6-@g !6-lZ6.D8:P_!67@,.=:,((}3@P@@!r}Z A0q,-@@#$@((, v )!A 46-@6-#6-%@!s}44P:A"@AP"@%* (}-@p@*(Seite $UA6!t}6.D8:P_-67@,.=:,8@U@@W(@$-@@=(@ !u} A W(@Seite $  @`*"$%"*@@"6-@**"@#-@!v}A' *%/$ 囉6-@ +6-6-@ '6-@+ AdAU&6-F:!w}Ad,&"AUA %"@A pkk6-@$+"@P,%@$+"@1,%@$+"@0,%@!x}$+"@&,%@$+"@$,mm6-%@$+"@),%@$+"@',%@$+"@Q,%@ $+"@S,%@!y}$+"@H,"A B6-$@%&@'!@B6-&A$P:'A,:-@D@!z}( 6-@F&B:=:,,@:( A ' @)!6-@# ' $ 報 #@Q!{}" =6-@$F:A, A(06-=6.9-@X&B:,@9( ͭ !|}? #@!-@@+ A0/";-@?(  6-@% AdAU&6-F:A!}}d,&"AUAE."@6.P:$6-@i. A "@bA $2"@)"A5(6.!~}D1:*.TXT2 A0)""@7 A"Menue ."@X ADOS3/"@V*"@%6-@/ !}A 8W"@@*"@(6-F:A6,46-@6-@#L6-@S(}W = A@LAdAU!}Q6- V"@X.[ A %D:MEN*.*`6-@  A5 堲 #@S!}4P: #@R" @@:-@@:( Text-Dateien aus: : Laufwerk 1'-@!@'!}( : Laufwerk 21"@!-@!@1( : RAM-Disk6-@ AdAU&6-F:Ad,&!}"AUA @"@(%%"@16-@% A!%"@06-@% A! /"@!}*"@S%6-@/ A! A 54,6.D_:*.TXT,67@<@,.=:, 堳 #@S4P:!} #@R " @@ --@@-( Text-Files (): C6-6-&@C!}@@ 8@8@:7@<@,, @eA1 ,,-@%@&$@%P:'@,!} XX(>:A%,: 7@<@, 7@<@, 7@<@, 9967$@%@<+%@,!}$@,.7@, 76-%@6-%@+"@76- A0% %"6-@% A2!}! 6-@ & AdAU+ &6-F:Ad,&!@cA10 "@(%5 %6-@:7%@,,%!!}A1: 6- ? 006.7+&@,$@%@<$@,D <7B:,:@:7<,,%A(,9 -@!6--6-F 4P:!} AC!@F@#@@+@+@@ +@+!}@@?67@,.'67$AV,.?67@,.7@, 96-Ad6-C:,)6-P:'A!}V,96-&AV$3%@@%%@3%@A%@%%@ A6-?:C:hhhL!}V,<@2,""F:%@,!A'AB))6-F:%@,%AV$F:%@ ,"4  &(@7@<,!}* 4 AA'6-?:C:,:@'%},>:AU,8 Apg-Videol:-A@0(>:@',>:AT&,: Apqingv:-A@%}0(>:@',>:AQ&,: Ap{ouble 蛀:-A@0(>:@',>:A9&,: Ap%}d:-A@0(>:@',>:A#&,: Ap 뛔:-A@0(>:@',>:A%}&,: Ap<-@ @@AC%E:96-<$ --@%-@@ )%} - $ 젱6-@ 6-@ +6-@6-@&'6-+ +6-@6-%}A'6-+ +6-@6-@'6-@+ +6-@6-@'6-@+ +6-@%}6-@"'6-@+ +6-@6-A'6-@+ 6-@ +6-@6-A'6-%}+ +6-@6-Ah'6-@+ +6-@6-A'6-@+ 6- /6-A`%}6-@ +6-@/ 6-@   -@@36-@ 6-@# /6-@%%}3 36-@ 6-@# /6-@3 6-@  '6-@ 6-@# ' 6%}-@  6-@   #6-@ 6-@# L 젲M+6-@6-@'6%}-@+ N+6-@ 6-@'6-@+ O#6-@ 6-@# P-@@W6-@%}  X6-@  Y Z6-@  [/6-@ 6-A`+6-@/ \-@%}@a6-@  b   c k#6-@ 6-@%# l6-@ m-@@%}n;6-@ %6-Ac36-@$&@7 ; o u6-@   젳6-@ %} (}6-@ 0-(%}Zum Beispiel ein Programm-Listing...0(@#6- 6-@# %}r(n(c... ein wenig nach links verschieben, damit auch die ganz langen Programmzeilen sichtbar werden ...r #6-%}6-@  # \-@ F:@,X(;Im normalen Betrieb ist dieses Verschieben nicht notwendig!\ /6-%}@ 6- +6-@%/ ? (}?(1 (...demnaechst geht es hier noch weiter...) (RUN44(,... %}Wiederholen ? ... -Taste druecken!6-@  6-@ 6-@ 6-@ %}++@ @@AE:@@y 렱 6 ""   %}""|||| || || ""|| || || || || || || ""|| || || | || ""|| || || |%}| | || ""        렲 6 99 99%} 99 99%} 99 99%} 렳 6 33 33%} 33 33%} 33 33 렴 6%} **      **|| || |||| | || **|| || || |||||| | |%}| **| || || |||||||| | | **|| || |||| | || | **     %} 렵 6    | || | .|| || || | .|| || || | | || %}|    렶 6 GG           II%}|| || | | || || || || | |||| GG|| || ||  | | || ||  || |%} |||||| ! GG|| || ||  | | || ||  || | |||||| " GG|| || | | |%}| || || || | |||| # GG          0 렷1 62 &%}&   3 &&|| | || |||4 &&|| || || || || | 5 &&|| |%}| | || | 6 ''|| | || || | || | 7 &&       D 렸E 6F HH%} G GGƠ򠠠堠Ԡ%}Ҡɠ󠠠 H FF堠堠I FFڠĠ%}砠J FF򠠠ؠŠРK FF%}X 령Y 6Z II%}[ IIà\ II%}󠠠] II^ II%}_ II%}l 렱m 2n KK Text- und Graphik-Modus (vergleichbar GRAPHICS 0/GRAPHICS 8),  2 GG 8%}0-Zeichen-Fenster im 256-Zeichen (!) breiten Bildschirm, 2 AA optimale Darstellung auf eigenem Monochrom-Monit%}or, 2 "" voll programmierbar, 2 -- vollstaendige Cursor-Steuerung, 2 AA komplett%}er Bildschirm-Editor (schreiben und lesen), 2 << Status-Zeile (25. Zeile) einfach anzusprechen, 2 QQ%} Attribut-Register fuer Blinken/doppelte Breite/Unterstreichen/usw., 2 == professionelle Anwendungs-Progr%}amme verfuegbar,! 2" @@ einfacher Anschluss am Joystick-Eingang, 5 26 AA Centronis-Ausgang%} fuer direkte Drucker-Ansteuerung,I 1J BB Centronis-Interface-Betrieb auch im 40-Zeichen-Modus D:DEMO1.BA%}Suer direkte Drucker-Ansteuerung,I 1J BB Centronis-Interface-Betrieb auch im 40-Zeichen-Modus D:DEMO1.BA$(Turbo-) BASIC-Ecke: Tips und Tricks fuer den XEP80-Anwender...--------------1. Statuszeile--------------Mit einem klein)}en Trick laesst sich unterhalb des normalen 80-Zeichen-Bildschirmes eine 25. Zeile ansprechen, die vom normalen Editor nicht )}unterstuetzt wird.Im Grunde reichen drei BASIC-Befehle aus, um einen beliebigen Text auf die 25. Zeile zu schreiben:Die Sta)}tuszeile wird in der atari-ueblichen Nomenklatur als Zeile 24 angesprochen. Entscheidend fuer den weiteren Ablauf des Program)}mes ist, das der Cursor anschliessend wieder auf einen Wert im normalen Bildschirm gesetzt wird (Zeile 30).Achtung:Vergisst)} man das Zuruecksetzen des Cursors, ist ein Programmabsturz meistens nicht mehr zu vermeiden! 10 POSITION 0,24 20 PRINT )}"ABBUC e.V." 30 POSITION 0,0Das ganze laesst sich natuerlich auch eleganter loesen, wenn man z.B. von einer Unterroutine )}die alte Cursor-Position automatisch zurueckschreiben laesst. Die Routine wird mit GOSUB 10 aufgerufen. 10 REM Status-Line)} 20 X=PEEK(85):Y=PEEK(84) 30 POSITION 0,24 40 PRINT "ABBUC e.V." 50 POSITION X,Y 60 RETURN-----------------------)}--2. Editor-Spezial-Befehle-------------------------Die XEP80 benutzt die atari-ueblichen Editor-Befehle, ausser dem Summe)}r (PUT-Character $FD/253).Darueberhinaus stehen zahlreiche Spezial-Befehle zur Verfuegung, die auch direkt in ein BASIC-Prog)}ramm eingebunden werden koennen.(Die folgenden XIO-Befehle setzen voraus, dass ein I/O-Kanal geoeffnet worden ist: CLOSE #n:O)}PEN #n,12,0,"E:".)Es bewirken:XIO 20,#n,12, i,"E:" Horizontalen Cursor setzen mit i=0...79: Cursor auf Position i )}(normaler 80-Zeichen-Bildschirm) mit i=0...15: Low-Nibble (unteres Halb-Byte)XIO 20,#n,12, 80+i,"E:" mit i=0...15: H)}igh-Nibble (oberes Halb-Byte) Um den Cursor im 256-Zeichen breiten Bildschirm zu positionieren muessen beide Halb-Byt)}es gesetzt weden!XIO 20,#n,12, 96+i,"E:" Linken Rand festlegen mit i=0...15: Low-Nibble (unteres Halb-Byte) Gleichz)}eitig wird das obere Halb-Byte wird auf 0 gesetzt!XIO 20,#n,12,112+i,"E:" mit i=0...15: High-Nibble (oberes Halb-Byte)X)}IO 20,#n,12,128+i,"E:" Vertikalen Cursor setzen mit i=0...23: Cursor auf Zeile i XIO 20,#n,12, 152,"E:" Cursor auf di)}e Status-Zeile (24. Zeile)XIO 20,#n,12, 153,"E:" XEP80-Graphik 60 HzXIO 20,#n,12, 154,"E:" XEP80-Graphik 50 Hz (Kom)}mandos 155-159 sind reserviert)XIO 20,#n,12,160+i,"E:" Rechten Rand festlegen mit i=0...15: Low-Nibble (unteres Halb-By)}te) Gleichzeitig wird das obere Halb-Byte auf 4 (%79=$4F) gesetzt!XIO 20,#n,12,176+i."E:" mit i=0...15: High-Nibble )}(oberes Halb-Byte) (Kommandos 192-207 sind reserviert)XIO 20,#n,12, 208,"E:" List Flag loeschenXIO 20,#n,12, 209,"E:)}" List Flag setzenXIO 20,#n,12, 210,"E:" Normaler Bildschirm-Modus Cursor-Position wird von XEP80 zurueckgegebenXIO )}20,#n,12, 211,"E:" Schneller Bildschirm- (Burst-) Modus Cursor-Position wird nicht zurueckgegebenXIO 20,#n,12, 212,"E)}:" Normaler (Atari-) Zeichensatz (POKE 756,224)XIO 20,#n,12, 213,"E:" Internationaler Zeichensatz (POKE 756,204)XIO 20,#)}n,12, 214,"E:" XEP80-interner Zeichensatz (!)XIO 20,#n,12, 215,"E:" XEP80-Text 50 HzXIO 20,#n,12, 216,"E:" Cursor aus)}XIO 20,#n,12, 217,"E:" Cursor ein (konstant)XIO 20,#n,12, 218,"E:" Cursor ein (blinkend)XIO 20,#n,12, 219,"E:" Curso)}r auf Anfang der naechsten logischen ZeileXIO 20,#n,12, 220,"E:" Textfenster (80 Zeichen breit) zur horzont. Cursor- P)}osition scrollen (im 256 Zeichen breiten Bildschirm)XIO 20,#n,12, 221,"E:" Drucker-Ausgang setzenXIO 20,#n,12, 222,"E:" )} helle Zeichen, dunkler HintergrundXIO 20,#n,12, 223,"E:" dunkle Zeichen, heller Hintergrund (Kommandos 224-255 sind r)}eserviert, ausser 244-245)XIO 20,#n,12, 244,"E:" Attribut-Register A (mehr unter 3.) wirkt nur auf Zeichen mit ASCII<1)}28XIO 20,#n,12, 245,"E:" Attribut-Register B (mehr unter 3.) wirkt nur auf Zeichen mit ASCII>127XIO 21,#n,12, 0,"E:*}" Normale Datenuebertragung zur XEP80XIO 21,#n,12, 1,"E:" Schnelle Datenuebertragung (Burst-Mode)XIO 22,#n,12,192,"E:" *} Hole Zeichen von Cursor-Position ASCII des Zeichens steht im Register $2EB/747 (DVSTAT)XIO 22,#n,12,193,"E:" Horizont.*} Cursor-Position anfordern Cursor-Positon steht in $2EB/747XIO 22,#n,12,194,"E:" XEP80-Reset (Master-Reset)XIO 22,#n,1*}2,195,"E:" Status des Druckerausganges erfragen Im Register $2EB/747 steht 0=Busy oder 1=On LineXIO 22,#n,12,196,"E:" *}XEP80-RAM mit letztem Zeichen fuellenXIO 22,#n,12,197,"E:" XEP80-RAM mit Leerzeichen fuellenXIO 22,#n,12,198,"E:" XEP80-R*}AM mit EOLs fuellen (Kommandos 199-207 sind reserviert)XIO 24,#n,12, 0,"E:" Umschalten 40- auf 80-Zeichen, Bildschirm*} loeschenXIO 24,#n,44, 0,"E:" Umschalten 40- auf 80-Zeichen, Bildschirm nicht loeschenXIO 25,#n,12, 0,"E:" Umschal*}ten 80- auf 40-Zeichen, Bildschirm loeschen--------------------3. Attribut-Register--------------------Die XEP80 verfueg*}t ueber zwei Attribut-Register, mit denen sich der Bildschirm sehr gut gestalten laesst. Die gesetzten Attribute wirken auf d* }en gesamten Bildschirm und ermoeglichen: - Vertauschen von Vorder- und Hintergrundfarben - Blinkende Texte und Textgraphik* } - Doppelte Zeichenbreite - Unterstreichen von Texten - Ausblenden von Texten - sowie alle Kombinationen davon!Darueberhi* }naus kann ein zweiter Graphik-Zeichensatz zusaetzlich (!) zu den normalen Zeichensaetzen benutzt werden.Das Attribut-Registe* }r A wirkt nur auf Zeichen mit ASCII-Werten <128, waehrend das Register B nur auf inverse Zeichen (ASCII-Werte >127) anspricht* }.Man kann z.B. einen Text auf den Bildschirm bringen, in dem alle besonders hervorzuhebenden Textstellen mit inverser Schrif*}t geschrieben sind (Atari-Taste!), die mit Hilfe des Attribut-Register B (wirkt nur auf ASCII >127) hervorgehoben werden.Bei*}de Attribut-Register lassen sich beliebig kombinieren und eine Vielzahl von Moeglichkeiten zu. Die verschiedenen Effekte werd*}en durch das folgende Bit-Muster definiert:Bit 7 6 5 4 3 2 1 0 | Effekt--------------------------------------------*}------------------------- 1 1 1 1 1 1 1 0 | Vorder- und Hintergrundfarbe vertauschen 1 1 1 1 1 1 0 1 | *}kein Effekt 1 1 1 1 1 0 1 1 | Blinken 1 1 1 1 0 1 1 1 | kein Effekt 1 1 1 0 1 1 1 1 | Doppel*}te Zeichenbreite 1 1 0 1 1 1 1 1 | Unterstreichen 1 0 1 1 1 1 1 1 | Ausblenden (durch Leerzeichen erset*}zen) 0 1 1 1 1 1 1 1 | Textgraphik (XEP-interner Zeichensatz)Beispiele: Zum Unterstreichen eines Textes hat das *}dazugehoerige Attribut den Wert 223 (=128+64+16+8+4+2+1); fuer einen doppelt-breiten, blinkenden Schriftzug errechnet sich de*}r Wert 235 (=128+64+32+8+2+1).In BASIC werden die Attribute gesetzt und aufgerufen durch: ? CHR$(27);CHR$(Attribut);:XIO *}20,#n,12,244,"E:" fuer das Register A oder ? CHR$(27);CHR$(Attribut);:XIO 20,#n,12,245,"E:" fuer das Register BDas fo*}lgende Programm bringt den Schriftzug 'ABBUC e.V.' blinkend und in doppelter Breite auf den Bildschirm. Bei doppelt-breiten Z*}eichen muss immer ein Leerzeichen eingeschoben werden. Weil der hervorzuhebende Text invers geschrieben ist (ASCII >127) komm*}t Register B zur Anwendung.Die Zeilen 80ff stellen den urspruenglichen Zustand wieder her: GOTO 80 10 REM Attribute 20 *}OPEN #1,12,0,"E:" 30 POSITION 30,10 40 ? "A B B U C e . V . " (Text und Leerzeichen invers!) 50 ? CHR$(27);CHR$(235);*} 60 XIO 20,#1,12,245,"E:" 70 END 80 ? CHR$(27);CHR$(255); 90 XIO 20,#1,12,245,"E:" 100 ENDAchtung:Die gesetzten*} Attribute wirken auf den gesamten Bildschirm und nicht nur auf einzelne Zeilen!--------------4. AUTORUN.SYS-------------*}-Bei der Verwendung der XEP80 enthaelt das File AUTORUN.SYS in der Regel den XEP80-Handler.Diese Diskette enthaelt einen er*}weiterten (Original-) Handler, der ein BASIC-Programm mit dem Extender *.EXE (EXE fuer Execute-File)automatisch nachlade* }n und starten kann.Tip:Eigene Programme, die nach dem Booten direkt ausgefuehrt werden sollen, einfach mit dem Extender .E*!}XE versehen! Sind mehrere Execute-Files auf der Diskette, dann wird immer das erste ausgefuehrt.------------------------5.*"} Turbo-BASIC und XEP80------------------------Der Titelbild des Turbo-BASIC wird nicht, wie es der XEP80-Handler erfoerdert*#}, auf dem Weg ueber die CIO auf den Bildschirm gebracht. Um das Turbo-BASIC auch unter der XEP80 zu nutzen, ist ein Hin- und *$}Herschalten zwischen dem 40- und 80-Zeichen-Modus erforderlich; dazu stehen zwei Hilfsprogramme zur Verfuegung:I. Eine Routi*%}ne des Programmes MENUE1.EXE und das Programm TURLOAD.EXE (auf dieser Diskette) erlauben einen sauberen Einstieg ins Turbo-BA*&}SIC. Auch wenn nur ein (80-Zeichen-) Monitor vorhanden ist.II. Nach dem Laden des Turbo-BASIC-Interpreters kann ein Programm*'}, das sich unter dem Namen AUTORUN.BAS auf der benutzten Diskette befindet, direkt ausgefuehrt werden.Das Programm AUTORUN.B*(}AS dieser Diskette schaltet nach dem Laden des Turbo-BASIC-Interpreters den 80-Zeichen-Modus wieder ein. Weiterhin listet das*)} Programm alle Turbo-BASIC-Programme der benutzten Diskette auf und startet das erste, das gefunden wird!Tip:Aus dieser Di**}skette laesst sich eine BOOT-Diskette fuer Turbo-BASIC und die XEP80 herstellen. Auf eine neu formatierte DOS 2.5-Diskette si*+}nd zu kopieren:DOS.SYS, DUP.SYS, RAMDISK.COM, AUTORUN.SYS, TURLOAD.EXE, TUR.COM (Turbo-BASIC-Interpreter) und AUTORUN.BASA*,}chtung:Mit der Funktion 'B' des DOS 2.5 ist ein Ruecksprung ins Turbo-BASIC nicht moeglich! Fehlermeldung: NO CARTRIDGESA(yB6JBericht ueber das neue 80-Zeichen-Textprogramm TURBOWORD+ fuer die 80-Zeichen-Karte XEP80von Alfons KluepfelVorweg ein..}ige Informationen: ich selbst arbeite seit laengerer Zeit mit dem STARTEXTER und messe daher TURBOWORD+ am STARTEXTER. Was ic./}h an TURBOWORD+ gut oder schlecht finde, haengt folglich von meinen Anspruechen und Gewohnheiten ab.Den STARTEXTER benutze i.0}ch, weil ich auf die 80-Zeichen-Darstellung Wert lege. Aus demselben Grund habe ich mir auch die XEP80 gekauft (Fuer das Geld.1}, was XL + Floppy + Monitor + Speichererweiterung + XEP80 kosten, bekommt man eigentlich schon einen ST - mit mehr Moeglich- .2}keiten und besserem Bild usw. Aber als ABBUC-Fan probiert man halt alles, um beim XL bleiben zu koennen. Oder?)TURBOWORD+ .3}ist eine Textverarbeitung vergleichbar etwa Speedscript, dem ABBUC-Compy Shop Editor oder Textpro. Aeusserlich aehnelt sie de.4}n PC-Programmen. Aufgrund des geringen Speicherplatzes des XL kann sie vergleichbare Leistungen nur entfernt und auf Umwegen .5}bringen.So ist das Programm in mehrere Teilprogramme zerlegt (z.B. der Editor liegt in einem anderen Programmteil als das Ha.6}uptmenue), die entweder, wenn noetig, von der Diskette nachgeladen werden, oder auf Wunsch komplett in der RAM-Disk zur Verfu.7}egung gestellt sind, d.h. das Programm unterstuetzt eine vorhandene RAM-Disk, und zwar angeblich jede. Ich zum Beispiel habe .8}die 256K RAM-Disk des TURBO-Freezers von Engl. Sie wird problemlos akzeptiert.Das Programm arbeitet mit DOS 2.5, mit dem SPA.9}RTA-DOS, mit dem My-DOS sowie dem DOS XL, jedenfalls nach den Hersteller-Angaben. Mit den ersten beiden habe ich es probiert,.:} vermutlich klappt es auch mit dem TURBO-DOS von Reitershan.Wie jede Textverarbeitung, die den Namen auch nur entfernt verdi.;}ent, ist TURBOWORD+ gewoehnungsbeduerftig, d.h. man muss einige der Befehle entweder auswendig lernen oder immer wieder nachs.<}chlagen. Allerdings stehen die im Editor gebraeuchlichen Befehle in einem per HELP-Taste abrufbaren HELP-SCREEN staendig zur .=}Verfuegung, was sehr praktisch ist.Nach Einschalten der Peripherie (Monitor/Floppy), der XEP80 und schliesslich des XL/XE la.>}edt das Programm automatisch - ohneOPTION - zeigt beim Laden auch an, was es gerade tut - vergleichbar dem SPARTA-DOS - un.?}d meldet sich mit dem Hauptmenu. Die Menufuehrung ist, falls man genuegend Englisch versteht, sehr gut.Wenn man eine ausrei.@}chende RAM-Disk zur Verfuegung hat, lohnt es sich, per Init-Befehl alle noetigen Programmteile in die RAM-Disk zu laden. SPAR.A}TA-DOS macht dies automatisch. Die Batch-Verarbeitung des TURBO-DOS erlaubt sicher dasselbe.Auf der rechten Seite des Menues.B} finden sich alle Druckereinstellungen - davon jedoch spaeter. Auf der linken Seite finden sich die "Einbuchstaben"-Befehle f.C}uer die Programmfuehrung. Davon auch spaeter.Will man nun in den Editor, so muss man zuerst dem zu schreibenden Textfile ein.D}en Namen geben. Man kann sich also nicht erst nach dem Schreiben ueberlegen, wie das File heissen soll. Entscheidet man sich .E}nicht, wird das File einfach als TEST.TXT benannt und spaeter so abgespeichert. Dies laesst sich allerdings leicht per RENAME.F}-Befehl aendern.Im Editor:Hat man einen auf der Disk/RAM-Disk vorhandenen Namen eingegeben, so laedt das Programm diesen Te.G}xt in den Editor, ansonsten beginnt man vor einem leeren Schirm, der links und rechts durch eine duenne, senkrechte Linie beg.H}renzt ist. Diese Linien stellen den Rand des Textes dar; sie koennen durch CTRL-G veraendert werden (right, left margin). Je .I}nachdem bekommt man dann einen sehr breiten oder schmalen Text-Streifen. Man sieht also, was spaeter ausgedruckt wird ("WYSIW.J}IG" = WHAT YOU SEE IS WHAT YOU GET, auf deutsch: du bekommst ausgedruckt, was du auf dem Bildschirm siehst, wobei Steuerzeich.K}en wie Breitschrift usw. invers angezeigt werden, aber natuerlich nicht mitgedruckt werden. Dies kann man waehrend des Schrei.L}bens beliebig veraendern. Das Programm formatiert den Text entsprechend um).Die Tastenbelegung entspricht der ueblichen: Cur.M}sor-Tasten mit CTRL, Insert, Delete usw. wie in der Direkteingabe. Editier-Befehle werden mit CTRL+Taste, z.B. CTRL+D fuer .N}Delete, eingegeben. Vergleiche dazu den HELP-Screen. Die Moeglichkeiten sind die ueblichen: Block festlegen, Block loeschen, .O}verschieben, kopieren usw.; Insert/Ueberschreib-Modus wahlweise (CTRL-I), Suchen (unabhaengig ob Gross- oder Kleinschreibung).P}.Man kann erfahren, wieviel Platz noch im Textspeicher ist (wird links oben als waagrechte Linie mit einem "Karo-Cursor" ang.Q}ezeigt als Angabe, wieviel Platz verbraucht und wieviel Platz noch uebrig ist. Der Textspeicher ist offensichtlich sehr gross.R}. Ich hatte aber noch keine Zeit, das ausreichend auszuprobieren.).Man kann ein "Lineal" am oberen Bildschirmrand einschalte.S}n, an dem man in etwa ablesen kann, wo man sich in der Zeile befindet. Man kann im Editor rechtsbuendig (= Blocksatz) schreib.T}en, was von den Program- mierern aber nicht empfohlen wird. Der Drucker kann's dann aber (Druckermenue).Die Schreibgeschwin.U}digkeit ist gut. Die Cursorgeschwindigkeit kann man als schnell bezeichnen.Will man groessere Textteile einfuegen, so schaff.V}t man am besten Raum dafuer, indem man SHIFT-Insert drueckt und dann in den leeren Raumschreibt. Im normalen Insert-Modus wi.W}rd der Editor sonst zu langsam,wenn zuviel Text nach dem Cursor verschoben werden muss.Was fehlt ist - es ist ein amerikani.X}sches Programm! - sind die deutschen Sonderzeichen sowie eine Tastenumbelegung. Ich kann mir aber vorstellen, dass sich im AB.Y}BUC Leute finden, die das aendern koennten.Drucker-Steuerbefehle werden im Editor eingegeben, und zwar mittels "ATARI-Taste".Z} invers. Noch was: der Editor zeigt links die Seitennummer, und zwar die Nummer er Druckseite, an, was mitunter sehr praktis.[}ch sein kann.Macros:Das Programm bietet die Moeglichkeit, Macros einzubauen. Diese werden als Textfiles gesondert auf Disk.\} abgespeichert. Man kann dadurch auch umfangreichere Textteile, die man immer wieder braucht, festlegen. Das Programm holt si.]}ch diese dann selbstaendig von der Disk. Man kann die Macros auf jeder beliebigen Station "lagern", also D1:, D2:, D3:, D4: o.^}der D8: Die Groesse der Macros haengt vom benutzten DOS ab. SPARTA-DOS ermoeglicht z.B. Macro-Files bis zu ca. 2300 Byte, das._} sind ca.1,5 Bildschirmseiten bzw. ca. 0,4 Schreibmaschinenseiten.Geht man aus dem Editor ins Hauptmenue zurueck, wird das F.`}ile im Editor automatisch abgespeichert. Dies kann man auf Wunsch auch unterlassen: CTRL+ESC. Man kann natuerlich auch abspei.a}chern, ohne ins Hauptmenue zu gehen: OPTION, danach sofort "R"Drucken:Um zu drucken, geht man ins Hauptmenue. Hier kann pe.b}r Buchstabenbefehl den Drucker einstellen: Anzahl der Zeilen pro Seite; Header definieren (=Briefkopf/Absender/Adresse usw.);.c} die Seiten koennen automatisch numeriert werden; es koennen nur die geraden (2,4,6,8 usw.) oder nur die ungeraden Seiten (1,.d}3,5, usw.) gedruckt werden. Die Steuerzeichen des Druckers koennen geaendert oder ergaenzt werden. Ueber die vorhandenen hina.e}us (alle Schriftarten des Druckers incl. Fettdruck, Breitschrift, Schmalschrift, Hoch- und Tiefschrift, Unterstreichen, Propo.f}rtionalschrift, linksbuendig, rechtsbuendig, Zentrieren des Textes) koennen noch weitere 13 Steuerbefehle festgelegt werden..g}Die Druckerbefehle sind in dem File TCODES festgelegt und koennen dort muehelos geaendert werden. Es sind sogar Befehlskombin.h}ationen mit nur einem Tastendruck abrufbar, z.B. Elite + Fett + Proportionaldruck. Man kann auch mehrere TCODES-Files "auf Vo.i}rrat" anlegen, wobei das jeweils benoetigte File in D1: zur Verfuegung stehen muss.Man kann sich das zu druckende File in ei.j}ner Vorschau auf dem Bidschirm ansehen.Man kann mit Seite 1, 2 oder 3 usw. anfangen und ebenso die Endseite eingeben, z.B. S.k}eite 5 - 7 drucken. Die Seiten koennen automatisch numeriert werden. Der rechte Rand und der linke Rand koennen im Druckermen.l}ue extra festgelegt werden. Vermutlich kann man aber nicht mehr breiter ausdrucken, sondern nur noch schmaler. Ein Stop fuer .m}jeden Seitenwechsel kann ebenso eingestellt werden (fuer Einzelpapiereinzug). Die Anzahl der Ausdrucke kann festgelegt werden.n}.Man kann im Druckermenue festlegen, ob Woerter gesperrt gedruckt wer-den , d.h. im Z w e i e r - A b s t a n d oder i.o}m D r e i e r - A b s t a n d gedruckt werden.Waehrend des Druckens wird der Text ebenfalls auf dem Schi.p}rm im Druckformat gezeigt.Man kann verschiedene Texte nacheinander von der Diskette holen und in Folge ausdrucken lassen, fa.q}lls man einmal einen laengeren Text auf zwei Files aufteilen musste. Besondere Features: Man kann Briefumschlaege addressier.r}en, inclusive Absender; man kann die benoetigten Adressen aus einem Datei-File holen, falls einem das Programm TURBOBASE 80 z.s}ur Verfuegung steht; das Programm kann also Serienbriefe schreiben, wobei es sich sogar die Anrede aus der Datei holt (z.B. S.t}ehr geehrte Frau **)TURBOWORD+ bietet ein Rechtschreibkorrekturprogramm. Ob das allerdings in Deutschland sehr sinnvoll ist,.u} wage ich zu bezweifeln. In der Zeit, in der man die Woerter in die Vergleich-Files eingetippt hat, kann man x-mal im DUDEN n.v}achsehen. Ob ein solches Programm fuer den XL/XE ueberhaupt sinnvoll ist???Nun zum Schluss einige wenige, soweit es mich be.w}trifft allerdings schwerwiegende Nachteile:Das Programm bietet keine deutschen Sonderzeichen.Es hat einen "eingebauten" Lin.x}efeed, d.h. es gibt dem Drucker nach jeder Zeile einen Zeilenvorschub-Befehl. Ich habe nun endlich alle von mir benutzten Pro.y}gramme soweit, dass sie das dem Drucker selbst ueber- lassen. Folglich haut es mir meine ganzen Einstellungen ueber den Haufe.z}n. Mehrere sehr nuetzliche Programm (SHERLOCK!!) haben naemlich ebenfalls keine Umschaltmoeglichkeit, aber leider anders heru.{}m. Die Umschalterei an den DIP-Schaltern ist mir persoenlich zu laestig.Die Fuehrung des Cursors ist nicht immer praktisch: .|}manchmal springt er ans Ende der Zeile, wenn man Cursor-Down drueckt, manchmal in die Mitte der naechsten. Dies ist zwar logi.}}sch erklaerbar, aber eben doch laestig.Die Tabulatorfunktion habe ich noch nicht entdeckt, angeblich gibt es sie. Zeilenloes.~}chen, einfuegen usw. klappt leicht. Mitunter schaltet sich das Programm aber selbstaendig in den INSERT-Modus. Ich bin noch n.}icht dahintergekommen, warum.Die Funktion "Suchen" klappt gut, leider fehlt die Ergaenzung "Suchen+Ersetzen"Was beim STARTE.}XTER besonders angenehm ist, ist die Einstellung des Zeilenabstandes. Man kann dies dort noch wesentlich besser als auf einer.} Schreibmaschine. Ein derartiges Feature fehlt hier, kann aber durch zusaetzliche Steuerbefehle an den Drucker "nachgereicht".} werden.Summa summarum ist das Programm fuer das Geld, das es kostet, gut. Ob der Einzelne es kaufen und damit arbeiten wil.}l, haengt sicher von seinen Beduerfnissen ab. Der 80-Zeichen-Schirm ist schon deutlich angenehmer als die 40-Zeichen-Darstell.}ung. Sollten die von mir kritisierten "Bugs" beseitigt werden koennen (Zeilenvorschub, Umlaute ud scharfes S), dann koennte i.}ch mir sehr gut vorstellen, damit regelmaessig zu arbeiten. koennen (Zeilenvorschub, Umlaute ud scharfes S), dann koennte i,=Harald Goedel 14.4.1990Am Bahnhof 46270 Idstein/Taunus-------------2}------------------------Turboword+ (Micromiser Software 1989)-------------------------------------A) Hardware-Voraussetzu2}ng-------------------------Erforderlich sind mindestens 48k Byte RAM, ein Laufwerk und die 80-Zeichenkarte XEP80, die an ei2}nem Joystick-Port angeschlossen wird. Um eine saubere 80-Zeichen-Darstellung zu erreichen, sollte die XEP80 einen eigenen mon2}ochromen Monitor haben.Zu Testzwecken war ein Epson-/IBM-kompatibler Drucker an den parallelen (Centronics-) Ausgang der XEP2}80 angeschlossen (IBM-Druckerkabel: SubD25->Centronics).B) Software-Beschreibung------------------------Das Programm und2} die Utilities befinden sich auf einer nicht kopiergeschuetzten Diskettenseite im DOS 2.5-Format; die erste Seite enthaelt da2}s eigentliche Programm, die zweite ein elektronisches Woerterbuch.Fuer SpartaDOS und US-Doubler, sowie fuer die SpartaDOS X-2}Cartridge gibt es entsprechende Versionen.Das Textverarbeitungs-Programm Turboword+ ist datei-orientiert und kennt keine Pu2}nktbefehle, wie z.B. der AUSTRO.TEXT.Mit dem Editor werden Textdateien (*.TXT) erstellt und abgespeichert.Die Drucker-Routi2}nen drucken Textdateien (*.TXT) oder Dateien im ASCII-Format (*.ASC) aus. Das Programm stellt dafuer etliche Formatier-Funkti2}onen bereit, mit denen der auszudruckende Text in die gewuenschte Form gebracht werden kann, z.B. Unterstreichen, Breitschrif2}t, Subscript, andere Schriftarten, usw.Die Dateien selbst bleiben jedoch unveraendert!Dieses Verfahren ermoeglicht den fre2}ien Austausch von Textdateien, waehrend die formatierten Texte anderer Textverarbeitungs-Programme (z.B. mit Punkt-Befehlen i2}m Text) nicht ohne weiteres ausgetauscht und weiterverarbeitet werden koennen.Fuer welches Prinzip sich der Anwender entsch2}eidet, haengt von den speziellen Aufgabenstellungen ab. Die Punkt-Befehle innerhalb eines Textes lassen eine weitaus individu2}ellere Gestaltung des Textes zu; wer gern und viel Textdateien austauscht, wird sich sicher fuer das hier angewandte Prinzip 2}entscheiden.C) Boot-Vorgang---------------Beim Booten der Diskette wird der XEP80-Handler geladen und das Hauptmenue auf2} den 80-Zeichen-Bildschirm gebracht.Bereits hier muss darauf hingewiesen werden, dass der mitgelieferte XEP-Handler (im AUTO2}RUN.SYS) nicht RESET-fest ist: bei jedem RESET wird neu gebootet und alle Daten, soweit sie nicht vorher abgespeichert wurden2}, gehen verloren! Der Handler sollte deshalb unbedingt gegen eine RESET-feste Version ausgetauscht werden.D) Hauptmenue--2}-----------Das Hauptmenue zeigt in zwei Spalten mehr als 30 Funktionen an, die ueber Kennbuchstaben aufgerufen werden koenne2}n.Leider sind die Funktionen nicht unbedingt nach Funktionsgrupppen geordnet, dennoch lassen sich drei Gruppen unterscheiden2}: - DOS-Funtionen (siehe F) - Editor- und Drucker-Funktionen (siehe F und G) - Drucker-Einstellungen (siehe H)Obwohl 2}die Funktion 'RAM-Disk initialisieren' mehr zu den DOS-Funktionen gehoert, soll sie schon hier genannt werden:Die Routine sc2}hafft alle wichtigen Programmteile in eine ggf. vorhandene RAM-Disk und erspart anschliessend das haeufige und zeitraubende N2}achladen von der Programm-Diskette.Die Routine braucht zwar selbst recht lange, ist aber jedem RAM-Disk-Besitzer unbedint zu2} empfehlen!E) DOS-Funktionen-----------------1. Datei benennen (Name file):Die Funktion fragt, wie das zu bearbeitende 2}Textfile heisst bzw. heissen soll, und prueft nach, ob es sich im aktuellen Laufwerk befindet.1. Laufwerk-Auswahl (Change d2}rive #):Ggf. wird ueber diese Funktion das Laufwerk neu bestimmt; die Funktion prueft wiederum, ob ein entsprechendes Textfi2}le vorhanden ist.3. Direktory (Quick DIR):Das Direktory des aktuellen Laufwerkes wird ausgegeben; gleichzeitig wird wie un2}ter 1. nach einem zu bearbeitenden Textfile gefragt.Die folgende Funktion sollte man nur im Notfall benutzen; denn es wird S2}icherheitsabfrage gearbeitet!4. DOS-Funktionen (Disk operations):Hiermit koennen Disketten formatiert werden (DOS 2.0!), D2}ateien umbenannt oder geloescht werden.F) Editor---------Der Editor greift auf das zuvor benannte Textfile zu, und schre2}ibt beim Verlassen des Editors den bearbeiteten Text unter gleichem Namen(!) auf die Diskette zurueck.Die hier vorgestellte 2}Version von 1989 bietet zusaetzlich die Moeglichkeit, den bearbeiteten Text unter einem neuen Namen abzuspeichern und somit d2}as alte Textfile zu retten.Der Editor kann auch direkt verlassen werden, der bearbeitete Text ist aber dann endgueltig verlo2}ren!Im Editor-Modus ist ueber die Help-Taste ein Help-Screen einzublenden (mit ESC kann er wieder verlassen werden), der di2}e verfuegbaren Editor-Funktionen auflistet. Neben der Cursor-Steuerung ist ein schneller Vor- und Ruecklauf, sowie ein seiten2}weises blaetten moeglich. Die Blockfunktion (Block definieren, verschieben und loeschen) stehen ebenso wie eine Suchfunktion 2}(jedoch ohne Ersetzen) bereit. Es kann zwischen dem Einsetzen (Insert-mode) oder dem Ueberschreiben (Overwrite-mode) von Text2}en gewaehlt werden. Der Insert-Modus ist jedoch sehr langsam, weil alle nachfolgenden Zeilen verschoben werden muessen. Weite2}rhin lassen sich Leerzeichen und EOLs anzeigen, ebenso anhand einer Skala der noch vorhandene Speicherplatz.Nur im Handbuch2} zu finden sind die Funktionen: - Header und Seitennummerierung - Macros und Mailmerging und - Druckeranweisungen im Text2}Der Header kann auf mehreren Zeilen bis zu 255 Zeichen enthalten; optional mit oder ohne Seitennummerierung.Ein entsprechend2}er Footer fehlt.Macros sind kleine Textfiles mit haeufig gebrauchten Texten, die in den Haupttext eingebunden werden koennen2}. Die Einbindung geschieht erst beim Ausdrucken.Fuer Formbriefe koennen Adressen aus einer Adressenliste uebernommen werden.2}Macros und Adressenliste lassen sich wie normale Textfiles mit dem Editor erstellen.Fuer die verschiedenen Druckerfunktione2}n, wie Unterstreichen, Superscript, Subscript, Schrifttypen und -arten gibt es inverse Steuerzeichen, die einen hervorzuheben2}den Text einschliessen.Fuer epson-kompatible Drucker sind die Steuerzeichen definiert und in einer Datei abgespreichert; an2}dere Drucker lassen sich sehr einfach anpassen (Siehe Drucker-Einstellungen)!G) Drucker-Funktionen---------------------W2}ie beim Editor muss zunaechst das zu druckende Textfile ausgewaehlt werden.1. Textanzeige auf dem Bildschirm (Review):Auf 2}dem Bildschirm wird der Text gezeigt, wie er spaeter auf dem Drucker aussehen wird; dabei werden alle Macros werden eingebund2}en und komme an der richtigen Stelle zur Anzeige. Auch die Seitennummerierung wird ersichtlich; der Header erscheint jedoch n2}ur auf der ersten Seite.Um eventuelle Fehler zu korrigieren, muss erneut der Editor aufgerufen werden.2. Ausdrucken (Print2}):Entsprechend der Druckereinstellungen wir das gewaehlte Textfile ausgedruckt.Vermutlich aufgrund eines Fehlers im XEP-Ha2}ndler wird nach jeder Zeile ein Leerzeile ausgegeben, unabaengig davon, ob der entsprechende DIP-Schalter am Drucker (automat2}isches Line-feed durch den Drucker oder softwaremaessig vom Computer) ein- oder ausgeschaltet ist.Das Problem laesst sich -2}recht umstaendlich- dadurch loesen, in dem man nach jeder Zeile den entsprechenden Steuercode (epson-kompatible Drucker 2}CHR$(10) ) sendet, um den Line-feed rueckgaengig zu machen. Der Drucker wird dabei jedoch nicht geschont...Die folgenden Dr2}ucker-Funktionen runden das Programm ab: - Briefumschlag drucken, mit oder ohne Absenderangabe - Briefumschlaege fuer Serie2}nbriefe drucken und - Texte im ASCII-Format (.ASC) ausdrucken.H) Drucker-Einstellungen------------------------1. In der2} Form einer Checkliste (Printing checklist) koennen die wichtigsten Einstellungen fuer den entgueltigen Ausdruck festgelegt w2}erden: - Ausdrucken von Seite _ bis Seite _ - rechter Rand - linker Rand - Anzahl der Textzeilen pro Seite - Einzelblatt2}, Stopp fuer Papierwechsel - Anzahl der Kopien - rechtsbuendig ausdrucken - nur gerade -/nur ungerade -/alle Seiten drucke2}n - zweispaltig ausdrucken - einfacher/doppelter/dreifacher Zeilenabstand und - Printer-Port P1:/P2:/... auswaehlen.2. D2}rucker-Codes (Assign/change printer codes):Die entsprechenden Drucker-Codes (siehe auch unter Editor) koennen angezeigt und 2}veraendert werden; darueberhinaus koennen eigene definiert werden (z.B. um den Line-feed rueckgaengig zu machen)!Fuer nicht-2}epson-kompatibler Drucker ermoeglicht diese Funktion die einfache(!) Herstellung entsprechender Drucker-Treiber.I) Sonstig2}es------------Die Rueckseite der Systemdiskette enthaelt ein elektroniches, englischsprachiges Woerterbuch, mit dessen Hilf2}e Rechtschreibefehler korrigiert werden koennen. Wer nicht gerade damit sein Englisch verbessern will, wird diese Funktion ka2}um brauchen; meistens ist das Blaettern im Woerterbuch sogar noch schneller...Abschliessend sollen zwei weitere Funktionen 2}nicht unerwaehnt bleiben:Erstellte Texte koennen auch im ASCII-Format abgespeichert werden und ueber eine spezieller Drucker2}-Funktion ausgedruckt werden.K) Schlussbemerkungen---------------------Insgesamt gesehen ist das Programm, insbesondere 2}der Editor im Insert-Modus nicht besonders schnell; das liegt einerseit am gewaehlten Prinzip (Completely automatic formattin2}g between each keystroke) und andererseits an der XEP80, die von ihrer Text-Graphik auch nicht die schnellste ist.Das Progam2}m ist -ohne Fehler beim Ausdrucken(!)- sicherlich eine gute Wahl fuer Anwender, die gern Textfiles austauschen, es sich vorhe2}r einmal ansehen wollen, wie es auf dem Papier aussehen wird und sich von der ausgezeichneten Bildschirm-Qualitaet der XEP80 2}begeistern lassen.len, wie es auf dem Papier aussehen wird und sich von der ausgezeichneten Bildschirm-Qualitaet der XEP80 0PRODUKTBESCHREIBUNG FUER XEP80 80-Zeichen und Parallel-Drucker-BoardUebersetzung: ABBUC e.V, 01/26/87durch Alfons Klu6}epfel, fachliche Beratung: Wolfgang Burger XEP80 Festprogramm-Rev. 41.1 6502 XE Handler -Rev. 70.0Gliederung de6}s Textes: 1.0 Allgemeine Beschreibung 2.0 Das Interface (Hardware) 3.0 Das Interface (Software) 4.0 Das K6}ommunikations-Interface Anhang A Anwendungsanmerkungen Anhang B Das Relocater Format Anhang C Inhalt der Sy6}stem-Diskette1.0 Allgemeine Beschreibung---------------------------1.1 Packungsinhalt: 1. Bedienungsanleitung 26}. Video-Adapter-Kabel RCA-Typ 3. XEP80 System-Diskette 4. Garantie-Karte 5. Die XEP80 6. Netzteil (wie fu6}er die 2600-Spiel-Konsole)1.2 Technische Angaben Dauerlast des XEP80: 400mA Stromversorgung: 500mA 9V Gleichstrom6} Masse: Hoehe 40mm, Laenge 240mm Breite 142mm Video-Ausgang: NTSC Composite Monochrome Video Display: Text: 6} 80 Zeichen in 25 Zeilen Graphik: 320 Punkte in 200 Zeilen Parallel-Port: Pin-Belegung: 8 Data-B6}its, Strobe, Busy, Masse Anschluss: DSub5 weiblich1.3 Allgemeine Information Die XEP80 ist ein Video-Output-Gerae6}t, das zusaetzlich einen 8-Bit-Parallel-Anschluss (Centronics) unterstuetzt. Die Video-Hardware erzeugt einen 80 Zeichen-Text6}-Bilschirm mit 25 Zeilen, der sich per Videokabel auf einen separaten Monitor darstellen laesst. Als Monitor kann jeder belie6}bige vom Composite-Video-Typ benutzt werden; um optimale Ergebnisse zu erzielen, ist jedoch unbedingt ein Monochrome-Monitor 6}zu empfehlen. Intern bietet die XEP80 Platz fuer 256 Zeichen (in der Breite) in 25 Zeilen. Sie zeigt ein 80-Zeichen-Disp6}lay-Fenster. Die Zeichen koennen im Geraet beliebig gesetzt werden, unabhaengig von der Position des Fensters. Das Fenster ka6}nn ueber die ganze 256-Zeichen-Breite "gescrollt" werden. Auf Wunsch kann die XEP80 in einen Punkt-Graphik-Modus geschal6}tet werden. Dieser unterstuetzt eine Graphic-Matrix von 320 Punkten (40 bytes) waagrecht zu 200 Punkten senkrecht. Das Fenste6}r ist dann etwa halb so gross wie das Textfenster. Der Datenaustausch zum und von der XEP80 laeuft ueber ein Joystick-Ka6}bel auf der Rueckseite des Geraets. Man kann dieses in einen der beiden Joystick-Ports an jedem ATARI-8-Bit-Computer stecken.6} Auf dem Weg ueber dieses Kabel erhaelt die XEP80 ihre Befehle und Daten vom Computer und sendet sie dann an den Bildschirm o6}der den Drucker. Ueber den 8-Bit-Parallel-Port koennen Epson-, Centronics- und gleichartige Drucker an die XEP80 angesch6}lossen werden, was also bedeutet, dass der ATARI-Computer diese Drucker nun ansprechen kann. Der Parallel-Anschluss ist ein W6}eibchen vom Typ SubD25 (siehe Grafik). Ein Audioanschluss kann (weiterhin) per Video-Kabel vom ATARI-DIN-Anschluss an ei6}nen passenden Audio-Eingang (etwa den des Monitors) gelegt werden. Das braucht man fuer alle SOUND-Befehle und das "Tastenpie6}psen". Die Software ist auf einer DOS-Diskette als Binaer-File mit Namen AUTORUN.SYS bereitgestellt. Dieses File wird au6}tomatisch in den Rechenspeicher geladen und vom DOS beim Booten initialisiert.Anmerkung: Die "*"-Zeichen, die in diesem Dok6}ument verwendet werden, stehen fuer 1 oder 0. Im Falle eines 8-Bit-Wertes, wird bei dieser Angabe "0 0 * * * * * * " jeder We6}rt von 00 bis $3F als gueltig akzeptiert.2.0 Das Interface (Hardware)---------------------------- Zwei Leitungen des 6}Joystick-Ports werden fuer das Interface benutzt: eine PIA-Leitung fuer den Input von der XEP80 und eine PIA-Leitung fuer den6} Output zur XEP80. Ausserdem benutzen beide, XEP80 und Computer, diesselbe Masseleitung. Jeder der beiden Joystickports kann 6}mit der hier vorgesehenen Software benutzt werden. JOYSTICK-PORT 1 JOYSTICK-PORT 2 -------------------6}----- ------------------------ \ 1 2 3 4 5 / \ 10 11 12 13 14 / \ 6 7 8 9 / 6} \ 15 16 17 18 / \____________/ \_____________/ PINS | FUNCTION -----------|-----6}----------- 1, 10 | Data to XEP80 2, 11 | Data from XEP80 3-7, 12-16 | Not Used 8, 17 | Co6}mmon Ground 9, 18 | Not Used FEMALE (XEP80) PARALLEL PRINTER PORT PIN CONFIGURATION: ------------------6}--------------------------- \ 13 12 11 10 9 8 7 6 5 4 3 2 1 / \ 25 24 23 22 21 20 19 18 17 16 15 14 /6} \_________________________________/ PIN | FUNCTION ------|---------- 1 | Strobe 2-9 6}| Parallel Data 10 | Not Used 11 | Busy 12-17 | Not Used 18-25 | Ground3.0 Software Interface---6}-------------------3.1 Allgemeine Beschreibung Das Software-Interface fuer die XEP80 am 8-Bit-Computer ist ein Handler6} auf einer Boot-Disk. Dieser ersetzt die Handler E:, S:, und P: in der Handler-Adressen-Tabelle ($13A). Man laedt den Ha6}ndler wie folgt: Legen Sie eine DOS-Disk, auf der sich das Handler-Programm befindet, ins Laufwerk 1. Nachdem sie den Compute6}r eingeschaltet haben, bootet er die Disk. Das DOS erkennt automatisch das AUTORUN.SYS auf der Diskette und laedt es ebenfall7}s. Die XEP80-Handler ist daher als AUTORUN.SYS-File abgespeichert. Er wird ab Adresse $3000 ins RAM geschrieben und belegt do7}rt etwa 1.5K (aufwaerts). Das File besteht aus einem Relocater Teil und dem danach folgenden XEP80-Handler. Nachdem das 7}File geladen ist, schaltet das DOS den Initialisierungs-Code des Handlers ein. Dieser Code ist der Relocater selbst, der eine7} Variable benutzt - genannt MEMTOP ($2E5,2E6)) - , um die letzte Adresse eines User-Programms (also keines System-Programms w7}ie DOS) zu finden. MEMTOP wird daraufhin durch den Relocater zurueckgerechnet, bis es auf eine Adresse ca. 1.5K unterhalb ihr7}es ersten Wertes zeigt. Dies bewirkt, dass fuer den Handler Platz geschaffen wird, um ihn an jene Adressen zu bringen (wo er 7}arbeiten soll). Dieser Adressen-Platz, an den der Handler geladen werden soll, liegt gerade unter dem Bildschirm (Screen)-RAM7} und dem Adress-Platz der Display-List. Waehrend der Relocater den Handler an seinen passenden Platz bringt, loest er al7}le absoluten Verweise im Handler-Code. Auf diese Weise wird der Handler-Code von der Disk gleich in das noetige Relocater-For7 }mat umgewandelt (siehe Anhang B). Anschliessend setzt der Relocater den DOSINI-Vektor ($0C) so, dass er auf den Initiierungs-7 }Code des Handlers zeigt, und setzt gleichzeitig eine Adresse im Handler so, dass diese auf den alten DOSINI-Code zeigt. Nun s7 }pringt er zum Initiierungs-Code des Handlers.Die Handler-INIT-Sequence befaehigt das PIA-Register mit die XEP80 zu kommunizi7 }eren (Daten auzutauschen usw.), modifiziert die Handler-Adress-Tabelle (HATABS $31A), legt die neuen Randmarken des Bildschir7 }ms fest und stellt darueber hinaus fest, ob es sich bei dem gesamten System um ein NTSC (60 Hz = USA!!)- oder um ein PAL-Syst7}em (50 Hz) handelt. An diesem Punkt angelangt, prueft der INIT-Code die Position der SHIFT-Taste. Ist sie gedrueckt, belaesst7} der Code den Bildschirm im "Normal"-Zustand und schaltet den Handler ab. Andernfalls schaltet er den ANTIC-Chip vom Display 7}weg, so dass die XEP80-I/O beginnen kann. Der Handler schaltet nun zurueck zum DOS, dieses zum OS, welches dann entschei7}det, wie es weitergehen soll (z.B. mit dem eingebauten BASIC oder einer anderen Cartridge), und dann zu diesem Code springt. 7}Solange das benutzte Programm auf dem ueblichen OS-CIO-Weg I/O-Aufrufe zum Bildschirm oder zum Drucker sendet, faengt die XEP7}80-Handler die Daten ab und gibt sie weiter an das ans XEP80 angeschlossene Geraet (Screen/Drucker).3.2 Funktions-Beschreib7}ung3.2.1 Bildschirm-Operationen Der Handler kontrolliert und steuert die folgenden Adressen zur XEP80 und bringt sie au7}f den noetigen Stand (update), falls die XEP80 etwas veraendert: $055 Cursor x Position COLCRS (low byte) $056 7}Cursor x Position (high) zur Ueberpruefung des Bereiches $054 Cursor y Position ROWCRS Folgende Adressen werden e7}benfalls kontrolliert und von der XEP80 gesteuert: | Default | Optional 7} | Voreinstellung | Moegliche Einstellung--------------------------------|----------------|----------------7}------$2FE List Flag DSPFLG | $00 (OFF) |$01 (ON)$2F0 Cursor On/Off Flag CRSINH | $00 (ON) |$01 (OFF)7}$052 Cursor Left Margin LMARGN | $00 (XEP80) |$XX (ANY)$053 Cursor Right Margin RMARGN | $4F (XEP80) |$XX (ANY)$2F47} Character Base CHBAS | $E0 (ATASCII) |$CC (ICM) Folgende Adressen werden durch den Handler kontrolliert und au7}sgefuehrt, um Bildschirm-Editor-Operationen zu emulieren:$2FF: Start/Stop Sreen Output FlagY Reg: EOF Status (CTRL-3, Ta7}stenanschlag) und BREAK-Taste Logische Textzeilen auf dem Bildschirm koennen u.U. laenger als eine natuerliche Zeile se7}in (man sieht also nur die Zeile auf dem Bildschirm). Die Laenge jeder natuerlichen Zeileinnerhalb einer logischen Zeile ist 7}durch den linken und rechten Zeilenrand begrenzt. Innerhalb einer logischen Zeile koennen bis zu 24 natuerliche Zeilen einges7 }chlossen sein Die voreingestellen Tabulator-Marken sind bei: 2, 7, 15, 23, 31, 39, 47, 55, 63, 71, 79, 87, 95, 103, 111,7!} 119, 127, 135, 143, 151, 159, 167, 175, 183, 191, 199, 207, 215, 223, 231, 239, 247, 255. Sie koennen durch die SET- und CL7"}EAR-TAB-Characters veraendert werden. Die Tabulatorwerte passen nur fuer natuerliche Zeilen, so dass eine logische Zeile, die7#} aus zwei oder mehr natuerlichen Zeilen besteht, die Tabulator-Stops jeweils an derselben Stelle in jeder natuerlichen Zeile 7$}hat. Der 40-Zeichen Bildschirm des ANTIC-Bausteins kann wieder eingeschaltet werden, falls der Benutzer Farb-Grafiken, e7%}inen 40-Zeichen-Text wuenscht oder keinen 80-Zeichen-Monitor besitzt. Der "Parallel"(angeschlossene)-Drucker kann auch in die7&}sem Modus weiter angesprochen werden. Graphics kann (ausserdem) durch einen speziellen OPEN-Befehl an das Geraet "S:" (S7'}creen=Bildschirm) eingeschaltet werden. In diesem Modus bietet der Schirm 320 Punkte (40 bytes) (waagrecht) in 200 Zeilen (=s7(}enkrecht). Der Cursor steht dann in der linken oberen Ecke des Schirms. Jedes an die XEP80 gesendete Zeichen wird in der eing7)}egebenen Reihenfolge abgebildet; alle 8 Bits entsprechen den aufeinanderfolgenden Punkten entlang einer Sichtlinie. Das MSB w7*}ird zuerst abgebildet, das LSB zuletzt. Die Statuszeile hat auf der Y-Achse des Cursors den Wert 24 (senkrecht, 25. Zei7+}le). Diese Zeile kann fuer Ein- oder Ausgaben benutzt werden, Control-Zeichen werden in jedem Fall nur in dieser Zeile, nicht7,} aber in den oberen 24 Zeilen ausgegeben. Eine Control-Eingabe ist erlaubt: SHIFT DELETE. Die Statuszeile scrollt nicht. Es i7-}st darauf zu achten, dass der Cursor nicht versehentlich per POSITION- oder POKE-Befehl in die Statuszeile gesetzt wird, sola7.}nge im BASIC gearbeitet wird; das kann zu einem RESET fuehren; denn der Cursor kann dort haengen bleiben.3.2.1.1. Der Handl7/}er fuer den Bildschirm "E:" Folgende Funktionen werden von dem (supplied) Handler unterstuetzt und emulieren den 8-bit-B70}ildschirm-Handler (Editor):OPEN: Legt den Edit Handler auf I0CB #n fest und gibt den Bildschirm frei. 71} Falls AUX1 auf $2C liegt, wird der Schirm nicht freigegeben.CLOSE: Loest den Handler von I0CB #n.GET CHAR: T72}extzeile bis EOL (Eingabe in BASIC). Der besondere Read-Modus (liest eine Bildschirmzeile ohne Tasteneingabe) wir73}d auch unterstuetzt, wenn AUX1 benutzt wird I0CB nach $0D zu rufen.PUT CHAR: Bringt ein Zeichen auf den Bildsc74}hirm oder erfuellt Editier-Funktionen (PRINT oder PUT in BASIC). Siehe unten.GET STATUS: Geht zum voreingestell75}ten "on line" Status zurueck.SPECIAL: Sendet Befehle an den XEP80 und bekommt von dort Status-Angaben (XIO im76} BASIC). Das AUX1-byte muss $0C sein, AUX2 dient als Sende-Code, CMD liegt darunter. (vgl. Original-T77}ext)Put-Character-Werte: ATASCII | Funktion --------|------------------------------------------------ $1B 78} | Escape - Print next char even if a control char $1C | Cursor Up $1D | Cursor Down $1E | Curso79}r Left $1F | Cursor Right $7D | Clear Screen $7E | Backspace $7F | Tab $9B | Ata7:}ri EOL (CR/LF) $9C | Delete Line $9D | Insert Line $9E | Clear Tab $9F | Set Tab $FD7;} | Sound Bell - nicht verfuegbar (siehe unten) $FE | Delete Character $FF | Insert CharacterBemerkung7<}en:1) PUT CHAR rueckt den Cursor weiter.2) GET CHAR rueckt den Cursor weiter.3) Am logischen Ende einer Zeile wird eine ne7=}ue Zeile eingefuegt.4) Wenn kein EOL gegeben wird, ueberschreibt PUT vorhandene Zeichen.5) Die XEP80-Handler "E:" kann abge7>}schaltet werden, indem man beim Einschalten des Computers oder waehrend eines Resets die SHIFT-Taste drueckt.6) Die "S7?}chreibmaschinen-Klingel" (Bell-Sound) ist durch den Handler abgeschaltet, um den Zeichen-Output an die XEP80 zu beschleuni7@}gen. Eine Anwendung (ein Programm) kann stattdessen den SOUND-Befehl (oder die entsprechenden Assembler-Werte) benutzen7A}, um irgendwelche Toene oder Musik zu erzeugen.Spezial-Befehle an "E:"CMD | AUX1 | AUX2 | Funktion----|------|------|7B}-----------------------------------------------------$14 | $0C | CMD | sende Befehle ($00-BF,D0-DF) an XEP80 (siehe 4.3.2)7C}$15 | $0C | 00 | Normaler Zeichen-Uebermittlungs-Modus$15 | $0C | 01 | Burst Zeichen-Uebermittlungs-Modus$16 | $0C 7D}| CMD | sende Input-Befehl ($C1-C6) an XEP80 (siehe 4.3.4) | | | Die Antwort wird in Adresse $2EB gespeichert.7E}$18 | $0C | 00 | 40-Zeichen abschalten, 80-Zeichen ein und Bildschirm | | | freigeben.$18 | $2C | 00 | 7F}40-Zeichen abschalten, 80-Zeichen ein und Bildschirm | | | nicht freimachen.$19 | $0C | 00 | 80-zeichen abs7G}chalten, 40-Zeichen ein und Bildschirm | | | einschalten.3.2.1.2 Bildschirm-Handler "S:"OPEN: Legt de7H}n Bildschirm-Handler auf I0CB #n (siehe unten)CLOSE: (Gegenteil)GET CHAR: Zeichen setzen und Cursor vorruecken (LOCA7I}TE in BASIC)PUT CHAR: Zeichen auf den Schirm schreiben, keine EditierfunktionGET STATUS: Zurueck zum "On Line" Status (si7J}ehe engl. Originaldokument.)SPECIAL: Kein EffektEinzelheiten:1) PUT CHAR rueckt den Cursor weiter und setzt ggf. Zeile7K}n ein.2) GET CHAR rueckt nur den Cursor weiter.3) GET CHAR ueber einer Leerstelle fuehrt zurueck zu $20 (SPACE) (siehe e7L}ngl. Originaldokumentation)4) PUT EOL ($9B) fuehrt den Cursor auf den linken Rand der naechsten Zeile.5) GRAPHICS 8+16 scha7M}ltet den Graphics-Modus auf der XEP80 ein. Falls I0CB #n geoeffnet ist, kann dies mit AUX1=$1C und AUX2=08 geschehen.6) I7N}m Graphics-Modus befindet sich der Cursor in der linken oberen Ecke des Graphic-Fensters. Jedes an die XEP80 gesendete Byt7O}ewird auf dem Bildschirm als eine Serie von 8 Punkten (MSB bis LSB) entsprechend dem binaeren Wert der Bytes oder dem A7P}TASCII-Wert der Zeichen. Der Cursor bewegt sich anschliessend um 8 Punkte nach rechts, um anzuzeigen, wohin das naechst7Q}e Byte plaziert wird. Sobald der Cursor den rechten Rand des Fensters erreicht, bewegt er sich eine Zeile tiefer an den 7R} linken Rand.7) Ein nun ausgefuehrtes PUT CHAR sendet ESC gefolgt vom Zeichen. Dies ergibt jeweils 2 Byte im Graphics-Mod7S}us. Deshalb benutzt man PUT CHAR mit "E:", wenn man Graphic-Daten uebermitteln will.8) Der Graphic-Modus-Befehl schaltet 7T}automatisch den Burst-Modus ein.9) Der Handler unterstuetzt Standard-ANTIC-Graphic-Kommandos, solange man im 40-Zeichen-M7U}odus arbeitet, vorausgesetzt im RAM steht genug Platz zur Verfuegung. Fuer die uebliche Speichergroesse bedeutet das au7V}sschliesslich GRAPHICS 1,2,3,4.AM steht genug Platz zur Verfuegung. Fuer die uebliche Speichergroesse bedeutet das au4!3.2.2 Drucker Operationen Die XEP80 gibt durch einen internen 2K-Puffer auch einzelne Zeichen an den Drucker-Anschluss. ;X}Daten, die durch den Handler an denDrucker ausgegeben werden, koennen in jeweils einer von drei Moeglichkeiten "bearbeitet" ;Y}sein: No Translation=Keine Uebersetzung - Alle 8-bit-Daten-Informationen gehen unbeeinflusst an den Drucker. Light ;Z}Translation=Geringe Uebersetzung - Das ATASCII EOL (#9B) wird vom Drucker-Handlerin CR- und LF-Zeichen uebersetzt, bevor es a;[}n den Drucker weitergegeben wird. Das ist der voreingestellte Drucker-Modus. Optional (auf Wunsch) kann auch lediglich der CR;\}-Befehl anstelle von EOL gesendet werden. Heavy Translation=Schwerwiegende Ue. - bedeutet Light Transl. plus Uebersetzun;]}g der ASCII-Zeichen unter $20, die zu einem "(Hochzeichen, s.engl.O.! - mit diesem Schreibprogramm nicht darstellbar)"-Zeiche;^}n (fuer CONTROL) umgewandelt werden, gefolgt von dem entsprechenden Zeichen. Erst dann werden sie an den Drucker geschickt. M;_}SB wird auf 0 gesetzt. Der Drucker-Output kann an die XEP80 gerichtet werden (parallel) oder an einen seriellen Port ode;`}r an beides. Die Geraetenummern (z.B. P2:) kann je nach Bedarf beibehalten oder geaendert werden. Siehe unten.Befehle an "P;a}:":OPEN: Legt den Drucker-Handler auf I0CB #n und gibt die STATUS- Anfrage an den Drucker. AUX1 muss 08 s;b}ein (nur schreiben).CLOSE: (Gegenteil)GET CHAR: (nicht unterstuetzt)PUT CHAR: Sendet ein Zeichen an den Drucker-P;c}ortGET STATUS: Holt die Status-Angabe von der Drucker-BUSY-Leitung: 1=frei, 139=busy oder AUS (off line).SPECIA;d}L: Drucker anpassen (konfigurieren) und Uebertragungs-Modus auswaehlen (siehe unten) Diesen Befehl;e} benutzen, bevor man den OPEN-Befehl schickt!Spezial-Konfigurations-Befehle an P: Befehls-Byte=$17Belegung der Konfigurati;f}ons-Bytes fuer AUX1: 7 6 5 4 3 2 1 0 | Bit Positionen -----------------|---------------------------- 0 0 0 0;g} 0 * * 0 | P1: - Paralleler Port 0 0 0 0 0 * * 1 | P1: - Serieller Port als P1: 0 0 0 0 0 0 0 * | P2: - Serielle;h}r Port als P2: 0 0 0 0 0 0 1 * | P2: - Serieller Port als P1: 0 0 0 0 0 1 0 * | Reserviert 0 0 0 0 0 1 1 * ;i}| P2: - Paralleler Port 0 0 0 0 1 * * * | Reserviert 0 0 0 1 * * * * | " 0 0 1 * * * * * | " 0 1;j} * * * * * * | " 1 * * * * * * * | "Konfigurations-Bytes fuer AUX2: 7 6 5 4 3 2 1 0 | Bit-Positionen ;k} -----------------|--------------------------------- 0 0 0 0 0 0 0 0 | Light translation - EOL to CR/LF 0 0 0 0 ;l}0 0 0 1 | No translation 0 0 0 0 0 0 1 0 | Heavy translation - EOL to CR/LF 0 0 0 0 0 0 1 1 | Reserviert 0 ;m}0 0 0 0 1 0 0 | Light translation - EOL to CR 0 0 0 0 0 1 0 1 | No translation 0 0 0 0 0 1 1 0 | Heavy translati;n}on - EOL to CR 0 0 0 0 0 1 1 1 | Reserviert 0 0 0 0 1 * * * | " 0 0 0 1 * * * * | " 0 0 1 * * * ;o}* * | " 0 1 * * * * * * | " 1 * * * * * * * | "Anmerkung:P3 bis P15 sind nicht verwendbar; sie werde;p}n vom Handler nicht angesprochen, dies ist nur ueber den seriellen Bus moeglich.4.0 Das Kommunikations Interface----------;q}----------------------4.1 Grundsaetzliches Die Kommunikation mit der XEP80 funktioniert, indem man fortlaufende Daten u;r}eber Bit 0 oder 4 (JOY-stick-0, JOY1) sendet und ebensolche ueber Bit 1 oder 5 (JOY0,JOY1) vom PIA A I/O-Register empfaengt. ;s}Die Daten werden bei 15.7 KB verschoben. Uebertragene und empfangene Daten enthalten 9 Bit Information. Die Daten werden folg;t}endermassen weitergegeben: ein Start-Bit - Wert Null, gefolgt von den Bits D0 bis D7, gefolgt als naechstes von einem Kontrol;u}l-Bit - es soll anzeigen, ob es sich um eine Daten-(0) oder eine Befehlsinformation (1) handelt, diese Sequenz wird durch ei;v}n Stop-Bit im Wert 1 abgeschlossen. Dabei sorgt der eingesetzte Handler fuer die fortlaufende Verschiebung von Daten am Compu;w}ter-Ende (Speicherende). Jede Anwendung die weder den Handler benutzt noch die XEP80 mit einer unterschiedlichen BAUD-Rate a;x}nspricht, muss einen Code dafuer vorsehen. Dabei muss man sich darueber im klaren sein, dass dieser Code in der Operation zei;y}tkritisch ist. So muessen also alle 6502/ANTIC - Zyklen waehrend des Datentransports miteingerechnet werden. Ein alterna;z}tiver Sende/Empfangs-Modus, der "burst-Modus", erlaubt einen schnelleren Transport. Die XEP80-Daten-Leitung zum Computer (Emp;{}fang) steht auf high (1), wenn Zeichen gesendet werden koennen, steht auf low (0), wenn die EXP80 arbeitet. In diesem Fall wi;|}rd keine Cursor-Information ausgegeben (kommt keine C.-Inf. zurueck). Dieser Modus funktioniert nur, wenn man Zeichen an den ;}}Bildschirm sendet (einschliesslich) der Control-Zeichen) und, wenn man Zeichen an den Drucker sendet (der einzige Modus fuer ;~}den Drucker). Der Burst-Modus ist nicht geeignet fuer Befehle irgendwelcher Art. Fuer jeden programmspezifischen Handler;}, der den Burst-Modus benutzt, muss klar sein, wie er von diesem Punkt aus die Kommunikation handhaben (handle) kann. W;}aehrend man auf den Cursor oder ein Zeichen wartet (im Non-Burst-Modus), muss man die Data-in-Leitung unmittelbar nach dem Tr;}ansport eines Bytes kontrollieren. Im Burst-Modus darf man hoechstens 90 Millisekunden warten, bis man die Data-in-Leitu;}ng auf 0 (busy) oder 1 (ready) ueberprueft. Vermeiden Sie unter allen Umstaenden jeden 6502-Interrupt waehrend der Ueber;}mittlung bzw. des Empfangs von fortlaufenden Daten, da dies das BAUD-Raten-Timing veraendert. Interrupts sind moeglich, ;}waehrend man darauf wartet, dass die EXP80 im Burst-Modus auf READY geht. Auf diese Weise werden andere interrupt-gesteuerte ;}Prozesse z.B. ein Modem-Handler keine Zeichen verlieren.4.2 Kommunikations-Protokoll Zeichen, die an die XEP80 gesende;}t werden, bewirken die Ausgabe eines 1 oder 2 Byte Cursors (siehe 4.3.1 und 4.3.6) Befehle werden in drei Gruppen unter;}teilt:1) Stand Alone Befehle - keine Antwort erwartet (siehe 4.3.2).2) GET CHARACTER - Zeichen und Cursor werden ausgegebe;}n (siehe 4.3.3).3) GET DATA Befehle - nur Datenbytes werden empfangen (siehe 4.3.4). Die Cursor-Werte, die von der ;}XEP80 zurueckgegeben werden, sind durch folgende Logik definiert:1) Wird nur der Y-Cursor (y-Achse) veraendert, wird nur Y ;} zurueckgegeben.2) dto. X3) Werden beide (X und Y) veraendert, werden beide zurueck gegeben, X zuerst.4) Wird keiner d;}er beiden veraendert, wird nur X zurueckgegeben.Befehlstruktur | Comp. <-> XEP | --|---------------|----------;}------------------ 1 | CMD --> | Stand Alone Befehl 2 | CMD --> | Get Data Befehl | <-- CHAR ;} | Wert zurueck (Return value) 3 | CMD --> | Get Character Befehl | <-- CHAR | Return character ;} | <-- CURSOR X | und X Cursor 4 | CMD --> | Get character Befehl | <-- CHAR | Return character ;} | <-- CURSOR Y | und Y Cursor 5 | CMD --> | Get character Befehl | <-- CHAR | Return character ;} | <-- CURSOR X | und X und Y Cursor | <-- CURSOR Y | 6 | CHAR --> | Zeichen-Ausgabe | <-- CUR;}SOR X | Return X Cursor 7 | CHAR --> | Zeichenausgabe | <-- CURSOR Y | Return Y Cursor 8 | CHAR --> ;} | Zeichenausgabe | <-- CURSOR X | Return X und Y Cursor | <-- CURSOR Y | 9 | CHAR --> | Burst Mo;}dus - Sende Zeichen | | High (1)=Ready, Low (0)=Busy4.3 Befehls/Daten-Werte4.3.1 Datenausgabe - Retur;}n Cursor 8 7 6 5 4 3 2 1 0 | -------------------|-------------------------------- 0 * * * * * * * * | Chara;}cter to be output ($00-FF) | (3.2.1.1 und 3.2.2)4.3.2 Stand Alone Befehl - Keine Information zuruec;}k 8 7 6 5 4 3 2 1 0 | -------------------|--------------------------------------- 1 0 0 * * * * * * | Horiz;}ontal Cursor Position ($00-3F) 1 0 1 0 0 * * * * | Horizontal Cursor Position ($40-4F) 1 0 1 0 1 * * * * | Horiz ;}Curs Pos High Nibb. wide screen 1 0 1 1 0 * * * * | Left Marg.Low Nibb. high nibb. to 00 1 0 1 1 1 * * * * | Left;} Margin High Nibble 1 1 0 0 0 * * * * | Vertical Cursor Position ($00-0F) 1 1 0 0 1 0 * * * | Vertical Cursor Pos;}ition ($10-17) 1 1 0 0 1 1 0 0 0 | Set Curs to Status Row ($18) See Pg.6 1 1 0 0 1 1 0 0 1 | Set Graphics to 60 H;}z 1 1 0 0 1 1 0 1 0 | Modify Graphics to 50 Hz 1 1 0 0 1 1 0 1 1 | Reserved 1 1 0 0 1 1 1 * * | " 1;} 1 0 1 0 * * * * | Right Marg. Low Nibb. high nibb. to 04 1 1 0 1 1 * * * * | Right Margin High Nibble 1 1 1 0 1 ;}0 0 0 0 | Clear List Flag 1 1 1 0 1 0 0 0 1 | Set List Flag 1 1 1 0 1 0 0 1 0 | Set Scr.Normal Mode-curs ret.eac;}h char 1 1 1 0 1 0 0 1 1 | Set Screen Burst Mode-no cursor ret. 1 1 1 0 1 0 1 0 0 | Select CharSet A - Atari grap;}hics 1 1 1 0 1 0 1 0 1 | Select CharSet B - Atari international 1 1 1 0 1 0 1 1 0 | Select XEP80 Internal Charact;}er Set 1 1 1 0 1 0 1 1 1 | Modify Text to 50 Hz Operation 1 1 1 0 1 1 0 0 0 | Cursor Off 1 1 1 0 1 1 0 0 1 ;}| Cursor On Continuous 1 1 1 0 1 1 0 1 0 | Cursor On Blink 1 1 1 0 1 1 0 1 1 | Move Cursor to Start of Logical Li;}ne 1 1 1 0 1 1 1 0 0 | Set Scroll Window to Cursor X Value 1 1 1 0 1 1 1 0 1 | Set Printer Output 1 1 1 0 1 ;}1 1 1 0 | Select White Char on Black Background 1 1 1 0 1 1 1 1 1 | Select Black Char on White Background 1 1 1 1;} * * * * * | Reserved4.3.3 Get Character Befehl - Datenbyte und Cursor werden zurueckgegeben (4.3.5 und 4.3.6) 8 7 6;} 5 4 3 2 1 0 | -------------------|----------------------------------- 1 1 1 0 0 0 0 0 0 | Get Character from XEP;}80 at Cursor | (and advance)4.3.4 Get Data Befehl - Datenbyte zurueck (4.3.5) 8 7 6 5 4 3 2 ;}1 0 | Command Function XEP80 | Byte Return -------------------|-----------------------------|------------ 1 1;} 1 0 0 0 0 0 1 | Request Horizontal Cursor | Curs.Value 1 1 1 0 0 0 0 1 0 | Master Reset | 01 1 ;}1 1 0 0 0 0 1 1 | Printer Port Status | 00=busy | | 01=On Line ;} 1 1 1 0 0 0 1 0 0 | Fill RAM with previous char | 01 1 1 1 0 0 0 1 0 1 | Fill RAM with space ($20) | 01 1 1;} 1 0 0 0 1 1 0 | Fill RAM with EOL ($9B) | 01 1 1 1 0 0 0 1 1 1 | Reserviert | 1 1 1 0 0 1 ;}* * * | " |4.3.5 Empfangene Daten - Normaler Kommunikations-Modus 8 7 6 5 4 3 2 1 0 | ;} -------------------|------------------------------------ 0 * * * * * * * * | Zeichen vom Bildschirm oder vom ;} | Horizontalen Cursor, falls verlangt4.3.6 Empfangener Cursor - Normaler Kommunikations-Modus 8 7 6;} 5 4 3 2 1 0 | -------------------|---------------------------------------- 1 0 0 * * * * * * | H. Curs Pos($00-3;}F)Vert does not follow 1 0 1 0 0 * * * * | H. Curs Pos($40-4F)Vert does not follow 1 0 1 0 1 0 0 0 0 | H. Curs Po;}s >4F No Vert follows see n. 1 0 1 0 1 0 0 0 1 | Reserviert 1 0 1 0 1 0 0 1 * | " 1 0 1 0 1 0 1 * * | ;} " 1 0 1 0 1 1 * * * | " 1 0 1 1 * * * * * | " 1 1 0 * * * * * * | H. Cursor Pos. ($00-3F) Vert follo;}ws 1 1 1 0 0 * * * * | H. Cursor Pos. ($40-4F) Vert follows 1 1 1 0 1 0 0 0 0 | H. Curs Pos >4F Vert Follows - se;}e note 1 1 1 0 1 0 0 0 1 | Reserviert 1 1 1 0 1 0 0 1 * | " 1 1 1 0 1 0 1 * * | " 1 1 1 0 1 1 * ;}* * | " 1 1 1 1 0 * * * * | V. Cursor Position ($00-0F) 1 1 1 1 1 0 * * * | V. Cursor Position ($10-17) ;}1 1 1 1 1 1 0 0 0 | V. Cursor Pos. for Status Line ($18) 1 1 1 1 1 1 0 0 1 | Reserviert 1 1 1 1 1 1 0 1 * | ";} 1 1 1 1 1 1 1 * * | "Anmerkung: wenn folgendes Byte empfangen wird "Horizontale Cursor-Position groesser als $4F";}, kann der Computer mit dem Befehl "Ersuche Horizontalen Cursor von der XEP80 (Request H.C. from XEP80)" den aktuellen Wert e;}rhalten.ANHANG A: Anmerkungen zur Anwendung------------------------------------ Zeichen koennen am rechten Rand ue;}ber die EOLs ausgegeben werden, ohne einen Zeilenvorschub zu bewirken, wenn man den rechten Rand um mindestens eine Position ;}weiter nach rechts verschiebt. Das Festprogramm der XEP80 benutzt weniger als 2K des vorhandenen Adressenplatzes. Dies ;}erlaubt ROM-Adressen-Veraenderungen um zusaetzliche Programm-Moeglichkeiten einzubauen. Der Debug-Modus erlaubt es, den;} parallelen Port auszulesen. So kann man unter zusaetzlicher Benutzung eines Signalspeichers (latch) an der XEP80 den Port bi;}directional (in zwei Richtungen benutzbar) gestalten. Wenn ein grosser Text-Bildschirm (breiter als 80 Zeichen) geloesch;}t werden soll, benuetzt man besser den Fill-XEP80-RAM-with-EOL-Befehl als das Zeichen Clear Sreen. Diese loescht nur das auge;}nblicklich gezeigte 24-Zeilen-Fenster. Der X-Cursor > $4F wird durch den Handler gesteuert. Dieser sendet jedesmal autom;}atisch den Request-Hor.-Cursor-Befehl an die XEP80, wenn der Wert des X-Cursors als $50 gemeldet wird. Wenn man den XEP;}80-Zeichensatz benutzt, gibt man den Befehl Fill-XEP80-RAM-with-Space, um den Schirm zu loeschen. Auf alle Faelle schickt man;} jedem Zeichen, das man an die XEP80-Schirm sendet, das ESC-Zeichen voraus, oder man setzt die LIST-Flag so, dass keine Zeich;}enausgabe auf dem Schirm erfolgt. Graphics 8 Screen Dumps beduerfen einer kurzen Erklaerung. Da das OS 8K des RAM benoet;}igt, um einen Modus-8-Bild aufzubauen, kann der Handler nicht an seinem vorgesehenen Platz bleiben. Ein angehaengtes (appende;}d) AUTORUN.SYS-File muss zuerst den MEMTOP-Zeiger auf 8K unter dem Top des RAM richten (kontrolliere den aktuellen Modus-8-We;}rt). Dann verschiebt der Relocater den Handler an den Platz unterhalb dieses Punktes. Nachdem man in den 40-Zeichen-Modus gew;}echselt hat, kann der Graphics-8-Befehl gegeben werden. Zeichnen auf dem Schirm funktioniert auf dem ueblichen Weg ueber das ;}S:-Interface des OS. Sobald dies beendet ist, wird der EXP80-Modus, anschliessend XEP80-Graphics eingeschaltet. Der ANTIC-Scr;}een-RAM wird nun ausgelesen und an die XEP80 ausgegeben. Wie man die voreingestellte Drucker-Configuration beim Booten v;}eraendert, zeigt das Programm PRINTER.BAS auf der System-Diskette.ANHANG B: Das Relocater-Format des XEP80-Handlers-----;}---------------------------------------------Die Werte in den Kaestchen sind im HEX-Format angegeben.AUTORUN.SYS File Form;}at Relocating Format of Handler+-------+ +----+| FF,FF | DOS Load File +--| XX ;}| Link byte to first+-------+ | +----+ Relocate byte| 00,30 | Start Address=$3000 | : :+-;}------+ | : : Valid 6502 Code| LO,HI | End Address | +----++-------+ ;} +->| XX | High Byte to reloc.: : Relocater +----+ add offset: : Code ;} +--| XX | Link byte to second+-------+ | +----+ Relocate byte| LO,HI | Handler Length |;} : :+-------+ | : : Valid 6502 Code| 20 | JSR Instruction | +----++-------+ for ;}DOSINI set +->| XX | High Byte to reloc.| LO,HI | by Relocater +----+ add offset+-------+ ;} +--| 00 | Example Link of 0| 4C | JMP Instruction | +----+ following byte is+-------+ to INIT cod;}e +->| XX | High byte to reloc.| LO,HI | set by Relocater +----++-------+ +--| 80;} | Spec. Case 80 means| 00,00 | Printer Aux bytes | +----+ skip 127 data bytes+-------+ | : ;} : then treat byte 128: : XEP 80 Handler | : : as the next link: : Code in +->+----;}+: : Relocating Format +--| XX | Link+-------+ | +----+| E2,02 | INIT Vector ;} | | | Valid 6502 Code+-------+ | +----+| E3,02 | for DOS +->| 00 | Dummybyte to;} Reloc.+-------+ +----+ to maintain links| 00,30 | RUN Address | FF | Spec. Case ;}FF means+-------+ +----+ end of FileANHANG C Inhalt der System-Diskette--------------------;}----------------DOS.SYS DOS 2.5DUP.SYSAUTORUN.SYS XEP80 Relocater und HandlerXEP80.DOS Engl. Dokume;}ntationXEP80HAN.SRC Handler als Assembler Source-CodeRELOC.SRC dto. der RelocaterMAKER.BAS Programm, das;} das AUTORUN.SYS erzeugtWINDOW.BAS Beispiele zur GebrauchsanleitungEIGHTY.BAS "PRINTER.BAS "GRAPHI;}CS.BAS "DEMO80.BAS Demo-Programm fuer die XEP80hsanleitungEIGHTY.BAS "PRINTER.BAS "GRAPHI8?