@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@P!( L(1   Y I`  d  Ld M * @  $ % CC$$)%1 Udߥ$9%: !0 S$% DD˙`  }J)Lr ADD MACRO EXPR1,EXPR2 CLC LDA EXPR1 ADC EXPR2 STA EXPR1 LDA EXPR1+1 ADC EXPR2+1 STA EXPR1+1 MEND PAUSE MACRO LS LDp}A #LS STA 540 GH@ LDA 540 CMP #0 BNE GH@ MEND CIOV EQU $E456 ICCOM EQU $342 ICSTA EQU $343 ICBAL EQU $344 ICBAH EQU $34p}5 ICBLL EQU $348 ICBLH EQU $349 ICAX1 EQU $34A ICAX2 EQU $34B * CIO-Befehle COPEN EQU 3 CCLSE EQU 12 CGTXT EQU 5 CPTXTp} EQU 9 CGBIN EQU 7 CPBIN EQU 11 EOL EQU $9B SUB MACRO EXPR1,EXPR2 SEC LDA EXPR1 SBC EXPR2 STA EXPR1 LDA EXPR1+1 p}SBC EXPR2+1 STA EXPR1+1 MEND KANNUM MACRO KANAL LDA #KANAL IOCB-Offset ASL ;aus Kanalnr. ASL ;(mal 16) ASL ASL TAXp } ;ERGEBNIS IM X-REG MEND OPEN MACRO KANAL,AUX1,AUX2,FILENAME JMP OP1@ FNAM@ ASC FILENAME DFB EOL OP1@ KANNUM KANAL LDA #p }AUX1 STA ICAX1,X LDA #AUX2 STA ICAX2,X LDA #COPEN STA ICCOM,X LDA #FNAM@ STA ICBAL,X LDA #FNAM@/256 STA ICBAH,X JSRp } CIOV MEND CLOSE MACRO KANAL KANNUM KANAL LDA #CCLSE STA ICCOM,X JSR CIOV MEND BGET MACRO KANAL,LAENGE,BUFFER KANNUM Kp }ANAL LDA #CGBIN STA ICCOM,X LDA #LAENGE STA ICBLL,X LDA #LAENGE/256 STA ICBLH,X LDA #BUFFER STA ICBAL,X LDA #BUFFER/p }256 STA ICBAH,X JSR CIOV MEND BPUT MACRO KANAL,LAENGE,BUFFER KANNUM KANAL LDA #CPBIN STA ICCOM,X LDA #LAENGE STA ICBLp}L,X LDA #LAENGE/256 STA ICBLH,X LDA #BUFFER STA ICBAL,X LDA #BUFFER/256 STA ICBAH,X JSR CIOV MEND ATACHR EQU $2FB p}ROWCRS EQU $54 CURSOR- COLCRS EQU $55 POSITION POSITION MACRO X,Y LDA #X STA COLCRS LDA #X/256 STA COLCRS+1 LDA #Y STp}A ROWCRS MEND KEYBDV EQU $E420 Keyboard-Handler EDITDV EQU $E400 Editor-Handler SCROUT MACRO JSR SCR1@ JMP SCRE@ SCR1@ Tp}AY LDA EDITDV+7 PHA LDA EDITDV+6 PHA TYA RTS SCRE@ MEND DECOUT MACRO EXPR LDY #7 DEC1@ LDX '0 DEC2@ SEC LDA EXPR SBp}C DTAB@-1,Y PHA DEY LDA EXPR+1 SBC DTAB@+1,Y BCC DEC3@ STA EXPR+1 PLA STA EXPR INX INY BNE DEC2@ DEC3@ PLA TXA Sp}TY TEMP@ SCROUT LDY TEMP@ DEY BPL DEC1@ LDA EXPR ORA #'0 SCROUT JMP DEC4@ TEMP@ DFB 0 * * Tabellen der Zehnerpotenzep}n * DTAB@ DFW 10 DFW 100 DFW 1000 DFW 10000 DEC4@ EQU * MEND ORG $A800 LDA #2 STA 755 EIN LDA #$FF STA $D301 CLI p} LDA #64 STA $D40E LDA #0 STA FLAG1 LDA #1 STA FLAG2 NEWSTAR LDA #1 STA 732 LDA #0 STA 752 LDA #15 STA 709 LDA #7*p}16+2 STA 710 STA 712 LDA #DL:L STA 560 LDA #DL:H STA 561 RSTA LDA 53279 CMP #20 BNE RSTA1 JMP CHANG1 RSTA1 CMP #20 p} BNE RSTA4 JMP CHANG2 RSTA4 LDA 732 CMP #17 BNE RSTA5 JMP DIREC RSTA5 LDA 53279 CMP #6 BNE RSTA3 JMP GO1 RSTA3 JMP RSTp}A RSTA2 LDA #12*16+15 STA 53761 LDA #63 STA 53760 PAUSE 4 LDA #0 STA 53761 JMP RSTA3 CHANG1 INC FLAG1 LDA FLAG1 CMp}P #3 BNE FG1 LDA #0 STA FLAG1 FG1 LDA FLAG1 CMP #0 BNE FG2 LDA #CAS1:L STA PRI+1 LDA #CAS1:H STA PRI+2 JSR PRINT1 p}JMP RSTA2 FG2 CMP #1 BNE FG3 LDA #DRI1:L STA PRI+1 LDA #DRI1:H STA PRI+2 JSR PRINT1 JMP RSTA2 FG3 LDA #DRI2:L STA PRIp}+1 LDA #DRI2:H STA PRI+2 JSR PRINT1 JMP RSTA2 CHANG2 INC FLAG2 LDA FLAG2 CMP #3 BNE FGS1 LDA #0 STA FLAG2 FGS1 CMP p}#0 BNE FGS2 LDA #CAS1:L STA PRI2+1 LDA #CAS1:H STA PRI2+2 JSR PRINT2 JMP RSTA2 FGS2 LDA FLAG2 CMP #1 BNE FGS3 LDA #p}DRI1:L STA PRI2+1 LDA #DRI1:H STA PRI2+2 JSR PRINT2 JMP RSTA2 FGS3 LDA #DRI2:L STA PRI2+1 LDA #DRI2:H STA PRI2+2 JSRp} PRINT2 JMP RSTA2 PRINT1 LDY #0 PRI LDA 65535,Y STA TEXT+10*40+14,Y INY CPY #8 BNE PRI RTS PRINT2 LDY #0 PRI2 LDA 655p}35,Y STA TEXT+11*40+14,Y INY CPY #8 BNE PRI2 RTS CAS1 ASC %Cassette% DRI1 ASC %Drive 1 % DRI2 ASC %Drive 2 % DL DFB 11p }2,112,112,112,112,112,64+2 DFW TEXT DFB 2,2,2,2,2,2,112,2,2,2,112,2,2,112,2,112,2 DFB 65 DFW DL FLAG1 DFB 0 FLAG2 DFB 0 p!} TEXT ASC % %,"QRRRRRRRRRRRRRRRR" ASC "RRRRRRRRRRRRRRRRE",% % ASC % |Liberal Dreams Software presents| % ASC % %p"},"ARRRRRRRRRRRRRRRR" ASC "RRRRRRRRRRRRRRRRD",% % ASC % | P O W E R - C O P Y | % ASC % %,"ARRRRRRRRRRRRp#}RRRR" ASC "RRRRRRRRRRRRRRRRD",% % ASC % | (c) 1988 by Ulf Petersen | % ASC % %,"ZRRRRRRRRRRRRRRRR" ASC "RRRp$}RRRRRRRRRRRRRC",% % ASC "RRRRRRRRRRRRRRRRRRRR" ASC "RRRRRRRRRRRRRRRRRRRR" ASC $The optimal tape to disc copy-programme!$p%} ASC "RRRRRRRRRRRRRRRRRRRR" ASC "RRRRRRRRRRRRRRRRRRRR" ASC % Source : Cassette % ASC % Destp&}ination : Drive 1 % ASC % Press START to begin copying... % ASC % Press %,$ HELP $,% to list directory...p'} % ASC % % *ZUR VERWALTUNGSROUTINE GO1 LDA #0 STA $D40E SEI LDA #$FE STA $D301 LDA FLAG1 STA 4p(} LDA FLAG2 STA 5 LDA FLAG1 CMP #0 BNE ZX1 LDA #1 STA 6 JMP KLA ZX1 CMP #1 BNE ZX2 LDA #6 STA 6 JMP KLA ZX2 LDA #6p)} STA 6 KLA JMP $F800 X40 DFW 40 DIREC LDY #0 LDA #0 RRAS STA TEXTSS+23*40,Y INY CPY #40 BNE RRAS LDY #0 FGA2 LDA TELEp*}X2,Y STA TEXTSS,Y INY CPY #40 BNE FGA2 LDA #TEXTSS+80:L STA CLR1+1 STA CLR2+1 LDA #TEXTSS+80:H STA CLR1+2 STA CLR2+p+}2 LDA #1 STA 752 LDX #0 CLEAR LDY #0 LDA #0 CLR1 STA TEXTSS+80,Y INY CPY #19 BNE CLR1 ADD CLR1+1,X40 INX CPX #22 Bp,}NE CLEAR LDX #0 CLEAR2 LDY #21 LDA #0 CLR2 STA TEXTSS+80,Y INY CPY #40 BNE CLR2 ADD CLR2+1,X40 INX CPX #22 BNE CLEAp-}R2 LDA #255 STA 732 LDA #DLSS:L STA 560 LDA #DLSS:H STA 561 LDA #TEXTSS:L STA 88 LDA #TEXTSS:H STA 89 LDA #12*16+p.}2 STA 710 STA 712 LDA #255 STA 764 GT2 LDA TELEX4,Y STA TEXTSS+22*40,Y INY CPY #35 BNE GT2 DF2 LDA 764 CMP #255 BEQp/} DF2 LDA #255 STA 764 JMP LIS1 WAIT LDA #12*16+15 STA 53761 LDA #63 STA 53760 PAUSE 4 LDA #0 STA 53761 RTS LIS1 Lp0}DY #0 FGA1 LDA TELEX1,Y STA TEXTSS,Y INY CPY #40 BNE FGA1 LDA #1 STA 1791 QW2 LDA #$169:L STA SECNUM LDA #$169:H STp1}A SECNUM+1 LDA #0 STA TO LDA #$B6 STA TO+1 LDY #0 STY COUNT LDA 1791 LAUFWERKNR. STA $301 LDA #'R STA $302 LDY #0p2} RRASS LDA BOTSCH,Y STA TEXTSS+23*40,Y INY CPY #40 BNE RRASS RR1 LDA SECNUM STA $30A LDA SECNUM+1 STA $30B LDA TO STp3}A $304 LDA TO+1 STA $305 JSR $E453 INC SECNUM INC COUNT LDA COUNT CMP #8 BNE ZXS1 JMP RAS1 ZXS1 ADD TO,X128 JMP RRp4}1 RAS1 LDY #0 GT1 LDA TELEX3,Y STA TEXTSS+22*40,Y INY CPY #40 BNE GT1 LDA #$B600:L STA DADA1+1 STA DADA2+1 STA MAR2p5}+1 STA MAR1+1 LDA #$B600:H STA DADA1+2 STA DADA2+2 STA MAR2+2 STA MAR1+2 LDA #0 STA CUO STA CUO1 LDA #TEXTSS+80:L p6}STA DADA2+7 LDA #TEXTSS+80:H STA DADA2+8 LDA #13 STA XP LDA #2 STA YP CLC XS LDY #0 DADA1 LDA $B600,Y CMP #80 BEQ Ep7}RRL1 CMP #0 BNE ERRN1 ERRL1 ADD DADA1+1,X16 ADD ERRN1+5,X16 ADD MAR1+1,X16 ADD MAR2+1,X16 INC CUO1 LDA CUO1 CMP #40 p8}BNE DADA1 JMP DFG1 ERRN1 LDX #5 LDY #0 DADA2 LDA $B600,X CLC SBC #31 STA TEXTSS+80,Y INY INX CPY #11 BNE DADA2 LDY p9}#1 MAR1 LDA $B600,Y STA LANF INY MAR2 LDA $B600,Y STA LANF+1 JSR PRINNE LDY #0 ADD DADA2+7,X40 ADD DADA1+1,X16 ADD ERp:}RN1+5,X16 ADD MAR1+1,X16 ADD MAR2+1,X16 INC CUO LDA CUO CMP #20 BEQ DFGLL1 JMP XS *HIER RECHTE HAELFTE DER DIRECTORY p;} DFGLL1 LDA DADA1+1 STA DADAD1+1 STA DADAD2+1 STA MAR2D+1 STA MAR1D+1 LDA DADA1+2 STA DADAD1+2 STA DADAD2+2 STA MAR2p<}D+2 STA MAR1D+2 LDA #0 STA CUOD STA CUO1D LDA #TEXTSS+80:L STA DADAD2+7 LDA #TEXTSS+80:H STA DADAD2+8 LDA #34 STA p=}XP LDA #2 STA YP CLC XSD LDY #0 DADAD1 LDA $B600,Y CMP #80 BEQ ERRL1D CMP #0 BNE ERRN1D ERRL1D ADD DADAD1+1,X16 ADD Ep>}RRN1D+5,X16 ADD MAR1D+1,X16 ADD MAR2D+1,X16 INC CUO1D LDA CUO1D CMP #40 BNE DADAD1 JMP DFG1 ERRN1D LDX #5 LDY #21 DADp?}AD2 LDA $B600,X CLC SBC #31 STA TEXTSS+80,Y INY INX CPY #32 BNE DADAD2 LDY #1 MAR1D LDA $B600,Y STA LANF INY MAR2D p@}LDA $B600,Y STA LANF+1 JSR PRINNE LDY #0 ADD DADAD2+7,X40 ADD DADAD1+1,X16 ADD ERRN1D+5,X16 ADD MAR1D+1,X16 ADD MAR2DpA}+1,X16 INC CUOD LDA CUOD CMP #20 BEQ DFG1 JMP XSD ****** DFG1 NOP *FREE SECTORS LDA #$168:L STA $30A LDA #$168:H STApB} $30B LDA #$B600:L STA $304 LDA #$B600:H STA $305 JSR $E453 LDA #11 STA XP LDA #23 STA YP LDA $B600+3 STA LANF LDpC}A $B600+4 STA LANF+1 JSR PRINNE JMP WE1 PRINNE LDA XP STA COLCRS LDA #0 STA COLCRS+1 LDA YP STA ROWCRS DECOUT LANF pD}INC YP RTS WE1 LDA 764 CMP #255 BEQ WE1 LDA #0 STA 752 JMP NEWSTAR LANF DFW 0 CUO1 DFB 0 CUO DFB 0 CUOD DFB 0 CUO1D DpE}FB 0 YP DFB 0 XP DFB 0 X16 DFW 16 SECNUM DFW $169 TO DFW $B600 X128 DFW 128 COUNT DFB 0 DLSS DFB 112,112,64+2 DFW TEXTSS DpF}FB 2,2,2,2,2,2,2,2,2,2,2,2,2 DFB 2,2,2,2,2,2,2,2,2,2 DFB 65 DFW DLSS TELEX1 ASC %FILENAME LENGTH||FILENAME LENGTH pG} % TELEX2 ASC %Press a key to list directory of drive 1% ASC % % TELEX3 ASC $ PRESS ANY KEY TO RETUpH}RN TO MENU... $ TELEX4 ASC % % ASC % % BOTSCH ASC % pI} Sectors free % TEXTSS ASC % Directory of drive 1% ASC % or 2 % ASC "RRRRRRRRRRRRRRRRpJ}RRRS" ASC "SRRRRRRRRRRRRRRRRRRR" ASC % |% ASC %| % ASC % |% ASC %|pK} % ASC % |% ASC %| % ASC % |% ASC %| pL} % ASC % |% ASC %| % ASC % |% ASC %| % ASC pM}% |% ASC %| % ASC % |% ASC %| % ASC % pN} |% ASC %| % ASC % |% ASC %| % ASC % |% ASpO}C %| % ASC % |% ASC %| % ASC % |% ASC %| pP} % ASC % |% ASC %| % ASC % |% ASC %| % pQ}ASC % |% ASC %| % ASC % |% ASC %| % ASC % pR} |% ASC %| % ASC % |% ASC %| % ASC % |%pS} ASC %| % ASC % % ASC % % |%pmPAUSE MACRO LE LDA #LE STA 540 DF@ LDA 540 CMP #0 BNE DF@ MEND ORG $A800 LDA 5000 CMP #$0 BNE AS RTS AS LDA #DL:LlU} STA 560 LDA #DL:H STA 561 LDA #7*16+2 STA 712 LDA #12*16+10 STA 708 LOOP LDA #3*16 STA 710 LOOP1 INC 710 PAUSE 1 LlV}DA 710 CMP #3*16+15 BEQ RT1 JMP LOOP1 RT1 LDA #3*16+15 STA 710 LOOP2 DEC 710 PAUSE 1 LDA 710 CMP #3*16 BNE LOOP2 JMPlW} LOOP DL DFB 112,112,112,112,112,112 DFB 112,112,112,112,112,112 DFB 64+6 DFW TEXT DFB 112,6,112,112,7 DFB 65 DFW DL lX}TEXT ASC % PLEASE LOAD THIS % ASC %PROGRAMME ONLY WITH:% ASC $ DOS 2.5 OR DOS 2.0 $ lY}ASE LOAD THIS % ASC %PROGRAMME ONLY WITH:% ASC $ DOS 2.5 OR DOS 2.0 $ l ************************************** * ASSEMBLERECKE * * HANDLER FUER RS232 SCHNITTSTELLE * * ANDRE,[}AS BINNER & HARALD SCHOENFELD * ************************************** ORG $1EE0 IBUF EQU $2200 ;Inputbuffer OBUF EQU $,\}2300 ;Outputbuffer ACDATA EQU $D100 ;ACIA Datareg. ACSTAT EQU $D101 ;ACIA Statusreg. ACCOMM EQU $D102 ;ACIA Comma,]}ndreg. ACCONT EQU $D103 ;ACIA Controlreg. PROT EQU $6F0 ;siehe Text STOP EQU $6F1 CONT EQU $6F2 FULLFL EQU $6F3 DATAB,^}RK EQU $6F4 ERR EQU $6F5 STAT EQU $6F6 CHECK EQU $6F7 OFF EQU $6F8 RWFL EQU $6F9 NOCHR EQU $6FA RPOI EQU $6FC IPOI EQU $6FD,_} TPOI EQU $6FE PPOI EQU $6FF DOSINI EQU $C DOSVEC EQU $A VIMIRQ EQU $216 COLOR1 EQU 709 COLOR2 EQU 710 COLOR4 EQU 712 MEMLO ,`}EQU 743 ICAX1Z EQU $2A ICAX2Z EQU $2B ICCOMZ EQU $22 BRKKEY EQU 17 STARTUP LDA DOSINI ;DOS-Initvektor STA MEM ;merk,a}en LDA DOSINI+1 STA MEM+1 LDA #INIT ;Neue Initadresse STA DOSINI LDA #INIT/256 STA DOSINI+1 START2 LDA VIMIRQ ;OS-,b}Interruptvektor STA IRQ ;merken LDA VIMIRQ+1 STA IRQ+1 LDA DOSVEC ;DUP-Vektor STA DOS ;merken LDA DOSVEC+1 ,c} STA DOS+1 JSR VECSET ;->eigene Vektoren * ;setzen RTS *********************************** *Initalisierungsroutine ,d}nach jedem* *Reset * *********************************** INIT DFB 32 ;Code "JSR" Befehl MEM DFW 0 ;"Plat,e}zhalter" fuer * ;Sprungadresse JSR VECSET ;->Vektoren setzen RTS *********************************** *Routine nach ,f}BASIC-Befehl DOS * *********************************** DUP LDA MEM ;Gemerkte Werte STA DOSINI ;wieder zurueck LD,g}A MEM+1 ;schreiben STA DOSINI+1 LDA DOS STA DOSVEC LDA DOS+1 STA DOSVEC+1 SEI ;Interrupt aus LDA IRQ ;OS-I,h}nterruptvek. STA VIMIRQ ;wieder setzten LDA IRQ+1 STA VIMIRQ+1 CLI JMP (DOSVEC) ;->zum DUP **********************,i} *Vektorinitalisierung* ********************** VECSET LDA #DUP ;Eigene Aufruf- STA DOSVEC ;routine fuer DUP LDA #DUP,j}/256 ;eintragen STA DOSVEC+1 LDA #TAB ;"R:"-Handler STA $32D ;eintragen LDA #TAB/256 STA $32E LDA #'R STA $32C,k} LDA #0 ;Handler vor BASIC STA MEMLO ;Zugriff schuetzen LDA #$24 STA MEMLO+1 LDA #52 ;Neue Farben STA COLOR2,l} LDA #14 STA COLOR1 LDA #6 STA COLOR4 SEI ;IRQ's aus LDA #INT ;Vektor auf STA VIMIRQ ;eigene Routine LDA #I,m}NT/256 ;setzen STA VIMIRQ+1 CLI ;IRQ's an LDA #9 ;kein Parity STA ACCOMM ;1 Stopbit LDA #30 ;9600 Baud S,n}TA ACCONT LDA #19 ;Codes fuer STA STOP ;Softhandshake LDA #17 STA CONT LDA #32 ;32=DCD abfragen STA CHECK,o} LDA #1 ;Softhandshake STA PROT LDA #0 ;Pointer und STA RPOI ;Flags auf Null STA IPOI STA TPOI STA PPOI S,p}TA FULLFL STA ERR STA OFF STA RWFL STA DATABRK TAY ;Einschalttext TOP LDA TEXT,Y ;ausgeben STA (88),Y INY ,q}CPY #40 BNE TOP RTS ;...das war's TEXT ASC % RS232-Treiber installiert % IRQ DFW 0 ;zum merken.,r}.. DOS DFW 0 TAB DFW OPEN-1 ;Handlertabelle DFW CLOSE-1 DFW GET-1 DFW PUT-1 DFW STATUS-1 DFW SPECIAL-1 JMP INIT ***,s}*************** *Interruptroutine* ****************** INT PHA ;alle Reg. retten TYA PHA TXA PHA LDA ACSTAT ;ACIA-,t}IRQ? STA STAT AND #128 BNE ACIA ;->Ja BACK PLA ;alle Reg. holen TAX PLA TAY PLA JMP (IRQ) ;->OS-Routine A,u}CIA LDA CHECK ;evtl.DCD und AND STAT ;DSR abfragen BEQ OK JMP BACK OK LDA STAT ;Daten angekommen? AND #8 BEQ ,v}NOTFULL ;->Nein JSR REC NOTFULL LDA STAT ;Daten ausgeben? AND #16 BEQ NOTEMPT ;->Nein JMP TRANS NOTEMPT JMP BACK *,w}********************************* *Angekommenes Byte in Inputbuffer* ********************************** REC LDA STAT ;Fe,x}hler? AND #5 BNE ERROR ;->Ja LDA PROT ;Handshake? BEQ NSH ;->Nein LDA ACDATA CMP STOP ;Xoff von Gege,y}nstelle? BEQ ANHALT ;->Ja CMP CONT ;Xon von Gegenstelle? BEQ WEITER ;->Ja JMP INBUF NSH LDA ACDATA INBUF LDY RPO,z}I ;Byte in Buffer STA IBUF,Y INC RPOI LDA IPOI ;Buffer voll? SEC SBC RPOI CMP #8 BEQ VOLL ;->Ja RTS ,{} VOLL JSR AUS LDA #1 STA FULLFL RTS ERROR LDA STAT ;Fehler merken STA ERR JMP VOLL ANHALT LDA #1 ;alle Sendevo,|}rgaenge STA DATABRK ;des ACIA stoppen RTS WEITER LDA #0 ;alle Sendevorgaenge STA DATABRK ;wieder freigeben RTS *,}}******************************* *Byte aus Outputbuffer ausgeben* ******************************** TRANS LDA DATABRK ;Auf G,~}egenstelle * ;warten? BNE NOTRANS ;->Ja LDA TPOI ;Buffer leer? CMP PPOI BNE AUSG ;->Nein NOTRANS LDA ACCO,}MM ;ACIA Sendeinterrupt AND #243 ;sperren ORA #8 STA ACCOMM LDA OFF ;wurde Kanal ge- * ;schlossen? BNE Z,}U ;->Ja JMP BACK ZU JSR AUS ;Uebertragung Ende JMP BACK AUSG TAY ;Byte senden LDA OBUF,Y STA ACDATA INC T,}POI JMP BACK ************************** *"Ready" an Sender melden* ************************** AN LDA PROT BNE HAND ,}RTS HAND CMP #2 ;Hardwarehandshake BNE AN1 LDA ACCOMM AND #243 ORA #8 STA ACCOMM RTS AN1 LDA ACSTAT ;Softwareha,}ndshake AND #16 BEQ AN1 LDA CONT STA ACDATA RTS ******************************** *"Nicht Ready" an Sender melden* *****,}*************************** AUS LDA PROT BNE HAND1 RTS HAND1 CMP #2 ;Hardwarehandshake BNE AUS1 LDA ACCOMM AND #243,} STA ACCOMM RTS AUS1 LDA ACSTAT ;Softwarehandshake AND #16 BEQ AUS1 LDA STOP STA ACDATA RTS **********************,}********** *Die einzelnen Handlerroutinen:* ******************************** OPEN LDY #1 ;Status OK JSR AN ;Sen,}der an LDA ICAX1Z STA RWFL LDA #0 ;keine Fehler STA ERR RTS CLOSE LDA #1 ;Sender ausschalten STA OFF ,} ;wenn Buffer leer LDY #1 ;Status OK RTS GET LDA #0 STA NOCHR LDA BRKKEY ;BREAK ? BEQ BREAK ;->Ja LDA IP,}OI ;ein Byte da? CMP RPOI BNE BUFCHK ;->Ja LDA ERR ;Fehler aufgetreten? BNE FEHLER ;->Ja LDA RWFL ;auf ,}Byte warten? CMP #12 BEQ GET ;->Ja LDA #1 ;"Kein Zeichen"- STA NOCHR ;Flag setzen LDA #0 JMP NEXT BUFCHK L,}DA FULLFL ;war Buffer voll? BEQ GETCHR ;->Nein LDA IPOI ;wieder Platz SEC ;fuer min. 10 SBC RPOI ;Zeichen,}? CMP #10 BNE GETCHR ;->Nein JSR AN ;Gegenstelle an LDA #0 :Fullflag auf 0 STA FULLFL GETCHR LDY IPOI IN,}C IPOI ;Byte aus Buffer LDA IBUF,Y ;holen NEXT LDY #1 ;Status OK RTS BREAK LDY #128 ;Status Break RTS FEH,}LER LDA ERR ;Fehler auswerten AND #1 ;und entsprechende BNE PARITY ;Meldung erzeugen LDA ERR AND #3 BNE OVE,}RRUN LDY #142 RTS PARITY LDY #143 RTS OVERRUN LDY #137 RTS PUT PHA LDA ACCOMM ;ACIA Sendeinterrupt AND #243 ;er,}moeglichen ORA #4 STA ACCOMM PUTL LDA BRKKEY ;BREAK ? BEQ BREAK ;->Ja LDA PPOI ;Buffer schon voll? CLC ADC #2 CM,}P TPOI BEQ PUTL ;->Ja LDY PPOI ;Byte in Output- INC PPOI ;buffer schreiben PLA STA OBUF,Y STATUS LDY #1 ;S,}tatus OK RTS SPECIAL LDA ICCOMZ CMP #40 ;XIO 40? BEQ COMMAND ;->Ja CMP #41 ;XIO 41? BEQ PROTOKOL;->Ja CMP #42,} ;XIO 42? BEQ SOFTCHR ;->Ja LDY #146 ;Nicht, dann Fehler RTS COMMAND LDA ICAX1Z ;XIO-Werte in STA ACCOMM ;ACIA-Re,}g. LDA ICAX2Z ;schreiben STA ACCONT LDY #1 ;Status OK RTS PROTOKOL LDA ICAX1Z ;wie oben... STA PROT LDY #1 RTS,} SOFTCHR LDA ICAX1Z STA STOP LDA ICAX2Z STA CONT LDY #1 RTS ************************************** * Startadresse,} eintragen * *Achtung! Auch abspeichern im Monitor* *SAVE mit Append von $2E0 bis $2E1 * ****************************,}********** ORG $2E0 DFW $1EE0 r* *SAVE mit Append von $2E0 bis $2E1 * ****************************,7KEKEYTANOCHABC7A $$ŠӲ$$(}($$ҤĠΠҤě2$$ҤԠĠͭ<$$ԩ(}F%%6-F:A!,%AV$F:A",P6-AZ@d(>:A%,n++@@@@ (}@0R:x++@A@@R:++@B@@@R:##@@(}R:AdAU)@"@6-AU"@AF:,"@A(} (>:, F:Ad,"AUA`6-F:%F:Ad,,."AU"*@@.6-@*@(}AdAU A` D:TERM.BAS@U:(}@U:(8ADD MACRO EXPR1,EXPR2 CLC LDA EXPR1 ADC EXPR2 STA EXPR1 LDA EXPR1+1 ADC EXPR2+1 STA EXPR1+1 MEND SUB MACRO EXPR1,EXPD}R2 SEC LDA EXPR1 SBC EXPR2 STA EXPR1 LDA EXPR1+1 SBC EXPR2+1 STA EXPR1+1 MEND *Loeschroutine ORG $A800 RUN LDA #0D} STA $1F00 ADD RUN+3,X1 LDA RUN+3 CMP #0 BNE RUN LDA RUN+4 CMP #$30 BNE RUN RTS D}00 ADD RUN+3,X1 LDA RUN+3 CMP #0 BNE RUN LDA RUN+4 CMP #$30 BNE RUN RTS D ADD MACRO EXPR1,EXPR2 CLC LDA EXPR1 ADC EXPR2 STA EXPR1 LDA EXPR1+1 ADC EXPR2+1 STA EXPR1+1 MEND SUB MACRO EXPR1,EXPH}R2 SEC LDA EXPR1 SBC EXPR2 STA EXPR1 LDA EXPR1+1 SBC EXPR2+1 STA EXPR1+1 MEND *Loeschroutine ORG $B100 RUN LDA #0H} STA $A800 ADD RUN+3,X1 LDA RUN+3 CMP #0 BNE RUN LDA RUN+4 CMP #$B0 BNE RUN RTS X1 DFW X1H}00 ADD RUN+3,X1 LDA RUN+3 CMP #0 BNE RUN LDA RUN+4 CMP #$B0 BNE RUN RTS X1 DFW X1H *VERSION-Anzeige fuer CAS-Simulator *(c) 1988 by Ulf Petersen *********************************** COLPF2 EQU $D018 FarbrL}egister WSYNC EQU $D40A Synchron. VCOUNT EQU $D40B Rasterzeile RTCLK EQU $14 VBI-Uhr CONSOL EQU $D01F FL}kt.-Tasten ORG $A800 LDA 560 STA MER LDA 561 STA MER+1 LDA #7*16+10 STA 710 LDA #7*16+2 STA 712 LDA #12*16+12 STAL} 711 LDA #12*16+6 STA 709 LDX #4 ALOP1 LDY #0 LOP LDA 224*256,Y STA 172*256,Y INY CPY #0 BNE LOP INC LOP+2 INC LOP+5L} DEX CPX #0 BNE ALOP1 LDY #0 LOP2 LDA X1,Y STA 19*8+172*256,Y INY CPY #40 BNE LOP2 LDA #172 STA 756 LDA #DL:L L}STA 560 LDA #DL:H STA 561 SCRCOL CLC LDA VCOUNT ADC RTCLK STA WSYNC STA COLPF2-2 INC LO LDA LO CMP #255 BNE SCRCL}OL INC LAQ LDA LAQ CMP #100 BNE SCRCOL INC LAQ1 LDA LAQ1 CMP #2 BNE SCRCOL LDA #0 STA 712 STA 710 STA 709 LDA MEL}R STA 560 LDA MER+1 STA 561 RTS LO DFB 0 LAQ DFB 0 LAQ1 DFB 0 MER DFW 0 X1 DFB 0,0,0,0,0,0,255,255 DFB 255,255,0,0,0,0L},0,0 DFB 224,224,224,224,224,224,224,224 DFB 7,7,7,7,7,7,7,7 DL DFB 112,112,112,112,112,112 DFB 112,112,112,112 DFB 64+6L} DFW TEXT DFB 6,6,6,6,6,6,6,6,6,6 DFB 65 DFW DL TEXT ASC %33333333333333333333% ASC %5 6% ASC %5 %,$L}CAS -SIMULATOR$,% 6% ASC %5 6% ASC %5 %,$ VERSION 1.2 $,%6% ASC %5 6% ASC %5 %,L}$ by $,% 6% ASC %5 6% ASC %5 ulf petersen 6% ASC %5 6% ASC %44444444444444L}444444% 6% ASC %5 ulf petersen 6% ASC %5 6% ASC %44444444444444L$*Liberal Dreams Software presents *************************** *C A S - S I M U L A T O R* *-------------------------* * (c)19P}88 by Ulf Petersen * * Ploener Str.19a * * 2322 Luetjenburg * * Tel.:04381/1505 * ********************P}******* * Simulation des Recorders ! PAUSE MACRO LS LDA #LS STA 540 GH@ LDA 540 CMP #0 BNE GH@ MEND CIOV EQU $E456 IP}CCOM EQU $342 ICSTA EQU $343 ICBAL EQU $344 ICBAH EQU $345 ICBLL EQU $348 ICBLH EQU $349 ICAX1 EQU $34A ICAX2 EQU $34B * CIOP}-Befehle COPEN EQU 3 CCLSE EQU 12 CGTXT EQU 5 CPTXT EQU 9 CGBIN EQU 7 CPBIN EQU 11 EOL EQU $9B BGET MACRO KANAL,P}LAENGE,BUFFER KANNUM KANAL LDA #CGBIN STA ICCOM,X LDA #LAENGE STA ICBLL,X LDA #LAENGE/256 STA ICBLH,X LDA #BUFFER STP}A ICBAL,X LDA #BUFFER/256 STA ICBAH,X JSR CIOV MEND BPUT MACRO KANAL,LAENGE,BUFFER KANNUM KANAL LDA #CPBIN STA ICCOM,XP} LDA #LAENGE STA ICBLL,X LDA #LAENGE/256 STA ICBLH,X LDA #BUFFER STA ICBAL,X LDA #BUFFER/256 STA ICBAH,X JSR CIOV MP}END ADD MACRO EXPR1,EXPR2 CLC LDA EXPR1 ADC EXPR2 STA EXPR1 LDA EXPR1+1 ADC EXPR2+1 STA EXPR1+1 MEND SUB MACRO EXPRP}1,EXPR2 SEC LDA EXPR1 SBC EXPR2 STA EXPR1 LDA EXPR1+1 SBC EXPR2+1 STA EXPR1+1 MEND ORG $0400 LDA #1 LaufwerknummP}er STA $301 LDA #'R STA $302 STX 208 LDA #0 STA 65 LDA $342,X CMP #$C BEQ RAUS1 CMP #$3 BEQ RAUS1 JMP SEARCH RAUP}S1 RTS SEARCH LDY YCOUNT LDA $150,Y STA SECNUM INY LDA $150,Y STA SECNUM+1 INY LDA $150,Y STA LASA INY LDA $150,Y P}STA LASA+1 INY STY YCOUNT LDX 208 LDA $344,X STA TO LDA $345,X STA TO+1 LDY #0 RR1 JSR RR2 ADD SECNUM,X1 ADD TO,XP}125 SUB LASA,X1 LDA LASA CMP #255 BNE RR1 LDA LASA+1 CMP #255 BNE RR1 RTS RR2 LDA SECNUM CMP #$68 BNE DFS1 LDA SEP}CNUM+1 CMP #1 BNE DFS1 LDA #$71 STA SECNUM DFS1 LDA SECNUM STA $30A LDA SECNUM+1 STA $30B LDA TO STA $304 LDA TO+1 P} STA $305 JSR $E453 RTS SECNUM DFW $0 YCOUNT DFB 0 X1 DFW 1 X3 DFW 3 X5 DFW 5 TO DFW $0000 X125 DFW 125 LASA DFW 0 P}DFB 0 X1 DFW 1 X3 DFW 3 X5 DFW 5 TO DFW $0000 X125 DFW 125 LASA DFW 0 P0*Liberal Dreams Software presents *************************** *C A S - S I M U L A T O R* *-------------------------* * (c)19T}88 by Ulf Petersen * * Ploener Str.19a * * 2322 Luetjenburg * * Tel.:04381/1505 * ********************T}******* ROWCRS EQU $54 CURSOR- COLCRS EQU $55 POSITION POSITION MACRO X,Y LDA #X STA COLCRS LDA #X/256 STA COLCRS+1 LT}DA #Y STA ROWCRS MEND INPUT MACRO KANAL,LABEL KANNUM KANAL LDA #CGTXT STA ICCOM,X LDA #LABEL STA ICBAL,X LDA #LABELT}/256 STA ICBAH,X LDA #127 max. Laenge STA ICBLL,X LDA #0 STA ICBLH,X JSR CIOV MEND PAUSE MACRO LS LDA #LS STA 540 T}GH@ LDA 540 CMP #0 BNE GH@ MEND CIOV EQU $E456 ICCOM EQU $342 ICSTA EQU $343 ICBAL EQU $344 ICBAH EQU $345 ICBLL EQU $34T}8 ICBLH EQU $349 ICAX1 EQU $34A ICAX2 EQU $34B * CIO-Befehle COPEN EQU 3 CCLSE EQU 12 CGTXT EQU 5 CPTXT EQU 9 CGBIN T}EQU 7 CPBIN EQU 11 EOL EQU $9B ADD MACRO EXPR1,EXPR2 CLC LDA EXPR1 ADC EXPR2 STA EXPR1 LDA EXPR1+1 ADC EXPR2+1 STT}A EXPR1+1 MEND SUB MACRO EXPR1,EXPR2 SEC LDA EXPR1 SBC EXPR2 STA EXPR1 LDA EXPR1+1 SBC EXPR2+1 STA EXPR1+1 MEND KAT}NNUM MACRO KANAL LDA #KANAL IOCB-Offset ASL ;aus Kanalnr. ASL ;(mal 16) ASL ASL TAX ;ERGEBNIS IM X-REG MEND OPEN MAT}CRO KANAL,AUX1,AUX2,FILENAME JMP OP1@ FNAM@ ASC FILENAME DFB EOL OP1@ KANNUM KANAL LDA #AUX1 STA ICAX1,X LDA #AUX2 STA T}ICAX2,X LDA #COPEN STA ICCOM,X LDA #FNAM@ STA ICBAL,X LDA #FNAM@/256 STA ICBAH,X JSR CIOV MEND CLOSE MACRO KANAL KANT}NUM KANAL LDA #CCLSE STA ICCOM,X JSR CIOV MEND BGET MACRO KANAL,LAENGE,BUFFER KANNUM KANAL LDA #CGBIN STA ICCOM,X LDT}A #LAENGE STA ICBLL,X LDA #LAENGE/256 STA ICBLH,X LDA #BUFFER STA ICBAL,X LDA #BUFFER/256 STA ICBAH,X JSR CIOV MEND T}BPUT MACRO KANAL,LAENGE,BUFFER KANNUM KANAL LDA #CPBIN STA ICCOM,X LDA #LAENGE STA ICBLL,X LDA #LAENGE/256 STA ICBLH,XT} LDA #BUFFER STA ICBAL,X LDA #BUFFER/256 STA ICBAH,X JSR CIOV MEND ORG $2000,$A800 PROGRO LDY #VBI:L LDX #VBI:H T}LDA #6 JSR 58460 JMP STARTEN VBI LDA #DLI:L STA 512 LDA #DLI:H STA 513 LDA #DL:L STA 560 LDA #DL:H STA 561 LDA #19T}2 STA 54286 JMP 58463 DL DFB 112,112+128,112+128,64+14 DFW TEXTA DFB 14+128,14,14+128,14 DFB 14+128,14,14+128 DFB 2,7+T}128,14,14+128 DFB 14,14+128,14,14+128 DFB 14,14+128 DFB 132,2,4,130,4+128,2,2,2,2,2,2,2,2,2,2,2,2,2,130 DFB 65 DFW DL T} DLI PHA LDA #7*16+10 STA 54282 STA 53272 LDA #DLIQ:L STA 512 LDA #DLIQ:H STA 513 PLA RTI DLIQ PHA LDA #7*16+2 STT}A 54282 STA 53274 LDA #DLI1:L STA 512 LDA #DLI1:H STA 513 PLA RTI DLI1 PHA LDA #7*16+4 STA 54282 STA 53274 LDA #DT}LI2:L STA 512 LDA #DLI2:H STA 513 PLA RTI DLI2 PHA LDA #7*16+6 STA 54282 STA 53274 LDA #DLI3:L STA 512 LDA #DLI3:T}H STA 513 PLA RTI DLI3 PHA LDA #7*16+8 STA 54282 STA 53274 LDA #DLI4:L STA 512 LDA #DLI4:H STA 513 PLA RTI DLI4T} PHA LDA #7*16+10 STA 54282 STA 53274 LDA #DLIS:L STA 512 LDA #DLIS:H STA 513 PLA RTI DLIS PHA LDA #7*16+8 STA 54T}282 STA 53274 LDA #DLIS1:L STA 512 LDA #DLIS1:H STA 513 PLA RTI DLIS1 PHA LDA #7*16+6 STA 54282 STA 53274 LDA #DLT}IS2:L STA 512 LDA #DLIS2:H STA 513 PLA RTI DLIS2 PHA LDA #7*16+4 STA 54282 STA 53274 LDA #DLIS3:L STA 512 LDA #DLT}IS3:H STA 513 PLA RTI DLIS3 PHA LDA #7*16+2 STA 54282 STA 53274 LDA #DLIS4:L STA 512 LDA #DLIS4:H STA 513 PLA RTT}I DLIS4 PHA LDA #12*16+2 STA 54282 STA 53274 LDA #DLISA:L STA 512 LDA #DLISA:H STA 513 PLA RTI DLISA PHA LDA #12*T}16+2 STA 54282 STA 53272 LDA #DLIS5:L STA 512 LDA #DLIS5:H STA 513 PLA RTI DLIS5 PHA LDA #3*16+4 STA 54282 STA 53T}272 LDA #DLIS6:L STA 512 LDA #DLIS6:H STA 513 PLA RTI DLIS6 PHA LDA #3*16+4 STA 54282 STA 53274 LDA #DLIS7:L STA T}512 LDA #DLIS7:H STA 513 PLA RTI DLIS7 PHA LDA #0 STA 54282 STA 53274 LDA #DLI:L STA 512 LDA #DLI:H STA 513 PLA T} RTI TEXTA ASC % % ASC % % ASC % % ASC % % AT}SC % % ASC % % ASC % % ASC % % ASC % T} % ASC % % ASC % % ASC % % ASC % % T} ASC % % ASC % % ASC % % ASC %V1.2 % ASC % T} % ASC % CAS-SIMULATOR % ASC % % ASC % % ASC % T}% ASC % % ASC % % ASC % % ASC % % ASC % T} % ASC % % ASC % % ASC % % ASC % T} % ASC % % ASC % % ASC % % ASC % % ASC % T} % ASC % % TEXT ASC % (c) 1988 Liberal% ASC % Dreams Software % ASC % T} % ASC % % ASC % Written by % ASC %Ulf Petersen % ASC % % AT}SC % % ASC % % ASC % % ASC % % ASC % T} % ASC % % ASC % % ASC % % ASC % % T} ASC % % ASC % % ASC % % ASC % % ASC % T} % ASC % % ASC % % ASC % % ASC % T}% ASC % % ASC % % ASC % % ASC % % ASC % T} % ASC % % ASC % % ASC % % ASC % T} % ASC % % ASC % % ASC % % ASC % % ASC % T} % ASC % % *HIER UND JETZT ... STARTEN CLOSE 4 OPEN 4,6,128,"E:" LDY #0 LDA #0 WE3 ST}TA TEXT+4*40,Y INY CPY #0 BNE WE3 LDY #0 LDA #0 SWE3 STA TEXT+10*40,Y INY CPY #230 BNE SWE3 LDA #TEXT:L STA 88 LDAT} #TEXT:H STA 89 LDA #15 STA 709 LDA #DLI:L STA 512 LDA #DLI:H STA 513 LDA #DL:L STA 560 LDA #DL:H STA 561 LDA #1T}92 STA 54286 LDY #0 ASZ1 LDA TEL5,Y STA TEXT+5*40,Y INY CPY #40 BNE ASZ1 LDA #255 STA 764 QWE1 LDA 764 CMP #$1F BET}Q QWE2 CMP #$1E BEQ QWE99 JMP QWE1 QWE99 JMP QWE3 QWE2 LDY #0 ASZ3 LDA TEL6,Y STA TEXT+5*40,Y INY CPY #55 BNE ASZ3 LDT}A #255 STA 764 ASZ4 LDA 764 CMP #255 BEQ ASZ4 LDY #0 ASZ5 LDA TEL7,Y STA TEXT+8*40,Y INY CPY #40 BNE ASZ5 OPEN 1,4,1T}28,"D:VORLAD" BGET 1,$A000,PROG CLOSE 1 JMP LASSAW QWE3 LDY #0 ASZ2 LDA TEL8,Y STA TEXT+5*40,Y INY CPY #55 BNE ASZ2 LT}DA #255 STA 764 WE1 LDA 764 CMP #255 BEQ WE1 LDY #0 WE2 LDA TEL1,Y STA TEXT+8*40,Y INY CPY #40 BNE WE2 OPEN 1,4,128,T}"C:" BGET 1,$A000,PROG CLOSE 1 LASSAW LDA $358 STA 1790 STA 1788 STA 1786 LDA $359 STA 1791 STA 1789 STA 1787 ADD 1T}786,XS1 ADD 1790,PLUS LDA #$0 STA XCEL LDA #$1F STA XCEL+1 ADD XCEL,PLUS ADD XCEL,1788 LDA XCEL STA WANDEL+4 LDA XCU}EL+1 STA WANDEL+5 LDY #4 LDA PROG,Y STA DAS+6 INY LDA PROG,Y STA DAS+7 LDY #2 LDA PROG,Y STA DAS+13 STA MER1 INYU} LDA PROG,Y STA MER1+1 STA DAS+14 ADD MER1,X6 LDA MER1 STA DAS+3 LDA MER1+1 STA DAS+4 LDA 1786 STA DAS+15 LDA 1787U} STA DAS+16 *Partsanzahl feststellen und *Simulator-Daten festlegen LDY #0 ZWE4 LDA TEL2,Y STA TEXT+10*40,Y INY CPY #U}80 BNE ZWE4 LDA #255 STA 764 ZSD1 LDA 764 CMP #255 BEQ ZSD1 LDA #255 STA 764 LDA #253 STA 1740 ADC #$1 STA SADON+7U} LDA #0 STA LCOUNT STA COUNT STA 10*40+TEXT+2 LDY #0 ZQ2 LDA TEL10,Y STA TEXT+10*40,Y INY CPY #60 BNE ZQ2 LDA #0 SU}TA TEXT+11*40+2 LDA #0 STA COUNT LDA #$169:L STA SECNUM LDA #$169:H STA SECNUM+1 SUBPRO LDA #1 Laufwerknummer STA $30U}1 LDA #'R STA $302 DFS1 LDA #$600:L STA PALAS+1 LDA #$600:H STA PALAS+2 LDA SECNUM STA $30A LDA SECNUM+1 STA $30B LU}DA TO STA $304 LDA TO+1 STA $305 JSR $E453 *Part in sector ? LDY #5 PALAS LDA $0600,Y CMP #$50 BEQ RAUSD CONTIN2 ADD PU}ALAS+1,X16 INC LCOUNT LDA LCOUNT CMP #8 BNE PALAS LDA #0 STA LCOUNT ADD SECNUM,XZ1 INC COUNT LDA COUNT CMP #8 BNE U }DFS1 JMP WRITE RAUSD LDA PALAS+1 STA SADON+1 STA CK1+1 STA CK2+1 STA CK3+1 STA CK4+1 LDA PALAS+2 STA SADON+2 STA CK1U }+2 STA CK2+2 STA CK3+2 STA CK4+2 LDY #6 SADON LDA 65535,Y STA LEAG1 CMP #$FF BCS CONTIN *Daten eintragen ... CLC LDAU } LEAG1 SBC #$30 ASL ASL TAX AASA LDY #3 CK1 LDA 65535,Y STA $150,X INX LDY #4 CK2 LDA 65535,Y STA $150,X INX LDY #1U } CK3 LDA 65535,Y STA $150,X INX LDY #2 CK4 LDA 65535,Y STA $150,X CONTIN LDY #5 JMP CONTIN2 LEAG1 DFB 0 X16 DFW 16 SILVU }ER DFB 0 SECNUM DFW $169 X5 DFW 5 TO DFW $600 COUNT DFB 0 LCOUNT DFB 0 XZ1 DFW 1 LASQ ASC " " WRITE LDA #255 U}STA 764 LDY #0 RTY1 LDA TEL3,Y STA TEXT+13*40,Y INY CPY #40 BNE RTY1 LDA #0 STA MER2 STA MER2+1 ADD 1790,X7 LDA #U}PROG:L STA ASD1+1 STA ASD2+1 STA ASD3+1 STA ASD4+1 LDA #PROG:H STA ASD1+2 STA ASD2+2 STA ASD3+2 STA ASD4+2 LDY #1 *U}$E456 IN $0400 VERAENDERN ... ASD1 LDA PROG CMP #$56 BNE DC1 ASD2 LDA PROG,Y CMP #$E4 BNE DC1 LDA #0 ASD3 STA PROG LDAU} #$4 ASD4 STA PROG,Y DC1 ADD ASD1+1,XS1 ADD ASD2+1,XS1 ADD ASD3+1,XS1 ADD ASD4+1,XS1 ADD MER2,XS1 LDA MER2 CMP 1790 BU}NE SDF1 LDA MER2+1 CMP 1791 BNE SDF1 JMP SDF2 SDF1 JMP ASD1 SDF2 OPEN 1,8,128,"D:AUTORUN.SYS" BPUT 1,6,AUOTO BPUT 1,$U}30,$150 BPUT 1,6,AUTOS BPUT 1,$DA,$1F00 KANNUM 1 LDA #CPBIN STA ICCOM,X LDA 1790 STA ICBLL,X LDA 1791 STA ICBLH,X LU}DA #WANDEL:L STA ICBAL,X LDA #WANDEL:H STA ICBAH,X JSR CIOV BPUT 1,6,AUTOST CLOSE 1 SUB 1790,X7 LDY #0 SD2 LDA TEL4,YU} STA TEXT+15*40,Y INY CPY #40 BNE SD2 LDA #255 STA 764 SD3 LDA 764 CMP #255 BEQ SD3 LDA #255 STA 764 JMP $2000 TEU}L1 ASC %Loading from cassette ...% ASC % % TEL2 ASC %Please insert your destination disk and press any key ...U} % ASC % % TEL3 ASC %Writing D:AUTORUN.SYS on disk ... % TEL4 ASC %Press any key to restarU}t ... % TEL5 ASC %Loading from 1)disk or 2)tape ? % TEL6 ASC %Please insert your source disk and pressany U}key ... % TEL7 ASC %Loading D:VORLAD ... % TEL8 ASC %Please insert your cassette and press any U}key ... % TEL9 ASC %How many parts :%,$ $,% % TEL10 ASC %Searching for parts ... U} % ASC % % PLUS DFW $D7 XCEL DFW 0 X6 DFW 6 XS1 DFW 1 MER1 DFW 0 X7 DFW 7 MER2 DFW 0 AU}UTOST DFB $E0,$2,$E1,$2,$3F,$1F AUTOS DFB $FF,$FF,0,$4,$D9,$4 AUOTO DFB $FF,$FF,$50,1,$7F,1 WANDEL DFB $FF,$FF,0,$1F,0,0 SEU}C LDY #0 X4 LDA ($B0),Y STA ($B2),Y LDA $B4 BNE X1 DEC $B5 X1 DEC $B4 LDA $B4 ORA $B5 BEQ X2 TYA BNE X3 DEC $B1 DU}EC $B3 X3 DEY BCS X4 X2 RTS SEC LDY #0 S4 LDA ($B0),Y STA ($B2),Y LDA $B4 BNE S1 DEC $B5 S1 DEC $B4 LDA $B4 ORA $B5 U} BEQ S2 INY BNE S3 INC $B1 INC $B3 S3 BCS S4 S2 RTS LDA #2 STA 9 LDA #$53 STA 2 LDA #$1F STA 3 LDA #0 STA $244 JU }MP $E474 LDA $1FC6 ASL BCS T1 LDY #$1E T2 LDA $1F00,Y STA $3C0,Y DEY BPL T2 LDY #$1F BCC T3 T1 LDY #$1D T4 LDA $1F20U!},Y STA $3C0,Y DEY BPL T4 LDY #$1E T3 LDX #0 A1 LDA $1FC8,X STA $3C0,Y INY INX CPX $1FC7 BCC A1 LDA #$FF STA $244 U"}LDA #0 STA 8 LDA $1FD1 STA $B0 LDA $1FD2 STA $B1 LDA $1FD3 STA $B2 LDA $1FD4 STA $B3 LDA $1FD5 STA $B4 LDA $1FD6 U#} STA $B5 LDA $1FCC STA $C STA 2 LDA $1FCD STA $D STA 3 LDA $1FC9 STA 4 LDA $1FCA STA 5 JMP $3C0 DAS DFB $80,$9,$20U$},0,0,$20,0,0 DFB $6C,$A,0,$D7,$1F,0,0,0,0 PROG NOP U%}7,$1F,0,0,0,0 PROG NOP T)m'm(ɰ`)m'm(0`0A'}1zr̍ƍ&)(01 e ԍdA(}01`ppppppppppFרAA)}&;NZbcvulfpetersenRA*}ЩAB L`PȹPȹPȹPȌнDE mmmm8A+}нж`h q   S`} !  \L'U (0 1A,}L_pN!A( Hz ԍЩj h@Hr ԍЩ h@Ht ԍЩ h@Hv ԍЩA-} h@Hx ԍЩ h@Hz ԍЩӍ h@Hx ԍЩ h@Hv ԍЩ h@Ht ԍЩ!h@Hr ԍЩ'A.}!h@H ԍЩ<!h@H ԍЩQ!h@H4 ԍЩf!h@H4 ԍЩ{!h@H ԍЩU h@""6"A/}##!3 3)-5,!4/2x$$c ,iberal$reams3oftware$$7rittenby5lf0etersen'- B VL'E: JKBA0}D'E V%&tX$YU (0 1Ԡ?.<%( L(L(g.<%7A1}.%(L_(D:VORLAD JKBVD(E V BHIxD0E V B VL8)A2}.<%7p-%(L(C: JKBD(E V BHIxD0E V BA3} VXYm/m/m{/m|/}/~/}/m{/}/~/m|/~/}/m}/~/m~/}//~//A4}x0m0ȹx0n0x0t0/ȹx0/u0/m///m///j0/k0v0w0-&Pi*;+A5}:+&+/&<.&:+i4+5+R**4+ 5+ 8+9+ SPB*m1+**m2+*;+;+ܩA6};+4+m<+4+5+m=+5+:+:+ГLM+** +++&+** +++'+0+,0+0 PPPA7}PL*i -|&(//m/m/x++++0++++x0Vx0 A8}x0x0+m/++m/++m/++m/++m/++m/++m/++m/+/m///m/// /L%,LA9}+L6,D:AUTORUN.SYS JKB(D,E V BHID/E V B0HIPDE VA:} BHID/E V BڝHIDE V BHID/E V BHA;}ID/E V B V8//.&(L ,oadingfromcassette--0leaseinsertA<}yourdestinationdiskandpressanykey-.7riting$!54/25.393ondisk.2.0ressanykeytorestart?.].,oadingA=}from diskor tapeg..0leaseinsertyoursourcediskandpressanykey..,oading$6/2,!$./0leaseinsertyourA>}cassetteandpressanykey(owmanyparts+/A/3earchingforparts{/y0?P8A?}Ƶƴ ƱƳ`8Ƶƴ 泰` SDLt   A@}D  L l   @e`X01rʍ0?L!?0LppppppppppppFopppAX0,%!3%iB},/!$4()302/'2!-/.,97)4(02X@ԩP"/XY}012iC}`a ] `a ]LlC: JKBiDE V BHIDE V iD} B VXy{Yz|2no kUVT08{EH|G |h{hE L&HH`Eƭ{ 0 7LBiE}HH`LN d'ȍLZ(`(`ppppppppppppppBA}iF}0ressanykeytoloadfromcassette2eadingfromcassetteiG},engthbytes-%-  LsxL9:X@ԩ/n؍oiH}xӭ#}0L\uLk}u}ؙX@ԩ BHIDEiI} V䭹LdenmnomonɈ5o.ux8Lk8L'8iJ} X@ԩ BHIDE VX@ԩ B V"/x iK}X@ԩxL}}<=LLiL}LL^™ÙęřƙǙșəʙiM}̙͙ЧLL 2;3<,A؍-B؍`a`aح;ɠZRS232 SRC@-----------@@|CASSIMUL.|@B&CASSIMGECOMBERASE SRCBERASE2 SRCB VERSION SRCBCASSIMSISRCB`CASSIMPRSRC@-----------@@|POWERCOPY|@B0APOWERCOPCOMBTDOSCHECKSRCBPPOWER7 SRCBzCASLOAD SRCBDISSAVE SRCBVERWALT1SRCBFILENAMESRCBSCHIEBENSRCBDXZKXKXZVYZWBEFILENAMEOBJBFSYSTEXT OBJB GRAMDISK COM||||||ir}||||||is}||||||it}||||||iu}||||||iv}PQxӠ0123456789iw}:;<=>?@A¹ùĹŹƹǹȹix}ɹʹ˹̹Чع ٹ ڹ ۹ ܹ ݹ޹߹iy}ЃX@LPܹ ݹ޹߹h@ADD MACRO EXPR1,EXPR2 CLC LDA EXPR1 ADC EXPR2 STA EXPR1 LDA EXPR1+1 ADC EXPR2+1 STA EXPR1+1 MEND PAUSE MACRO LS LDu{}A #LS STA 540 GH@ LDA 540 CMP #0 BNE GH@ MEND CIOV EQU $E456 ICCOM EQU $342 ICSTA EQU $343 ICBAL EQU $344 ICBAH EQU $34u|}5 ICBLL EQU $348 ICBLH EQU $349 ICAX1 EQU $34A ICAX2 EQU $34B * CIO-Befehle COPEN EQU 3 CCLSE EQU 12 CGTXT EQU 5 CPTXTu}} EQU 9 CGBIN EQU 7 CPBIN EQU 11 EOL EQU $9B SUB MACRO EXPR1,EXPR2 SEC LDA EXPR1 SBC EXPR2 STA EXPR1 LDA EXPR1+1 u~}SBC EXPR2+1 STA EXPR1+1 MEND KANNUM MACRO KANAL LDA #KANAL IOCB-Offset ASL ;aus Kanalnr. ASL ;(mal 16) ASL ASL TAXu} ;ERGEBNIS IM X-REG MEND OPEN MACRO KANAL,AUX1,AUX2,FILENAME JMP OP1@ FNAM@ ASC FILENAME DFB EOL OP1@ KANNUM KANAL LDA #u}AUX1 STA ICAX1,X LDA #AUX2 STA ICAX2,X LDA #COPEN STA ICCOM,X LDA #FNAM@ STA ICBAL,X LDA #FNAM@/256 STA ICBAH,X JSRu} CIOV MEND CLOSE MACRO KANAL KANNUM KANAL LDA #CCLSE STA ICCOM,X JSR CIOV MEND BGET MACRO KANAL,LAENGE,BUFFER KANNUM Ku}ANAL LDA #CGBIN STA ICCOM,X LDA #LAENGE STA ICBLL,X LDA #LAENGE/256 STA ICBLH,X LDA #BUFFER STA ICBAL,X LDA #BUFFER/u}256 STA ICBAH,X JSR CIOV MEND BPUT MACRO KANAL,LAENGE,BUFFER KANNUM KANAL LDA #CPBIN STA ICCOM,X LDA #LAENGE STA ICBLu}L,X LDA #LAENGE/256 STA ICBLH,X LDA #BUFFER STA ICBAL,X LDA #BUFFER/256 STA ICBAH,X JSR CIOV MEND ATACHR EQU $2FB u}ROWCRS EQU $54 CURSOR- COLCRS EQU $55 POSITION POSITION MACRO X,Y LDA #X STA COLCRS LDA #X/256 STA COLCRS+1 LDA #Y STu}A ROWCRS MEND KEYBDV EQU $E420 Keyboard-Handler EDITDV EQU $E400 Editor-Handler SCROUT MACRO JSR SCR1@ JMP SCRE@ SCR1@ Tu}AY LDA EDITDV+7 PHA LDA EDITDV+6 PHA TYA RTS SCRE@ MEND DECOUT MACRO EXPR LDY #7 DEC1@ LDX '0 DEC2@ SEC LDA EXPR SBu}C DTAB@-1,Y PHA DEY LDA EXPR+1 SBC DTAB@+1,Y BCC DEC3@ STA EXPR+1 PLA STA EXPR INX INY BNE DEC2@ DEC3@ PLA TXA Su}TY TEMP@ SCROUT LDY TEMP@ DEY BPL DEC1@ LDA EXPR ORA #'0 SCROUT JMP DEC4@ TEMP@ DFB 0 * * Tabellen der Zehnerpotenzeu}n * DTAB@ DFW 10 DFW 100 DFW 1000 DFW 10000 DEC4@ EQU * MEND ORG $400 LDA #$FF STA $D301 CLI LDA #64 STA $D40E u}LDA #0 STA 755 LDY #0 LDA #0 GHT1 STA TEXT,Y INY CPY #80 BNE GHT1 LDA #34 STA 559 LDA #TEXT:L STA 88 LDA #TEXT:H u} STA 89 LDA #DLI:L STA 560 LDA #DLI:H STA 561 LDA #15 STA 709 LDA #3*16+2 STA 710 STA 712 LDA #TE1:L STA LA1+1 LDu}A #TE1:H STA LA1+2 JSR PRINT1 LDA #255 STA 764 WES1 LDA 764 CMP #255 BEQ WES1 LDA #TE2:L STA LA1+1 LDA #TE2:H STA Lu}A1+2 JSR PRINT1 OPEN 1,4,128,"C:" BGET 1,$B7FF,$800 CLOSE 1 LDA $358 STA LANGE STA LANGE2 STA 2 LDA $359 STA LANGE+u}1 STA LANGE2+1 STA 3 LDA #TE3:L STA PRI1+1 LDA #TE3:H STA PRI1+2 JSR PRINT2 POSITION 8,1 DECOUT LANGE2 PAUSE 200 u}JMP DFS PRINT1 LDY #0 LA1 LDA 65535,Y STA TEXT,Y INY CPY #40 BNE LA1 RTS PRINT2 LDY #0 PRI1 LDA 65535,Y STA TEXT+40,u}Y INY CPY #40 BNE PRI1 RTS LANGE DFW 0 LANGE2 DFW 0 DLI DFB 112,112,112,112,112,112,112 DFB 112,112,112,112,112,112,1u}12,64+2 DFW TEXT DFB 2 DFB 65 DFW DLI TEXT ASC % % ASC % % ASC % u} % ASC % % TE1 ASC %Press any key to load from cassette ...%,$ $ TE2 ASC %Reading from cassette ..u}. % TE3 ASC %Length : bytes. (MEM:47103) % DFS LDA 5 CMP #0 BNE XCV LDA #2 STA 6 LDA #255 STu}A 4 JMP RUUS XCV LDA #6 STA 6 LDA #255 STA 4 RUUS LDA #0 STA $D40E SEI LDA #$FE STA $D301 JMP $F800 u}FE STA $D301 JMP $F800 tTINPUT MACRO KANAL,LABEL KANNUM KANAL LDA #CGTXT STA ICCOM,X LDA #LABEL STA ICBAL,X LDA #LABEL/256 STA ICBAH,X LDA #12y}7 max. Laenge STA ICBLL,X LDA #0 STA ICBLH,X JSR CIOV MEND ADD MACRO EXPR1,EXPR2 CLC LDA EXPR1 ADC EXPR2 STA EXPR1y} LDA EXPR1+1 ADC EXPR2+1 STA EXPR1+1 MEND PAUSE MACRO LS LDA #LS STA 540 GH@ LDA 540 CMP #0 BNE GH@ MEND CIOV EQUy} $E456 ICCOM EQU $342 ICSTA EQU $343 ICBAL EQU $344 ICBAH EQU $345 ICBLL EQU $348 ICBLH EQU $349 ICAX1 EQU $34A ICAX2 EQU $3y}4B * CIO-Befehle COPEN EQU 3 CCLSE EQU 12 CGTXT EQU 5 CPTXT EQU 9 CGBIN EQU 7 CPBIN EQU 11 EOL EQU $9B SUB MACRy}O EXPR1,EXPR2 SEC LDA EXPR1 SBC EXPR2 STA EXPR1 LDA EXPR1+1 SBC EXPR2+1 STA EXPR1+1 MEND KANNUM MACRO KANAL LDA #KAy}NAL IOCB-Offset ASL ;aus Kanalnr. ASL ;(mal 16) ASL ASL TAX ;ERGEBNIS IM X-REG MEND OPEN MACRO KANAL,AUX1,AUX2 OP1@ y}KANNUM KANAL LDA #AUX1 STA ICAX1,X LDA #AUX2 STA ICAX2,X LDA #COPEN STA ICCOM,X LDA #FNAM:L STA ICBAL,X LDA #FNAM:H y} STA ICBAH,X JSR CIOV MEND CLOSE MACRO KANAL KANNUM KANAL LDA #CCLSE STA ICCOM,X JSR CIOV MEND BGET MACRO KANAL,LAENGy}E,BUFFER KANNUM KANAL LDA #CGBIN STA ICCOM,X LDA #LAENGE STA ICBLL,X LDA #LAENGE/256 STA ICBLH,X LDA #BUFFER STA ICBy}AL,X LDA #BUFFER/256 STA ICBAH,X JSR CIOV MEND BPUT MACRO KANAL,LAENGE,BUFFER KANNUM KANAL LDA #CPBIN STA ICCOM,X LDAy} #LAENGE STA ICBLL,X LDA #LAENGE/256 STA ICBLH,X LDA #BUFFER STA ICBAL,X LDA #BUFFER/256 STA ICBAH,X JSR CIOV MEND y} ATACHR EQU $2FB ROWCRS EQU $54 CURSOR- COLCRS EQU $55 POSITION POSITION MACRO X,Y LDA #X STA COLCRS LDA #X/256 STA COy}LCRS+1 LDA #Y STA ROWCRS MEND ORG $400,$A800 LDA #$FF STA $D301 CLI LDA #64 STA $D40E LDA #0 STA 559 STA RAUSy}FL LDA #$D800:L STA HOL2+1 LDA #$D800:H STA HOL2+2 DFA2 LDA 2 STA LAENG LDA 3 STA LAENG+1 AUS LDA #0 STA $D40E SEI y} LDA #$FE STA $D301 *LAENGE NOCH >=125 ? LDA LAENG+1 CMP #0 BNE OK1 LDA LAENG CMP #125 BMI NOK1 JMP OK1 NOK1 LDA LAEy}NG STA ZEUS+1 LDA #1 STA RAUSFL LDA LAENG STA DAS1+1 LDA #0 STA DAS2+1 JMP HOL1 OK1 LDA #125 STA ZEUS+1 LDA #125 Sy}TA DAS1+1 LDA #0 STA DAS2+1 HOL1 LDY #0 HOL2 LDA $D800,Y STA $100,Y INY ZEUS CPY #0 BNE HOL2 LDA #$FF STA $D301 CLI y} LDA #64 STA $D40E KANNUM 1 LDA #CPBIN STA ICCOM,X DAS1 LDA #0 STA ICBLL,X DAS2 LDA #0 STA ICBLH,X LDA #$100:L STA Iy}CBAL,X LDA #$100:H STA ICBAH,X JSR CIOV LDA RAUSFL CMP #1 BNE LK1 JMP EXIT LK1 LDA RAUSFL CMP #2 BEQ STIEG ADD HOy}L2+1,X125 LDA HOL2+1 CMP #$88 BNE AQ1 LDA HOL2+2 CMP #$EB BNE AQ1 LDA #24 STA ZEUS+1 STA DAS1+1 LDA #2 STA RAUSFL y} LDA #0 STA $D40E SEI LDA #$FE STA $D301 SUB LAENG,X24 JMP HOL1 AQ1 SUB LAENG,X125 JMP AUS STIEG SUB LAENG,X124 LDy}A 9 STA $1BA0 LDA #$FF STA $D301 CLI LDA #64 STA $D40E KANNUM 1 LDA #CPBIN STA ICCOM,X LDA LAENG STA ICBLL,X LDAy} LAENG+1 STA ICBLH,X LDA #$1BA0:L STA ICBAL,X LDA #$1BA0:H STA ICBAH,X JSR CIOV EXIT LDA #$FF STA $D301 CLI LDA #64y} STA $D40E LDA #15 STA 712 CLOSE 1 LDA #34 STA 559 LDA #7 STA 6 LDA #0 STA $D40E SEI LDA #$FE STA $D301 JSR y}$F800 LDA #$FF STA $D301 CLI LDA #64 STA $D40E LDA #5 STA 6 LDA #0 STA $D40E SEI LDA #$FE STA $D301 JMP $F800y} LAENG DFW 0 RAUSFL DFB 0 X125 DFW 125 X24 DFW 24 X124 DFW 125STA $D40E SEI LDA #$FE STA $D301 JMP $F800xN*Verwaltungsroutine fuer Power-Copy *(c) 1988 by Ulf Petersen *********************************** ADD MACRO EXPR1,EXPR2 CLC }} LDA EXPR1 ADC EXPR2 STA EXPR1 LDA EXPR1+1 ADC EXPR2+1 STA EXPR1+1 MEND ORG $A800 ($F800) LDY #0 LDA 6 *ART ?}} *VON CASSETTE LADEN? CMP #1 BNE NEXT2 LDY #0 AST1 LDA $EC00,Y STA $400,Y LDA $ED00,Y STA $500,Y LDA $EE00,Y STA $60}}0,Y INY CPY #0 BNE AST1 JMP $400 *AUF CASSETTE SPEICHERN ? NEXT2 CMP #2 BNE NEXT3 LDY #0 AST2 LDA $EF00,Y STA $400,Y}} LDA $F000,Y STA $500,Y LDA $F100,Y STA $600,Y INY CPY #0 BNE AST2 JMP $400 *VON DISKETTE LADEN? NEXT3 CMP #3 BNE }}NEXT4 LDY #0 AST3 LDA $F200,Y STA $400,Y LDA $F300,Y STA $500,Y LDA $F400,Y STA $600,Y INY CPY #0 BNE AST3 JMP $400}} *AUF DISKETTE SPEICHERN? NEXT4 CMP #4 BNE NEXT5 LDY #0 AST4 LDA $F500,Y STA $400,Y LDA $F600,Y STA $500,Y LDA $F700,}}Y STA $600,Y INY CPY #0 BNE AST4 JMP $400 *MENUE "LADEN" ? NEXT5 CMP #5 BNE NEXT6 LDY #0 AST5 LDA $C000,Y STA $A800}},Y LDA $C100,Y STA $A900,Y LDA $C200,Y STA $AA00,Y LDA $C300,Y STA $AB00,Y LDA $C400,Y STA $AC00,Y LDA $C500,Y STA }}$AD00,Y LDA $C600,Y STA $AE00,Y LDA $C700,Y STA $AF00,Y LDA $C800,Y STA $B000,Y LDA $C900,Y STA $B100,Y LDA $CA00,Y }} STA $B200,Y LDA $CB00,Y STA $B300,Y LDA $CC00,Y STA $B400,Y LDA $CD00,Y STA $B500,Y INY CPY #0 BNE AST5 JMP $A800 }} *FILENAMEN ABFRAGEN ? NEXT6 CMP #6 BNE NEXT7 LDY #0 AST6 LDA $FB00,Y STA $400,Y LDA $FC00,Y STA $500,Y LDA $FD00,Y S}}TA $600,Y INY CPY #0 BNE AST6 JMP $400 *DATEN VON $D800-EBA0 & $800-$1BA0 *AUSTAUSCHEN !!! NEXT7 LDA $1BA0 STA 9 LDA }}#$800:L STA NEXTD+7 STA NEXTS+1 LDA #$800:H STA NEXTD+8 STA NEXTS+2 LDA #$D800:L STA NEXTD+1 STA NEXTS+7 LDA #$D800:}}H STA NEXTD+2 STA NEXTS+8 NEXTD LDA $D800 STA $160 LDA $800 STA $161 LDA $160 NEXTS STA $800 LDA $161 STA $D800 LDA}} NEXTS+1 CMP #$A0 BNE VEW LDA NEXTS+2 CMP #$1B BNE VEW RTS VEW ADD NEXTD+1,X1 ADD NEXTD+7,X1 ADD NEXTS+1,X1 ADD NEX}}TS+7,X1 JMP NEXTD X1 DFW 1 1B BNE VEW RTS VEW ADD NEXTD+1,X1 ADD NEXTD+7,X1 ADD NEXTS+1,X1 ADD NEX|0ADD MACRO EXPR1,EXPR2 CLC LDA EXPR1 ADC EXPR2 STA EXPR1 LDA EXPR1+1 ADC EXPR2+1 STA EXPR1+1 MEND PAUSE MACRO LS LD}A #LS STA 540 GH@ LDA 540 CMP #0 BNE GH@ MEND CIOV EQU $E456 ICCOM EQU $342 ICSTA EQU $343 ICBAL EQU $344 ICBAH EQU $34}5 ICBLL EQU $348 ICBLH EQU $349 ICAX1 EQU $34A ICAX2 EQU $34B * CIO-Befehle COPEN EQU 3 CCLSE EQU 12 CGTXT EQU 5 CPTXT} EQU 9 CGBIN EQU 7 CPBIN EQU 11 EOL EQU $9B SUB MACRO EXPR1,EXPR2 SEC LDA EXPR1 SBC EXPR2 STA EXPR1 LDA EXPR1+1 }SBC EXPR2+1 STA EXPR1+1 MEND KANNUM MACRO KANAL LDA #KANAL IOCB-Offset ASL ;aus Kanalnr. ASL ;(mal 16) ASL ASL TAX} ;ERGEBNIS IM X-REG MEND OPEN MACRO KANAL,AUX1,AUX2,FILENAME JMP OP1@ FNAM@ ASC FILENAME DFB EOL OP1@ KANNUM KANAL LDA #}AUX1 STA ICAX1,X LDA #AUX2 STA ICAX2,X LDA #COPEN STA ICCOM,X LDA #FNAM@ STA ICBAL,X LDA #FNAM@/256 STA ICBAH,X JSR} CIOV MEND CLOSE MACRO KANAL KANNUM KANAL LDA #CCLSE STA ICCOM,X JSR CIOV MEND BGET MACRO KANAL,LAENGE,BUFFER KANNUM K}ANAL LDA #CGBIN STA ICCOM,X LDA #LAENGE STA ICBLL,X LDA #LAENGE/256 STA ICBLH,X LDA #BUFFER STA ICBAL,X LDA #BUFFER/}256 STA ICBAH,X JSR CIOV MEND BPUT MACRO KANAL,LAENGE,BUFFER KANNUM KANAL LDA #CPBIN STA ICCOM,X LDA #LAENGE STA ICBL}L,X LDA #LAENGE/256 STA ICBLH,X LDA #BUFFER STA ICBAL,X LDA #BUFFER/256 STA ICBAH,X JSR CIOV MEND ATACHR EQU $2FB }ROWCRS EQU $54 CURSOR- COLCRS EQU $55 POSITION POSITION MACRO X,Y LDA #X STA COLCRS LDA #X/256 STA COLCRS+1 LDA #Y ST}A ROWCRS MEND KEYBDV EQU $E420 Keyboard-Handler EDITDV EQU $E400 Editor-Handler SCROUT MACRO JSR SCR1@ JMP SCRE@ SCR1@ T}AY LDA EDITDV+7 PHA LDA EDITDV+6 PHA TYA RTS SCRE@ MEND ORG $A800 EIN LDA #$FF STA $D301 CLI LDA #64 STA $D40E L}DA #255 STA 764 LDY #0 X1 LDA #0 STA INP,Y INY CPY #$0E BNE X1 LDA #128 STA INP JMP X2 ZNAM ASC "E:" DFB $9B X2 LDA} #1 ASL ASL ASL ASL TAX LDA #6 STA $34A,X LDA #128 STA $34B,X LDA #3 STA $342,X LDA #ZNAM:L STA $344,X LDA #ZNA}M:H STA $345,X JSR $E456 LDA #15 STA 709 LDA #$32 STA 710 STA 712 LDA #DL:L STA 560 LDA #DL:H STA 561 LDA #TEXT:L} STA 88 LDA #TEXT:H STA 89 LDA #$1B STA $55 LDA #0 STA $54 STA $56 LDA #1 ASL ASL ASL ASL TAX LDA #5 STA $342},X LDA #$1F STA $344,X LDA #5 STA $345,X LDA #$7F STA $348,X LDA #0 STA $349,X JSR $E456 LDA #1 ASL ASL ASL ASL} TAX LDA #$C STA $342,X JSR $E456 PAUSE 10 X4 LDA #7 STA 6 LDA #0 STA $D40E SEI LDA #$FE STA $D301 JSR $F800 }LDA #$FF STA $D301 CLI LDA #64 STA $D40E PAUSE 10 LDY #0 ASZ3 LDA INP,Y CMP #0 BNE ASZ1 LDA #$9B STA CHAN+6,Y JM}P RASA ASZ1 CLC ADC #32 STA CHAN+6,Y INY CPY #$D BNE ASZ3 RASA LDA 5 CMP #1 BNE XC1 LDA #$31 STA CHAN+4 JMP XD2 XC}1 LDA #$32 STA CHAN+4 XD2 PAUSE 30 CHAN OPEN 1,8,128,"D1:HYFREAKS.HAI" PAUSE 30 LDA #4 STA 6 LDA #0 STA $D40E LDA #}$FE STA $D301 JMP $F800 DL DFB 112,112,112,112,112,112 DFB 112,112,112,112,112,112 DFB 112,112,$42 DFW TEXT DFB 65 DF}W DL TEXT ASC %Enter Filename (FILE.EXT) :% INP ASC % %} %K*SCHIEBUNGSROUTINE NACH LADEN ORG $A800 ($5000) AUS LDA #0 STA $D40E SEI LDA #$FE STA $D301 *VON CASSETTE LADEN LDY} #0 AST1 LDA $3000,Y STA $EC00,Y LDA $3100,Y STA $ED00,Y LDA $3200,Y STA $EE00,Y INY CPY #0 BNE AST1 *AUF CASSETTE S}PEICHERN LDY #0 AST2 LDA $3300,Y STA $EF00,Y LDA $3400,Y STA $F000,Y LDA $3500,Y STA $F100,Y INY CPY #0 BNE AST2 }*VON DISKETTE LADEN LDY #0 AST3 LDA $3600,Y STA $F200,Y LDA $3700,Y STA $F300,Y LDA $3800,Y STA $F400,Y INY CPY #0 }BNE AST3 *AUF DISKETTE SPEICHERN LDY #0 AST4 LDA $3900,Y STA $F500,Y LDA $3A00,Y STA $F600,Y LDA $3B00,Y STA $F700,Y } INY CPY #0 BNE AST4 *VERSCHIEBUNGSROUTINE LDY #0 ASTS4 LDA $3C00,Y STA $F800,Y LDA $3D00,Y STA $F900,Y LDA $3E00,Y } STA $FA00,Y INY CPY #0 BNE ASTS4 *FILENAMEN ABFRAGEN LDY #0 ASTS5 LDA $3F00,Y STA $FB00,Y LDA $4000,Y STA $FC00,Y }LDA $4100,Y STA $FD00,Y INY CPY #0 BNE ASTS5 *MENUE "LADEN" LDY #0 AST5 LDA $A800,Y STA $C000,Y LDA $A900,Y STA $C1}00,Y LDA $AA00,Y STA $C200,Y LDA $AB00,Y STA $C300,Y LDA $AC00,Y STA $C400,Y LDA $AD00,Y STA $C500,Y LDA $AE00,Y ST}A $C600,Y LDA $AF00,Y STA $C700,Y LDA $B000,Y STA $C800,Y LDA $B100,Y STA $C900,Y LDA $B200,Y STA $CA00,Y LDA $B300,}Y STA $CB00,Y LDA $B400,Y STA $CC00,Y LDA $B500,Y STA $CD00,Y INY CPY #0 BNE AST5 * UNTER DAS OS-ROM RETTEN LDY} #0 ASTA1 LDA $800,Y STA $D800,Y LDA $900,Y STA $D900,Y LDA $A00,Y STA $DA00,Y LDA $B00,Y STA $DB00,Y LDA $C00,Y STA} $DC00,Y LDA $D00,Y STA $DD00,Y LDA $E00,Y STA $DE00,Y LDA $F00,Y STA $DF00,Y LDA $1000,Y STA $E000,Y LDA $1100,Y S}TA $E100,Y LDA $1200,Y STA $E200,Y LDA $1300,Y STA $E300,Y LDA $1400,Y STA $E400,Y LDA $1500,Y STA $E500,Y LDA $1600},Y STA $E600,Y LDA $1700,Y STA $E700,Y LDA $1800,Y STA $E800,Y LDA $1900,Y STA $E900,Y LDA $1A00,Y STA $EA00,Y LDA }$1B00,Y STA $EB00,Y INY CPY #0 BNE ASTA1 EIN LDA #$FF STA $D301 CLI LDA #64 STA $D40E JMP $A800 }N LDA #$FF STA $D301 CLI LDA #64 STA $D40E JMP $A800 0!       8` 8`     xXl   -.R,$%}4xX ѩѩ X(`23 4reiberinst%}alliert0 ! !o!!!L HHHэ)hhhl-L ) / )L L )622LN Ѭ%}"8` `Lc `) ѭL L #L ` ) `)%}`` )`)` *``B8 LV!8  %}"``))```H) ѥڭih#`"( )*`*ѥ+Ѡ`*`*+%}```))```H) ѥڭih#`"( )*`*ѥ+Ѡ`*`*+$ 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  LFREIE SEKT.  G) *Gȩ GȽG GȌ*jj >G}J, }Λd ddJ\|DOS SYSRAMDISK COM }DB} B}}BAUTORUN SYSCDOS SYS} C C*(> 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.SYSLADEN NUR MIT MEM.SAV MOEGLICH.D8:MEM.SAV J y08 B|DEHI} V0 0`B;DEL`?<0LV`@ʆ v s? F0Ξ05: [ BDEHI} VJ8 B V  @  /DE `E:D8:DUP.SYSPROGRAMM-SPEICHERUNG FEHLERHAFT!DOS DENNOC}H LADEN? >J/N 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ꭝL 3u  } 3E:}DISKETTEN BETRIEBSSYSTEM II VERS. COPYRIGHT 1985 ATARI CORP.A. DISK-INHALT I. FORMATIERENB. ZUM STECKMOD}UL J. DISK KOPIEREN C. DATEI KOPIEREN K. BINAER SAVED. LOESCHE DATEI L. BINAER LOADE. NAMEN AENDERN M. START BEI ADR}.F. DATEI SICHERN N. MEM.SAV ANLEGENG. DAT. FREIGEBEN O. DAT. KOPIERENH. DOS SCHREIBEN P. FORMATIEREN ӛL !N'}#"&))9(&*)/h)''-&؆莟R'S  vL/ˢ L }DOS 2.0s EINLEGEN -> Y, x }DEfHI 1莏#q! @ y0ɛ8A0,' ȅ 1 1ild! 1L!FALSCHE WAHLBITTE }WAEHLEN, -> MENUE! 0 .z:*{}.|{ 1 0 0JB 18L%|DL }%INHALT [SUCHBEGRIFF,AUSGABEGER.]?[# 0 0 &|D3" 1L!KEINE DISKDATEIN !B 1L!E# 1 !BD!}ED:}:1BJ|DE 1DEBHI 1 h0ߢ 0."}  0?詛 1 y0JЛ 1 ;#L" ;#L! BL1->J ZUM LOESCHEN... LOESCHE DAT.NAME#}KOPIE-VON, AUF?DAS KANN ICH NICHT011 FREIE SEKT. KOPIERE---D1:SCHIEBEN.SRCl# 0|D .L/%#$}##JB|DE 1BHID#E 1#0: B 1L!#͑### B 1#c$0SY%}S1}:## # # .#Ƚ# # 𩛙## 1,#PD#ELJ- <.BJD#E &}1 1HH 0hh|DL%1}:̳# L% #D#EL% 1 0 . .0O% 1L!KEINE 'WILD CARD'}S' IM ZIEL-DATEINAMEN 0 <.|K}0 0 1L~0`BITTE NUR 1 ZEICHEN ,0`hhL! 70 1L0L<1 ,;ɛ7,"ɛ:ݦ1ݥ?}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{NAME@} ZU LANG! B VL!` L1I H1EΝDL1|mDiE` V0`8d/8 i:222 1 LA}!ERROR- 162ɛ+,' 20*.. өr2 1``2EINGABE ZU LANGUNGUELTIGE HB}EXADEZ. PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1D1 - D8 ANGEBENuC} XADEZ. PARAMETER800 0 8 00`,0'D800 H,ɛh`2L1D1 - D8 ANGEBENu +$")@"AU("$ (>:, A  D:DOS.SIS&)@AU& APɛL e`' "6e`6e`eodpd odrd ]S`8`ue~e=ze|ekk?kkABS #ɛL e`' "6e`6e`eodpd odrd ]S`8`ue~e=ze|ekk?kkABS #77pA`78<<  B JKIHiDiELV`L8H} 8 BLV`Lx8t8l Lu8hihiHHȱȱL8c !#3`Lu8JJI}JJ`H 8h`Hȩh Q8L8 Z8L8 8L8 8L8 8L8S:@9E:E9H '9 H9J}I9 8 '9h)0IC9D9L8 L :::: :Lr:::IEL[::i:iIILL}[:`:i::i::L:`L{:w:w: C`L:L: D8:MEM.SAV: 8| 9 '9`L:L: D:DUM}P.SYS:̩ 8 x:ɀL: '9`88 |9Y:X: '9L); D8:DUP.SYS; 8::88 9 N}'98? :`;WL`; 9Ln; ` :Y;Y;L;L;)} Setting Up ATARI 130XE Ram Disk; 9L; O}; -9   L;D8:; :9 :Y;L