home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 163 / 163.d81 / tail.sda / tail.080f / TAIL SOURCE < prev   
Encoding:
Text File  |  1998-01-01  |  12.8 KB  |  1,213 lines

  1. open =$ffc0
  2. readst =$ffb7
  3. setlfs =$ffba
  4. setnam =$ffbd
  5. setmsg =$ff90
  6. load =$ffd5
  7. getin =$ffe4
  8. input'buffer =512
  9. clrchn =$ffcc
  10. close =$ffc3   ;a
  11. chrin =$ffcf
  12. chkout =$ffc9  ;x
  13. chkin =$ffc6   ;x
  14. plot =$fff0
  15. chrout =$ffd2
  16. color'pointer =243
  17. screen'line'pointer =209
  18. print'number =$bdcd ;x,a
  19. clear'line =59903
  20. background =53281
  21. border =53280
  22. strout = $ab1e; .A low .Y high
  23. unlisten =$ffae
  24. clall =$ffe7
  25. white =5
  26. crsr'down =17
  27. rvs'on =18
  28. home =19
  29. del =20
  30. red =28
  31. crsr'right =29
  32. green =30
  33. blue =31
  34. black =144
  35. lowercase =14
  36. uppercase =142
  37. crsr'up =145
  38. rvs'off =146
  39. clr =147
  40. insert =148
  41. brown =149
  42. light'red =150
  43. dark'grey =151
  44. medium'grey =152
  45. light'green =153
  46. light'blue =154
  47. light'grey =155
  48. purple =156
  49. crsr'left =157
  50. yellow =158
  51. cyan =159
  52. top'left =176
  53. top'right =174
  54. bottom'left =173
  55. bottom'right =189
  56. buffer =$200
  57.  
  58. mouse =49152
  59. ml =mouse
  60. v =ml+111
  61. minx =v+21
  62. maxx =v+22
  63. miny =v+23
  64. maxy =v+24
  65. code =v+25
  66. color =v+26
  67. color2 =v+27
  68.  
  69. cellx =v+31
  70. celly =v+32
  71. left'button =v+33
  72. new'left'push =v+34
  73. right'button =v+35
  74. new'right'push =v+36
  75. region'under'mouse =v+37
  76. clicked'region =v+38
  77. feedback =v
  78.  
  79. .org $9000
  80. .obj "@0:tail ii 9000"
  81. ;mem
  82. jmp menu'entry  
  83. jmp multi'menu'entry;3
  84. jmp wizard'box;6
  85. jmp brancher;9
  86. jmp center;12
  87. jmp wrap;15
  88. jmp bload;18
  89. jmp print'file;21
  90. jmp index'file;24
  91. jmp ml'menu'entry;27
  92. jmp ml'multi'menu'entry;30
  93. jmp ml'brancher;33
  94. jmp ml'wrap ;36
  95. jmp ml'print'file;39
  96. jmp ml'index'file;42
  97. jmp ml'center;45
  98. jmp clear'buffer;48
  99. jmp change'cycle;51
  100. jmp ml'change'color;54
  101. jmp init'wrap ;57
  102. jmp init'page ;60
  103. jmp ml'init'wrap ;63
  104. jmp ml'init'page ;66
  105. jmp wrap'device ;69
  106. jmp ml'wrap'device;72
  107. jmp linx;75
  108. jmp replace;78
  109. jmp ml'replace;81
  110. ;mp wrap'til'zero
  111. ;mp ml'wrap'til'zero
  112. ;mp wrap'til'line
  113. ;mp ml'wrap'til'line
  114.  
  115. wizard'box jsr get'number
  116. sty minx
  117. jsr get'number
  118. sty minx+1
  119. jsr get'number
  120. sty minx+2
  121. jsr get'number
  122. sty minx+3
  123. jsr get'number
  124. sty minx+4
  125. jsr get'number
  126. sty minx+5
  127. ldx miny
  128. ldy #0
  129. clc
  130. jsr plot
  131. jsr old'rom'patch
  132.  
  133. ldy #39
  134. - lda (209),y
  135. sta buffer,y
  136. lda (243),y
  137. sta buffer+40,y
  138. dey
  139. bpl -
  140.  
  141. jsr ml+84
  142.  
  143. ldy #6
  144. - lda minx,y
  145. sta wizard'dimensions,y
  146. dey
  147. bpl -
  148.  
  149. jsr setup'frame
  150. jsr get'number
  151. sty wizard'dimensions+7
  152. tya
  153. clc
  154. adc #16
  155. sta color
  156. lda #0
  157. sta code
  158. jsr ml+84
  159. lda wizard'dimensions+7
  160. sta minx+5
  161. lda #0
  162. sta code
  163. ldy minx
  164. iny
  165. sty minx
  166. ldy maxx
  167. dey
  168. sty maxx
  169. ldy miny
  170. iny
  171. sty miny
  172. sty maxy
  173. jsr ml+84
  174. ldy minx
  175. ldx miny
  176. clc
  177. jsr plot
  178. lda wizard'dimensions+5
  179. sta 646
  180. lda #1
  181. sta 199
  182.  
  183. jsr get'string
  184. sta 251
  185. ldy #0
  186. - lda ($22),y
  187. jsr chrout
  188. iny
  189. cpy 251
  190. bne -
  191.  
  192. inc 211
  193. ldx wizard'dimensions+2
  194. ldy 211
  195. sty temp
  196. clc
  197. jsr plot
  198. jsr old'rom'patch
  199.  
  200. ldy temp
  201. - lda buffer,y
  202. sta (209),y
  203. lda buffer+40,y
  204. sta (243),y
  205. iny
  206. cpy #40
  207. bcc -
  208.  
  209. ldy temp
  210. dey
  211. lda #110
  212. sta (209),y
  213. lda wizard'dimensions+7
  214. sta 646
  215. sta (243),y
  216.  
  217. lda #crsr'down
  218. jsr chrout
  219. jsr old'rom'patch
  220. ldy temp
  221. dey
  222. lda #109
  223. sta (209),y
  224. lda 646
  225. sta (243),y
  226.  
  227. iny
  228. - lda #64
  229. sta (209),y
  230. lda 646
  231. sta (243),y
  232. iny
  233. cpy wizard'dimensions+1
  234. bcc -
  235.  
  236. ldy wizard'dimensions+1
  237. lda #110
  238. sta (209),y
  239. lda 646
  240. sta (243),y
  241.  
  242. ldy wizard'dimensions
  243. iny
  244. iny
  245. sty left'limit
  246. sty 211
  247. ldy #0
  248. sty word'index
  249. sty line'pos
  250. ldy wizard'dimensions+1
  251. dey
  252. dey
  253. sty right'limit
  254. lda wizard'dimensions+2
  255. clc
  256. adc #3
  257. sta 214
  258. jsr 58732
  259. jsr car'return
  260. lda wizard'dimensions+5
  261. sta 646
  262. lda wizard'dimensions+4
  263. and #128
  264. sta 199
  265. jsr clear'buffer
  266. jmp linx
  267.  
  268.  
  269. setup'frame lda #64
  270. sta v+11
  271. sta v+12
  272. lda #93
  273. sta v+13
  274. sta v+14
  275. lda #112
  276. sta v+15
  277. lda #110
  278. sta v+16
  279. lda #109
  280. sta v+17
  281. lda #125
  282. sta v+18
  283. lda #0
  284. sta v+10
  285.  
  286. rts
  287.  
  288. get'string jsr $aefd
  289. jsr $ad9e
  290. jsr $b6a3
  291.  
  292. ldx $22
  293. ldy $23
  294. rts
  295.  
  296. old'rom'patch lda 210
  297. sec
  298. sbc 648
  299. clc
  300. adc #$d8
  301. sta 244
  302. lda 209
  303. sta 243
  304. rts
  305.  
  306. get'number jsr $aefd
  307. jsr $ad8a
  308. jmp $b7f7
  309.  
  310. word'wrap sty temp
  311. ;ldy #0
  312. lda ($22),y
  313. ldy word'index
  314.  
  315. cmp "_"
  316. bne +
  317.  
  318. lda #13
  319.  
  320. + cmp #13
  321. bne +
  322. jsr print'word
  323. jsr car'return
  324. rts
  325.  
  326. + inc word'index
  327. sta buffer,y
  328.  
  329. cmp " "
  330. bne +
  331. jsr print'word
  332. rts
  333.  
  334. + lda line'pos
  335. clc
  336. adc word'index
  337. cmp right'limit
  338. bcc +
  339. jsr car'return
  340. lda line'pos
  341. clc
  342. adc word'index
  343. cmp right'limit
  344. bcc +
  345. jsr print'word
  346. jsr car'return
  347.  
  348. + rts
  349.  
  350. car'return lda #13
  351. jsr chrout
  352. lda wdevice
  353. cmp #3
  354. beq +
  355. ldy #0
  356. lda " "
  357. - jsr chrout
  358. iny
  359. cpy left'limit
  360. bcc -
  361. bcs ++
  362. + lda left'limit
  363. sta 211
  364. jsr 58732
  365. + lda left'limit
  366. sta line'pos
  367. lda reverse'flag
  368. sta 199
  369. inc line'number
  370. ldx line'number
  371. sta $14
  372. rts
  373.  
  374. print'word lda word'index
  375. bne +
  376. rts
  377. + ldy #0
  378. - lda buffer,y
  379. jsr chrout
  380. iny
  381. inc line'pos
  382. cpy word'index
  383. bne -
  384. lda #0
  385. sta word'index
  386. jsr clear'buffer
  387. rts
  388.  
  389. rom'out pha
  390. sei
  391. lda #$74
  392. sta 1
  393. pla
  394. rts
  395.  
  396. rom'in pha
  397. lda #$77
  398. sta 1
  399. cli
  400. pla
  401. rts
  402.  
  403. ml'init'page lda #0
  404. sta line'number
  405.  
  406. ml'init'wrap stx left'limit
  407. sty right'limit
  408. lda #0
  409. sta word'index
  410. sta line'pos
  411. rts
  412.  
  413. init'page lda #0
  414. sta line'number
  415.  
  416. init'wrap jsr get'number
  417. sty left'limit
  418. jsr get'number
  419. sty right'limit
  420. lda #0
  421. sta word'index
  422. sta line'pos
  423. rts
  424.  
  425. wrap jsr get'string
  426. ml'wrap sta temp+1
  427. cmp #0
  428. bne +
  429.  
  430. rts
  431.  
  432. + lda 199
  433. sta reverse'flag
  434. ldy #0
  435. - lda ($22),y
  436. jsr word'wrap
  437. ldy temp
  438. iny
  439. cpy temp+1
  440. bcc -
  441. rts
  442.  
  443.  
  444. change'cycle jsr get'number
  445. sty colors
  446. jsr get'number
  447. sty colors+1
  448. jsr get'number
  449. sty colors+2
  450. jsr get'number
  451. sty colors+3
  452. rts
  453.  
  454. ml'change'color stx 251
  455. sty 252
  456. jsr get'parameter
  457. sty colors
  458. jsr get'parameter
  459. sty colors+1
  460. jsr get'parameter
  461. sty colors+2
  462. jsr get'parameter
  463. sty colors+3
  464. rts
  465.  
  466.  
  467.  
  468.  
  469. multi'menu'entry ldy #0
  470. sty flag
  471. sty menu'side
  472. iny
  473. sty menu'type
  474. jsr get'number
  475. sty menuy
  476. jsr get'number
  477. sty menux1
  478. jsr get'number
  479. sty menux2
  480. jsr get'number
  481. sty menux3
  482. jsr get'number
  483. sty menux4
  484. jsr get'number
  485. sty menu'rows
  486. jsr get'number
  487. sty menu'text
  488. jsr get'number
  489. sty menu'highlight
  490. jsr get'number
  491. sty exit'key
  492.  
  493. jmp find'bottom
  494.  
  495. ;sys,addr y,x1,x2,number items,text,highlight,esc
  496.  
  497. menu'entry lda #0
  498. sta temp
  499. sta flag
  500. sta menu'type
  501. sta menu'side
  502. - jsr get'number
  503. ldy temp
  504. lda $14
  505. sta menuy,y
  506. inc temp
  507. cpy #6
  508. bne -
  509.  
  510. find'bottom lda 53287
  511. sta mouse'color
  512. lda menu'items
  513. clc
  514. adc menuy
  515. sta menu'bottom
  516.  
  517. menu jsr linx
  518. ldx menuy
  519. ldy #0
  520. sty menu'current
  521. clc
  522. jsr plot
  523. jsr old'rom'patch
  524. lda menu'highlight
  525. sta mcolor
  526. jsr paint'line
  527.  
  528. menu'wait lda #0
  529. sta key
  530. lda 197
  531. cmp #7
  532. bne +
  533. jmp regular
  534. + cmp #2
  535. bne +
  536. jmp regular
  537. + jsr ml+66
  538. fix'color inc cycle
  539. ldy cycle
  540. cpy #4
  541. bcc cycle'okay
  542. ldy #0
  543. sty cycle
  544. cycle'okay lda colors,y
  545. sta 53287
  546. lda feedback+32
  547. cmp menuy
  548. bcc regular
  549. cmp menu'bottom
  550. bcs regular
  551. lda feedback+31
  552. cmp menux1
  553. bcc regular
  554. lda menux2
  555. cmp feedback+31
  556. bcc isitright
  557.  
  558. + lda #0
  559. sta menu'side
  560. lda feedback+34;check click
  561. beq +
  562. jsr adjust'highlight
  563. jmp menu'select
  564.  
  565. + lda menu'side
  566. cmp last'side
  567. bne ++
  568.  
  569. + lda feedback+32
  570. cmp last
  571. beq isitright
  572. + jsr adjust'highlight
  573. jmp highlight
  574.  
  575. isitright lda menu'type
  576. beq regular
  577. lda feedback+31
  578. cmp menux3
  579. bcc regular
  580. lda menux4
  581. cmp feedback+31
  582. bcc regular
  583.  
  584. + lda #1
  585. sta menu'side
  586. lda feedback+34;check click
  587. beq +
  588. jsr adjust'highlight
  589. jmp menu'select
  590.  
  591. + lda menu'side
  592. cmp last'side
  593. bne ++
  594.  
  595. + lda feedback+32
  596. cmp last
  597. beq regular
  598. + jsr adjust'highlight
  599. jmp highlight
  600.  
  601. - jmp menu'wait
  602. regular lda feedback+34
  603. beq +
  604. lda exit'key
  605. sta 631
  606. lda #1
  607. sta 198
  608. dec flag
  609. + jsr getin
  610. beq -
  611.  
  612. ldx menu'current
  613. stx temp
  614.  
  615. cmp #crsr'down
  616. beq menu'down
  617.  
  618. cmp #crsr'up
  619. beq menu'up
  620.  
  621. cmp #crsr'left
  622. beq menu'switch
  623.  
  624. cmp #crsr'right
  625. beq menu'switch
  626.  
  627. cmp #13
  628. beq menu'select
  629.  
  630. cmp exit'key
  631. bne menu'wait'loop
  632. lda #255
  633. sta menu'current
  634. dec flag
  635. bmi menu'select
  636.  
  637. menu'wait'loop jmp menu'wait
  638.  
  639. menu'down inc key
  640. inc menu'current
  641. lda menu'current
  642. cmp menu'items
  643. beq +
  644. jmp highlight
  645. + lda #0
  646. sta menu'current
  647. lda menu'type
  648. beq highlight
  649. lda #1
  650. sec
  651. sbc menu'side
  652. sta menu'side
  653. jmp highlight
  654.  
  655. menu'up inc key
  656. dec menu'current
  657. lda menu'current
  658. cmp #255
  659. beq +
  660. jmp highlight
  661.  
  662. + ldy menu'items
  663. dey
  664. sty menu'current
  665. menu'switch inc key
  666. lda menu'type
  667. beq highlight
  668. lda #1
  669. sec
  670. sbc menu'side
  671. sta menu'side
  672. jmp highlight
  673.  
  674. menu'select lda mouse'color
  675. sta 53287
  676. lda menu'current
  677. clc
  678. adc menuy
  679. tax
  680. ldy #0
  681. jsr plot
  682. jsr old'rom'patch
  683. lda menu'text
  684. sta mcolor
  685. jsr paint'line
  686.  
  687. bit flag
  688. beq +
  689. ldy #0
  690. sty menu'side
  691. beq ++
  692. + ldy menu'current
  693. iny
  694. + sty 251
  695. lda menu'side
  696. beq +
  697. lda menu'items
  698. clc
  699. adc 251
  700. sta 251
  701.  
  702. +  ldx 251
  703. ldy #0
  704. lda "i"
  705. jmp make'variable
  706.  
  707. highlight lda menuy
  708. clc
  709. adc temp
  710. tax
  711. ldy #0
  712. clc
  713. jsr plot
  714. jsr old'rom'patch
  715. lda menu'text
  716. sta mcolor
  717. lda menu'side
  718. pha
  719. lda last'side
  720. sta menu'side
  721. jsr paint'line
  722. pla
  723. sta menu'side
  724.  
  725. lda menuy
  726. clc
  727. adc menu'current
  728. tax
  729. ldy #0
  730. clc
  731. jsr plot
  732. jsr old'rom'patch
  733. lda menu'highlight
  734. sta mcolor
  735. jsr paint'line
  736.  
  737. jmp menu'wait
  738.  
  739. paint'line lda menu'side
  740. bne paint'other'side
  741. ldy menux1
  742. - lda mcolor
  743. sta (243),y
  744. bmi +
  745. lda (209),y
  746. eor #128
  747. sta (209),y
  748. + iny
  749. cpy menux2
  750. beq -
  751. bcc -
  752. lda #0
  753. sta last'side
  754. lda key
  755. beq +
  756. ldx menux2
  757. ldy 214
  758. jsr mouse+78
  759. + rts
  760.  
  761. paint'other'side ldy menux3
  762. - lda mcolor
  763. sta (243),y
  764. bmi +
  765. lda (209),y
  766. eor #128
  767. sta (209),y
  768. + iny
  769. cpy menux4
  770. beq -
  771. bcc -
  772. lda #1
  773. sta last'side
  774. lda key
  775. beq +
  776. ldx menux3
  777. ldy 214
  778. jsr mouse+78
  779. + rts
  780.  
  781.  
  782. print'string ldy #0
  783. - lda ($22),y
  784. jsr chrout
  785. iny
  786. cpy temp
  787. bne -
  788. rts
  789.  
  790. ml'center sta temp;store string location in $22
  791. tya;store line number in y
  792. tax;store string length in a
  793. ldy #0
  794. clc
  795. jsr plot
  796. lda temp
  797. jmp +
  798.  
  799. center jsr get'number
  800. tya
  801. tax
  802. ldy #0
  803. clc
  804. jsr plot
  805.  
  806. jsr get'string
  807. sta temp
  808.  
  809. + lsr
  810. sta flag
  811. lda #20
  812. sec
  813. sbc flag
  814. sta 211
  815. jsr 58732
  816. jmp print'string
  817.  
  818. ;poll'mouse jsr ml+66
  819. ;ldy #40
  820. ;getvars lda v,y
  821. ;sta feedback,y
  822. ;dey
  823. ;bpl getvars
  824. ;rts
  825.  
  826. adjust'highlight lda menu'current
  827. sta temp
  828. lda feedback+32
  829. sta last
  830. sec
  831. sbc menuy
  832. sta menu'current
  833. rts
  834.  
  835. brancher lda #0
  836. sta 251
  837. jsr get'string
  838. mlb sta 252
  839. jsr getin
  840.  
  841. ldy #0
  842. - cmp ($22),y
  843. bne +
  844. iny
  845. tya
  846. tax
  847. outwego ldy #0
  848. lda "i"
  849. jmp make'variable
  850.  
  851. + iny
  852. cpy 252
  853. bne -
  854. ldx #0
  855. jmp outwego
  856.  
  857. linx ldy #24
  858. - lda 217,y
  859. ora #128
  860. sta 217,y
  861. dey
  862. bpl -
  863. rts
  864.  
  865. find'file jsr get'number
  866. sta 252
  867. sty 251
  868. jsr get'number
  869. sty 253
  870. sta 254
  871. ml'find ldy #4
  872. - asl 253
  873. rol 254
  874. dey
  875. bpl -
  876.  
  877. lda 253
  878. clc
  879. adc 251
  880. sta $14
  881. lda 254
  882. adc 252
  883. sta $15
  884.  
  885. ldy #3
  886. - jsr rom'out
  887. lda ($14),y
  888. jsr rom'in
  889. iny
  890. cmp #34
  891. beq +
  892. bne -
  893.  
  894. + rts
  895.  
  896. print'file jsr linx
  897. jsr get'number
  898. sty 211
  899. jsr get'number
  900. sty 214
  901. jsr 58732
  902. jsr find'file
  903. mlp =*
  904. - jsr rom'out
  905. lda ($14),y
  906. jsr rom'in
  907. cmp #34
  908. beq +
  909. jsr chrout
  910. iny
  911. bne -
  912. + rts
  913.  
  914. index'file jsr find'file
  915. ldx #0
  916. - jsr rom'out
  917. lda ($14),y
  918. jsr rom'in
  919. cmp #34
  920. beq +
  921. sta buffer,x
  922. inx
  923. iny
  924. bne -
  925. + stx wlength
  926. bit output
  927. bmi +
  928. jmp make'wstring
  929. + ldx <buffer
  930. ldy >buffer
  931. lda wlength
  932. rts
  933.  
  934. bload jsr get'string
  935. jsr setnam
  936. jsr get'number
  937. tya
  938. tax
  939. lda #1
  940. ldy #0
  941. jsr setlfs
  942. jsr get'number
  943. sty dir
  944. sta dir+1
  945. ldx $14
  946. ldy $15
  947. lda #0
  948. jsr load
  949. lda 174
  950. sec
  951. sbc dir
  952. sta 251
  953. lda 175
  954. sbc dir+1
  955. sta 252
  956. ldy #4
  957. - lsr 252
  958. ror 251
  959. dey
  960. bpl -
  961. lda 251
  962. sec
  963. sbc #1
  964. sta 251
  965. lda 252
  966. sbc #0
  967. sta 252
  968. ldx 251
  969. ldy 252
  970. lda "n"
  971. jmp make'variable
  972.  
  973. make'variable bit output
  974. bpl +
  975. inc output
  976. rts
  977. + stx 201
  978. sty 202
  979. sta 251;accumulator should hold var name
  980. lda "%"
  981. sta 252
  982. lda #0
  983. sta 253
  984. lda $7a
  985. pha
  986. lda $7b
  987. pha
  988.  
  989. lda <251
  990. sta $7a
  991. lda >251
  992. sta $7b
  993. jsr $b08b
  994. ldy #0
  995. lda 202 ;high byte
  996. sta ($47),y
  997. iny
  998. lda 201;low byte
  999. sta ($47),y
  1000. pla
  1001. sta $7b
  1002. pla
  1003. sta $7a
  1004. rts
  1005.  
  1006. locvar lda $7a
  1007. pha
  1008. lda $7b
  1009. pha
  1010. stx $7a
  1011. sty $7b
  1012. jsr $b08b
  1013. sta $49
  1014. sty $4a
  1015. pla
  1016. sta $7b
  1017. pla
  1018. sta $7a
  1019. rts
  1020.  
  1021. set'string sta $64
  1022. sty $65
  1023. jmp $aa52
  1024.  
  1025. make'wstring bit output
  1026. bpl +
  1027. inc output
  1028. lda wlength
  1029. rts
  1030. + ldx <string'name
  1031. ldy >string'name
  1032. jsr locvar
  1033. lda <wlength
  1034. ldy >wlength
  1035. jsr set'string
  1036.  
  1037. clear'buffer ldy #79
  1038. lda #0
  1039. sta 212
  1040. - sta buffer,y
  1041. dey
  1042. bpl -
  1043. rts
  1044.  
  1045. ml'menu'entry stx 251
  1046. sty 252
  1047. lda #255
  1048. sta output
  1049. ldy #6
  1050. jsr rom'out
  1051. - lda (251),y
  1052. sta menuy,y
  1053. dey
  1054. bpl -
  1055. jsr rom'in
  1056. lda #0
  1057. sta flag
  1058. sta menu'type
  1059. sta menu'side
  1060. jmp find'bottom
  1061.  
  1062. ml'multi'menu'entry stx 251
  1063. sty 252
  1064. ldy #0
  1065. sty flag
  1066. sty menu'side
  1067. iny
  1068. sty menu'type
  1069. lda #255
  1070. sta output
  1071. jsr get'parameter
  1072. sty menuy
  1073. jsr get'parameter
  1074. sty menux1
  1075. jsr get'parameter
  1076. sty menux2
  1077. jsr get'parameter
  1078. sty menux3
  1079. jsr get'parameter
  1080. sty menux4
  1081. jsr get'parameter
  1082. sty menu'rows
  1083. jsr get'parameter
  1084. sty menu'text
  1085. jsr get'parameter
  1086. sty menu'highlight
  1087. jsr get'parameter
  1088. sty exit'key
  1089.  
  1090. jmp find'bottom
  1091.  
  1092. get'parameter ldy #0
  1093. lda (251),y
  1094. inc 251
  1095. bne +
  1096. inc 252
  1097. + tay
  1098. rts
  1099.  
  1100. ml'brancher stx $22
  1101. sty $23
  1102. dec output
  1103. jmp mlb
  1104.  
  1105. ml'print'file jsr ml'find
  1106. jmp mlp
  1107.  
  1108. ml'index'file lda #255
  1109. sta output
  1110. jsr ml'find
  1111. jmp index'file+3
  1112.  
  1113. wrap'device jsr get'number
  1114. ml'wrap'device sty wdevice
  1115. rts
  1116.  
  1117. ml'replace stx temp
  1118. sty temp+1
  1119. sta temp
  1120. jmp +
  1121. replace jsr get'number
  1122. sty temp
  1123. jsr get'number
  1124. sty temp+1
  1125. jsr get'string
  1126. sta temp+2
  1127. + ldy #0
  1128. - lda ($22),y
  1129. cmp temp
  1130. bne +
  1131. lda temp+1
  1132. sta ($22),y
  1133. + iny
  1134. cpy temp
  1135. bcc -
  1136. rts
  1137.  
  1138. ;jmp wrap'til'zero jsr get'number
  1139. ;sty $22
  1140. ;sta $23
  1141. ;ml'wrap'til'zero ldy #0
  1142. ;lda ($22),y
  1143.  
  1144.  
  1145.  
  1146.  
  1147. ;jmp wrap'til'line
  1148. ;jmp ml'wrap'til'line
  1149.  
  1150.  
  1151. wdevice .byt 3
  1152. string'name .asc "f$":.byt 0
  1153. wlength .byt 0
  1154. .word buffer
  1155.  
  1156. last .byt 0
  1157.  
  1158. ;mouse'loc .word ml
  1159. ;v'loc .word ml+111
  1160. ;minx'loc .word ml+132
  1161.  
  1162. menuy .byt 0
  1163. menux1 .byt 0
  1164. menux2 .byt 0
  1165. menu'items .byt 0
  1166. menu'rows =menu'items
  1167. menu'text .byt 0
  1168. menu'highlight .byt 0
  1169. exit'key .byt 0
  1170. menu'bottom .byt 0
  1171. menu'current .byt 0
  1172. mcolor .byt 0
  1173. menux3 .byt 0
  1174. menux4 .byt 0
  1175. menu'side .byt 0
  1176. last'side .byt 0
  1177. menu'type .byt 0
  1178. left .byt 0
  1179. right .byt 0
  1180. x1 .byt 0
  1181. x2 .byt 1
  1182. y1 .byt 2
  1183. y2 .byt 3
  1184. screen'code .byt 4
  1185. box'color .byt 5
  1186. flag .byt 6
  1187. key .byt 0
  1188. colors .byt 1,1,1,1 
  1189. cycle .byt 0
  1190. mouse'color .byt 0
  1191.  
  1192. output .byt 0
  1193. dir .word 0
  1194. files .word 0
  1195.  
  1196. right'limit .byt 37
  1197. left'limit .byt 1
  1198. reverse'flag .byt 0
  1199. last'char .byt 0
  1200. word'index .byt 0
  1201. line'pos .byt 0
  1202. line'number .byt 0
  1203.  
  1204. temp .buf 5
  1205. device .byt 0
  1206. wizard'dimensions .buf 10
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213.