home *** CD-ROM | disk | FTP | other *** search
/ CBM Funet Archive / cbm-funet-archive-2003.iso / cbm / geos / programming / CopeAssembler.lnx / QV_UTILITY (.txt) < prev    next >
Encoding:
GEOS ConVerT  |  1999-06-16  |  3.5 KB  |  252 lines

  1. qv_utility
  2. prg FORMATTED geos FILE v1.0
  3. cope sOURCE v1.1
  4. qUICKvIEW
  5. cope eDITOR v1.2
  6. uNTITLED
  7. utility
  8. k k%k0k
  9. ; utility'S FOR qUICKvIEW
  10. ;-----*
  11. prtout
  12.  cmp #13
  13.  beq @enlin
  14.  cmp #32
  15.  bcc @noprt
  16.  cmp #129
  17.  bcs @noprt
  18.  jsr pUTcHAR
  19.  JSR setupb
  20. @noprt
  21. @enlin
  22.  JSR eXlb
  23.  lda ypos1
  24.  adc #10
  25.  sta ypos1
  26.  cmp #183-8-4
  27.  bcc @az
  28.  LDA #10; THIS MIGHT CHANGE
  29.  LDX #0
  30.  LDY #183-8+3-4
  31.  JSR mOVEsCREEN
  32. ; jsr I_mOVEdATA
  33. ;.word $a000+320
  34. ;.word $a000
  35. ;.word 8000-640-320
  36.  lda ypos1
  37.  sbc #10
  38.  sta ypos1
  39.  BRANCH @enl
  40.  lda #0
  41.  sta xpos1
  42.  sta xpos1+1
  43.  JSR eXlbA
  44.  jsr setupa
  45. ypos1 .byte 10
  46. xpos1 .wORD 0
  47. setupa
  48.  ldx ypos1
  49.  stx r1+1
  50.  ldx xpos1
  51.  stx r11
  52.  ldx xpos1+1
  53.  stx r11+1
  54. setupb
  55.  ldx r1+1
  56.  stx ypos1
  57.  ldx r11
  58.  stx xpos1
  59.  ldx r11+1
  60.  stx xpos1+1
  61. ;-----
  62. cVcRD; CONVERT CARD BIT TO BYTE.
  63. ; ENTRY WITH a HOLDING BIT VALUE
  64.  STA cVcHAR
  65. cVcRD1
  66.  LDA #27
  67.  JSR pUTcHAR
  68.  LDA cVcHAR
  69.  BEQ @O4
  70.  LDA cVcHAR
  71.  and #128; SET_UNDERLINE
  72.  BEQ  @O1
  73.  LDA #14
  74.  JSR pUTcHAR
  75.  LDA cVcHAR
  76.  and #64;SET_BOLD
  77.  BEQ @O2
  78.  LDA #24
  79.  JSR pUTcHAR
  80.  LDA cVcHAR
  81.  and #16; iTALIC'S
  82.  BEQ @O3
  83.  LDA #25
  84.  JSR pUTcHAR
  85.  LDA cVcHAR
  86.  and #8; oUTLINE
  87.  BEQ @O4
  88.  LDA #26
  89.  JSR pUTcHAR
  90. cVcHAR .bYTE 0
  91.  lda #1
  92.  sta r4+1
  93.  lda #63
  94.  sta r4
  95.  lda r1+1
  96.  sbc #7
  97.  sta r2
  98.  adc #10
  99.  sta r2+1
  100.  lda r11
  101.  sta r3
  102.  lda r11+1
  103.  beq @j2
  104.  lda r3
  105.  cmp #64
  106.  bcs @j1
  107.  lda r11+1
  108.  sta r3+1
  109.  jsr rECTANGLE
  110. eXlbA
  111.  lda #1
  112.  sta r4+1
  113.  lda #63
  114.  sta r4
  115.  lda ypos1
  116.  ADC #3
  117.  sta r2
  118.  LDA #183
  119.  sta r2+1
  120.  lda #0
  121.  sta r3
  122.  sta r3+1
  123.  jsr rECTANGLE
  124. ;-----
  125. pAUSE
  126.  JSR setupb
  127.  LDA pAUSEbYTE
  128.  eor #1
  129.  STA pAUSEbYTE
  130. pAUSErOUTINE
  131.  LDA #184
  132.  STA r2
  133.  LDA #199
  134.  STA r2+1
  135.  LDA #17*8
  136.  STA r3
  137.  LDA #23*8
  138.  STA r4
  139.  LDA #0
  140.  STA r3+1
  141.  STA r4+1
  142.  JSR iNVERTrECTANGLE
  143.  LDA #128
  144.  STA $8505
  145.  JSR setupa
  146. ;----
  147.  LDA $8505
  148.  bmi @pb3
  149.  JSR setupb
  150.  LDA #184
  151.  STA r2
  152.  LDA #199
  153.  STA r2+1
  154.  LDA #17*8
  155.  STA r3
  156.  LDA #23*8
  157.  STA r4
  158.  LDA #0
  159.  STA r3+1
  160.  STA r4+1
  161.  JSR iSmSEiNrEGION
  162.  BEQ @pb2
  163.  JSR pAUSE
  164.  LDA #184
  165.  STA r2
  166.  LDA #199
  167.  STA r2+1
  168.  LDA #34*8
  169.  STA r3
  170.  LDA #39*8+7
  171.  STA r4
  172.  LDA #1
  173.  STA r3+1
  174.  STA r4+1
  175.  JSR iSmSEiNrEGION
  176.  BEQ @pb3A
  177.  JSR eXITlIST
  178. @pb3A
  179.  JSR setupa
  180. pAUSEbYTE .bYTE 0
  181. eXITbYTE .bYTE 0
  182. ;====
  183. eXITlIST
  184.  LDA #1
  185.  STA eXITbYTE
  186.  LDA #184
  187.  STA r2
  188.  LDA #199
  189.  STA r2+1
  190.  LDA #34*8
  191.  STA r3
  192.  LDA #39*8+7
  193.  STA r4
  194.  LDA #1
  195.  STA r3+1
  196.  STA r4+1
  197.  JSR iNVERTrECTANGLE
  198.  LDA #128
  199.  STA $8505
  200. ; LOOP TO WASTE TIME
  201.  LDA #0
  202.  STA y_rEG
  203. @yr_LOOP
  204.  LDA #0
  205.  STA x_rEG
  206. @xr_LOOP
  207.  DEC x_rEG
  208.  BNE @xr_LOOP
  209.  DEC y_rEG
  210.  BNE @yr_LOOP
  211.  JSR iNVERTrECTANGLE
  212.  JSR setupa
  213. y_rEG .bYTE 0
  214. x_rEG .bYTE 0
  215. mOVEsCREEN
  216. ; dest SCREEN POSITION TO MOVE TO
  217. ; source SCREEN POSITION TO MOVE FROM
  218. ; length FIRST POSITION TO MOVE UNTIL (NEVER > 199)
  219.  STX dest
  220.  STA source
  221.  sty length
  222. @blp3
  223.  LDX dest
  224.  JSR gETsCANlINE
  225.  MOVEW r5:dEST
  226.  LDX source
  227.  JSR gETsCANlINE
  228.  MOVEW r5:sOURCE
  229.  LDY #0
  230. @blp1
  231.  LDA (sOURCE),y
  232.  STA (dEST),y
  233.  ADC #8
  234.  BNE @blp1
  235.  INC sOURCE+1
  236.  INC dEST+1
  237. @blp2
  238.  LDA (sOURCE),y
  239.  STA (dEST),y
  240.  ADC #8
  241.  CPY #64
  242.  BCC @blp2
  243.  inc dest
  244.  inc source
  245.  LDA source
  246.  CMP length
  247.  BCC @blp3
  248.  BEQ @blp3
  249. dest .bYTE 0
  250. source .bYTE 0
  251. length .bYTE 0
  252.