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

  1. qv_load
  2. prg FORMATTED geos FILE v1.0
  3. cope sOURCE v1.1
  4. qUICKvIEW
  5. cope eDITOR v1.3
  6. uNTITLED
  7. BmPmUm
  8. n%n-n
  9. ; load routine
  10. ; rOUTINE FOR qUICKvIEW, LOADS AND RELOADS BUFFER FOR
  11. ; GEOwRITE iMAGE FILES.
  12. JSR I_iMPRINTrECTANGLE
  13. .bYTE 0,199
  14. .wORD 0,319
  15.  LDA #0
  16.  STA eXITbYTE
  17.  STA cURrECORD
  18.  JSR tESTdRIVE
  19.  lda cANCELfLAG
  20.  cmp #2
  21.  beq @lolo3x
  22.  lda fname
  23.  beq @lolo3x
  24.  jsr setupm
  25. @lolo3x
  26.  lda #2
  27.  sta cANCELfLAG
  28. ;====
  29. ; drive/disk SWITCHING ROUTINES.
  30. ; TEST HERE FOR SIZE
  31. tESTdRIVE
  32.  lda #0
  33.  sta fname
  34. LDA #0
  35. STA cANCELfLAG
  36.  JSR dRIVEiNFO
  37. LOADW r0:VNdb
  38. LOADW r5:fname
  39. LOADW r10:DTAIMG
  40.  LDA #7
  41.  STA r7
  42.  jsr $c256
  43.  lda r0
  44.  cmp #2
  45.  bne @VNexit
  46.  sta cANCELfLAG
  47. @VNexit
  48.  CMP #20
  49.  BNE @vn1
  50.  JSR cHANGEdRIVE
  51.  BRANCH @vL1
  52.  CMP #6
  53.  BNE @vn2
  54.  JSR cHANGEdISK
  55.  LDA cANCELfLAG
  56.  CMP #2
  57.  BEQ @vn2
  58.  BRANCH @vL1
  59. ;----
  60. dRIVEiNFO
  61.  LDA NUMdRIVES
  62.  CMP #2
  63.  BCS @dRIVE2
  64. dRIVE1
  65.  LDA #0
  66.  STA drive
  67.  BEQ @dOdb
  68. @dRIVE2
  69.  LDA #18
  70.  STA drive
  71. @dOdb
  72.  LDX #r4
  73.  JSR gETpTRcURdKnM
  74.  LDY #0
  75.  LDA (r4),y
  76.  CMP #$a0
  77.  BEQ @dO2
  78.  STA dISKsTR,Y
  79.  CPY #16
  80.  BNE @dO1
  81.  LDA #0
  82.  STA dISKsTR,Y
  83.  LDA CURdRIVE
  84.  ADC #57
  85.  STA dSK1
  86. ;----
  87. .byte 128+2
  88. .bYTE 2,17,41 ; cancel ICON
  89. .bYTE 5,17,23 ; openo
  90. .bYTE 16 ;GET dbFILES
  91. .bYTE 4,4
  92. .bYTE 11,131,9 ; tEXTsTRING
  93. .wORD dSK
  94. .bYTE 11,131,19 ; tEXTsTRING
  95. .wORD dISKsTR
  96. .bYTE 6,17,77
  97. drive
  98. .bYTE 18,17,59
  99. .wORD dRIVE_iCON_dATA
  100. .bYTE 0
  101. ;=====
  102. cHANGEdRIVE
  103.  LDA CURdRIVE
  104.  eor #1
  105. cHANGEdRIVE1
  106.  JSR sETdEVICE
  107. cHANGEdISK
  108. LOADW r0:dISKdb
  109.  jsr $c256
  110.  LDA r0
  111.  CMP #2
  112.  BEQ @sKdISK
  113.  LDA CURdRIVE
  114.  JSR $c2b0
  115.  JSR $c2a1
  116. @sKdISK
  117.  STA cANCELfLAG
  118. dISKdb
  119.  .bYTE 128+2
  120.  .bYTE 11,4,16
  121.  .wORD dSKmSSG
  122.  .bYTE 2,17,68
  123.  .bYTE 1,17,40
  124.  .bYTE 0
  125. dSKmSSG .bYTE bold,'iNSERT DISK INTO DRIVE',plain,0
  126. ;=============
  127.  LDA #20
  128.  STA SYSdbdATA
  129.  JMP $c2bf
  130. ;========
  131. dRIVE_iCON_dATA
  132. .wORD diCN
  133. .bYTE 0,0
  134. .bYTE 6,16
  135. .wORD ds1
  136. ;=====
  137. DTAIMG .bYTE 'wRITE iMAGE',0
  138. dISKsTR .bLOCK 17,0
  139. dSK .bYTE bold,'dRIVE: '
  140. dSK1 .bYTE 'a',plain,0
  141. .bYTE 5,$ff,$82,$fe,$80,4,0,$82,3
  142. .bYTE $80,4,0,$b8,3,$81,$f0,1,$80,0,3,$81,$98,0,0,0
  143. .bYTE 3,$81,$8d,$fb,$b3,$3c,3,$81,$8d,$c1,$b3,$66
  144. .bYTE 3,$81,$8d,$81,$b3,$66,3,$81,$8d,$81,$9e,$7e
  145. .bYTE 3,$81,$8d,$81,$9e,$60,3,$81,$99,$81,$8c,$66,3,$81
  146. .bYTE $f1,$81,$8c,$3c,3,$80,4,0,$82,3,$80,4,0,$81,3
  147. .bYTE 6,$ff,$81,$7f,5,$ff
  148. ;====
  149. ;-----
  150. oVReX
  151. LOADW r0:oe1
  152.  jsr $c256
  153. .byte 128+2,2,17,68
  154. .bYTE 11,4,16
  155. .word oes1
  156. ; db text string
  157. .byte 11,24,28
  158. .word oes2
  159. .byte 0
  160. oes1 .byte bold,'tHIS vERSION CANNOT',0
  161. oes2 .byte 'BE EDITED.',plain,0
  162. ;=======
  163. setupm
  164.  LDA #0
  165.  STA nOrECORD
  166. LOADW r6:fname
  167.  JSR $c20b
  168. LOADW r9:DIReNTRYbUF
  169.  JSR gETfhDRiNFO
  170.  JSR tESTvERSION; CHECK VERSION OF THIS FILE.
  171.  BMI @UNDER; UNDER IS THE DEFAULT VERSION USEFUL TO
  172. ; THIS PROGRAM.. tHATS AT v2.0 RIGHT NOW.
  173.  BNE oVReX
  174. @UNDER
  175.  LDA fILEhEADER+70
  176. LOADW r0:fname
  177.  JSR oPENrECORDfILE
  178.  LDA cURrECORD
  179.  JSR pOINTrECORD
  180. ; DO DISK ERRORS HERE.
  181. ; IF LAST RECORD THEN ASK TO CREATE.
  182.  beq @LZP3
  183.  JSR cLOSErECORDfILE
  184.  LDA CURrECORD
  185.  STA cURrECORD
  186. @LZP3
  187.  BNE @LZP4
  188.  JSR cLOSErECORDfILE
  189.  LDA CURrECORD
  190.  STA cURrECORD
  191.  LDA #1
  192.  STA nOrECORD
  193. ;----
  194. @LZP4
  195. LOADW r7:$4000
  196. LOADW r2:$2000
  197.  JSR rEADrECORD
  198.  JSR cLOSErECORDfILE
  199.  LDA CURrECORD
  200.  STA cURrECORD
  201. MOVEW r7:eob
  202.  ldx #eob
  203.  jsr $c175
  204. MOVEW sob:cbp
  205.  LDX sob; sob IS POINTINT ONE BYTE BELOW THE CHAR
  206.  DEX    ; MODE BYTE
  207.  LDA $4000,x
  208.  STA cVcHAR
  209. ;-----
  210. tESTvERSION
  211.  LDA fILEhEADER+90
  212.  CMP #'2 ; CHARACTER VALUE OF 2
  213.  BEQ @tvO
  214.  BCS @tvO1
  215.  LDA #24
  216.  STA sob
  217.  LDA fILEhEADER+92
  218.  CMP #'1 ; CHARACTER VALUE OF 1
  219.  BCC @tvUNDER
  220.  BCS @tvEQUAL
  221.  LDA #31; WAS #32
  222.  STA sob
  223.  LDA fILEhEADER+92
  224.  CMP #'2 ; WAS #'0 AND BEQ BELOW
  225.  BCC @tvEQUAL ; WAS BEQ @tvEQUAL
  226. @tvO1
  227.  LDA #1
  228.  BNE @tVeX
  229. @tvUNDER
  230.  LDA #$ff
  231.  BNE @tVeX
  232. @tvEQUAL
  233.  LDA #0
  234. @tVeX
  235.  STA vERbYT; vERSION BYTE IS UPGRADED ON EACH LOAD.
  236. vERbYT .bYTE 0
  237. ;-----
  238.