@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@P!( 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:}DOS Version 2.5 fuer Macro-Assembler. Aenderungen von T.Karwoth.A. Disk. Inhalt I. FormatierenB. Zum Assemble*}r J. Disk. kopierenC. File kopieren K. Binaer SaveD. loesche File(s) L. Binaer LoadE. Neubenennen M. Prog. starten+} F. File schuetzen N. MEMSAV anlegenG. Entschuetzen O. Duplizieren H. DOS schreiben 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!Bloedsinn!?!Funkti.}on waehlen und : ! 0 .z:*{}.|{ 1 0 0JB 18L%|DL/}%Filespezifikation, Ausgabegeraet?[# 0 0 &|D3" 1L!Kein Disk. FileN !B 1L!E# 1 !BD0}ED:}:1BJ|DE 1DEBHI 1 h0ߢ 0.1}  0?詛 1 y0JЛ 1 ;#L" ;#L! BL1Druecke J zum loesch.Files loeschen: 2}Kop. von, nach?Wahl nicht erlaubt003 Sektor. frei Kopiere---D8:CUSTOM.OBJl# 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!Joker im Ziel-Fi6}le nicht erlaubt ! 0 <.|K}DOS Format! t* 5) 1L!`) 0NΞ 0 L1) 1 L!Nicht Binaer!Welches File laden? ) 0 ?}0#B 1L!File schuetzen : ) 0 0$B 1L!File entschuetzen : Quell- und Ziellaufwerk ? Programmspeicher ben@}utzen? (J/*) Prog. Speicher wird ueberschrieben!FE! +L1   `*  70 2 2A} 0.* 1 y0 0)Beide Disk's einlegen, :^, 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}` Zu wenig Platz!Quelldiskette einlegen, ΛZieldiskette einlegen, E}`  `8 rL1`-* 1P* 1 y0J`hhL!Namen des/der Files ?- 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 y0Jj383}mm ݭI}}`8}``|* ? ɛ,`|:-)| / 1L!`Ziel nicht DOS.SYS benJ}ennen0 0H{ 24Δ 28/L!/) 2 Π 2 0 ξK}hAΞB,0 J 1 BDEHI,HÝDE 1HIHIDELSave: NameL},Start,Ende(Init(,Run)) :O S0 1`BDEPHI V` S0H 1 L!M}0 0 1L~0`Nur einen Buchstaben,0`hhL! 70 1L0L<1 ,;ɛ7,"ɛ:ݦ1ݥN}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{BiscO}hen lang! B VL!` L1I H1EΝDL1|mDiE` V0`8d/8 i:222 1 LP}!Fehler 144ɛ+,' 20*.. өr2 1``2Zu viele stell.Wert nicht HQ}exadezimal! 800 0 8 00`,0'D800 H,ɛh`2L1Laufwerk 1 - 8!uR} xadezimal! 800 0 8 00`,0'D800 H,ɛh`2L1Laufwerk 1 - 8!uT}U}V}W}X}Y}Z}[}\}]}^}_}`}a}b}c}d}e}f}g}h}i}j}k}l}m}n}o}p}q}r}s}t}u}v}w}x}L 0L 2LF2 y}0001 0 H 1 0  0 01 ) ?81?hL0`pz}ppppG0 00pppB1A0-!#2/ !33%-",%28% 6ersionvom #opyrightby4orsten+arwoth{}H@1ӭ@1Ӎ11@ө@hHө@ӭ@1ӭ@1ӭ1@ӭ1@hӭ1@11|}i0i10`(Pb3peichererweiterungerforderlich+" 2am$isk$nichtverfuegbar-ehrals+" 2am$isk}}$nutzbar 0@Hӱ)ЩhL0xHөАh~} ө@XL0}L FLKAxԩ)LgӱHh ؅L̹͹ιYӢ X }@X`荳򁀮荳䀳Ḽ `/(ΠHΙ C̮0Πhx 0 }:; < =΍Һ?764ө0>5ҩ:23 4 ̭234 5 > 7,P ͩҥ iͥ0 }7РX`# ͱ21 2 35451 ͭ) kͩ41 ͑2 3545 1Q`jj)? }j) mͩ<ө AC E'0&͍'`?0,0?>06Lm̩(Ḽ) ߍҩҭҍ  }) ǭ `)ҩЍҊ Үe1i1`ҍ ҩ(ҩҩ`?@8<<  }B JKIHiDiELV`L8 8 BLV`Lx8t8l Lu8hihi }HHȱȱL8c !#3`Lu8JJJJ`H 8h`Hȩh Q8L8 } Z8L8 8L8 8L8 8L8S:@9E:E9H '9 H9I9 8 '9h)0IC9D9L8 L ::: }: :Lr:::IEL[::i:iIIL[:`:i::i::L:`L{:w:w: C`L: }L: D8:MEM.SAV: 8| 9 '9`L:L: D:DUP.SYS:̩ 8 x:ɀL: '9`88 |9Y }:X: '9L); D8:DUP.SYS; 8::88 9 '98? :`;WL`; 9Ln; ` :Y;Y;L;L;)} }Setting Up ATARI 130XE Ram Disk; 9L; ; -9   L;D8:; :9 : }Y;L~,.G;@ʎ;@LBF J8@ UJ8@ J`&@7@ B J {JBLCC ;@##  $LxJ} ,B## nBLxJ;@̈́CL J6@ VC VC VCc` 2HŐ.  GLJ` J DC#0/( ; : }=LJ(`(8`CLML0I J C ;LM=LcK:{6@к6@ VC VC/ $ `C7A3[//} $ `C @䜐 VC䜐 2HŐL+MLwN J CL(K;LMLL ix@iz/ $тk VC V}CdL6@G 6@6 6@+LL  J CLL L(KLK/= VCLLLN} XALK/ $тU VC VC 1ML(K i륎 VC VC(/ $ VC䜐LL J DC!; }H VChL%M VC J DC VCL M,`` J C;/#=(E/ $XY )/h кY}/,솜 (i` M` M/ $Y))/ $X/,`Ɯ `/,к/)а`//䜐}Ɯ`)/.6@LgK/.//䜐ƜL(K VC VC/ `C/ $ VC䜐 J CLLʊm8圐}L(K;@I);@LWF&@LbFN## $LN@@ &@&@LN&@ "@#@L5FLbF&@)IJ #}@#@@"@@#@ @$@!@%@#@%@$ "@$@"@#@$@"@%@#@$@%@"@ `LbFE E:@LBFLrF8) $ }A&@L5F ALH A $ e $8劅ϭ;@Ō``:@ 7@ ,B&@ CLWFLH .` DLG L}VL^L6RLW$oppeltbenutzt⎀쀳瀀3ymbolunbekannt!usdruckfalsch玀򀧁"isherkein/2'&}alscher/p#ode!bbruchmit"2+:ielzuweit:ahlzugross:ukomplex$ivisiondurch-acro &ehlerd} 'pʽ.@6)LZ$ ^p . .# ^p . .pipx _H)ӠZ@p*ȱ_pʱ.pȱ}[ȱ\hX`ZieiLfQh8X` Q 8` hh8` xH)ӥpȑ_Ȣ.p]^ȑȩhX`!s}sembling0asstĊ $t` *,u`vu;v.-()ٴS(vu٥*i * 8`*}8 *LU!v *-LU -<>𽹻S*h U 8`/0+8i ,LR},ș,Ȅ,h) h,,uLMR*LU,,,`,)*-,)*-*,-,,,h,/,0 S} `-,,ȹ,,,,8,L+S+-*/!&# h) SSlSS TCTT1TTSE/E0`e/}e0`8/0`%/%0`/0`/0/0 /0`) /e/0e}0Ff&&&L[T/0/0r 8`$0 r<8嚅囅&/&0(Ffrۥ/0`}--vv`/0v 8`i+-<>-- T+ Ti Ti-'v-/` /`*v/0}`$L%K:J0Fvzvvtv-0e:a)tQe//Qe00Ltv`LVLHV?.)-v'-1 8)Q }/0`LrVLZLU 8`vv-0: AG87)  &/&0v`vv-021&/&0v` 8`}v@- &}A-'@- $ȱ $0C $ɛ')Ȅ`~z  &A-а𬈩 A-+*>~3VL{p}ƒ&&@-A-Ē A-g-L{p& B-A- A-祒)i&&֥8)L{p挥L@hi(}Ȅ' @ƌLUq&`pA- ``p`pA-` q `,#.ݮ8``䝀.}`0 p1p/p p $'p@ @o p0p1p/@ԩ p *$ Sq $ @  apLbr {p Sq q} CsLr QsRsl @芡 ʠrʈ *$L r/k "efehl5nbekannt0arameterfalsch0arameterfehlt}.ichtmoeglich)/&ehler0rogrammbeendet&ilenamefehlt+ein"inaerfileDWLS?XGCIVMFR.t~zyssmsvvdx{C}}~2}` q Lr?p 8tHth?pi?pLshӭ PHpIp PJpKp&i}Pp$;p Sq qL|sLr'd  q  w Sq '.t 9$tH. $.h*t @"}t tΘ8Lt @ $.t P.. P.. P... 9$ 9$L]u}L3vu.斩.断H. $.h P.. %H. $.h P...Ȋ.Ȅ P.Ȋ.Ȅv}v0 .'. p*..i .. $$LAx Sqy%vi p p * p!ƍ0}LRORjfvn~RTI@ RTS` SBCSEC}8 SED SEIx STASTXSTYTAX TAY TSX TXA TXS TYA $| }3:L &L$L$L$L$LV%Lq%L%L*L+L&L'L&Lh(L(L(L(L(L)L#*L{)L1*L:*L$L*LC*L+L)pB%v$pO,O-O.O,v$T$}B@ As$$`ӭӱ`Hh`H Hӥ.ř)Ř#Ɲ }LQ%eeeeƙƛƝƙƛh`H)o%h) `8 i@ `H)%h)a{)_ }`Ӎ% ө%M)yɂ %I%Ԡ q%Ӡ, `򀶔聢 } @` E& F&)& D Lt)/ )АLw @/% ( +h#H#hi(x!}өڍ&ө +̅ӱHh蚩X@ԩ"/ + `L&Hҥҭԍh@Ӎ+"} J(+(`6Ӡ/ +Ɲ BHDI/E V0Ӡ/ + BIDH#}/E VL 'Ӎ+  ,(L '@BHDI/E + VL 'Ӡ/旭+Ɲм7B$}IDH/E + VL 'Ӥ/+Ӡ`BHIDELV BHIDELVH +hJ%}KBD-E VL ' + B VL '( ++ӭ(`( +(ў+ӭ((`X@ +/i E& F& &}ҩҥҩLtx)6)X`x67)))))۠)67غ)8 X ))ح+'}ө )Lpxغ))۠)67 +8hHHH@ )L ' +l)l)(}hhhhح i柭+Ӯ) )Lp +H+h` + J(L ' + ,(L 'Ӎ+ӥĊ0拱<4)}Ċ q%.@.䜐pq+` +hh8`Ӎ+ӥĊ拱Ċ'( q%.䝐*}+` $`ȥ $, $ei @,8台8I8厅L]+eie+}e0 $,, $m,慠, $`+Ӎ+ө Hh(`Ӎ+ +` +t$+u$s$01`T,}$]$3$3 > ` LthPK ɾɮ P:] ]789KA``-}&iiiiJ0ȱњ敠Hh旤ĔН`6ɀ) .}(6`]  "$&]]  ;ˆ)'M:,M:-M:-OM:./} N$IƗܢ4T8 7 $ $(*#+%~L>< ɛL­`L80}L88`ذ,]-..] `]  ` (°E- $VUf- 詛--444V V` (° 1}4hLH (°h4~H)m44hL4ʎ4 #hh) $(0eiHH` ]-%`##2}`D:PREFEREN.CES0Ý-` ?íH)Ӡ6.4Ȅ $ - Preferences Macro-Assembler V4.3 ]=# 膗 3}Printer-Device ]. Colors ]. C1:00 C2:00 BK:0 Startup-Font ]. Dir-Sort-Index ]. Inverse Menu ]. I/O -4} Sound ]. Resident List ]. ¢ Load Prefs Save Prefs Quit Prefs Atari Macro Assembler, Vers5}ion 4.3 Written in '89/90 by Torsten Karwot ¦ #â. _ $旦 #í. PȊ. P6}Ȋ. P$Ȋ旦 #í.)] Ƒƕ旦 #â .0 ).i旦 #î.. t旦 #î.. t7} #î. tȤ& #à& 40I AưLmh`)ntern3tandart/ff/n  .ƍ8}ƽ/ƍƭ4 $ $ɛ 4T攅)4`44L~ʩ .i4`.!9} ...` .)I.` 4 . 斥) . $ $H .h ɛLiƦ>Ƣ I` .ǥ):} XǍVǹYǍWLU`ǎǯǯ jhhLbé '$LǢ. !$0 *$` '$0ܢ. $$0 *$0 .6 ­.;}55 8` PǎȠ T *$8`0ref $isk %rror$%ȍ4`<>+-+`ƖL斥<} dȹ.}rș.L dȹ.8rș.Lȥ)j*)`Ƒƕ`D:RESLIST.DATȝ-58 '$01؆=}膜 !$0惥٠5 *$( ة؅iɥi Ɇ``H ? jǰ h>}`]TOOLBOXG`8`CmCɍCɭDiDɭEiEɭFQF查ԢC?`8` _ɢCɝ??}` Nɰ _ɰɭ t` *$` *$8` '$0 *$'ʙ@ $ $H'@hJƳ@}]Sp@~`?D`?|~@QF1~gC1CH on[~omUox}oq[N@ \r?|A}Y~AC^>[nomFoc?oW[GoGar`?E@u^*_v`;}T`=i5V_hU5b#B|xwww^>[Cxmx@w[jKib#Bx?PUB}wyon_t@}J@Pn_xjUUb#rap?wyOp{n_׻Z_۵_ơnܽhKa|[Xowe@|@J@@ o@bAA`gtwf39}TOOLBOX􀀥' @IЭIЭIТI),ЈD}hh)##挠0)J8ei) $(eeHH`L$  Toolbox V1.2 AsE}sembler Tools ============================ 1) > Alle Kommentare loeschen! 2) > Alle Parameter optimieren F}3) > Umschalten (256-KB-Option ESC - Exit Toolbo $ݿ L123 l`拆Ċ $`G}  Kommentare loeschenL@ Parameter optimieren Ich hoffe, Sie haben eine Kopie vo diesH}em Quellcode !?!? Druecken Sie "W" zum weitermachen $ $WL Ich arbeite .. Anzahl der Aenderungen:I}000ii $ @@ @ $L $E @ $ Alles klaJ}r. Eine Taste druecken $Lei  l7CSL $eK}iŚś @$ $ HH @hhLL9  L ת.L} .. W LL  LS DER LOGISCHE AUFBAU DES QUELLTEXTES IS FEHLERHAFT (VEM}RKETTUNG ODER ZEIGER) HH @hhL1miحHJJJJ h) ȭHJJJJ h) ` N} . 0_` .. ` 0. `+-*/?()!#&%$'<>,@ݒ#_.0:A[a{`8` w O} L L .ʽ.. `   8 @m eim eiP}Ii8喅 ei  $HH @hh $.Ȇ $ `L` w` Q} 0 w w @ F"0: ʽ.$%  0 w 0R}`0 LY ʽ.'8m `` Text wird umgeschaltet ..ȌS}H $ @@ (-I@ӱ.- (.hӭ $`)`d umgeschaltet ..ȌbVCOUNT WSYNC DMACTLGRACTLCHBASE CHBASCHACTLCHARTHSCROLVSCROLPRIORGPRIORoCOLPF0COLPF1COU}LPF2COLPF3COLBKCOLOR0COLOR1COLOR2COLOR3COLOR4PMBASEVDELAYGRAFP0 GRAFP1GRAFP2GRAFP3GRV}AFMSIZEP0SIZEP1 SIZEP2 SIZEP3 SIZEM HPOSP0HPOSP1HPOSP2HPOSP3HPOSM0HPOSM1HPOSM2HPOSM3COLW}PM0COLPM1COLPM2COLPM3PCOLR0PCOLR1PCOLR2PCOLR3M0PFM1PFM2PFM3PFP0PFP1PFP2PFP3PFX}M0PLM1PL M2PL M3PL P0PL P1PL P2PLP3PLHITCLRAUDCTLAUDF1AUDF2AUDF3AUDF4AUDC1AUDC2AUDY}C3AUDC4RANDOM NMIENNMISTNMIRESIRQENPOKMSKIRQSTSTIMER CONSOLKBCODE CHPORTASTICK0xSTICZ}K1ySTICK2zSTICK3{PTRIG0|PTRIG1}PTRIG2~PTRIG3PTRIG4PTRIG5PTRIG6PTRIG7PACTLPORTBPBCTLPOT0[}POT1POT2POT3POT4POT5POT6POT7PADDLE0pPADDLE1qPADDLE2rPADDLE3sPADDLE4tPADDLE5uPADDLE6vPADDL\}E7wALLPOTPOTGO STRIG0STRIG1STRIG2STRIG3TRIG0TRIG1TRIG2TRIG3PENH PENV LPENH4LPENV5SKCTL]}SKSTATSKRES SERIN SEROUT TIMCOUNT1 TIMCOUNT2VBLKIVKT"VBLKDVKT$ TIMER1VKT& TIMER2VKT(JUMPTABPDISKINIT^}P DISKINTERFSCIOMAINV SIOINTERFY SETVBLVKT\ SYSTEMVBL_EXITVBLbVBLKDVKT$ TIMER1VKT& TIMER2VKT(JUMPTABPDISKINITH ; ; Kleine Macro-Bibliothek ; IOLIB.SRC ; ; Symbole definieren ; Ciov:EQU $e456 ; Iccom:EQU $342 Icsta:E`}QU $343 Icbal:EQU $344 Icbah:EQU $345 Icbll:EQU $348 Icblh:EQU $349 Icax1:EQU $34a Icax2:EQU $34b ; ; CIO-Befehlea} ; Copen:EQU 3 Cclse:EQU 12 Cgtxt:EQU 5 Cptxt:EQU 9 Cgbin:EQU 7 Cpbin:EQU 11 ; Eol:EQU $9b ; ; Macros definib}eren ; ; .Open Kanal,Aux1,Aux2,(Filename) ; Open:MAC 4 LDA #?1 ASL ASL ASL ASL TAX LDA #?2 STA Icax1,Xc} LDA #?3 STA Icax2,X LDA #Copen STA Iccom,X LDA #?4 STA Icbah,X JSR Ciov END ; ; ; .Cd}lose Kanal ; Close:MAC 1 LDA #?1 ASL ASL ASL ASL TAX LDA #Cclse STA Iccom,X JSR Ciov END ; ; ; .Pe}rint Kanal,(Adresse) ; Print:MAC 2 LDA #?1 ASL ASL ASL ASL TAX LDA #Cptxt STA Iccom,X LDA #?2 STA Icbah,X LDA #127 STA Icbll,X LDA #0 STA Icblh,X JSR Ciov END ; ; ; .Input Kanal,(Adresse) ; g} Input:MAC 2 LDA #?1 ASL ASL ASL ASL TAX LDA #Cgtxt STA Iccom,X LDA #?2 STA Icbah,X q}b%DOS SYSb*)DUP SYSB-SMEM SAVbRAMDISK COMbAUTORUN SYSbCTOOLBOX UTLb TRESLIST DATb_IOLIB SRCbj{TOOLBOX ASMBPREFERENCESb.RESIDENTASMb SPEEDY ASMb DEMO ASMb#SHORTDOCBASb0SHOWRES ASMLDA #127 STA Icbll,X LDA #0 STA Icblh,X JSR Ciov END ; ; ; .Bget Kanal,Adresse,Laenge ; Bget:MAC 3 LDA #?1r} ASL ASL ASL ASL TAX LDA #Cgbin STA Iccom,X LDA #?2 STA Icbah,X LDA #?3 STA Icblh,X JSR Ciov END ; ; ; .Bput Kanal,Adresse,Laenge ; Bput:MAC 3 LDA #?1 ASL ASL ASL t}ASL TAX LDA #Cpbin STA Iccom,X LDA #?2 STA Icbah,X LDA #?3 STA Icblhu},X JSR Ciov END ; ; ; .Wait ; Wait:MAC LDA 20 Wait@:CMP 20 BEQ Wait@ END ; ; ; Demo-Programm zurv} IO-Library ; ; Zeigt Inhaltsverzeichnis von D1:*.* ; ORG $4000 ; Start: .Close 0 .Open 0,13,0,Editor_Device w}BMI Start .Wait .Open 1,6,0,Disk_Device .Wait .Print 0,Cr .Print 0,Cr .Print 0,I_Text .Print 0,Cr Schleife:.Input 1x},Buffer BMI Ende .Print 0,Buffer JMP Schleife ; Ende:.Close 1 .Close 0 RTS ; Editor_Device: ASC "E:" DFB Eoly} ; Disk_Device: ASC "D:*.*" DFB Eol ; CR:DFB Eol ; I_Text:ASC "Inhaltsverzeichnis " ASC "von Laufwerk 1:" DFB z}Eol ; Buffer: ASC "D:*.*" DFB Eol ; CR:DFB Eol ; I_Text:ASC "Inhaltsverzeichnis " ASC "von Laufwerk 1:" DFB EDASSTKSP3FAssembler-Unterprogrammeund Speicherstellen !Screen$bc68Dpuf$f000Fn!|}m$2d00FilenameBuf$2e00Linbuf$2c00Asbas$5000HexwndAsbas+38Linlo$2380Zeilenadressen!}} der angezeigten Zeilen8%Linhi$23a0(nur fuer Editor).%Lotab$23c0BildadressenHitab$23e0 Vbas$1ff!~}0VariablenBasis QtnVbasQuelltextnummergPiabytVbas+1Konfiguration fuer aktuellen Quelltext (QTN). Bei Aenderu!}ng nach RAMTAB springen !g+ErrflgVbas+2Fehlerflag fuer Editor+:WertVbas+32 Byte-zwischenspeicher (Variablenwert!}):CxVbas+7Cursor-X-Pos.hRepflgVbas+8Repair-Flag. Wird es gesetzt, springt der Editor automatisch in die REPAI!}R-Routine!h&Edbas$4000Basisadresse Editor&GetlinEdbas+3RCalclenEdbas+9Berechnet die (restliche) Laenge !}des Quelltextes ab TEXTPT!R_RepairEdbas+12Repariert den Quelltext (Korregiert eine fehlerhafte Verkettung (LINK))._i!}LoadlinEdbas+15Fuegt die Zeile in BUF (ASCII) in den Text ab TEXTPT ein (wie bei "Read ASCII") !iQAsclineEdbas+18!}Wandelt die Zeile (TOKEN) in TEXTPT in das ASCII-Format !QDezwndEdbas+217PrtfreeEdbas+24gibt Statuszeile aus (!}komplett)7Mabas$2400Basis MAINARdmMabas+3Lese Byte aus Quelltext "(TEXTPT),Y"-IndiziertA9WrmMabas+6Sch!}reibe Byte in Quelltext (siehe RDM)9IRamtabMabas+9Konfigurationsbyte berechnen (QTN, Quelltextnummer)IUTransferM!}abas+12Verschieberoutine (Nur fuer Quelltext, Konfiguriert selbst!)U*AtiMabas+15ASCII to Internal Code*IGrklMab!}as+18Kleinbuchstaben (im Accu) in Grossbuchstaben wandelnI(ReadkeyMabas+21Tastatur-Abfrage(SetfontMabas+27!}ClsMabas+30,DgetMabas+33Laedt in Text (DST,LEN),1DputMabas+36Speichert aus Text (SRC,LEN)1/OpenMabas!}+39Oeffnet Kanal 1 (Filename)/CloseMabas+42MadosMabas+51DisplayMabas+78 Zp$80 2ScrptZpB!}ildschirmpointer (Zeilen-adresse)2MptZp+27TextptZp+4Text-Adresse (Anfang aktuelle Zeile)7(TxtposZp+6Pos!}ition in der Zeile()ScrposZp+7Position im Bildschirm)CFirstZp+8Quelltextadresse der ersten angezeigten Textzeil!}eC9LinkZp+$a2 Byte Zwischenspeicher (Link,BackLink)9PrtlinZp+$cLastlinZp+$dModeZp+$eTyp!}Zp+$fBufptrZp+$11BufcurZp+$12CyZp+$13WorkZp+$14Work2Zp+$16SrcZp+$18Dst!}Zp+$1aLenZp+$1cPcZp+$1eFree$ff00bis FFF9SndflgFreeWrkWork2Free+1IndirF!}ree+2NumbersFree+4FlagFree+6FlagdoFree+71ParLnkFree+8Offset f. Parameter in Zeile1,BufLnk!}Free+9Interner Zeiger auf BUF,,BufLnk2Free+10Zeiger auf neuen BUF!,LinksavFree+11OriglenFree+12!}ChangesFree+13UsedFree+14$TotallinFree+163 Byte BCD !$TotalusFree+192 Byte Hauptprogramm de!}r Tool-Box !  $f400,$a000 "TOOLBOX" Start Unterprogramme Ertxt $ Ein Fataler Fehle!}r$$ ist aufgetreten ! $ Error 0 0 Cy  0 Cx 39 Er0 Ertxt / $bc40   !}Er0  709 -1 / 709 / 53271  710 -1 / 710 / 53272  712 -1 / 712 / 5327!}4 0 El20  Sndflg 88 / Sndflg  710  El3 / 53279 El3  El3 !}  El2  Error Print% / Pc % / Pc+1  Prtlin 31 2  Lotab / Scrpt !} Hitab / Scrpt+1  Prtlin 1Prl1Pc  Prl2  41  Prl1  Error Prl2 7!}  / Wrk 19 , + Wrk    Scrpt / Scrpt  Scrpt+10/ Scrpt+11!}Prl3Pc$ 127  Ati /Scrpt &  Prl3 7   Pc 30  !}Pc+1 #7#* Cls1 1 / Prtlin  Cls Start des Hauptprogrammes Start !} Cls1 1 / Scrpos  Print %\Toolbox V1.2 Assembler Tools:\%  Print %\=============================\!}%7 / Prtlin  Print '!\1) > Alle Kommentare loeschen! \'  Prtlin  Print '!\2) > Alle Parameter o!}ptimieren!\'  Prtlin  Print '!\3) > Umschalten (256-KB-Option)\' 18 / Prtlin  Print \ESC - Exi!}t Toolbox\ Readkey3Stl1 Keytb  Stl2   Stl1  Start Keytb27 "123" !}Stl25 3  Adrtb / Indir  Adrtb+1/ Indir+1  Indir !AdrtbQuit,Grab,Grab2,Swit!}! Quit* Getbyt Link+1 0 Wrk  Link+1  Link  Gtb1  Rdm / 53274  Gtb1!} Wrk*Grab2-1 / Flag  Grab3 Grab0 / Flag Grab30/ Numbers/ Numbers+!}1  Cls1  Flag  Txt2  Print \Kommentare loeschen:\  Txt3 Txt2 Print\Parameter optim!}ieren:\ Txt3 4 / Prtlin  Print +ASC \Make Sure that you have a Copy of\++%\Ich hoffe, Sie haben eine !}Kopie von\+  Print ASC \this Source-Code !\\diesem Quellcode !?!?!\8 / Prtlin  Print !ASC \Pre!}ss 'C' to Continue !\!+%\Druecken Sie "W" zum weitermachen !\+ Readkey  Grkl 'W'C  Dograb  Star!}t Dograb13 / Prtlin  Print \Ich arbeite ...\ 16 / Prtlin  Print ASC \Number of change!}s:0000\ #\Anzahl der Aenderungen:0000\#  Scrpt   19+5 / Scrpt  Scrpt+10/ Scrpt+1!}0 / Qtn Grb  Ramtab  Prtfree1 / Repflg $40 / Textpt+1/ First+10 / Te!}xtpt / First  Repair Grb10  Flag / Flagdo  Textpt / First  Textpt+1/ First+1 !} Rdm 2 1 Link+1 -1  Grb2 Grb0 LogerrGrb2 Rdm / Link  Grb3  Repair  Q!}tn  Qtn 3  Grb 0 / Repflg / Qtn  Ramtab 20 / Prtlin  Print $ASC \ All rig!}ht. Press any Key.\$("\Alles klar. Eine Taste druecken.\( Readkey  Start Grb3    Textpt / Text!}pt / Src  Textpt+10/ Textpt+1 / Src+1  First / Textpt  First+1/ Textpt+1Grb4!} Getbyt  Grbend 5  Grb0 2 Grabadr / Indir  Grabadr+1/ Indir+1  Indir!} "GrabadrGrbend,Optok,Spctok" Labtok,Mactok Grbend  Link+1 3 Grbend00 / Link+1 G!}rbend0  Flag  Grbend2  Link / Link+1  Grbend1Grbend2 Link+1 Grbend12  Wrm !}Grbend1 First   Link+1 / Textpt / First / Dst  First+10/ Textpt+1 / Dst+1 !}/ First+1  Src  Dst  Grbe1  Src+1  Dst+1  Grbe2 Grbe1  Src / Textpt  Src+1!} / Textpt+1 Calclen  Grb0j  Flag  Grbe2  Transfer1  Addnum Grbe21 / Rep!}flg  First # First+1# Prtfree%/ Textpt+1% / Textpt  Grb1 Grb0j G!}rb0!Optok Getbythole 2.Token!  Grb0j  GetbytAdressierung  Grb0j  Labtok Spctok  GetbytS!}pecialcode  Grb0j 5ASC-Parameter !  Labtok  Link / Link+1  Grbend0 Labtok  Link+1 !}/ Parlnk  Getbyt  Grb0j 2 0 Buf 0  Labt2 0Labt1 Getbyt / Buf+1  Grb0j !}  Buf  Labt1 Labt2 Flag Labt21Wahl "1" ! CheckPar Changes  Labt21 0 / !}Link / Link+1  Grbe2Sprung raus ! Labt21  Grb4 Mactok  Getbyt  Grb0j 2Labt40!}  Labt3  Getbyt  Grb0j   Labt4 Labt3 LabtokLogerr19 / Prtlin  Print 0ASC !}\BAD LINK-POINTER OR ILLEGAL STRUCTURE!\0/)\DER LOGISCHE AUFBAU DES QUELLTEXTES IST\/  Print $ASC \TRY TO REPAIR, TH!}EN RETRY.\$-'\FEHLERHAFT (VERKETTUNG ODER ZEIGER) !\-  First # First+1#  Repair %/ Fir!}st+1% / First 0 / Repflg  Error Addnum - Numbers/ Numbers Numbers+!}10/ Numbers+1  Adnm1 $99 / Numbers/ Numbers+1Adnm1 Numbers+10#!}     "16 /Scrpt % 15 "16 /Scrpt  Numbers# !}    "16 /Scrpt % 15 "16 /Scrpt *'Parameterblock (steht in!} BUF+1) auf''speichersparende moeglichkeiten hin''ueberpruefen (z.B.$0f,%00100 ...) !' CheckPar  Link / L!}inksav 128 / Flagdo 0 0 Buflnk 0 Buflnk20 Changes  Buf / Origlen  Chk0  Chk1!} Chk0* Buf2Buf+128Rdbuf Buflnk  Buf  Rdb1  Buf+1  Buflnk Rdb1* !}Wrbuf Buflnk2  Wrb1 / Buf2  Buflnk2 Wrb1* Test"+-*/?()!#&%$'<>,@"Chrtst16!}Chr0 Test  Chr1   Chr0 '_  Chr1 '.  Chr1 '0  Chr2 '9+1  Chr!}1 'A  Chr2 'Z+1  Chr1 'a  Chr2 'z+1  Chr2 Chr1-1 *Chr2!}-1,*'Nur erlaubte Zeichen als Parameter!' Chk1  Rdbuf  Chk2  Chrtst  Chk1a !} Changes  Chk1 Chk1a Wrbuf  Chk1 Lgrj LogerrChk2 Buflnk2  Lgrj Chk20 0 Bu!}f Chk21 Buf2 / Buf+1   Chk21  0 Buflnk 0 Buflnk2 Checkit Changes  !}Chk4 *Chk41  Addnum  Changes  Chk4  Changesauf -1 Buflnk2  Lgrj  Parl!}nk 'Berechne differenz zw. alt und neu!' Origlen,+ Buflnk2 Lgrjlaenger ?!?!?!?/ WrkDif!}ferenz !Berechne Quelladresse Calclen  Lgrj  ParlnkParameterstart  Origlen  !} Textpt / Src  Textpt+10 / Src+1 Berechne Zieladresse ParlnkParameterstart !} Buflnk2neue laenge   Textpt / Dst  Textpt+10 / Dst+1 Laengenangabe korrigieren !!}  Wrk  Crln 255  1 / Wrk  Len , + Wrk / Len  Len+1 +0 / Len!}+1  Crln1 Crln    Len / Len  Len+1 0 / Len+1 Crln1  Buflnk2 Origlen!} Notransgleich ! Transfer  First # First+1#  Repair %/ First+1% / Firs!}t Notrans First / Textpt  First+1/ Textpt+1  Parlnk  Buflnk2  Wrm 0Chk41!} Buf2 0 Wrk  Wrm  Wrk  Buflnk2  Chk41 *Lgrj2 LogerrPtwrt Dpuf!} / Dpuf+1  Dpuf *Buffer ueberpruefen"Checkit0Zwischenspeicher"/ Dpufloeschen  Rd!}buf  Ck1 Ckx* Ck1 Chrtst  Ck2  Wrbuf  Lgrj2  Rdbuf  Ck1  Ckdo Ck2 Ptw!}rt  Rdbuf  Ckdo  Chrtst  Ck2  Buflnk1 Zurueck ! Ckdo  Dpuf  Ckd3  Testit  D!}puf 1  Ckd0  Dpuf+1 '0  Ckd0 '9+1  Ckd0  Buflnk2  Ckd0   Buf2 !}'$  Ckd2 '%  Ckd0 Ckd20 Buflnk2 Changes Ckd0 0Ckd1 Dpuf+1 0 Wrk  Wrb!}uf  Lgrj2  Wrk   Dpuf  Ckd1 Ckd3  Rdbuf  Ckx 0 0 Dpuf  Ck1 #Zwis!}chenspeicher ueberpruefen !# Testit  Dpuf  Tst1 Tstx0 ChangesTstx'0 / Dpuf+1 1 !}/ Dpuf * Tst1  Dpuf+1 '0  Tst3  Dpuf A2  Tst3 0 Tst2  Dpuf+2 / !}Dpuf+1   Dpuf  Tst2  Changes  Dpuf  Tst1 Tst3 Buflnk2  Tst4   Buf2 !}''  Tst4  Dpuf 2  Tst4 ,+1  Changes/ Changes1 / Dpuf * !}Tst4 *SwBit64Swit Cls19 / Prtlin  Print "\Text wird umgeschaltet ...\"!}0 1 Qtn  1 Repflg Sw0 54017#  Ramtab  Prtfree0 1 Textpt $40 / Tex!}tpt+1  Swos Sw1Textpt / Fnm   Sw1  54017 SwBit / 54017 Sw2Textpt/ Fnm!}+256  Fnm /Textpt   Sw2  Swos Sw3 Fnm+256 /Textpt   Sw3  Textpt+1  !}Sw1  Qtn % / 54017  Qtn 3  Sw0 0 / Qtn  Ramtab *Swos Piabyt !}254 / 54017 *17  Qtn 3  Sw0 0 / Qtn  Ramtab *Swos Piabyt   P: V SIOINTERFY SETVBLVKT\ SYSTEMVBL_EXITVBLbVBLKDVKT$ TIMER1VKT& TIMER2VKT(JUMPTABPDISKINIT$EDASSTKS%Programm zum generieren derresidenten Symboltabelle.$Assemblieren und vom Monitor mit$ "W )}START ENDE D:RESLIST.DAT" #abspeichern, NICHT mit SAVE !!!#"Die Datei darf 2 K-Byte laenge"nicht ueberschreiten !!!)} $8000  Start 6laenge des Namens"VCOUNT" immer Gross!$d40bWert5 "WSYNC" $)}d40a 6"DMACTL" $d400 6"GRACTL" $d01d 6"CHBASE" 54281 5)} "CHBAS" 756 6"CHACTL" 53273 5 "CHART" 755 6"HSCROL" 54276)} 6"VSCROL" 54277 5 "PRIOR" 53275 6"GPRIOR" 623 6"CO)}LPF0" 53270 6"COLPF1" 53271 6"COLPF2" 53272 6"COLPF3" 53273)} 5 "COLBK" 53274 6"COLOR0" 708 6"COLOR1" 709 6"COLOR)}2" 710 6"COLOR3" 711 6"COLOR4" 712 6"PMBASE" 54279 )}6"VDELAY" 54276 6"GRAFP0" 53261 6"GRAFP1" 53262 6"GRAFP2")} 53263 6"GRAFP3" 53264 5 "GRAFM" 53265 6"SIZEP0" 53256 )}6"SIZEP1" 53257 6"SIZEP2" 53258 6"SIZEP3" 53259 5 "SIZEM" )} 53260 6"HPOSP0" 53248 6"HPOSP1" 53249 6"HPOSP2" 53250 )}6"HPOSP3" 53251 6"HPOSM0" 53252 6"HPOSM1" 53253 6"HPOSM2")} 53254 6"HPOSM3" 53255 6"COLPM0" 53266 6"COLPM1" 53267 )}6"COLPM2" 53268 6"COLPM3" 53269 6"PCOLR0" 704 6"PCOLR1")} 705 6"PCOLR2" 706 6"PCOLR3" 707 4 "M0PF" 53248 4 )}"M1PF" 53249 4 "M2PF" 53250 4 "M3PF" 53251 4 "P0PF" 53252 )}4 "P1PF" 53253 4 "P2PF" 53254 4 "P3PF" 53255 4 "M0PL" )}53256 4 "M1PL" 53257 4 "M2PL" 53258 4 "M3PL" 53259 4 )}"P0PL" 53260 4 "P1PL" 53261 4 "P2PL" 53262 4 "P3PL" 53263 )}6"HITCLR" 53278 6"AUDCTL" 53768 5 "AUDF1" 53760 5 "AUDF)}2" 53762 5 "AUDF3" 53764 5 "AUDF4" 53766 5 "AUDC1" 53761 )}5 "AUDC2" 53763 5 "AUDC3" 53765 5 "AUDC4" 53767 6"RANDOM")} 53770 5 "NMIEN" 54286 5 "NMIST" 54287 6"NMIRES" 54287 )}5 "IRQEN" 53774 6"POKMSK"165 "IRQST" 53774 6"STIMER" 5*}3769 6"CONSOL" 53279 6"KBCODE" 53769 2 "CH" 764 5 "P*}ORTA" 54016 6"STICK0" 632 6"STICK1" 633 6"STICK2" 634 *}6"STICK3" 635 6"PTRIG0" 636 6"PTRIG1" 637 6"PTRIG2" *}638 6"PTRIG3" 639 6"PTRIG4" 640 6"PTRIG5" 641 6"P*}TRIG6" 642 6"PTRIG7" 643 5 "PACTL" 54018 5 "PORTB" 54017 *}5 "PBCTL" 54019 4 "POT0" 53760 4 "POT1" 53761 4 "POT2" *}53762 4 "POT3" 53763 4 "POT4" 53764 4 "POT5" 53765 4 *}"POT6" 53766 4 "POT7" 53767 7 "PADDLE0" 624 7 "PADDLE1" 625 *}7 "PADDLE2" 626 7 "PADDLE3" 627 7 "PADDLE4" 628 7 "PADDLE* }5" 629 7 "PADDLE6" 630 7 "PADDLE7" 631 6"ALLPOT" 53768 * }5 "POTGO" 53771 6"STRIG0" 644 6"STRIG1" 645 6"STRIG2" * }646 6"STRIG3" 647 5 "TRIG0" 53264 5 "TRIG1" 53265 5 * }"TRIG2" 53266 5 "TRIG3" 53267 4 "PENH" 54284 4 "PENV" 54285 * }5 "LPENH" 564 5 "LPENV" 565 5 "SKCTL" 53775 6"SKSTAT" *}53775 5 "SKRES" 53770 5 "SERIN" 53773 6"SEROUT" 53773 9*} "TIMCOUNT1" 536 9 "TIMCOUNT2" 538 8 "VBLKIVKT" 546 8 "VBLKDVKT*}" 548 9 "TIMER1VKT" 550 9 "TIMER2VKT" 552 7 "JUMPTAB" $E450 *}8 "DISKINIT" $E450 10 "DISKINTERF" $E453 7 "CIOMAIN" $E456 9*} "SIOINTERF" $E459 9 "SETVBLVKT" $E45C 9 "SYSTEMVBL" $E45F 7 "EXI*}TVBL" $E462 Ende0Ende immer Null !C 9 "SYSTEMVBL" $E45F 7 "EXI(@EDASSTKS!Einladen der Fast-SIO-Routine!aus dem SPEEDY-ROM !&Achtung! Veraendert das DOS.SYS im&&Spei.}cher.DOS darf nach dem erfolg-&&reichen Installieren nicht mit der&&Funktion "H" auf eine Diskette ge-&&schrieben werde.}n, da sich der Com-&&puter sonst beim BOOTen aufhaengt!&'Zum An/Abschalten (toggle-Funktion)'#nach $0400 bzw START .}springen !#.$0400Programm liegt im Kasettenpuffer !."Siov$e459Alter SIO-Vektor"-Fsio$0480Neuer SIO.}-Vektor (FAST-SIO)- Start 11 L1 Setup / $300   L1  Siov  Exit L3Fsio / 779 / 773 $40 / 771  770  Siov  Exit  suche ab $700 bi.}s $1f00 nach SIOV-Einspruengen (im DOS)!L4070 01 1L52L60  Ol.}djmp  L8   L6 2L7 Exchange/0  L7 L8 0  L5  1 .}1 $1f  L5 'OLDJMP und EXCHANGE tauschen, damit'%beim naechsten Aufruf der Routine%)die Speedy-HS-Soft ".}getogglet" wird !)2Tog Oldjmp# Exchange / Oldjmp %/ Exchange  Tog  .}Exit* Setup$31,$1,$68,$40 $308  1,0,2,0,0,0:Oldjmp SiovAlle Spruenge nach "SIOV" werden g.}egen:9Exchange FsioSpruenge nach "FSIO" ausgetauscht !9Oldjmp SiovAlle Spruenge nach "SIOV" werden g,JEDASSTKSDemo $3000  N,R,I Rtclock$14Start Vcount2 2!} / Wsync  Rtclock / Colpf2 5,+ Rtclock / Colbk  Consol 6Start gedrueckt ?% St2"}artNein, zum Programmanfang%*Ja, Exit... Rtclock / Colbk  Consol 6Start gedrueckt ?% St08HW $$$$ִ#$$6$}($$蠠-$$򮠱2$$砠7$$6%}쮠<$$A$$堠砠F$$͠6&}G$$𮩠H$$̭򺠠I$$٠J$$6'}Р򠠠K$$۠L$$ݠ堠M$$6(}N$$Ҡ뮠O$$ԠP$$ŠQ$6)}$ R$$àS$$ԯ砠T$$ԯ6*}堠U$$ԯ報V$$ԯ堲W$$ԯ堳X6+}$$Y$$庠Z$$ɾ򮩠[$$̾6,}堠\$$Ӿ]$$Ҿ^$$׾堠6-}_$$Ǿب٩`$$þ堨򩠭ˠa$$ľ󮠨婩b$$6.}𠠠c$$ᱨᲮd##e##ؾ6/}f##־箠g##֠򠠠֠堨򩠠h##D:*.BAS7DIR68}EDASSTKS"Programm kopiert die komplette""Resident-List in die "normale""!Symboltabelle. Andere Symbole!we:1}rden ueberschrieben !'Kann danach mit V angezeigt werden!' $8000 Sys$c000BasisadressePt1$a:2}0Pt2$a2 Start  54017 # 254 / 54017 "Anfang der Symboltabelle holen"&(Abhaengig von de:3}r Resident-List!)&#liegt hinter der Resident-List!#6Funktionsnummer SysBasisadresse0 Pt2Adresse1 P:4}t2+1merken0Anfang der Resi-$d8dent-List! 0 Pt1 1 Pt1+1 L10 Pt1  Ende /:5}Pt2 20 /Pt2 L2Pt1 /Pt2   L2 0 Pt1 #:6} 3  Pt1 / Pt1  Pt1+1 0 / Pt1+1 % 4  Pt2 / Pt2  Pt2+1 :7}0 / Pt2+1  L1 Ende% / 54017 *1 % 4  Pt2 / Pt2  Pt2+1 8?v$pO,O箠g##֠򠠠֠堨򩠠h##D:*.BAS7DIR4 3! ]0$,,%%%A,}&V,&h,+#&$&%& ` &++ :}`)`H &+HHlx &h@@++,%A,}&V,&h,+#&$&%& ` &++ /