home *** CD-ROM | disk | FTP | other *** search
/ Commodore Disc 14 / Commodore_Disc_14_19xx_-_de.d64 / bmass (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  16KB  |  1,149 lines

  1. 70 sys9*4096
  2. 80 .opt oo
  3. 90 ; ----
  4. 130 setlfs =$ffba
  5. 170 setnam =$ffbd
  6. 210 open   =$ffc0
  7. 250 chkin  =$ffc6
  8. 290 chrin  =$ffcf
  9. 330 clrchn =$ffcc
  10. 370 cursor =$fff0
  11. 410 clrscr =$e544
  12. 450 chrout =$ffd2
  13. 490 getin  =$ffe4
  14. 530 close  =$ffc3
  15. 570 chkout =$ffc9
  16. 610 clall  =$ffe7
  17. 650 crscol =$0286
  18. 690 bgdcol =$d020
  19. 730 fgdcol =$d021
  20. 770 zpadl  =$00fb
  21. 810 zpadh  =$00fc
  22. 815 screen =$0400
  23. 816 color  =$d800
  24. 850 devout =$009a
  25. 860 loram  =$6000
  26. 890 ; ----
  27. 930 *= loram
  28. 970 jmp main
  29. 1010 ; ----
  30. 1130 track  .byte 0
  31. 1170 sector .byte 0
  32. 1171 status .byte 0
  33. 1210 bal    .byte 0
  34. 1250 bah    .byte 0
  35. 1290 curs   .byte 0
  36. 1330 byte   .byte 0
  37. 1370 base   .byte 0
  38. 1371 zeibas .byte 0
  39. 1372 xx     .byte 0
  40. 1373 yy     .byte 0
  41. 1374 narg1  .byte 0
  42. 1375 narg2  .byte 0
  43. 1410 trprl  .byte 0
  44. 1450 trprh  .byte 0
  45. 1490 seprl  .byte 0
  46. 1530 seprh  .byte 0
  47. 1610 ergl   .byte 0
  48. 1650 ergh   .byte 0
  49. 1690 worl   .byte 0
  50. 1730 worh   .byte 0
  51. 1770 arg1   .byte 0
  52. 1810 arg2   .byte 0
  53. 1850 xypr   .byte 0
  54. 2330 hxprtb .asc "0123456789abcdef"
  55. 2370 multab .byte 1,2,4,8,16,32,64,128
  56. 2380 stapuf .asc "                                        "
  57. 2390 txt001 .asc "f1=view  block                          [146]"
  58. 2392 txt002 .asc "f2=print block  [146] track =    [146] bytadr=    "
  59. 2394 txt003 .asc "f3=write block  [146] sector=    [146] byte  =    "
  60. 2396 txt004 .asc "f4=other disk   [146] status=                [146]"
  61. 2398 txt005 .asc "f7=reject                              [146]"
  62. 2400 ndvtxt .asc "no device"
  63. 2450 ; ----
  64. 2460 dpuff =*
  65. 2470 *= *+256
  66. 2489 ; ----
  67. 2490 divie  .byte 0
  68. 2530 divi1l .byte 0
  69. 2570 divi1h .byte 0
  70. 2610 divi2  .byte 0
  71. 2650 div stx divi1l
  72. 2690 sty divi1h
  73. 2730 sta divi2
  74. 2770 tax
  75. 2810 bne divi01
  76. 2850 sec
  77. 2890 rts
  78. 2930 divi01 lda #0
  79. 2970 sta divie
  80. 3010 divi02 lda divi1l
  81. 3050 cmp divi2
  82. 3090 bpl divi03
  83. 3130 lda divi1h
  84. 3170 beq divi04
  85. 3210 divi03 inc divie
  86. 3250 lda divi1l
  87. 3290 sec
  88. 3330 sbc divi2
  89. 3370 sta divi1l
  90. 3410 bcs divi02
  91. 3450 dec divi1h
  92. 3490 jmp divi02
  93. 3530 divi04 ldx divie
  94. 3570 lda divi1l
  95. 3610 clc
  96. 3650 rts
  97. 3690 ; ----
  98. 3730 mul stx arg1
  99. 3770 sty arg2
  100. 3810 ldx #$00
  101. 3850 stx ergl
  102. 3890 stx ergh
  103. 3930 mul1 lda arg2
  104. 3970 and multab,x
  105. 4010 beq mul6
  106. 4050 lda arg1
  107. 4090 sta worl
  108. 4130 ldy #$00
  109. 4170 sty worh
  110. 4210 mul2 sty xypr
  111. 4250 cpx xypr
  112. 4290 beq mul4
  113. 4330 asl worh
  114. 4370 clc
  115. 4410 asl worl
  116. 4450 bcc mul3
  117. 4490 inc worh
  118. 4530 mul3 iny
  119. 4570 bne mul2
  120. 4610 mul4 clc
  121. 4650 lda ergl
  122. 4690 adc worl
  123. 4730 sta ergl
  124. 4770 bcc mul5
  125. 4810 clc
  126. 4850 inc ergh
  127. 4890 mul5 lda ergh
  128. 4930 adc worh
  129. 4970 sta ergh
  130. 5010 mul6 inx
  131. 5050 cpx #$08
  132. 5090 bne mul1
  133. 5130 ldx ergl
  134. 5170 ldy ergh
  135. 5210 rts
  136. 5250 ; ----
  137. 5290 hxprt tay
  138. 5330 and #$0f
  139. 5370 tax
  140. 5410 lda hxprtb,x
  141. 5450 tax
  142. 5490 tya
  143. 5530 and #$f0
  144. 5570 lsr a
  145. 5610 lsr a
  146. 5650 lsr a
  147. 5690 lsr a
  148. 5730 tay
  149. 5770 lda hxprtb,y
  150. 5810 tay
  151. 5850 rts
  152. 5890 ; ----
  153. 5895 curyel lda #7
  154. 5900 sta crscol
  155. 5905 rts
  156. 5910 ; ----
  157. 5915 curwht lda #1
  158. 5920 sta crscol
  159. 5925 rts
  160. 6565 ; ----
  161. 6570 initsc jsr clrscr
  162. 6579 lda #7
  163. 6580 sta bgdcol
  164. 6585 lda #6
  165. 6586 sta fgdcol
  166. 6587 jsr curyel
  167. 6588 ldx #0
  168. 6589 txa
  169. 6590 inits6 sta dpuff,x
  170. 6591 inx
  171. 6592 bne inits6
  172. 6593 stx base
  173. 6594 stx track
  174. 6595 stx sector
  175. 6596 stx curs
  176. 6597 stx byte
  177. 6598 stx xx
  178. 6599 stx status
  179. 6600 ldx #5
  180. 6601 stx yy
  181. 6604 ldx #20
  182. 6605 jsr curs00
  183. 6610 ldx #0
  184. 6611 inits1 lda txt001,x
  185. 6612 jsr chrout
  186. 6613 inx
  187. 6614 cpx #42
  188. 6615 bne inits1
  189. 6620 ldx #21
  190. 6625 jsr curs00
  191. 6630 ldx #0
  192. 6631 inits2 lda txt002,x
  193. 6632 jsr chrout
  194. 6633 inx
  195. 6634 cpx #46
  196. 6635 bne inits2
  197. 6640 ldx #22
  198. 6645 jsr curs00
  199. 6650 ldx #0
  200. 6651 inits3 lda txt003,x
  201. 6652 jsr chrout
  202. 6653 inx
  203. 6654 cpx #46
  204. 6655 bne inits3
  205. 6660 ldx #23
  206. 6665 jsr curs00
  207. 6670 ldx #0
  208. 6671 inits4 lda txt004,x
  209. 6672 jsr chrout
  210. 6673 inx
  211. 6674 cpx #44
  212. 6675 bne inits4
  213. 6676 ldx #24
  214. 6677 jsr curs00
  215. 6678 ldx #0
  216. 6679 inits5 lda txt005,x
  217. 6680 jsr chrout
  218. 6681 inx
  219. 6682 cpx #41
  220. 6683 bne inits5
  221. 6688 lda #160
  222. 6689 sta screen+999
  223. 6690 lda #7
  224. 6695 sta color+999
  225. 6697 jsr bsbl
  226. 6700 rts
  227. 6705 ; ----
  228. 6710 bsbl ldx #0
  229. 6715 bsbl10 txa
  230. 6716 pha
  231. 6720 jsr curs00
  232. 6725 jsr zeil
  233. 6730 pla
  234. 6731 tax
  235. 6735 inx
  236. 6740 cpx #20
  237. 6745 bne bsbl10
  238. 6746 jsr pritck
  239. 6747 jsr prisec
  240. 6748 jsr pricrs
  241. 6749 jsr pribte
  242. 6750 jsr prista
  243. 6751 rts
  244. 6755 ; ----
  245. 6760 prbl ldx #0
  246. 6765 prbl10 txa
  247. 6766 pha
  248. 6767 jsr spac
  249. 6768 pla
  250. 6769 tax
  251. 6770 pha
  252. 6771 jsr zeil
  253. 6772 lda #13
  254. 6773 jsr chrout
  255. 6775 pla
  256. 6776 tax
  257. 6780 inx
  258. 6785 cpx #32
  259. 6790 bne prbl10
  260. 6795 rts
  261. 6800 ; ----
  262. 6801 writ jsr trsepr
  263. 6802 jsr wrt030
  264. 6803 jsr clrchn
  265. 6804 jsr bsbl
  266. 6805 lda #0
  267. 6806 sta xx
  268. 6807 lda #5
  269. 6808 sta yy
  270. 6809 rts
  271. 6817 ; ----
  272. 6818 view jsr trsepr
  273. 6819 jsr get030
  274. 6820 jsr clrchn
  275. 6825 jsr bsbl
  276. 6826 lda #0
  277. 6827 sta xx
  278. 6828 lda #5
  279. 6829 sta yy
  280. 6830 rts
  281. 6835 ; ----
  282. 6840 prin jsr view
  283. 6845 jsr oppr00
  284. 6850 ldx #4
  285. 6855 jsr chkout
  286. 6860 lda devout
  287. 6865 cmp #4
  288. 6870 bne prin90
  289. 6875 lda #13
  290. 6880 jsr chrout
  291. 6881 jsr chrout
  292. 6882 jsr chrout
  293. 6883 jsr spac
  294. 6885 lda track
  295. 6890 jsr pribyt
  296. 6895 lda sector
  297. 6900 jsr pribyt
  298. 6905 lda #13
  299. 6910 jsr chrout
  300. 6911 jsr chrout
  301. 6915 jsr prbl
  302. 6920 jsr clpr00
  303. 6925 prin90 rts
  304. 6930 ; ----
  305. 6935 zeil lda #0
  306. 6940 sta bal
  307. 6941 sta bah
  308. 6945 ldy #8
  309. 6950 jsr mulba
  310. 6955 ldx base
  311. 6960 ldy #0
  312. 6965 jsr bapl
  313. 6970 stx zeibas
  314. 6975 txa
  315. 6980 jsr pribyt
  316. 6985 lda #":"
  317. 6990 jsr chrout
  318. 6995 lda #" "
  319. 7000 jsr chrout
  320. 7005 ldy #0
  321. 7010 ldx zeibas
  322. 7015 zeil10 txa
  323. 7016 pha
  324. 7020 tya
  325. 7021 pha
  326. 7022 jsr curyel
  327. 7023 cpx curs
  328. 7024 bne zeil12
  329. 7025 lda dpuff,x
  330. 7026 sta byte
  331. 7027 jsr curwht
  332. 7028 zeil12 lda dpuff,x
  333. 7030 jsr pribyt
  334. 7035 pla
  335. 7036 tay
  336. 7040 pla
  337. 7041 tax
  338. 7045 inx
  339. 7050 iny
  340. 7055 cpy #8
  341. 7060 bne zeil10
  342. 7065 lda #32
  343. 7070 jsr chrout
  344. 7071 jsr chrout
  345. 7072 jsr chrout
  346. 7074 jsr curyel
  347. 7075 ldy #0
  348. 7080 ldx zeibas
  349. 7085 zeil20 txa
  350. 7086 pha
  351. 7090 tya
  352. 7091 pha
  353. 7095 lda dpuff,x
  354. 7100 cmp #32
  355. 7110 bmi zeil30
  356. 7115 cmp #96
  357. 7120 bmi zeil35
  358. 7125 zeil30 lda #"."
  359. 7130 zeil35 jsr chrout
  360. 7135 pla
  361. 7136 tay
  362. 7140 pla
  363. 7141 tax
  364. 7145 inx
  365. 7150 iny
  366. 7155 cpy #8
  367. 7160 bne zeil20
  368. 7185 rts
  369. 7190 ; ----
  370. 7200 spac ldx #0
  371. 7210 lda #32
  372. 7220 spac1 jsr chrout
  373. 7230 inx
  374. 7240 cpx #20
  375. 7250 bne spac1
  376. 7260 rts
  377. 10330 ; ----
  378. 10370 curs00 ldy #0
  379. 10410 clc
  380. 10450 jsr cursor
  381. 10490 rts
  382. 10530 ; ----
  383. 10570 gettas lda #0
  384. 10610 jsr getin
  385. 10650 tax
  386. 10690 beq gettas
  387. 10730 rts
  388. 10770 ; ----
  389. 10775 gettck lda track
  390. 10776 sta narg2
  391. 10777 lda #0
  392. 10778 sta narg1
  393. 10781 jsr curwht
  394. 10782 jsr pritck
  395. 10794 gettc1 jsr gettas
  396. 10796 cmp #136
  397. 10798 bne gettc2
  398. 10800 sec
  399. 10802 jmp gettc8
  400. 10804 gettc2 ldx #0
  401. 10806 gettc3 cmp hxprtb,x
  402. 10808 beq gettc4
  403. 10810 inx
  404. 10812 cpx #16
  405. 10814 bne gettc3
  406. 10816 cmp #13
  407. 10818 beq gettc7
  408. 10820 cmp #32
  409. 10822 beq gettc7
  410. 10824 bne gettc1
  411. 10826 gettc4 lda narg2
  412. 10828 sta narg1
  413. 10830 stx narg2
  414. 10832 asl a
  415. 10834 asl a
  416. 10836 asl a
  417. 10838 asl a
  418. 10840 ora narg2
  419. 10842 sta track
  420. 10844 jsr pritck
  421. 10846 jmp gettc1
  422. 10847 gettc7 clc
  423. 10848 gettc8 php
  424. 10849 jsr curyel
  425. 10854 jsr pritck
  426. 10855 plp
  427. 10870 rts
  428. 10872 ; ----
  429. 10875 getsec lda sector
  430. 10876 sta narg2
  431. 10878 lda #0
  432. 10883 sta narg1
  433. 10885 jsr curwht
  434. 10886 jsr prisec
  435. 10894 getse1 jsr gettas
  436. 10896 cmp #136
  437. 10898 bne getse2
  438. 10900 sec
  439. 10902 jmp getse8
  440. 10904 getse2 ldx #0
  441. 10906 getse3 cmp hxprtb,x
  442. 10908 beq getse4
  443. 10910 inx
  444. 10912 cpx #16
  445. 10914 bne getse3
  446. 10916 cmp #13
  447. 10918 beq getse7
  448. 10920 cmp #32
  449. 10922 beq getse7
  450. 10924 bne getse1
  451. 10926 getse4 lda narg2
  452. 10928 sta narg1
  453. 10930 stx narg2
  454. 10932 asl a
  455. 10934 asl a
  456. 10936 asl a
  457. 10938 asl a
  458. 10940 ora narg2
  459. 10942 sta sector
  460. 10944 jsr prisec
  461. 10946 jmp getse1
  462. 10947 getse7 clc
  463. 10948 getse8 php
  464. 10949 jsr curyel
  465. 10954 jsr prisec
  466. 10955 plp
  467. 10956 rts
  468. 10975 ; ----
  469. 11000 getbte lda byte
  470. 11001 sta narg2
  471. 11005 lda #0
  472. 11006 sta narg1
  473. 11008 jsr curwht
  474. 11009 jsr pribte
  475. 11015 getbt1 jsr gettas
  476. 11020 cmp #136
  477. 11025 bne getbt2
  478. 11030 sec
  479. 11035 jmp getbt8
  480. 11040 getbt2 ldx #0
  481. 11045 getbt3 cmp hxprtb,x
  482. 11050 beq getbt4
  483. 11055 inx
  484. 11060 cpx #16
  485. 11065 bne getbt3
  486. 11070 cmp #13
  487. 11075 beq getbt7
  488. 11080 cmp #32
  489. 11085 beq getbt7
  490. 11090 bne getbt1
  491. 11095 getbt4 lda narg2
  492. 11100 sta narg1
  493. 11105 stx narg2
  494. 11115 asl a
  495. 11120 asl a
  496. 11125 asl a
  497. 11130 asl a
  498. 11135 ora narg2
  499. 11140 sta byte
  500. 11145 jsr pribte
  501. 11150 jmp getbt1
  502. 11554 getbt7 clc
  503. 11555 getbt8 php
  504. 11556 jsr curyel
  505. 11559 jsr pribte
  506. 11560 plp
  507. 11561 rts
  508. 11565 ; ----
  509. 12090 pritck ldx #21
  510. 12095 ldy #24
  511. 12100 clc
  512. 12105 jsr cursor
  513. 12170 lda track
  514. 12210 jsr pribyt
  515. 12250 rts
  516. 12290 ; ----
  517. 12330 prisec ldx #22
  518. 12335 ldy #24
  519. 12340 clc
  520. 12345 jsr cursor
  521. 12410 lda sector
  522. 12450 jsr pribyt
  523. 12490 rts
  524. 12500 ; ----
  525. 12530 pricrs ldx #21
  526. 12535 ldy #36
  527. 12540 clc
  528. 12545 jsr cursor
  529. 12610 lda curs
  530. 12650 jsr pribyt
  531. 12690 rts
  532. 12700 ; ----
  533. 12730 pribte ldx #22
  534. 12735 ldy #36
  535. 12740 clc
  536. 12745 jsr cursor
  537. 12810 lda byte
  538. 12850 jsr pribyt
  539. 12890 rts
  540. 12900 ; ----
  541. 12930 prista ldx #23
  542. 12935 ldy #24
  543. 12940 clc
  544. 12945 jsr cursor
  545. 12950 lda status
  546. 12955 jsr pribyt
  547. 12960 rts
  548. 33450 ; ----
  549. 33490 bapl txa
  550. 33530 clc
  551. 33570 adc bal
  552. 33610 sta bal
  553. 33650 tax
  554. 33690 bcc bapl01
  555. 33730 inc bah
  556. 33770 bapl01 tya
  557. 33810 clc
  558. 33850 adc bah
  559. 33890 sta bah
  560. 33930 tay
  561. 33970 rts
  562. 34010 ; ----
  563. 34050 op1500 lda #15
  564. 34090 ldx #8
  565. 34130 tay
  566. 34170 jsr setlfs
  567. 34210 lda #0
  568. 34250 op1501 jsr setnam
  569. 34290 jsr open
  570. 34330 rts
  571. 34370 ; ----
  572. 34410 oppr00 lda #4
  573. 34450 tax
  574. 34490 ldy #0
  575. 34530 jsr setlfs
  576. 34570 lda #0
  577. 34610 jmp op1501
  578. 34650 ; ----
  579. 34690 op0300 lda #3
  580. 34730 ldx #8
  581. 34770 tay
  582. 34810 jsr setlfs
  583. 34850 lda #1
  584. 34890 ldx #<hashmk
  585. 34930 ldy #>hashmk
  586. 34970 jmp op1501
  587. 35010 hashmk .asc "#"
  588. 35050 ; ----
  589. 35090 get030 jsr getcom
  590. 35100 ldy #0
  591. 35250 get031 jsr chrin
  592. 35290 sta dpuff,y
  593. 35330 iny
  594. 35370 bne get031
  595. 35410 rts
  596. 35450 ; ----
  597. 35455 getcom jsr usr100
  598. 35456 jsr getst
  599. 35457 ldx #3
  600. 35459 jsr chkin
  601. 35463 rts
  602. 35489 ; ----
  603. 35490 wrt030 jsr bp0300
  604. 35530 ldx #3
  605. 35570 jsr chkout
  606. 35610 ldy #0
  607. 35650 wrt031 lda dpuff,y
  608. 35690 jsr chrout
  609. 35730 iny
  610. 35770 bne wrt031
  611. 35810 jsr usr200
  612. 35820 jsr getst
  613. 35850 rts
  614. 36090 ; ----
  615. 36130 mulba jsr mul
  616. 36170 jsr bapl
  617. 36210 rts
  618. 36250 ; ----
  619. 37330 ; ----
  620. 37370 cl0300 lda #3
  621. 37410 jsr close
  622. 37450 rts
  623. 37490 ; ----
  624. 37530 cl1500 lda #15
  625. 37570 jsr close
  626. 37610 rts
  627. 37650 ; ----
  628. 37690 clpr00 jsr clrchn
  629. 37730 ldx #4
  630. 37770 jsr chkout
  631. 37810 lda #13
  632. 37850 jsr chrout
  633. 37890 jsr clrchn
  634. 37930 lda #4
  635. 37970 jsr close
  636. 38010 rts
  637. 38050 ; ----
  638. 38090 usr100 jsr usrc00
  639. 38130 lda #"1"
  640. 38170 jmp usrc10
  641. 38210 ; ----
  642. 38250 usrc00 jsr clrchn
  643. 38290 ldx #15
  644. 38330 jsr chkout
  645. 38370 lda #"u"
  646. 38410 jsr chrout
  647. 38450 rts
  648. 38490 ; ----
  649. 38530 trsepr ldx track
  650. 38570 ldy #0
  651. 38610 lda #10
  652. 38650 jsr div
  653. 38690 pha
  654. 38730 lda hxprtb,x
  655. 38770 sta trprh
  656. 38810 pla
  657. 38850 tax
  658. 38890 lda hxprtb,x
  659. 38930 sta trprl
  660. 38970 ldx sector
  661. 39010 ldy #0
  662. 39050 lda #10
  663. 39090 jsr div
  664. 39130 pha
  665. 39170 lda hxprtb,x
  666. 39210 sta seprh
  667. 39250 pla
  668. 39290 tax
  669. 39330 lda hxprtb,x
  670. 39370 sta seprl
  671. 39410 rts
  672. 39450 ; ----
  673. 39490 usr200 jsr usrc00
  674. 39530 lda #"2"
  675. 39570 jmp usrc10
  676. 39610 ; ----
  677. 39650 usrc10 jsr chrout
  678. 39690 lda #":"
  679. 39730 jsr chrout
  680. 39770 lda #"3"
  681. 39810 jsr chrout
  682. 39850 lda #","
  683. 39890 jsr chrout
  684. 39930 usrc20 lda #"0"
  685. 39970 jsr chrout
  686. 40010 lda #","
  687. 40050 jsr chrout
  688. 40090 lda trprh
  689. 40130 jsr chrout
  690. 40170 lda trprl
  691. 40210 jsr chrout
  692. 40250 lda #","
  693. 40290 jsr chrout
  694. 40330 lda seprh
  695. 40370 jsr chrout
  696. 40410 lda seprl
  697. 40450 jsr chrout
  698. 40490 jsr clrchn
  699. 40530 rts
  700. 40570 ; ----
  701. 44690 ; ----
  702. 44730 bp0300 ldx #15
  703. 44770 jsr chkout
  704. 44810 lda #"b"
  705. 44850 jsr chrout
  706. 44890 lda #"-"
  707. 44930 jsr chrout
  708. 44970 lda #"p"
  709. 45010 jsr chrout
  710. 45050 lda #":"
  711. 45090 jsr chrout
  712. 45130 lda #"3"
  713. 45170 jsr chrout
  714. 45210 lda #","
  715. 45250 jsr chrout
  716. 45290 lda #"0"
  717. 45330 jsr chrout
  718. 45370 jsr clrchn
  719. 45410 rts
  720. 45450 ; ----
  721. 45490 getst ldx #15
  722. 45530 jsr chkin
  723. 45570 lda #0
  724. 45580 sta bal
  725. 45590 sta bah
  726. 45600 jsr chrin
  727. 45610 sec
  728. 45620 sbc #48
  729. 45690 tax
  730. 45700 ldy #10
  731. 45710 jsr mulba
  732. 45937 stx status
  733. 46010 jsr chrin
  734. 46020 sec
  735. 46030 sbc #48
  736. 46040 clc
  737. 46050 adc status
  738. 46090 sta status
  739. 46130 jsr clrchn
  740. 46170 jsr prista
  741. 46290 rts
  742. 46570 ; ----
  743. 46591 ; ----
  744. 46610 pribyt jsr hxprt
  745. 46650 tya
  746. 46690 jsr chrout
  747. 46730 txa
  748. 46770 jsr chrout
  749. 46810 lda #32
  750. 46850 jsr chrout
  751. 46890 rts
  752. 46930 ; ----
  753. 48010 ; ----
  754. 48050 prbl00 ldx #0
  755. 48090 prbl01 lda #13
  756. 48130 jsr chrout
  757. 48170 txa
  758. 48210 pha
  759. 48250 jsr pribyt
  760. 48290 pla
  761. 48330 tax
  762. 48370 lda #":"
  763. 48410 jsr chrout
  764. 48450 lda #32
  765. 48490 jsr chrout
  766. 48530 ldy #0
  767. 48570 prbl02 tya
  768. 48610 pha
  769. 48650 txa
  770. 48690 pha
  771. 48730 lda dpuff,x
  772. 48770 jsr pribyt
  773. 48810 pla
  774. 48850 tax
  775. 48890 pla
  776. 48930 tay
  777. 48970 inx
  778. 49010 iny
  779. 49050 cpy #16
  780. 49090 bne prbl02
  781. 49130 txa
  782. 49170 bne prbl01
  783. 49210 rts
  784. 49250 ; ----
  785. 50000 ; ----
  786. 50005 f1wht lda #<color
  787. 50010 sta bal
  788. 50015 lda #>color
  789. 50020 sta bah
  790. 50025 ldx #40
  791. 50030 ldy #20
  792. 50035 jsr mulba
  793. 50040 stx zpadl
  794. 50045 sty zpadh
  795. 50050 ldy #0
  796. 50055 lda #1
  797. 50060 f1wht1 sta (zpadl),y
  798. 50065 iny
  799. 50070 cpy #14
  800. 50075 bne f1wht1
  801. 50080 rts
  802. 50100 ; ----
  803. 50105 f2wht lda #<color
  804. 50110 sta bal
  805. 50115 lda #>color
  806. 50120 sta bah
  807. 50125 ldx #40
  808. 50130 ldy #21
  809. 50135 jsr mulba
  810. 50140 stx zpadl
  811. 50145 sty zpadh
  812. 50150 ldy #0
  813. 50155 lda #1
  814. 50160 f2wht1 sta (zpadl),y
  815. 50165 iny
  816. 50170 cpy #14
  817. 50175 bne f2wht1
  818. 50180 rts
  819. 50200 ; ----
  820. 50205 f3wht lda #<color
  821. 50210 sta bal
  822. 50215 lda #>color
  823. 50220 sta bah
  824. 50225 ldx #40
  825. 50230 ldy #22
  826. 50235 jsr mulba
  827. 50240 stx zpadl
  828. 50245 sty zpadh
  829. 50250 ldy #0
  830. 50255 lda #1
  831. 50260 f3wht1 sta (zpadl),y
  832. 50265 iny
  833. 50270 cpy #14
  834. 50275 bne f3wht1
  835. 50280 rts
  836. 50300 ; ----
  837. 50305 f1yel lda #<color
  838. 50310 sta bal
  839. 50315 lda #>color
  840. 50320 sta bah
  841. 50325 ldx #40
  842. 50330 ldy #20
  843. 50335 jsr mulba
  844. 50340 stx zpadl
  845. 50345 sty zpadh
  846. 50350 ldy #0
  847. 50355 lda #7
  848. 50360 f1yel1 sta (zpadl),y
  849. 50365 iny
  850. 50370 cpy #14
  851. 50375 bne f1yel1
  852. 50380 rts
  853. 50400 ; ----
  854. 50405 f2yel lda #<color
  855. 50410 sta bal
  856. 50415 lda #>color
  857. 50420 sta bah
  858. 50425 ldx #40
  859. 50430 ldy #21
  860. 50435 jsr mulba
  861. 50440 stx zpadl
  862. 50445 sty zpadh
  863. 50450 ldy #0
  864. 50455 lda #7
  865. 50460 f2yel1 sta (zpadl),y
  866. 50465 iny
  867. 50470 cpy #14
  868. 50475 bne f2yel1
  869. 50480 rts
  870. 50500 ; ----
  871. 50505 f3yel lda #<color
  872. 50510 sta bal
  873. 50515 lda #>color
  874. 50520 sta bah
  875. 50525 ldx #40
  876. 50530 ldy #22
  877. 50535 jsr mulba
  878. 50540 stx zpadl
  879. 50545 sty zpadh
  880. 50550 ldy #0
  881. 50555 lda #7
  882. 50560 f3yel1 sta (zpadl),y
  883. 50565 iny
  884. 50570 cpy #14
  885. 50575 bne f3yel1
  886. 50580 rts
  887. 59999 ; ----
  888. 60000 main jsr initsc
  889. 60010 jsr op1500
  890. 60020 ldx #15
  891. 60030 jsr chkout
  892. 60040 lda devout
  893. 60050 cmp #8
  894. 60059 beq main05
  895. 60060 jsr clrchn
  896. 60061 jsr clrscr
  897. 60071 ldx #0
  898. 60072 main01 lda ndvtxt,x
  899. 60073 jsr chrout
  900. 60074 inx
  901. 60075 cpx #9
  902. 60076 bne main01
  903. 60080 jsr clall
  904. 60082 ldx #0
  905. 60083 jsr curs00
  906. 60090 rts
  907. 60100 main05 jsr op0300
  908. 60110 main10 jsr tast00
  909. 60120 jsr cl0300
  910. 60130 jsr cl1500
  911. 60135 jsr clrscr
  912. 60140 rts
  913. 60145 ; ----
  914. 60150 tast00 jsr clrchn
  915. 60151 jsr f1yel
  916. 60152 jsr f2yel
  917. 60153 jsr f3yel
  918. 60165 jsr gettas
  919. 60170 cmp #133
  920. 60175 bne tast01
  921. 60180 jmp tast10
  922. 60185 tast01 cmp #137
  923. 60190 bne tast02
  924. 60195 jmp tast20
  925. 60200 tast02 cmp #134
  926. 60205 bne tast03
  927. 60210 jmp tast30
  928. 60215 tast03 cmp #138
  929. 60220 bne tast06
  930. 60225 rts
  931. 60260 tast06 cmp #135
  932. 60262 bne tast07
  933. 60264 inc fgdcol
  934. 60266 lda fgdcol
  935. 60268 and #$0f
  936. 60270 sta fgdcol
  937. 60272 jmp tast00
  938. 60274 tast07 cmp #139
  939. 60276 bne tast08
  940. 60278 inc bgdcol
  941. 60280 lda bgdcol
  942. 60282 and #$0f
  943. 60284 sta bgdcol
  944. 60286 jmp tast00
  945. 60288 tast08 jmp tast34
  946. 60748 tast10 jsr f1wht
  947. 60750 ldx #20
  948. 60751 ldy #14
  949. 60752 clc
  950. 60753 jsr cursor
  951. 60760 lda track
  952. 60761 pha
  953. 60762 lda sector
  954. 60763 pha
  955. 60764 jsr gettck
  956. 60765 bcc tast13
  957. 60766 tast12 pla
  958. 60767 sta sector
  959. 60768 pla
  960. 60769 sta track
  961. 60770 jsr pritck
  962. 60771 jsr prisec
  963. 60772 jmp tast00
  964. 60773 tast13 jsr getsec
  965. 60774 bcs tast12
  966. 60775 pla
  967. 60776 pla
  968. 60780 lda #0
  969. 60790 sta curs
  970. 60795 sta base
  971. 60825 jsr view
  972. 60830 jmp tast00
  973. 61178 tast20 jsr f2wht
  974. 61180 ldx #21
  975. 61181 ldy #14
  976. 61182 clc
  977. 61183 jsr cursor
  978. 61190 lda track
  979. 61191 pha
  980. 61192 lda sector
  981. 61193 pha
  982. 61194 jsr gettck
  983. 61195 bcc tast23
  984. 61196 tast22 pla
  985. 61197 sta sector
  986. 61198 pla
  987. 61199 sta track
  988. 61200 jsr pritck
  989. 61201 jsr prisec
  990. 61202 jmp tast00
  991. 61203 tast23 jsr getsec
  992. 61204 bcs tast22
  993. 61205 pla
  994. 61206 pla
  995. 61209 lda #0
  996. 61210 sta curs
  997. 61220 sta base
  998. 61225 jsr prin
  999. 61230 jmp tast00
  1000. 61778 tast30 jsr f3wht
  1001. 61780 ldx #22
  1002. 61781 ldy #14
  1003. 61782 clc
  1004. 61783 jsr cursor
  1005. 61790 lda track
  1006. 61791 pha
  1007. 61792 lda sector
  1008. 61793 pha
  1009. 61794 jsr gettck
  1010. 61795 bcc tast33
  1011. 61796 tast32 pla
  1012. 61797 sta sector
  1013. 61798 pla
  1014. 61799 sta track
  1015. 61800 jsr pritck
  1016. 61801 jsr prisec
  1017. 61802 jmp tast00
  1018. 61803 tast33 jsr getsec
  1019. 61804 bcs tast22
  1020. 61805 pla
  1021. 61806 pla
  1022. 61809 lda #0
  1023. 61810 sta curs
  1024. 61820 sta base
  1025. 61825 jsr writ
  1026. 61830 jmp tast00
  1027. 61840 tast34 cmp #157
  1028. 61845 bne tast35
  1029. 61850 jmp tast40
  1030. 61855 tast35 cmp #145
  1031. 61860 bne tast36
  1032. 61865 jmp tast50
  1033. 61870 tast36 cmp #29
  1034. 61875 bne tast37
  1035. 61880 jmp tast60
  1036. 61885 tast37 cmp #17
  1037. 61890 bne tast38
  1038. 61895 jmp tast70
  1039. 61900 tast38 ldx #0
  1040. 61905 tast39 cmp hxprtb,x
  1041. 61910 beq tas039
  1042. 61915 inx
  1043. 61920 cpx #16
  1044. 61925 bne tast39
  1045. 61930 jmp tast00
  1046. 61935 tas039 jmp tast80
  1047. 61940 tast40 dec curs
  1048. 61941 lda curs
  1049. 61942 cmp #$ff
  1050. 61950 bne tast41
  1051. 61951 lda #0
  1052. 61952 sta curs
  1053. 61953 jsr bsbl
  1054. 61955 jmp tast00
  1055. 61960 tast41 dec yy
  1056. 61966 dec yy
  1057. 61967 dec yy
  1058. 61974 lda #2
  1059. 61975 cmp yy
  1060. 61980 bne tast42
  1061. 61985 lda #26
  1062. 61990 sta yy
  1063. 61995 tast42 lda yy
  1064. 62000 cmp #26
  1065. 62005 bne tast43
  1066. 62006 lda curs
  1067. 62007 clc
  1068. 62008 adc #8
  1069. 62009 sta curs
  1070. 62010 jmp tast50
  1071. 62015 tast43 jsr bsbl
  1072. 62435 jmp tast00
  1073. 62440 tast50 lda curs
  1074. 62441 and #$f8
  1075. 62443 bne tast51
  1076. 62444 jsr bsbl
  1077. 62455 jmp tast00
  1078. 62460 tast51 lda curs
  1079. 62465 sec
  1080. 62470 sbc #8
  1081. 62475 sta curs
  1082. 62480 lda xx
  1083. 62490 beq tast52
  1084. 62495 dec xx
  1085. 62500 jsr bsbl
  1086. 62505 jmp tast00
  1087. 62510 tast52 lda base
  1088. 62520 sec
  1089. 62530 sbc #8
  1090. 62535 sta base
  1091. 62540 jsr bsbl
  1092. 62935 jmp tast00
  1093. 62940 tast60 inc curs
  1094. 62941 lda curs
  1095. 62950 bne tast61
  1096. 62951 lda #$ff
  1097. 62952 sta curs
  1098. 62953 jsr bsbl
  1099. 62955 jmp tast00
  1100. 62960 tast61 inc yy
  1101. 62966 inc yy
  1102. 62967 inc yy
  1103. 62974 lda #28
  1104. 62975 cmp yy
  1105. 62980 bpl tast62
  1106. 62985 lda #5
  1107. 62990 sta yy
  1108. 62995 tast62 lda yy
  1109. 63000 cmp #5
  1110. 63005 bne tast63
  1111. 63006 lda curs
  1112. 63007 sec
  1113. 63008 sbc #8
  1114. 63009 sta curs
  1115. 63010 jmp tast70
  1116. 63015 tast63 jsr bsbl
  1117. 63435 jmp tast00
  1118. 63440 tast70 lda curs
  1119. 63441 and #$f8
  1120. 63442 cmp #$f8
  1121. 63443 bne tast71
  1122. 63444 jsr bsbl
  1123. 63455 jmp tast00
  1124. 63460 tast71 lda curs
  1125. 63465 clc
  1126. 63470 adc #8
  1127. 63475 sta curs
  1128. 63480 lda xx
  1129. 63485 cmp #19
  1130. 63490 bpl tast72
  1131. 63495 inc xx
  1132. 63500 jsr bsbl
  1133. 63505 jmp tast00
  1134. 63510 tast72 lda base
  1135. 63520 clc
  1136. 63530 adc #8
  1137. 63535 sta base
  1138. 63540 jsr bsbl
  1139. 63935 jmp tast00
  1140. 63940 tast80 stx byte
  1141. 63955 jsr getbte
  1142. 63956 bcc tast81
  1143. 63957 jsr bsbl
  1144. 63958 jmp tast00
  1145. 63960 tast81 ldx curs
  1146. 63965 lda byte
  1147. 63970 sta dpuff,x
  1148. 63971 jmp tast60
  1149.