home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / sh2x / sh28b.d64 / gt.routinen < prev    next >
Text File  |  1995-03-30  |  17KB  |  1,129 lines

  1. ; ***********************
  2. ; *** ANDERE ╥OUTINEN ***
  3. ;
  4. ; *** ╙TERNCHEN SETZEN/LOESCHEN ***
  5. ;
  6. :STERNCHEN
  7. LOADW TEXTE,ZP2
  8. TRANSW BAUD,ZP1    ;2.2.1. ┬AUDRATE
  9. DADD ZP1,ZP2,ZP1
  10. LDA ZW
  11. LDY #7
  12. STA (ZP1),Y
  13. TRANSW DATENB,ZP1  ;2.2.2. ─ATENBITS
  14. DADD ZP1,ZP2,ZP1
  15. LDA ZW
  16. LDY #2
  17. STA (ZP1),Y
  18. TRANSW PARIT,ZP1   ;2.2.3. ╨ARITAET
  19. DADD ZP1,ZP2,ZP1
  20. LDA ZW
  21. LDY #18
  22. STA (ZP1),Y
  23. TRANSW STOPB,ZP1   ;2.2.4. ╙TOPBITS
  24. DADD ZP1,ZP2,ZP1
  25. LDA ZW
  26. LDY #5
  27. STA (ZP1),Y
  28. TRANSW DUPL,ZP1    ;2.2.5. ─UPLEX
  29. DADD ZP1,ZP2,ZP1
  30. LDA ZW
  31. LDY #5
  32. STA (ZP1),Y
  33. LDA ECHO           ;2.3. ┼CHO
  34. BEQ ECHOAUS
  35. COP ZW,MTEXT231+4
  36. JMP GESCHW
  37. :ECHOAUS
  38. COP ZW,MTEXT232+4
  39. :GESCHW
  40. LDA SPEED          ;2.5.1. ╙ENDETEMPO
  41. BEQ LOWSPD
  42. COP ZW,MTEXT2511+8
  43. JMP CRUNTERDR
  44. :LOWSPD
  45. COP ZW,MTEXT2512+8
  46. :CRUNTERDR
  47. LDA CRUNTER        ;2.5.2. ├╥ UNTERDRUECKEN
  48. BEQ NEIN
  49. COP ZW,MTEXT2521+6
  50. JMP KONVERTIE
  51. :NEIN
  52. COP ZW,MTEXT2522+6
  53. :KONVERTIE
  54. LDA KONVERT        ;2.5.3. KONVERTIEREN
  55. BEQ NKONV
  56. COP ZW,MTEXT2531+6
  57. JMP GERADR
  58. :NKONV
  59. COP ZW,MTEXT2532+6
  60. :GERADR
  61. LDA GERAET         ;2.6.1. ─RUCKERGERAETEADR.
  62. CMP #4
  63. BEQ VIER
  64. COP ZW,MTEXT2612+6
  65. JMP SEK
  66. :VIER
  67. COP ZW,MTEXT2611+6
  68. :SEK
  69. LDA SEKUNDAER      ;2.6.2. ╙EKUNDAERADR.
  70. BEQ SEKNULL
  71. CMP #1
  72. BEQ SEKEINS
  73. COP ZW,MTEXT2623+2
  74. JMP ASC
  75. :SEKEINS
  76. COP ZW,MTEXT2622+2
  77. JMP ASC
  78. :SEKNULL
  79. COP ZW,MTEXT2621+2
  80. :ASC
  81. LDA ASCII          ;2.6.3. ┌EICHENSATZ
  82. BEQ KEINASC
  83. COP ZW,MTEXT2631+5
  84. JMP DRLF
  85. :KEINASC
  86. COP ZW,MTEXT2632+5
  87. :DRLF
  88. LDA DRUCKLF        ;2.6.4. ╠INEFEED
  89. BEQ KEINLF
  90. COP ZW,MTEXT2641+5
  91. JMP FERTIG
  92. :KEINLF
  93. COP ZW,MTEXT2642+5
  94. :FERTIG
  95. RTS
  96. ;
  97. ; *********************
  98. ; *** ═ENUEROUTINEN ***
  99. ;
  100. ; *** ╠┼┼╥ROUTINEN FUER ╠┼┼╥E ═ENUEPUNKTE ***
  101. :LEER1
  102. REDOMENU
  103. :LEER2
  104. MENU1
  105. ; *** 1.1. GEO╘ERM ╔NFO ***
  106. ;
  107. :RT11
  108. RECVMENU 1
  109. DIALBOX INFOBOX
  110. MENU1
  111. ;
  112. ; *** 1.2. ─ESKTOP LADEN ***
  113. ;
  114. :RT12
  115. INITIO
  116. JSR CLRCH
  117. CLOSE 2        ;╥╙-232-╞ILE SCHLIESSEN
  118. DONEIO
  119. LDA FLAG6
  120. BEQ NDIRERR
  121. TURBOPUR
  122. INITIO
  123. FOPEN 15,8,15,1,INITSTR  ;─╔╥-┼RROR VERMEIDEN
  124. CLOSE 15
  125. DONEIO
  126. TURBON
  127. :NDIRERR
  128. PROFF
  129. LOADW OLDNMI,$FFFA
  130. TRANSW RESETMAIN,R0
  131. JSR INITRAMR
  132. DESKTOP
  133. ;
  134. ; *** 1.3.-1.A. ┴CCESSORY AUFRUFEN ***
  135. ;
  136. :RT13
  137. LOADW PRG1,ZP1
  138. JMP LADEN
  139. ;
  140. :RT14
  141. LOADW PRG2,ZP1
  142. JMP LADEN
  143. ;
  144. :RT15
  145. LOADW PRG3,ZP1
  146. JMP LADEN
  147. ;
  148. :RT16
  149. LOADW PRG4,ZP1
  150. JMP LADEN
  151. ;
  152. :RT17
  153. LOADW PRG5,ZP1
  154. JMP LADEN
  155. ;
  156. :RT18
  157. LOADW PRG6,ZP1
  158. JMP LADEN
  159. ;
  160. :RT19
  161. LOADW PRG7,ZP1
  162. JMP LADEN
  163. ;
  164. :RT1A
  165. LOADW PRG8,ZP1
  166. ;
  167. :LADEN
  168. JSR IOINIT
  169. PROFF
  170. LOADW 0,VEKTAST
  171. LOADW INIT,$849B
  172. TRANSW ZP1,R6
  173. POKE 2,0
  174. POKE $16,0
  175. POKE FLAG1,SET
  176. GETFILE
  177. ;  **                  **
  178. ; * 2.1. ╨ARAMETER LADEN *
  179. ;  **                  **
  180. :RT21
  181. CLEARAM $A000+640,7360 ;╘EIL DES ╙CREENS LOESCHEN
  182. CLEARAM $6000+640,7360
  183. JSR IOINIT
  184. POKE ZW,32       ;ALTE ╙TERNCHEN LOESCHEN
  185. JSR STERNCHEN
  186. POKE FLAG3,SET
  187. JSR PARLESEN     ;UND NEUE LADEN+SETZEN
  188. POKE FLAG3,CLEAR
  189. JSR RSINIT
  190. MENU1
  191. ; **************************
  192. ; * 2.2.1.1. ┬AUDRATE 50   *
  193. ;
  194. :RT2211
  195. POKE ZW,%00000001
  196. LOADW MTEXT2211,ZP1
  197. JMP BAUDRATE
  198. ;
  199. ; * 2.2.1.2. ┬AUDRATE 75   *
  200. ;
  201. :RT2212
  202. POKE ZW,%00000011
  203. LOADW MTEXT2212,ZP1
  204. JMP BAUDRATE
  205. ;
  206. ; * 2.2.1.3. ┬AUDRATE 150  *
  207. ;
  208. :RT2213
  209. POKE ZW,%00000110
  210. LOADW MTEXT2213,ZP1
  211. JMP BAUDRATE
  212. ;
  213. ; * 2.2.1.4. ┬AUDRATE 300  *
  214. ;
  215. :RT2214
  216. POKE ZW,%00000111
  217. LOADW MTEXT2214,ZP1
  218. JMP BAUDRATE
  219. ;
  220. ; * 2.2.1.5. ┬AUDRATE 600  *
  221. ;
  222. :RT2215
  223. POKE ZW,%00001000
  224. LOADW MTEXT2215,ZP1
  225. JMP BAUDRATE
  226. ;
  227. ; * 2.2.1.6. ┬AUDRATE 1200 *
  228. ;
  229. :RT2216
  230. POKE ZW,%00001001
  231. LOADW MTEXT2216,ZP1
  232. ;
  233. ; * ┬AUDRATE AENDERN       *
  234. ; **************************
  235. :BAUDRATE
  236. LDA STEUERREG
  237. AND #%11110000 ;UNTERE VIER ┬YTES LOESCHEN
  238. ORA ZW         ;UND ┬AUDRATE EINSTELLEN
  239. STA STEUERREG
  240. STA FADR
  241. LOADW TEXTE,ZP3
  242. TRANSW BAUD,ZP2
  243. DADD ZP2,ZP3,ZP2
  244. LDY #7
  245. LDA #32
  246. STA (ZP2),Y    ;ALTEN ╙TERN LOESCHEN
  247. LDA #42        ;NEUEN ╙TERN SETZEN
  248. STA (ZP1),Y
  249. TRANSW ZP1,BAUD
  250. DSUB BAUD,ZP3,BAUD
  251. SETMOUSE 103,22
  252. PREMENU
  253. ; *********************************
  254. ; * 2.2.2.1. 5 ─ATENBITS MAKIEREN *
  255. ;
  256. :RT2221
  257. POKE ZW,%01100000
  258. LOADW MTEXT2221,ZP1
  259. JMP DATENBITS
  260. ;
  261. ; * 2.2.2.2. 6 ─ATENBITS MAKIEREN *
  262. ;
  263. :RT2222
  264. POKE ZW,%01000000
  265. LOADW MTEXT2222,ZP1
  266. JMP DATENBITS
  267. ;
  268. ; * 2.2.2.3. 7 ─ATENBITS MAKIEREN *
  269. ;
  270. :RT2223
  271. POKE ZW,%00100000
  272. LOADW MTEXT2223,ZP1
  273. JMP DATENBITS
  274. ;
  275. ; * 2.2.2.4. 8 ─ATENBITS MAKIEREN *
  276. ;
  277. :RT2224
  278. POKE ZW,%00000000
  279. LOADW MTEXT2224,ZP1
  280. ;
  281. ; * ─ATENBITS AENDERN             *
  282. ; *********************************
  283. :DATENBITS
  284. LDA STEUERREG
  285. AND #%10011111 ;UNTERE VIER ┬YTES LOESCHEN
  286. ORA ZW         ;UND ┬AUDRATE EINSTELLEN
  287. STA STEUERREG
  288. STA FADR
  289. LOADW TEXTE,ZP3
  290. TRANSW DATENB,ZP2
  291. DADD ZP2,ZP3,ZP2
  292. LDA #32
  293. LDY #2
  294. STA (ZP2),Y    ;ALTEN ╙TERN LOESCHEN
  295. LDA #42        ;NEUEN ╙TERN SETZEN
  296. STA (ZP1),Y
  297. TRANSW ZP1,DATENB
  298. DSUB DATENB,ZP3,DATENB
  299. SETMOUSE 103,22
  300. PREMENU
  301. ; ********************************
  302. ; * 2.2.3.1. KEINE ╨ARITAET      *
  303. ;
  304. :RT2231
  305. POKE ZW,%00000000
  306. LOADW MTEXT2231,ZP1
  307. JMP PARITAET
  308. ;
  309. ; * 2.2.3.2. UNGERADE ╨ARITAET   *
  310. :RT2232
  311. POKE ZW,%00100000
  312. LOADW MTEXT2232,ZP1
  313. JMP PARITAET
  314. ;
  315. ; * 2.2.3.3. GERADE ╨ARITAET     *
  316. ;
  317. :RT2233
  318. POKE ZW,%01100000
  319. LOADW MTEXT2233,ZP1
  320. JMP PARITAET
  321. ;
  322. ; * 2.2.3.4. GESETZTE ╨ARITAET   *
  323. ;
  324. :RT2234
  325. POKE ZW,%10100000
  326. LOADW MTEXT2234,ZP1
  327. JMP PARITAET
  328. ;
  329. ; * 2.2.3.5. GELOESCHTE ╨ARITAET *
  330. ;
  331. :RT2235
  332. POKE ZW,%11100000
  333. LOADW MTEXT2235,ZP1
  334. ;
  335. ; * ╨ARITAET AENDERN             *
  336. ; ********************************
  337. :PARITAET
  338. LDA BEFEHLSREG
  339. AND #%00011111
  340. ORA ZW         ;UND ┬AUDRATE EINSTELLEN
  341. STA BEFEHLSREG
  342. STA FADR+1
  343. LOADW TEXTE,ZP3
  344. TRANSW PARIT,ZP2
  345. DADD ZP2,ZP3,ZP2
  346. LDA #32
  347. LDY #18
  348. STA (ZP2),Y    ;ALTEN ╙TERN LOESCHEN
  349. LDA #42        ;NEUEN ╙TERN SETZEN
  350. STA (ZP1),Y
  351. TRANSW ZP1,PARIT
  352. DSUB PARIT,ZP3,PARIT
  353. SETMOUSE 103,22
  354. PREMENU
  355. ; ***********************
  356. ; * 2.2.4.1. 1 ╙TOPBIT  *
  357. ;
  358. :RT2241
  359. POKE ZW,%00000000
  360. LOADW MTEXT2241,ZP1
  361. JMP STOPBITS
  362. ;
  363. ;
  364. ; * 2.2.4.2. 2 ╙TOPBITS *
  365. ;
  366. :RT2242
  367. POKE ZW,%10000000
  368. LOADW MTEXT2242,ZP1
  369. ;
  370. ; * ╙TOPBITS AENDERN    *
  371. ; ***********************
  372. :STOPBITS
  373. LDA STEUERREG
  374. AND #%01111111
  375. ORA ZW         ;UND ┬AUDRATE EINSTELLEN
  376. STA STEUERREG
  377. STA FADR
  378. LOADW TEXTE,ZP3
  379. TRANSW STOPB,ZP2
  380. DADD ZP2,ZP3,ZP2
  381. LDA #32
  382. LDY #5
  383. STA (ZP2),Y    ;ALTEN ╙TERN LOESCHEN
  384. LDA #42        ;NEUEN ╙TERN SETZEN
  385. STA (ZP1),Y
  386. TRANSW ZP1,STOPB
  387. DSUB STOPB,ZP3,STOPB
  388. SETMOUSE 103,22
  389. PREMENU
  390. ; ************************
  391. ; * 2.2.5.1. ╓OLL-─UPLEX *
  392. ;
  393. :RT2251
  394. POKE ZW,%00000000
  395. LOADW MTEXT2251,ZP1
  396. JMP DUPLEX
  397. ;
  398. ; * 2.2.5.2. ╚ALB-─UPLEX *
  399. ;
  400. :RT2252
  401. POKE ZW,%00010000
  402. LOADW MTEXT2252,ZP1
  403. ;
  404. ; * ─UPLEX AENDERN       *
  405. ; ************************
  406. :DUPLEX
  407. LDA BEFEHLSREG
  408. AND #%11101111
  409. ORA ZW         ;UND ┬AUDRATE EINSTELLEN
  410. STA BEFEHLSREG
  411. STA FADR+1
  412. LOADW TEXTE,ZP3
  413. TRANSW DUPL,ZP2
  414. DADD ZP2,ZP3,ZP2
  415. LDA #32
  416. LDY #5
  417. STA (ZP2),Y    ;ALTEN ╙TERN LOESCHEN
  418. LDA #42        ;NEUEN ╙TERN SETZEN
  419. STA (ZP1),Y
  420. TRANSW ZP1,DUPL
  421. DSUB DUPL,ZP3,DUPL
  422. SETMOUSE 103,22
  423. PREMENU
  424. ; ******************
  425. ; * 2.3.1 ┼CHO AN  *
  426. ;
  427. :RT231
  428. POKE MTEXT232+4,32
  429. POKE MTEXT231+4,42
  430. POKE ECHO,SET
  431. SETMOUSE 49,22
  432. PREMENU
  433. ;
  434. ; * 2.3.2 ┼CHO AUS *
  435. ; ******************
  436. :RT232
  437. POKE MTEXT231+4,32
  438. POKE MTEXT232+4,42
  439. POKE ECHO,CLEAR
  440. SETMOUSE 49,22
  441. PREMENU
  442. ; ****************************
  443. ; * 2.5.1.1. SCHNELLES ╘EMPO *
  444. ;
  445. :RT2511
  446. POKE MTEXT2512+8,32
  447. POKE MTEXT2511+8,42
  448. POKE SPEED,SET
  449. SETMOUSE 118,22
  450. PREMENU
  451. ;
  452. ; * 2.5.1.2. LANGSAMES ╘EMPO *
  453. ; ****************************
  454. :RT2512
  455. POKE MTEXT2511+8,32
  456. POKE MTEXT2512+8,42
  457. POKE SPEED,CLEAR
  458. SETMOUSE 118,22
  459. PREMENU
  460. ; ******************************
  461. ; * 2.5.2.1. ├╥ UNTERDR.       *
  462. ;
  463. :RT2521
  464. POKE MTEXT2522+6,32
  465. POKE MTEXT2521+6,42
  466. POKE CRUNTER,SET
  467. SETMOUSE 118,22
  468. PREMENU
  469. ;
  470. ; * 2.5.2.2. ├╥ NICHT UNTERDR. *
  471. ; ******************************
  472. :RT2522
  473. POKE MTEXT2521+6,32
  474. POKE MTEXT2522+6,42
  475. POKE CRUNTER,CLEAR
  476. SETMOUSE 118,22
  477. PREMENU
  478. ; ************************************
  479. ; * 2.5.3.1. ╘EXT KONVERTIEREN       *
  480. ;
  481. :RT2531
  482. POKE MTEXT2532+6,32
  483. POKE MTEXT2531+6,42
  484. POKE KONVERT,SET
  485. SETMOUSE 118,22
  486. PREMENU
  487. ;
  488. ; * 2.5.3.2. ╘EXT NICHT KONVERTIEREN *
  489. ; ************************************
  490. :RT2532
  491. POKE MTEXT2531+6,32
  492. POKE MTEXT2532+6,42
  493. POKE KONVERT,CLEAR
  494. SETMOUSE 118,22
  495. PREMENU
  496. ; ******************************
  497. ; * 2.6.1.1. ╟ERAETEADR. VIER  *
  498. ;
  499. :RT2611
  500. POKE MTEXT2612+6,32
  501. POKE MTEXT2611+6,42
  502. POKE GERAET,4
  503. SETMOUSE 111,22
  504. PREMENU
  505. ;
  506. ; * 2.6.1.2. ╟ERAETEADR. FUENF *
  507. ; ******************************
  508. :RT2612
  509. POKE MTEXT2611+6,32
  510. POKE MTEXT2612+6,42
  511. POKE GERAET,5
  512. SETMOUSE 111,22
  513. PREMENU
  514. ; *******************************
  515. ; * 2.6.2.1. ╙EKUNDAERADR. NULL *
  516. ;
  517. :RT2621
  518. POKE MTEXT2623+2,32
  519. POKE MTEXT2622+2,32
  520. POKE MTEXT2621+2,42
  521. POKE SEKUNDAER,0
  522. SETMOUSE 111,22
  523. PREMENU
  524. ;
  525. ; * 2.6.2.2. ╙EKADR. EINS       *
  526. ;
  527. :RT2622
  528. POKE MTEXT2623+2,32
  529. POKE MTEXT2622+2,42
  530. POKE MTEXT2621+2,32
  531. POKE SEKUNDAER,1
  532. SETMOUSE 111,22
  533. PREMENU
  534. ;
  535. ; * 2.6.2.3. ╙EKADR. SIEBEN     *
  536. ; *******************************
  537. :RT2623
  538. POKE MTEXT2623+2,42
  539. POKE MTEXT2622+2,32
  540. POKE MTEXT2621+2,32
  541. POKE SEKUNDAER,7
  542. SETMOUSE 111,22
  543. PREMENU
  544. ; ***********************
  545. ; * 2.6.3.1. ┴SCII JA   *
  546. ;
  547. :RT2631
  548. POKE MTEXT2632+5,32
  549. POKE MTEXT2631+5,42
  550. POKE ASCII,SET
  551. SETMOUSE 111,22
  552. PREMENU
  553. ;
  554. ; * 2.6.3.2. ┴SCII NEIN *
  555. ; ***********************
  556. :RT2632
  557. POKE MTEXT2631+5,32
  558. POKE MTEXT2632+5,42
  559. POKE ASCII,CLEAR
  560. SETMOUSE 111,22
  561. PREMENU
  562. ; *********************************
  563. ; * 2.6.4.1. ╠INEFEED AUF ─R. JA  *
  564. ;
  565. :RT2641
  566. POKE MTEXT2642+5,32
  567. POKE MTEXT2641+5,42
  568. POKE DRUCKLF,SET
  569. SETMOUSE 111,22
  570. PREMENU
  571. ;
  572. ; * 2.6.4.2. ╠INEFEED AUF ─R. NEIN *
  573. ; **********************************
  574. :RT2642
  575. POKE MTEXT2641+5,32
  576. POKE MTEXT2642+5,42
  577. POKE DRUCKLF,CLEAR
  578. SETMOUSE 111,22
  579. PREMENU
  580. ;
  581. ; *** 2.7. ╨ARAMETER SPEICHERN ***
  582.  
  583. ;
  584. :RT27
  585. JSR IOINIT
  586. OPENDISK
  587. OPENREC GEOTERM
  588. ERROR OK3,RT27
  589. :OK3
  590. POINTREC 1
  591. DELREC
  592. INSREC
  593. WRITEREC BAUD,DRUCKLF-BAUD+1
  594. CLOSEREC
  595. JSR RSINIT
  596. MENU1
  597. ;
  598. ; *** 3.1. ┬╙╫ EINSCHALTEN ***
  599. ;
  600. :RT31
  601. CLEARAM $A000+640,7360 ;╘EIL DES ╙CREENS LOESCHEN
  602. CLEARAM $6000+640,7360
  603. JSR FONTBSW
  604. MENU1
  605. :FONTBSW
  606. SYSFONT
  607. LOADW 0,R11
  608. LOADW 0,TEXTX
  609. POKE 5,22          ;╘EXTPOS. SETZEN
  610. STA TEXTY
  611. POKE CRDIFF,6
  612. POKE CRHOEHE,9
  613. JSR PROMPTR
  614. POKE TOP,22
  615. POKE BSW,SET
  616. RTS
  617. ;
  618. ; *** 3.2. ╒NIVERSITY EINSCHALTEN ***
  619. ;
  620. :RT32
  621. CLEARAM $A000+640,7360 ;╘EIL DES ╙CREENS LOESCHEN
  622. CLEARAM $6000+640,7360
  623. JSR FONTUNI
  624. MENU1
  625. :FONTUNI
  626. LOADSET UNIV
  627. LOADW 0,R11
  628. LOADW 0,TEXTX
  629. POKE 5,20          ;╘EXTPOS. SETZEN
  630. STA TEXTY
  631. POKE CRDIFF,4
  632. POKE CRHOEHE,6
  633. JSR PROMPTR
  634. POKE TOP,20
  635. POKE BSW,CLEAR
  636. MENU1
  637. ;
  638. ; *** 6.1.1.1. ╘EXTSCRAP UEBER ┴╙├╔╔ SENDEN ***
  639. ;
  640. :RT6111
  641. POKE FLAG4,SET     ;┌EICHEN FUER ╙CRAP
  642. JMP SEQSENDEN
  643. ;
  644. ; *** 6.1.1.2. ╙EQ.-╞ILE UEBER ┴╙├╔╔ SENDEN ***
  645. ;
  646. :RT6112
  647. POKE FLAG4,CLEAR   ;┌EICHEN FUER ╙EQ
  648. :SEQSENDEN
  649. MOVERAM DISKID,DISKNAM,18
  650. MOVERAM DISKNAM,URNAME,16
  651. MOVERAM $C1E4,VEKGETBLK,3
  652. :WIEDER
  653. DIALBOX QUELLDISK
  654. LDA R0
  655. CMP #CANCEL
  656. BNE NHAUPTM
  657. JMP RT6112ENDE
  658. :NHAUPTM
  659. JSR IOINIT
  660. OPENDISK
  661. ERROR OK4,WIEDER
  662. :OK4
  663. LDA FLAG4
  664. BNE SCRAP
  665. INITGETFILES 0,FILEPUFFER,0
  666. DIALBOX CHOOSEFILE     ;╙EQ-╞ILE WAEHLEN
  667. LDA R0
  668. CMP #CANCEL
  669. BNE NZURUECK
  670. JMP WIEDER
  671. :NZURUECK
  672. FINDFILE FILEPUFFER
  673. JMP EINLESEN
  674. :SCRAP
  675. FINDFILE TEXTSCRAP
  676. CPX #5            ;PRUEFEN,OB ╘EXTSCRAP DA
  677. BNE EINLESEN
  678. JMP RT6112ENDE
  679. :EINLESEN
  680. RECVBOX 100,16,319,50 ;═ENUES LOESCHEN
  681. COP DIREIN+1,4    ;┴NFANGSBLOCK
  682. COP DIREIN+2,5    ;DES ╞ILES
  683. GETBLK BLKPF     ;EINLESEN
  684. POKE $C,$FF
  685. LDA BLKPF        ;PRUEFEN,OB LETZTER ┬LOCK
  686. BNE NZUENDE
  687. COP BLKPF+1,$C   ;╠AENGE FESTLEGEN
  688. :NZUENDE
  689. INC $C
  690. POKE $D,2        ;AB 1. ┬YTE
  691. LDA FLAG4
  692. BEQ NUEBERL
  693. POKE $D,8        ;╙TEUERCODES UEBERLESEN
  694. :NUEBERL
  695. MOVERAM R4,READPAR,4
  696. COP BLKPF,4
  697. STA SPUR         ;╞OLGEBLOCK FESTLEGEN
  698. COP BLKPF+1,5
  699. STA SEKTOR
  700. LOADW NEWGETBLK,$C1E5 ;NEUE ╥OUTINE
  701. POKE $C1E4,$4C        ;FUER ┬LOCK EINLESEN
  702. JSR RSINIT
  703. :READLOOP
  704. MOVERAM READPAR,R4,4 ;╫ERTE AUS
  705. COP SPUR,4           ;┌WISCHENSPEICHER
  706. COP SEKTOR,5         ;ZURECKHOLEN
  707. READBYTE
  708. PHA
  709. TXA
  710. PHA
  711. COP 4,SPUR           ;UND WIEDER REIN
  712. COP 5,SEKTOR
  713. MOVERAM R4,READPAR,4
  714. PLA
  715. TAX
  716. PLA
  717. CPX #$B          ;╞ILE ZUENDE ?
  718. BNE NENDE
  719. JMP RT6112ENDE
  720. :NENDE
  721. TAY
  722. ERROR OK5,RT6112ENDE
  723. :OK5
  724. TYA
  725. CMP #CR          ;├╥ ?
  726. BNE NCARET
  727. ;
  728. ; ** ├╥ BEHANDELN **
  729. LDA CRUNTER
  730. BEQ NUNTERDR    ;UNTERDRUECKEN ?
  731. POKE TASTCD,32
  732. JSR TASTE       ;╠EERZEICHEN SENDEN
  733. JMP VERZOEG
  734. ;
  735. :NUNTERDR
  736. POKE TASTCD,CR
  737. JSR TASTE       ;├╥ SENDEN
  738. JMP VERZOEG
  739. ;
  740. :NCARET
  741. CMP #32
  742. BCC READLOOP
  743. LDX FLAG4
  744. BNE NSEQ
  745. LDX KONVERT
  746. BEQ ZKLEINER
  747. CMP #65         ;BEI ╙┼╤-╞ILE
  748. BCC NSEQ        ;KONVERTIEREN
  749. CMP #91
  750. BCS GROSS
  751. EOR #$20        ;(65-91 ZU 97-122)
  752. JMP NSEQ
  753. :GROSS
  754. CMP #97
  755. BCC NSEQ
  756. CMP #122
  757. BCS GROSS2
  758. EOR #$20        ;(97-122 ZU 65-91)
  759. JMP NSEQ
  760. :GROSS2
  761. CMP #193
  762. JMP ZGROESSER
  763. JMP READLOOP
  764. :ZGROESSER
  765. CMP #219
  766. BCC ZKLEINER
  767. JMP READLOOP
  768. :ZKLEINER
  769. AND #%01111111  ;(193-219 ZU 65-91)
  770. :NSEQ
  771. TAX
  772. BPL NZUGROSS   ;ZU GROSSER ├ODE
  773. JMP READLOOP
  774. :NZUGROSS
  775. STA TASTCD
  776. JSR TASTE      ;┌EICHEN SENDEN
  777. :VERZOEG
  778. NEXTCHAR
  779. TAX            ;BEI ╘ASTENDRUCK
  780. BEQ NSTOP      ;╙CHLUSS MACHEN
  781. JMP RT6112ENDE
  782. :NSTOP
  783. JSR ROMEIN     ;AUF (╥╙232) ┼INGABEN PRUEFEN
  784. JSR GETIN
  785. PHA            ;┌EICHEN ZWISCHENSPEICHERN
  786. JSR ROMAUS
  787. PLA           ;ZURUECKHOLEN
  788. TAX
  789. BEQ KEINZEICH ;┌EICHEN ANGEKOMMEN ?
  790. JSR PRINT     ;WENN JA,DANN AUSGEBEN
  791. :KEINZEICH
  792. LDA SPEED
  793. BNE NVERZ
  794. SEI
  795. LOADW VERIRQ,ZUIRQ
  796. POKE ZAEHLER,0
  797. CLI
  798. :NOCHNICHT
  799. LDA ZAEHLER   ; 6
  800. CMP #6        ;╖╖╖╖ SEK WARTEN
  801. BCC NOCHNICHT ; 50
  802. SEI
  803. LOADW 0,ZUIRQ
  804. CLI
  805. :NVERZ
  806. JMP READLOOP
  807. ;
  808. ; ** ┼NDE DER ╒EBERTRAGUNG **
  809. :RT6112ENDE
  810. JSR IOINIT
  811. MOVERAM VEKGETBLK,$C1E4,3
  812. :ALTEDISK
  813. OPENDISK
  814. LOADW DISKNAM,ZP1
  815. LOADW DISKID,ZP2
  816. CMPFSTR ZP1,ZP2,18 ;─ISKIDS VERGLEICHEN
  817. BEQ GLEICH
  818. DIALBOX URDISK
  819. JMP ALTEDISK
  820. :GLEICH
  821. JSR RSINIT
  822. JSR ROMEIN
  823. LDA ZEICHEN
  824. JSR BSOUT
  825. JSR ROMAUS
  826. MENU1
  827. ;
  828. ; ** NEUE ╥OUTINE ZU ╟┼╘┬╠╧├╦ **
  829. :NEWGETBLK
  830. COP 4,SPUR
  831. COP 5,SEKTOR
  832. MOVERAM R4,READPAR,4
  833. JSR IOINIT
  834. MOVERAM READPAR,R4,4
  835. COP SPUR,4
  836. COP SEKTOR,5
  837. JSR VEKGETBLK
  838. MOVERAM R4,READPAR,4
  839. TXA           ;╞EHLERBYTE SICHERN
  840. PHA
  841. JSR RSINIT
  842. MOVERAM READPAR,R4,4
  843. COP SPUR,4
  844. COP SEKTOR,5
  845. PLA
  846. TAX
  847. RTS
  848. ;
  849. ; ** ╔╥╤ ZUM ╓ERZOEGERN **
  850. :VERIRQ
  851. INC ZAEHLER
  852. RTS
  853. ;
  854. ; *** 7.1.1. ╨UFFER LOESCHEN+OEFFNEN ***
  855. ;
  856. :RT711
  857. LOADW $6000,BOTTOM   ;┌EIGER LOESCHEN
  858. HLINE 0,319,14,0     ;╠INIE LOESCHEN
  859. :OEFFNEN
  860. LDA PUFFER
  861. BNE SCHONOFFEN
  862. INVBOX 255,1,274,13  ;╔CON INVERTIEREN
  863. POKE PUFFER,SET
  864. :SCHONOFFEN
  865. MENU1
  866. ;
  867. ; *** 7.1.2. ╨UFFER OEFFNEN ***
  868. ;
  869. :RT712
  870. JMP OEFFNEN
  871. ;
  872. ; *** 7.2. ╨UFFER SCHLIESSEN ***
  873. ;
  874. :RT72
  875. LDA PUFFER
  876. BEQ SCHONZU
  877. INVBOX 255,1,274,13
  878. POKE PUFFER,CLEAR
  879. :SCHONZU
  880. MENU1
  881. ;
  882. ; *** 7.3. FREIEN ╨LATZ IM ╨UFFER ANZEIGEN ***
  883. ;
  884. :RT73
  885. DIALBOX SHOWFREE
  886. MENU1
  887. ;
  888. ; ** ┬YTEZAHL ANZEIGEN **
  889. :FREERECHN
  890. TRANSW BOTTOM,ZP1
  891. LOADW GRENZE,ZP2
  892. DSUB ZP1,ZP2,ZP1   ;╞REIER ╨LATZ NACH ZP1
  893. LDA #BOLDON
  894. PUTCHAR
  895. TRANSW ZP1,R0
  896. PUTDEC 80,63
  897. RTS
  898. ;
  899. ; *** 7.4. ╨UFFER ANZEIGEN ***
  900. ;
  901. :RT74
  902. LDA BOTTOM+1
  903. CMP #$60             ;╨UFFER LEER ?
  904. BNE NLEER
  905. MENU1
  906. :NLEER
  907. RECVBOX 0,16,319,199 ;═ENUES LOESCHEN
  908. LDA ECHO
  909. PHA
  910. POKE ECHO,CLEAR      ;┼CHO SPERREN
  911. LDA PUFFER
  912. PHA
  913. POKE PUFFER,CLEAR   ;╨UFFER SPERREN
  914. LOADW $6000,ZP10
  915. LDA #CR
  916. JSR PRINT
  917. :ANZLOOP
  918. NEXTCHAR
  919. TAX                ;BEI ╘ASTE ANHALTEN
  920. BEQ KEINTAST
  921. :STOP
  922. TRANSW TEXTX,R11
  923. COP TEXTY,5
  924. SETCR
  925. NEXTCHAR
  926. TAX                ;AUF NAECHSTE WARTEN
  927. BEQ STOP
  928. CMP #22            ;UND BEI '╙╘╧╨' ┴BBRUCH
  929. BNE KEINTAST
  930. JMP ALLES
  931. :KEINTAST
  932. LDA ZP10+1
  933. CMP BOTTOM+1
  934. BNE NALLES         ;ALLES ANGEZEIGT ?
  935. LDA ZP10
  936. CMP BOTTOM
  937. BEQ ALLES
  938. :NALLES
  939. DDEC ZP10
  940. LDY #0
  941. LDA (ZP10),Y
  942. JSR PRINT
  943. JMP ANZLOOP
  944. :ALLES
  945. LDA #CR
  946. JSR PRINT
  947. TRANSW TEXTX,R11
  948. COP TEXTY,5
  949. SETCR
  950. PLA
  951. STA PUFFER        ;╞LAGS ZURUECKSETZEN
  952. PLA
  953. STA ECHO
  954. MENU1
  955. ;
  956. ; *** 7.5. ╨UFFER DRUCKEN ***
  957. ;
  958. :RT75
  959. POKE FLAG5,CLEAR
  960. LDA BOTTOM+1
  961. CMP #$60       ;╨UFFER LEER ?
  962. BNE DRNLEER
  963. MENU1
  964. :DRNLEER
  965. JSR IOINIT     ;╔/╧ VORBEREITEN
  966. TURBOFF
  967. INITIO
  968. LDA #4
  969. LDX GERAET     ;╞ILE OEFFNEN
  970. LDY SEKUNDAER
  971. JSR SETLFSR
  972. LDA #1
  973. LDX #<NAMDR
  974. LDY #>NAMDR
  975. JSR SETNAM
  976. JSR FOPENR
  977. :DRSP
  978. BCC KEINFEHLER
  979. JMP DRENDE     ;BEI ╔/╧-╞EHLER ┼NDE
  980. :KEINFEHLER
  981. CHKOUT 4
  982. LOADW $6000,ZP10
  983. :DRLOOP
  984. LDA ZP10+1     ;SCHON
  985. CMP BOTTOM+1   ;ALLE
  986. BNE DRNALLES   ;┌EICHEN ?
  987. LDA ZP10
  988. CMP BOTTOM
  989. BNE DRNALLES
  990. JMP DRALLES
  991. :DRNALLES
  992. LDA VERSION
  993. BEQ N12
  994. DONEIO
  995. :N12
  996. DDEC ZP10
  997. LDA VERSION
  998. BEQ NOCHMN12
  999. INITIO
  1000. :NOCHMN12
  1001. LDY #0
  1002. LDA (ZP10),Y
  1003. LDX FLAG5
  1004. BNE DRNCR
  1005. CMP #13
  1006. BNE DRNCR       ;EVTL. ╠╞
  1007. LDA DRUCKLF     ;VOR ├╥
  1008. BEQ DRNLF       ;DRUCKEN
  1009. LDA #LF
  1010. JSR BSOUT
  1011. :DRNLF
  1012. LDA #CR
  1013. JSR BSOUT
  1014. JMP DRLOOP
  1015. :DRNCR
  1016. PHA
  1017. LDA ASCII
  1018. BNE NWANDL
  1019. PLA
  1020. JSR ZURWANDELN
  1021. PHA
  1022. :NWANDL
  1023. PLA
  1024. JSR BSOUT
  1025. LDA FLAG5
  1026. BEQ NDISK
  1027. BCC DRLOOP
  1028. JMP DRENDE
  1029. :NDISK
  1030. DONEIO
  1031. NEXTCHAR
  1032. TAX
  1033. BEQ DRNTAST
  1034. INITIO
  1035. JMP DRALLES
  1036. :DRNTAST
  1037. INITIO
  1038. JMP DRLOOP
  1039. ;
  1040. :DRALLES
  1041. LDA FLAG5
  1042. BNE DRENDE
  1043. LDA #13
  1044. JSR BSOUT
  1045. ; * ┼NDE DES "─RUCKS" *
  1046. :DRENDE
  1047. CLOSE 4
  1048. JSR CLRCH
  1049. DONEIO
  1050. TURBON
  1051. LDA FLAG5
  1052. BEQ NALT
  1053. JMP ALTEDISK
  1054. :NALT
  1055. JSR RSINIT
  1056. MENU1
  1057. ;
  1058. ; *** 7.6. ╨UFFER SPEICHERN ***
  1059. ;
  1060. :RT76
  1061. POKE FLAG5,SET
  1062. LDA BOTTOM+1
  1063. CMP #$60       ;╨UFFER LEER ?
  1064. BNE DKNLEER
  1065. MENU1
  1066. :DKNLEER
  1067. JSR IOINIT
  1068. MOVERAM DISKID,DISKNAM,18  ;╬AME DER
  1069. MOVERAM DISKNAM,URNAME,16  ;ALTEN ─ISK
  1070. DIALBOX ZIELDISK
  1071. LDA R0
  1072. CMP #CANCEL
  1073. BNE NZUR
  1074. JMP ALTEDISK
  1075. :NZUR
  1076. OPENDISK
  1077. ERROR OK6,ALTEDISK
  1078. :OK6
  1079. LOADW $7F40,R5    ;┴BLAGE FUER ╞ILENAM
  1080. POKE $7F40,0
  1081. DIALBOX FILENAME
  1082. LDA R0
  1083. CMP #CANCEL
  1084. BNE NZUR2
  1085. JMP ALTEDISK
  1086. :NZUR2
  1087. LDY #0
  1088. :STRKOPIE
  1089. LDA $7F40,Y
  1090. BEQ STRFRT       ;╬AME VERSCHIEBEN
  1091. JSR ZURWANDELN   ;UND ┌EICHENCODE WANDELN
  1092. STA $7F40,Y
  1093. INY
  1094. JMP STRKOPIE
  1095. :STRFRT
  1096. TYA
  1097. PHA
  1098. DELETE $7F40
  1099. PLA
  1100. TAY
  1101. LDA #44
  1102. STA $7F40,Y    ;",S,W"
  1103. STA $7F40+2,Y
  1104. LDA #83
  1105. STA $7F40+1,Y
  1106. LDA #87
  1107. STA $7F40+3,Y
  1108. TYA
  1109. CLC
  1110. ADC #4
  1111. STA NAMLAENG
  1112. POKE FLAG6,SET ;╞LAG FUER ─╔╥-┼RROR
  1113. TURBOPUR
  1114. INITIO
  1115. FOPEN 15,8,15,1,INITSTR
  1116. CLOSE 15
  1117. SETLFS 4,8,2      ;╞ILE AUF ─ISK OEFFNEN
  1118. LDA NAMLAENG
  1119. LDX #<$7F40
  1120. LDY #>$7F40
  1121. JSR SETNAM
  1122. JSR FOPENR
  1123. JMP DRSP
  1124. ;
  1125. ; *** 8. ╘ELEFONNR. ***
  1126. ;
  1127. :RT8
  1128. REDOMENU
  1129.