home *** CD-ROM | disk | FTP | other *** search
/ Set of Apple II Hard Drive Images / eric.hdv / SOURCE / DHRTEST.SRC.txt < prev    next >
Text File  |  2020-08-13  |  6KB  |  282 lines

  1. ; DOUBLE HIRES TEST - DRAW BOARD FOR DANCNING NOTES
  2. ;
  3.          ORG $7000
  4. ;
  5. ZPTR     EQU $06
  6. ;
  7. INITDHR  STA $C050 ;TEXT OFF
  8.          STA $C057 ;HI RES ON
  9.          STA $C052 ;FULL SCREEN
  10.          STA $C00D ;80 COLUMNS ON
  11.          STA $C05E ;ANNUNCIATOR 3 ON
  12.          STA $C001 ;80 STORE ON - ALLOWS PAGE2 TO SWITCH MAIN/AUX
  13.          STA $C055 ;ACCESS AUX MEMORY
  14.          JSR CLEARSCR
  15.          STA $C054 ;ACCESS MAIN MEMORY
  16.          JSR CLEARSCR
  17.          JSR DRAWGRID
  18. WAIT     LDA $C000
  19.          BPL WAIT
  20.          STA $C051 ;TEXT ON
  21.          STA $C056 ;HIRES OFF
  22.          STA $C00C ;80COL OFF
  23.          STA $C054 ;PAGE 1
  24.          STA $C05E ;TURN OFF AN3
  25.          RTS
  26. ;
  27. CLEARSCR LDA #$20
  28.          STA ZPTR+1
  29.          LDA #$00
  30.          STA ZPTR
  31. CLEARSC1 LDA #$00
  32.          LDY #$00
  33. CLEARSC2 STA (ZPTR),Y
  34.          INY
  35.          BNE CLEARSC2
  36.          INC ZPTR+1
  37.          LDA ZPTR+1
  38.          CMP #$40
  39.          BCC CLEARSC1
  40.          RTS
  41. ;
  42. DRAWGRID LDY #$00
  43.          JSR HORIZLN
  44.          LDY #177
  45.          JSR HORIZLN
  46.          JSR VERTLNS
  47.          JSR DRAWNUMS
  48.          JSR CHARTEST
  49.          RTS
  50. ;
  51. DRAWNUMS LDA #$00
  52.          STA NUMPTR
  53. NUMLOOP  LDA NUMPTR
  54.          TAX
  55.          LDA NUMDATA+1,X
  56.          TAY
  57.          LDA NUMDATA+2,X
  58.          PHA
  59.          LDA NUMDATA,X
  60.          TAX
  61.          PLA
  62.          JSR DRAWNUM
  63.          INC NUMPTR
  64.          INC NUMPTR
  65.          INC NUMPTR
  66.          LDA NUMPTR
  67.          CMP NUMCOUNT
  68.          BNE NUMLOOP
  69.          RTS
  70. ;
  71. CHARTEST LDA #$00
  72.          STA CHRPTR
  73. CHRLOOP  LDA CHRPTR
  74.          TAX
  75.          LDA UCSPOS+1,X
  76.          TAY
  77.          LDA UCSPOS+2,X
  78.          PHA
  79.          LDA UCSPOS,X
  80.          TAX
  81.          PLA
  82.          JSR DRAWCHAR
  83.          INC CHRPTR
  84.          INC CHRPTR
  85.          INC CHRPTR
  86.          LDA CHRPTR
  87.          CMP CHRCOUNT
  88.          BNE CHRLOOP
  89.          RTS
  90. ;
  91. ; DATA FOR ROW OF NUMBERS TO BE DRAWN ACROSS SCREEN
  92. ; EVERY 3 BYTES INDICATES XCOORD, YCOORD, AND CHARACTER
  93. ;
  94. NUMPTR   DFB 00
  95. NUMCOUNT DFB 69
  96. NUMDATA  DFB 2,179,1,7,179,2,12,179,3,17,179,4,22,179,5
  97.          DFB 27,179,6,32,179,7,37,179,8,42,179,9
  98.          DFB 46,179,1,47,179,0,51,179,1,52,179,1
  99.          DFB 56,179,1,57,179,2,61,179,1,62,179,3
  100.          DFB 66,179,1,67,179,4,71,179,1,72,179,5
  101.          DFB 76,179,1,77,179,6
  102. ;
  103. CHRPTR   DFB 00
  104. CHRCOUNT DFB 255
  105. UCSPOS   DFB 0,172,0,1,170,1,0,167,2,1,165,3
  106.          DFB 0,162,4,0,157,5,1,155,6,0,152,7
  107.          DFB 1,150,8,0,147,9,1,145,10,0,142,11
  108. ;
  109.          DFB 0,137,0,1,135,1,0,132,2,1,130,3
  110.          DFB 0,127,4,0,122,5,1,120,6,0,117,7
  111.          DFB 1,115,8,0,112,9,1,110,10,0,107,11
  112. ;
  113.          DFB 0,102,0,1,100,1,0,97,2,1,95,3
  114.          DFB 0,92,4,0,87,5,1,85,6,0,82,7
  115.          DFB 1,80,8,0,77,9,1,75,10,0,72,11
  116. ;
  117.          DFB 0,67,0,1,65,1,0,62,2,1,60,3
  118.          DFB 0,57,4,0,52,5,1,50,6,0,47,7
  119.          DFB 1,45,8,0,42,9,1,40,10,0,37,11
  120. ;
  121.          DFB 0,32,0,1,30,1,0,27,2,1,25,3
  122.          DFB 0,22,4,0,17,5,1,15,6,0,12,7
  123.          DFB 1,10,8,0,7,9,1,5,10,0,2,11
  124. ;
  125. LCFPOS   DFB 6,172,128,5,170,129,6,167,130,5,165,131
  126.          DFB 6,162,132,6,157,133,5,155,134,6,152,135
  127.          DFB 5,150,136,6,147,137,5,145,138,6,142,139
  128. ;
  129.          DFB 6,137,128,5,135,129,6,132,130,5,130,131
  130.          DFB 6,127,132,6,122,133,5,120,134,6,117,135
  131.          DFB 5,115,136,6,112,137,5,110,138,6,107,139
  132. ;
  133.          DFB 6,102,128,5,100,129,6,97,130,5,95,131
  134.          DFB 6,92,132,6,87,133,5,85,134,6,82,135
  135.          DFB 5,80,136,6,77,137,5,75,138,6,72,139
  136. ;
  137.          DFB 6,67,128,5,65,129,6,62,130,5,60,131
  138.          DFB 6,57,132,6,52,133,5,50,134,6,47,135
  139.          DFB 5,45,136,6,42,137,5,40,138,6,37,139
  140. ;
  141.          DFB 6,32,128,5,30,129,6,27,130,5,25,131
  142.          DFB 6,22,132,6,17,133,5,15,134,6,12,135
  143.          DFB 5,10,136,6,7,137,5,5,138,6,2,139
  144. ;
  145. ;
  146. ; HORIZLN - DRAWS HORIZ LINE ACROSS SCREEN. SET Y=VERTICAL COORDINATE
  147. ;
  148. HORIZLN  JSR SETY
  149.          STA $C055
  150.          JSR HORIZLN1
  151.          STA $C054
  152.          JSR HORIZLN1
  153.          RTS
  154. HORIZLN1 LDA #$7F
  155.          LDY #39
  156. HORIZLN2 STA (ZPTR),Y
  157.          DEY
  158.          BPL HORIZLN2
  159.          RTS
  160. ;
  161. ; VERTLNS - DRAW VERTICAL LINES FOR DANCING NOTE DISPLAY
  162. ;
  163. VERTLNS  LDY #176
  164.          STY VERTY
  165. VYLOOP   LDY VERTY
  166.          JSR SETY
  167.          LDX #79
  168.          JSR SETX
  169.          LDA #$40
  170.          LDY XOFFSET
  171.          STA (ZPTR),Y
  172.          LDX #75
  173. VXLOOP   JSR SETX
  174.          LDA #$01
  175.          LDY XOFFSET
  176.          STA (ZPTR),Y
  177.          DEX
  178.          DEX
  179.          DEX
  180.          DEX
  181.          DEX
  182.          BPL VXLOOP
  183.          DEC VERTY
  184.          LDA VERTY
  185.          BNE VYLOOP
  186.          RTS
  187. ;
  188. VERTY    DFB $00
  189. ;
  190. ; SETX - GIVEN X COORD OF A CHARACTER, SET APPROPRIATE MODE AND CALC OFFSET
  191. ;
  192. SETX     LDA DHRXMAP,X       ;LOOK UP X COORDINATE TO GET OFFSET
  193.          STA $C054
  194.          BPL SETX1 
  195.          STA $C055
  196. SETX1    AND #$7F
  197.          STA XOFFSET
  198.          RTS
  199. XOFFSET  DFB $00
  200. ;
  201. ; SETY - GIVEN Y COORD, SET BASE ADDRESS FOR POKING BYTES ON THAT LINE
  202. ;
  203. SETY     LDA HGRLINEL,Y
  204.          STA ZPTR
  205.          LDA HGRLINEH,Y
  206.          STA ZPTR+1
  207.          RTS
  208. ;
  209. ; DRAWNUM - DRAWS NUMBER. X=HORIZ PSN 0-79  Y=VERT COORD  A=NUMBER 0-9
  210. ;
  211. DRAWNUM  CMP #10
  212.          BCS DRAWNUMX
  213.          CPX #79
  214.          BCS DRAWNUMX
  215.          CPY #187
  216.          BCS DRAWNUMX
  217.          STA DNUMA
  218.          STX DNUMX
  219.          STY DNUMY
  220. ;
  221.          JSR SETX
  222. ;
  223.          LDA #$05
  224.          STA DHEIGHT
  225.          LDA DNUMA
  226.          ASL A
  227.          ASL A
  228.          CLC
  229.          ADC DNUMA
  230.          TAX
  231. DNUMLOOP LDY DNUMY
  232.          JSR SETY
  233.          LDA NUMBER0,X
  234.          LDY XOFFSET
  235.          STA (ZPTR),Y
  236.          INX
  237.          INC DNUMY
  238.          DEC DHEIGHT
  239.          LDA DHEIGHT
  240.          BNE DNUMLOOP
  241. DRAWNUMX RTS
  242. DNUMA    DFB $00
  243. DNUMX    DFB $00
  244. DNUMY    DFB $00
  245. DHEIGHT  DFB $00
  246. ;
  247. ; DRAWCHAR - X=HORIZ CHAR POSN (0-79) Y=VERT COORD
  248. ;            A=CHARACTER: 0=c 1=C 2=d 3=D 4=e 5=f 6=F 7=g 8=G 9=a 10=A 11=b
  249. ;                        12=c 13=C,etc, same for 24,36,48,etc.
  250. ;                       128=C   d   D   e   E   F   g   G   a   A    b    B
  251. ;                       140=C 141=d,etc, same for 152,etc.
  252. DRAWCHAR CPX #79
  253.          BCS DRAWCHRX
  254.          CPY #188
  255.          BCS DRAWCHRX
  256.          STA DCHRA
  257.          STX DCHRX
  258.          STY DCHRY
  259.          JSR SETX
  260.          LDA #$04
  261.          STA CHEIGHT
  262.          LDX DCHRA
  263.          LDA NOTEMAP,X
  264.          TAX       
  265. DCHRLOOP LDY DCHRY
  266.          JSR SETY
  267.          LDA LETTERA,X 
  268.          LDY XOFFSET
  269.          STA (ZPTR),Y
  270.          INX
  271.          INC DCHRY
  272.          DEC CHEIGHT
  273.          LDA CHEIGHT
  274.          BNE DCHRLOOP
  275. DRAWCHRX RTS
  276. DCHRA    DFB $00
  277. DCHRX    DFB $00
  278. DCHRY    DFB $00
  279. CHEIGHT  DFB $00
  280. ;
  281.          CHN CHARSET.SRC
  282.