home *** CD-ROM | disk | FTP | other *** search
/ Set of Apple II Hard Drive Images / pdoseric.hdv / SOURCE / DANCNOTE.SC4.txt < prev    next >
Text File  |  2020-08-13  |  7KB  |  288 lines

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