home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-03-30 | 16.5 KB | 1,129 lines |
- ; ***********************
- ; *** ANDERE ╥OUTINEN ***
- ;
- ; *** ╙TERNCHEN SETZEN/LOESCHEN ***
- ;
- :STERNCHEN
- LOADW TEXTE,ZP2
- TRANSW BAUD,ZP1 ;2.2.1. ┬AUDRATE
- DADD ZP1,ZP2,ZP1
- LDA ZW
- LDY #7
- STA (ZP1),Y
- TRANSW DATENB,ZP1 ;2.2.2. ─ATENBITS
- DADD ZP1,ZP2,ZP1
- LDA ZW
- LDY #2
- STA (ZP1),Y
- TRANSW PARIT,ZP1 ;2.2.3. ╨ARITAET
- DADD ZP1,ZP2,ZP1
- LDA ZW
- LDY #18
- STA (ZP1),Y
- TRANSW STOPB,ZP1 ;2.2.4. ╙TOPBITS
- DADD ZP1,ZP2,ZP1
- LDA ZW
- LDY #5
- STA (ZP1),Y
- TRANSW DUPL,ZP1 ;2.2.5. ─UPLEX
- DADD ZP1,ZP2,ZP1
- LDA ZW
- LDY #5
- STA (ZP1),Y
- LDA ECHO ;2.3. ┼CHO
- BEQ ECHOAUS
- COP ZW,MTEXT231+4
- JMP GESCHW
- :ECHOAUS
- COP ZW,MTEXT232+4
- :GESCHW
- LDA SPEED ;2.5.1. ╙ENDETEMPO
- BEQ LOWSPD
- COP ZW,MTEXT2511+8
- JMP CRUNTERDR
- :LOWSPD
- COP ZW,MTEXT2512+8
- :CRUNTERDR
- LDA CRUNTER ;2.5.2. ├╥ UNTERDRUECKEN
- BEQ NEIN
- COP ZW,MTEXT2521+6
- JMP KONVERTIE
- :NEIN
- COP ZW,MTEXT2522+6
- :KONVERTIE
- LDA KONVERT ;2.5.3. KONVERTIEREN
- BEQ NKONV
- COP ZW,MTEXT2531+6
- JMP GERADR
- :NKONV
- COP ZW,MTEXT2532+6
- :GERADR
- LDA GERAET ;2.6.1. ─RUCKERGERAETEADR.
- CMP #4
- BEQ VIER
- COP ZW,MTEXT2612+6
- JMP SEK
- :VIER
- COP ZW,MTEXT2611+6
- :SEK
- LDA SEKUNDAER ;2.6.2. ╙EKUNDAERADR.
- BEQ SEKNULL
- CMP #1
- BEQ SEKEINS
- COP ZW,MTEXT2623+2
- JMP ASC
- :SEKEINS
- COP ZW,MTEXT2622+2
- JMP ASC
- :SEKNULL
- COP ZW,MTEXT2621+2
- :ASC
- LDA ASCII ;2.6.3. ┌EICHENSATZ
- BEQ KEINASC
- COP ZW,MTEXT2631+5
- JMP DRLF
- :KEINASC
- COP ZW,MTEXT2632+5
- :DRLF
- LDA DRUCKLF ;2.6.4. ╠INEFEED
- BEQ KEINLF
- COP ZW,MTEXT2641+5
- JMP FERTIG
- :KEINLF
- COP ZW,MTEXT2642+5
- :FERTIG
- RTS
- ;
- ; *********************
- ; *** ═ENUEROUTINEN ***
- ;
- ; *** ╠┼┼╥ROUTINEN FUER ╠┼┼╥E ═ENUEPUNKTE ***
- :LEER1
- REDOMENU
- :LEER2
- MENU1
- ; *** 1.1. GEO╘ERM ╔NFO ***
- ;
- :RT11
- RECVMENU 1
- DIALBOX INFOBOX
- MENU1
- ;
- ; *** 1.2. ─ESKTOP LADEN ***
- ;
- :RT12
- INITIO
- JSR CLRCH
- CLOSE 2 ;╥╙-232-╞ILE SCHLIESSEN
- DONEIO
- LDA FLAG6
- BEQ NDIRERR
- TURBOPUR
- INITIO
- FOPEN 15,8,15,1,INITSTR ;─╔╥-┼RROR VERMEIDEN
- CLOSE 15
- DONEIO
- TURBON
- :NDIRERR
- PROFF
- LOADW OLDNMI,$FFFA
- TRANSW RESETMAIN,R0
- JSR INITRAMR
- DESKTOP
- ;
- ; *** 1.3.-1.A. ┴CCESSORY AUFRUFEN ***
- ;
- :RT13
- LOADW PRG1,ZP1
- JMP LADEN
- ;
- :RT14
- LOADW PRG2,ZP1
- JMP LADEN
- ;
- :RT15
- LOADW PRG3,ZP1
- JMP LADEN
- ;
- :RT16
- LOADW PRG4,ZP1
- JMP LADEN
- ;
- :RT17
- LOADW PRG5,ZP1
- JMP LADEN
- ;
- :RT18
- LOADW PRG6,ZP1
- JMP LADEN
- ;
- :RT19
- LOADW PRG7,ZP1
- JMP LADEN
- ;
- :RT1A
- LOADW PRG8,ZP1
- ;
- :LADEN
- JSR IOINIT
- PROFF
- LOADW 0,VEKTAST
- LOADW INIT,$849B
- TRANSW ZP1,R6
- POKE 2,0
- POKE $16,0
- POKE FLAG1,SET
- GETFILE
- ; ** **
- ; * 2.1. ╨ARAMETER LADEN *
- ; ** **
- :RT21
- CLEARAM $A000+640,7360 ;╘EIL DES ╙CREENS LOESCHEN
- CLEARAM $6000+640,7360
- JSR IOINIT
- POKE ZW,32 ;ALTE ╙TERNCHEN LOESCHEN
- JSR STERNCHEN
- POKE FLAG3,SET
- JSR PARLESEN ;UND NEUE LADEN+SETZEN
- POKE FLAG3,CLEAR
- JSR RSINIT
- MENU1
- ; **************************
- ; * 2.2.1.1. ┬AUDRATE 50 *
- ;
- :RT2211
- POKE ZW,%00000001
- LOADW MTEXT2211,ZP1
- JMP BAUDRATE
- ;
- ; * 2.2.1.2. ┬AUDRATE 75 *
- ;
- :RT2212
- POKE ZW,%00000011
- LOADW MTEXT2212,ZP1
- JMP BAUDRATE
- ;
- ; * 2.2.1.3. ┬AUDRATE 150 *
- ;
- :RT2213
- POKE ZW,%00000110
- LOADW MTEXT2213,ZP1
- JMP BAUDRATE
- ;
- ; * 2.2.1.4. ┬AUDRATE 300 *
- ;
- :RT2214
- POKE ZW,%00000111
- LOADW MTEXT2214,ZP1
- JMP BAUDRATE
- ;
- ; * 2.2.1.5. ┬AUDRATE 600 *
- ;
- :RT2215
- POKE ZW,%00001000
- LOADW MTEXT2215,ZP1
- JMP BAUDRATE
- ;
- ; * 2.2.1.6. ┬AUDRATE 1200 *
- ;
- :RT2216
- POKE ZW,%00001001
- LOADW MTEXT2216,ZP1
- ;
- ; * ┬AUDRATE AENDERN *
- ; **************************
- :BAUDRATE
- LDA STEUERREG
- AND #%11110000 ;UNTERE VIER ┬YTES LOESCHEN
- ORA ZW ;UND ┬AUDRATE EINSTELLEN
- STA STEUERREG
- STA FADR
- LOADW TEXTE,ZP3
- TRANSW BAUD,ZP2
- DADD ZP2,ZP3,ZP2
- LDY #7
- LDA #32
- STA (ZP2),Y ;ALTEN ╙TERN LOESCHEN
- LDA #42 ;NEUEN ╙TERN SETZEN
- STA (ZP1),Y
- TRANSW ZP1,BAUD
- DSUB BAUD,ZP3,BAUD
- SETMOUSE 103,22
- PREMENU
- ; *********************************
- ; * 2.2.2.1. 5 ─ATENBITS MAKIEREN *
- ;
- :RT2221
- POKE ZW,%01100000
- LOADW MTEXT2221,ZP1
- JMP DATENBITS
- ;
- ; * 2.2.2.2. 6 ─ATENBITS MAKIEREN *
- ;
- :RT2222
- POKE ZW,%01000000
- LOADW MTEXT2222,ZP1
- JMP DATENBITS
- ;
- ; * 2.2.2.3. 7 ─ATENBITS MAKIEREN *
- ;
- :RT2223
- POKE ZW,%00100000
- LOADW MTEXT2223,ZP1
- JMP DATENBITS
- ;
- ; * 2.2.2.4. 8 ─ATENBITS MAKIEREN *
- ;
- :RT2224
- POKE ZW,%00000000
- LOADW MTEXT2224,ZP1
- ;
- ; * ─ATENBITS AENDERN *
- ; *********************************
- :DATENBITS
- LDA STEUERREG
- AND #%10011111 ;UNTERE VIER ┬YTES LOESCHEN
- ORA ZW ;UND ┬AUDRATE EINSTELLEN
- STA STEUERREG
- STA FADR
- LOADW TEXTE,ZP3
- TRANSW DATENB,ZP2
- DADD ZP2,ZP3,ZP2
- LDA #32
- LDY #2
- STA (ZP2),Y ;ALTEN ╙TERN LOESCHEN
- LDA #42 ;NEUEN ╙TERN SETZEN
- STA (ZP1),Y
- TRANSW ZP1,DATENB
- DSUB DATENB,ZP3,DATENB
- SETMOUSE 103,22
- PREMENU
- ; ********************************
- ; * 2.2.3.1. KEINE ╨ARITAET *
- ;
- :RT2231
- POKE ZW,%00000000
- LOADW MTEXT2231,ZP1
- JMP PARITAET
- ;
- ; * 2.2.3.2. UNGERADE ╨ARITAET *
- :RT2232
- POKE ZW,%00100000
- LOADW MTEXT2232,ZP1
- JMP PARITAET
- ;
- ; * 2.2.3.3. GERADE ╨ARITAET *
- ;
- :RT2233
- POKE ZW,%01100000
- LOADW MTEXT2233,ZP1
- JMP PARITAET
- ;
- ; * 2.2.3.4. GESETZTE ╨ARITAET *
- ;
- :RT2234
- POKE ZW,%10100000
- LOADW MTEXT2234,ZP1
- JMP PARITAET
- ;
- ; * 2.2.3.5. GELOESCHTE ╨ARITAET *
- ;
- :RT2235
- POKE ZW,%11100000
- LOADW MTEXT2235,ZP1
- ;
- ; * ╨ARITAET AENDERN *
- ; ********************************
- :PARITAET
- LDA BEFEHLSREG
- AND #%00011111
- ORA ZW ;UND ┬AUDRATE EINSTELLEN
- STA BEFEHLSREG
- STA FADR+1
- LOADW TEXTE,ZP3
- TRANSW PARIT,ZP2
- DADD ZP2,ZP3,ZP2
- LDA #32
- LDY #18
- STA (ZP2),Y ;ALTEN ╙TERN LOESCHEN
- LDA #42 ;NEUEN ╙TERN SETZEN
- STA (ZP1),Y
- TRANSW ZP1,PARIT
- DSUB PARIT,ZP3,PARIT
- SETMOUSE 103,22
- PREMENU
- ; ***********************
- ; * 2.2.4.1. 1 ╙TOPBIT *
- ;
- :RT2241
- POKE ZW,%00000000
- LOADW MTEXT2241,ZP1
- JMP STOPBITS
- ;
- ;
- ; * 2.2.4.2. 2 ╙TOPBITS *
- ;
- :RT2242
- POKE ZW,%10000000
- LOADW MTEXT2242,ZP1
- ;
- ; * ╙TOPBITS AENDERN *
- ; ***********************
- :STOPBITS
- LDA STEUERREG
- AND #%01111111
- ORA ZW ;UND ┬AUDRATE EINSTELLEN
- STA STEUERREG
- STA FADR
- LOADW TEXTE,ZP3
- TRANSW STOPB,ZP2
- DADD ZP2,ZP3,ZP2
- LDA #32
- LDY #5
- STA (ZP2),Y ;ALTEN ╙TERN LOESCHEN
- LDA #42 ;NEUEN ╙TERN SETZEN
- STA (ZP1),Y
- TRANSW ZP1,STOPB
- DSUB STOPB,ZP3,STOPB
- SETMOUSE 103,22
- PREMENU
- ; ************************
- ; * 2.2.5.1. ╓OLL-─UPLEX *
- ;
- :RT2251
- POKE ZW,%00000000
- LOADW MTEXT2251,ZP1
- JMP DUPLEX
- ;
- ; * 2.2.5.2. ╚ALB-─UPLEX *
- ;
- :RT2252
- POKE ZW,%00010000
- LOADW MTEXT2252,ZP1
- ;
- ; * ─UPLEX AENDERN *
- ; ************************
- :DUPLEX
- LDA BEFEHLSREG
- AND #%11101111
- ORA ZW ;UND ┬AUDRATE EINSTELLEN
- STA BEFEHLSREG
- STA FADR+1
- LOADW TEXTE,ZP3
- TRANSW DUPL,ZP2
- DADD ZP2,ZP3,ZP2
- LDA #32
- LDY #5
- STA (ZP2),Y ;ALTEN ╙TERN LOESCHEN
- LDA #42 ;NEUEN ╙TERN SETZEN
- STA (ZP1),Y
- TRANSW ZP1,DUPL
- DSUB DUPL,ZP3,DUPL
- SETMOUSE 103,22
- PREMENU
- ; ******************
- ; * 2.3.1 ┼CHO AN *
- ;
- :RT231
- POKE MTEXT232+4,32
- POKE MTEXT231+4,42
- POKE ECHO,SET
- SETMOUSE 49,22
- PREMENU
- ;
- ; * 2.3.2 ┼CHO AUS *
- ; ******************
- :RT232
- POKE MTEXT231+4,32
- POKE MTEXT232+4,42
- POKE ECHO,CLEAR
- SETMOUSE 49,22
- PREMENU
- ; ****************************
- ; * 2.5.1.1. SCHNELLES ╘EMPO *
- ;
- :RT2511
- POKE MTEXT2512+8,32
- POKE MTEXT2511+8,42
- POKE SPEED,SET
- SETMOUSE 118,22
- PREMENU
- ;
- ; * 2.5.1.2. LANGSAMES ╘EMPO *
- ; ****************************
- :RT2512
- POKE MTEXT2511+8,32
- POKE MTEXT2512+8,42
- POKE SPEED,CLEAR
- SETMOUSE 118,22
- PREMENU
- ; ******************************
- ; * 2.5.2.1. ├╥ UNTERDR. *
- ;
- :RT2521
- POKE MTEXT2522+6,32
- POKE MTEXT2521+6,42
- POKE CRUNTER,SET
- SETMOUSE 118,22
- PREMENU
- ;
- ; * 2.5.2.2. ├╥ NICHT UNTERDR. *
- ; ******************************
- :RT2522
- POKE MTEXT2521+6,32
- POKE MTEXT2522+6,42
- POKE CRUNTER,CLEAR
- SETMOUSE 118,22
- PREMENU
- ; ************************************
- ; * 2.5.3.1. ╘EXT KONVERTIEREN *
- ;
- :RT2531
- POKE MTEXT2532+6,32
- POKE MTEXT2531+6,42
- POKE KONVERT,SET
- SETMOUSE 118,22
- PREMENU
- ;
- ; * 2.5.3.2. ╘EXT NICHT KONVERTIEREN *
- ; ************************************
- :RT2532
- POKE MTEXT2531+6,32
- POKE MTEXT2532+6,42
- POKE KONVERT,CLEAR
- SETMOUSE 118,22
- PREMENU
- ; ******************************
- ; * 2.6.1.1. ╟ERAETEADR. VIER *
- ;
- :RT2611
- POKE MTEXT2612+6,32
- POKE MTEXT2611+6,42
- POKE GERAET,4
- SETMOUSE 111,22
- PREMENU
- ;
- ; * 2.6.1.2. ╟ERAETEADR. FUENF *
- ; ******************************
- :RT2612
- POKE MTEXT2611+6,32
- POKE MTEXT2612+6,42
- POKE GERAET,5
- SETMOUSE 111,22
- PREMENU
- ; *******************************
- ; * 2.6.2.1. ╙EKUNDAERADR. NULL *
- ;
- :RT2621
- POKE MTEXT2623+2,32
- POKE MTEXT2622+2,32
- POKE MTEXT2621+2,42
- POKE SEKUNDAER,0
- SETMOUSE 111,22
- PREMENU
- ;
- ; * 2.6.2.2. ╙EKADR. EINS *
- ;
- :RT2622
- POKE MTEXT2623+2,32
- POKE MTEXT2622+2,42
- POKE MTEXT2621+2,32
- POKE SEKUNDAER,1
- SETMOUSE 111,22
- PREMENU
- ;
- ; * 2.6.2.3. ╙EKADR. SIEBEN *
- ; *******************************
- :RT2623
- POKE MTEXT2623+2,42
- POKE MTEXT2622+2,32
- POKE MTEXT2621+2,32
- POKE SEKUNDAER,7
- SETMOUSE 111,22
- PREMENU
- ; ***********************
- ; * 2.6.3.1. ┴SCII JA *
- ;
- :RT2631
- POKE MTEXT2632+5,32
- POKE MTEXT2631+5,42
- POKE ASCII,SET
- SETMOUSE 111,22
- PREMENU
- ;
- ; * 2.6.3.2. ┴SCII NEIN *
- ; ***********************
- :RT2632
- POKE MTEXT2631+5,32
- POKE MTEXT2632+5,42
- POKE ASCII,CLEAR
- SETMOUSE 111,22
- PREMENU
- ; *********************************
- ; * 2.6.4.1. ╠INEFEED AUF ─R. JA *
- ;
- :RT2641
- POKE MTEXT2642+5,32
- POKE MTEXT2641+5,42
- POKE DRUCKLF,SET
- SETMOUSE 111,22
- PREMENU
- ;
- ; * 2.6.4.2. ╠INEFEED AUF ─R. NEIN *
- ; **********************************
- :RT2642
- POKE MTEXT2641+5,32
- POKE MTEXT2642+5,42
- POKE DRUCKLF,CLEAR
- SETMOUSE 111,22
- PREMENU
- ;
- ; *** 2.7. ╨ARAMETER SPEICHERN ***
-
- ;
- :RT27
- JSR IOINIT
- OPENDISK
- OPENREC GEOTERM
- ERROR OK3,RT27
- :OK3
- POINTREC 1
- DELREC
- INSREC
- WRITEREC BAUD,DRUCKLF-BAUD+1
- CLOSEREC
- JSR RSINIT
- MENU1
- ;
- ; *** 3.1. ┬╙╫ EINSCHALTEN ***
- ;
- :RT31
- CLEARAM $A000+640,7360 ;╘EIL DES ╙CREENS LOESCHEN
- CLEARAM $6000+640,7360
- JSR FONTBSW
- MENU1
- :FONTBSW
- SYSFONT
- LOADW 0,R11
- LOADW 0,TEXTX
- POKE 5,22 ;╘EXTPOS. SETZEN
- STA TEXTY
- POKE CRDIFF,6
- POKE CRHOEHE,9
- JSR PROMPTR
- POKE TOP,22
- POKE BSW,SET
- RTS
- ;
- ; *** 3.2. ╒NIVERSITY EINSCHALTEN ***
- ;
- :RT32
- CLEARAM $A000+640,7360 ;╘EIL DES ╙CREENS LOESCHEN
- CLEARAM $6000+640,7360
- JSR FONTUNI
- MENU1
- :FONTUNI
- LOADSET UNIV
- LOADW 0,R11
- LOADW 0,TEXTX
- POKE 5,20 ;╘EXTPOS. SETZEN
- STA TEXTY
- POKE CRDIFF,4
- POKE CRHOEHE,6
- JSR PROMPTR
- POKE TOP,20
- POKE BSW,CLEAR
- MENU1
- ;
- ; *** 6.1.1.1. ╘EXTSCRAP UEBER ┴╙├╔╔ SENDEN ***
- ;
- :RT6111
- POKE FLAG4,SET ;┌EICHEN FUER ╙CRAP
- JMP SEQSENDEN
- ;
- ; *** 6.1.1.2. ╙EQ.-╞ILE UEBER ┴╙├╔╔ SENDEN ***
- ;
- :RT6112
- POKE FLAG4,CLEAR ;┌EICHEN FUER ╙EQ
- :SEQSENDEN
- MOVERAM DISKID,DISKNAM,18
- MOVERAM DISKNAM,URNAME,16
- MOVERAM $C1E4,VEKGETBLK,3
- :WIEDER
- DIALBOX QUELLDISK
- LDA R0
- CMP #CANCEL
- BNE NHAUPTM
- JMP RT6112ENDE
- :NHAUPTM
- JSR IOINIT
- OPENDISK
- ERROR OK4,WIEDER
- :OK4
- LDA FLAG4
- BNE SCRAP
- INITGETFILES 0,FILEPUFFER,0
- DIALBOX CHOOSEFILE ;╙EQ-╞ILE WAEHLEN
- LDA R0
- CMP #CANCEL
- BNE NZURUECK
- JMP WIEDER
- :NZURUECK
- FINDFILE FILEPUFFER
- JMP EINLESEN
- :SCRAP
- FINDFILE TEXTSCRAP
- CPX #5 ;PRUEFEN,OB ╘EXTSCRAP DA
- BNE EINLESEN
- JMP RT6112ENDE
- :EINLESEN
- RECVBOX 100,16,319,50 ;═ENUES LOESCHEN
- COP DIREIN+1,4 ;┴NFANGSBLOCK
- COP DIREIN+2,5 ;DES ╞ILES
- GETBLK BLKPF ;EINLESEN
- POKE $C,$FF
- LDA BLKPF ;PRUEFEN,OB LETZTER ┬LOCK
- BNE NZUENDE
- COP BLKPF+1,$C ;╠AENGE FESTLEGEN
- :NZUENDE
- INC $C
- POKE $D,2 ;AB 1. ┬YTE
- LDA FLAG4
- BEQ NUEBERL
- POKE $D,8 ;╙TEUERCODES UEBERLESEN
- :NUEBERL
- MOVERAM R4,READPAR,4
- COP BLKPF,4
- STA SPUR ;╞OLGEBLOCK FESTLEGEN
- COP BLKPF+1,5
- STA SEKTOR
- LOADW NEWGETBLK,$C1E5 ;NEUE ╥OUTINE
- POKE $C1E4,$4C ;FUER ┬LOCK EINLESEN
- JSR RSINIT
- :READLOOP
- MOVERAM READPAR,R4,4 ;╫ERTE AUS
- COP SPUR,4 ;┌WISCHENSPEICHER
- COP SEKTOR,5 ;ZURECKHOLEN
- READBYTE
- PHA
- TXA
- PHA
- COP 4,SPUR ;UND WIEDER REIN
- COP 5,SEKTOR
- MOVERAM R4,READPAR,4
- PLA
- TAX
- PLA
- CPX #$B ;╞ILE ZUENDE ?
- BNE NENDE
- JMP RT6112ENDE
- :NENDE
- TAY
- ERROR OK5,RT6112ENDE
- :OK5
- TYA
- CMP #CR ;├╥ ?
- BNE NCARET
- ;
- ; ** ├╥ BEHANDELN **
- LDA CRUNTER
- BEQ NUNTERDR ;UNTERDRUECKEN ?
- POKE TASTCD,32
- JSR TASTE ;╠EERZEICHEN SENDEN
- JMP VERZOEG
- ;
- :NUNTERDR
- POKE TASTCD,CR
- JSR TASTE ;├╥ SENDEN
- JMP VERZOEG
- ;
- :NCARET
- CMP #32
- BCC READLOOP
- LDX FLAG4
- BNE NSEQ
- LDX KONVERT
- BEQ ZKLEINER
- CMP #65 ;BEI ╙┼╤-╞ILE
- BCC NSEQ ;KONVERTIEREN
- CMP #91
- BCS GROSS
- EOR #$20 ;(65-91 ZU 97-122)
- JMP NSEQ
- :GROSS
- CMP #97
- BCC NSEQ
- CMP #122
- BCS GROSS2
- EOR #$20 ;(97-122 ZU 65-91)
- JMP NSEQ
- :GROSS2
- CMP #193
- JMP ZGROESSER
- JMP READLOOP
- :ZGROESSER
- CMP #219
- BCC ZKLEINER
- JMP READLOOP
- :ZKLEINER
- AND #%01111111 ;(193-219 ZU 65-91)
- :NSEQ
- TAX
- BPL NZUGROSS ;ZU GROSSER ├ODE
- JMP READLOOP
- :NZUGROSS
- STA TASTCD
- JSR TASTE ;┌EICHEN SENDEN
- :VERZOEG
- NEXTCHAR
- TAX ;BEI ╘ASTENDRUCK
- BEQ NSTOP ;╙CHLUSS MACHEN
- JMP RT6112ENDE
- :NSTOP
- JSR ROMEIN ;AUF (╥╙232) ┼INGABEN PRUEFEN
- JSR GETIN
- PHA ;┌EICHEN ZWISCHENSPEICHERN
- JSR ROMAUS
- PLA ;ZURUECKHOLEN
- TAX
- BEQ KEINZEICH ;┌EICHEN ANGEKOMMEN ?
- JSR PRINT ;WENN JA,DANN AUSGEBEN
- :KEINZEICH
- LDA SPEED
- BNE NVERZ
- SEI
- LOADW VERIRQ,ZUIRQ
- POKE ZAEHLER,0
- CLI
- :NOCHNICHT
- LDA ZAEHLER ; 6
- CMP #6 ;╖╖╖╖ SEK WARTEN
- BCC NOCHNICHT ; 50
- SEI
- LOADW 0,ZUIRQ
- CLI
- :NVERZ
- JMP READLOOP
- ;
- ; ** ┼NDE DER ╒EBERTRAGUNG **
- :RT6112ENDE
- JSR IOINIT
- MOVERAM VEKGETBLK,$C1E4,3
- :ALTEDISK
- OPENDISK
- LOADW DISKNAM,ZP1
- LOADW DISKID,ZP2
- CMPFSTR ZP1,ZP2,18 ;─ISKIDS VERGLEICHEN
- BEQ GLEICH
- DIALBOX URDISK
- JMP ALTEDISK
- :GLEICH
- JSR RSINIT
- JSR ROMEIN
- LDA ZEICHEN
- JSR BSOUT
- JSR ROMAUS
- MENU1
- ;
- ; ** NEUE ╥OUTINE ZU ╟┼╘┬╠╧├╦ **
- :NEWGETBLK
- COP 4,SPUR
- COP 5,SEKTOR
- MOVERAM R4,READPAR,4
- JSR IOINIT
- MOVERAM READPAR,R4,4
- COP SPUR,4
- COP SEKTOR,5
- JSR VEKGETBLK
- MOVERAM R4,READPAR,4
- TXA ;╞EHLERBYTE SICHERN
- PHA
- JSR RSINIT
- MOVERAM READPAR,R4,4
- COP SPUR,4
- COP SEKTOR,5
- PLA
- TAX
- RTS
- ;
- ; ** ╔╥╤ ZUM ╓ERZOEGERN **
- :VERIRQ
- INC ZAEHLER
- RTS
- ;
- ; *** 7.1.1. ╨UFFER LOESCHEN+OEFFNEN ***
- ;
- :RT711
- LOADW $6000,BOTTOM ;┌EIGER LOESCHEN
- HLINE 0,319,14,0 ;╠INIE LOESCHEN
- :OEFFNEN
- LDA PUFFER
- BNE SCHONOFFEN
- INVBOX 255,1,274,13 ;╔CON INVERTIEREN
- POKE PUFFER,SET
- :SCHONOFFEN
- MENU1
- ;
- ; *** 7.1.2. ╨UFFER OEFFNEN ***
- ;
- :RT712
- JMP OEFFNEN
- ;
- ; *** 7.2. ╨UFFER SCHLIESSEN ***
- ;
- :RT72
- LDA PUFFER
- BEQ SCHONZU
- INVBOX 255,1,274,13
- POKE PUFFER,CLEAR
- :SCHONZU
- MENU1
- ;
- ; *** 7.3. FREIEN ╨LATZ IM ╨UFFER ANZEIGEN ***
- ;
- :RT73
- DIALBOX SHOWFREE
- MENU1
- ;
- ; ** ┬YTEZAHL ANZEIGEN **
- :FREERECHN
- TRANSW BOTTOM,ZP1
- LOADW GRENZE,ZP2
- DSUB ZP1,ZP2,ZP1 ;╞REIER ╨LATZ NACH ZP1
- LDA #BOLDON
- PUTCHAR
- TRANSW ZP1,R0
- PUTDEC 80,63
- RTS
- ;
- ; *** 7.4. ╨UFFER ANZEIGEN ***
- ;
- :RT74
- LDA BOTTOM+1
- CMP #$60 ;╨UFFER LEER ?
- BNE NLEER
- MENU1
- :NLEER
- RECVBOX 0,16,319,199 ;═ENUES LOESCHEN
- LDA ECHO
- PHA
- POKE ECHO,CLEAR ;┼CHO SPERREN
- LDA PUFFER
- PHA
- POKE PUFFER,CLEAR ;╨UFFER SPERREN
- LOADW $6000,ZP10
- LDA #CR
- JSR PRINT
- :ANZLOOP
- NEXTCHAR
- TAX ;BEI ╘ASTE ANHALTEN
- BEQ KEINTAST
- :STOP
- TRANSW TEXTX,R11
- COP TEXTY,5
- SETCR
- NEXTCHAR
- TAX ;AUF NAECHSTE WARTEN
- BEQ STOP
- CMP #22 ;UND BEI '╙╘╧╨' ┴BBRUCH
- BNE KEINTAST
- JMP ALLES
- :KEINTAST
- LDA ZP10+1
- CMP BOTTOM+1
- BNE NALLES ;ALLES ANGEZEIGT ?
- LDA ZP10
- CMP BOTTOM
- BEQ ALLES
- :NALLES
- DDEC ZP10
- LDY #0
- LDA (ZP10),Y
- JSR PRINT
- JMP ANZLOOP
- :ALLES
- LDA #CR
- JSR PRINT
- TRANSW TEXTX,R11
- COP TEXTY,5
- SETCR
- PLA
- STA PUFFER ;╞LAGS ZURUECKSETZEN
- PLA
- STA ECHO
- MENU1
- ;
- ; *** 7.5. ╨UFFER DRUCKEN ***
- ;
- :RT75
- POKE FLAG5,CLEAR
- LDA BOTTOM+1
- CMP #$60 ;╨UFFER LEER ?
- BNE DRNLEER
- MENU1
- :DRNLEER
- JSR IOINIT ;╔/╧ VORBEREITEN
- TURBOFF
- INITIO
- LDA #4
- LDX GERAET ;╞ILE OEFFNEN
- LDY SEKUNDAER
- JSR SETLFSR
- LDA #1
- LDX #<NAMDR
- LDY #>NAMDR
- JSR SETNAM
- JSR FOPENR
- :DRSP
- BCC KEINFEHLER
- JMP DRENDE ;BEI ╔/╧-╞EHLER ┼NDE
- :KEINFEHLER
- CHKOUT 4
- LOADW $6000,ZP10
- :DRLOOP
- LDA ZP10+1 ;SCHON
- CMP BOTTOM+1 ;ALLE
- BNE DRNALLES ;┌EICHEN ?
- LDA ZP10
- CMP BOTTOM
- BNE DRNALLES
- JMP DRALLES
- :DRNALLES
- LDA VERSION
- BEQ N12
- DONEIO
- :N12
- DDEC ZP10
- LDA VERSION
- BEQ NOCHMN12
- INITIO
- :NOCHMN12
- LDY #0
- LDA (ZP10),Y
- LDX FLAG5
- BNE DRNCR
- CMP #13
- BNE DRNCR ;EVTL. ╠╞
- LDA DRUCKLF ;VOR ├╥
- BEQ DRNLF ;DRUCKEN
- LDA #LF
- JSR BSOUT
- :DRNLF
- LDA #CR
- JSR BSOUT
- JMP DRLOOP
- :DRNCR
- PHA
- LDA ASCII
- BNE NWANDL
- PLA
- JSR ZURWANDELN
- PHA
- :NWANDL
- PLA
- JSR BSOUT
- LDA FLAG5
- BEQ NDISK
- BCC DRLOOP
- JMP DRENDE
- :NDISK
- DONEIO
- NEXTCHAR
- TAX
- BEQ DRNTAST
- INITIO
- JMP DRALLES
- :DRNTAST
- INITIO
- JMP DRLOOP
- ;
- :DRALLES
- LDA FLAG5
- BNE DRENDE
- LDA #13
- JSR BSOUT
- ; * ┼NDE DES "─RUCKS" *
- :DRENDE
- CLOSE 4
- JSR CLRCH
- DONEIO
- TURBON
- LDA FLAG5
- BEQ NALT
- JMP ALTEDISK
- :NALT
- JSR RSINIT
- MENU1
- ;
- ; *** 7.6. ╨UFFER SPEICHERN ***
- ;
- :RT76
- POKE FLAG5,SET
- LDA BOTTOM+1
- CMP #$60 ;╨UFFER LEER ?
- BNE DKNLEER
- MENU1
- :DKNLEER
- JSR IOINIT
- MOVERAM DISKID,DISKNAM,18 ;╬AME DER
- MOVERAM DISKNAM,URNAME,16 ;ALTEN ─ISK
- DIALBOX ZIELDISK
- LDA R0
- CMP #CANCEL
- BNE NZUR
- JMP ALTEDISK
- :NZUR
- OPENDISK
- ERROR OK6,ALTEDISK
- :OK6
- LOADW $7F40,R5 ;┴BLAGE FUER ╞ILENAM
- POKE $7F40,0
- DIALBOX FILENAME
- LDA R0
- CMP #CANCEL
- BNE NZUR2
- JMP ALTEDISK
- :NZUR2
- LDY #0
- :STRKOPIE
- LDA $7F40,Y
- BEQ STRFRT ;╬AME VERSCHIEBEN
- JSR ZURWANDELN ;UND ┌EICHENCODE WANDELN
- STA $7F40,Y
- INY
- JMP STRKOPIE
- :STRFRT
- TYA
- PHA
- DELETE $7F40
- PLA
- TAY
- LDA #44
- STA $7F40,Y ;",S,W"
- STA $7F40+2,Y
- LDA #83
- STA $7F40+1,Y
- LDA #87
- STA $7F40+3,Y
- TYA
- CLC
- ADC #4
- STA NAMLAENG
- POKE FLAG6,SET ;╞LAG FUER ─╔╥-┼RROR
- TURBOPUR
- INITIO
- FOPEN 15,8,15,1,INITSTR
- CLOSE 15
- SETLFS 4,8,2 ;╞ILE AUF ─ISK OEFFNEN
- LDA NAMLAENG
- LDX #<$7F40
- LDY #>$7F40
- JSR SETNAM
- JSR FOPENR
- JMP DRSP
- ;
- ; *** 8. ╘ELEFONNR. ***
- ;
- :RT8
- REDOMENU
-