mirror of https://github.com/wwarthen/RomWBW.git
Browse Source
New sound driver support with initial support for the SN76489 chip New build configuration entry: * SN76489ENABLE Ports are currently locked in with: * SN76489_PORT_LEFT .EQU $FC ; PORTS FOR ACCESSING THE SN76489 CHIP (LEFT) * SN76489_PORT_RIGHT .EQU $F8 ; PORTS FOR ACCESSING THE SN76489 CHIP (LEFT)pull/112/head
19 changed files with 865 additions and 46 deletions
@ -0,0 +1,26 @@ |
|||
#IF AUDIOTRACE |
|||
#DEFINE AUDTRACE(STR) PUSH DE \ LD DE, STR \ CALL WRITESTR \ POP DE |
|||
#DEFINE AUDTRACE_A CALL PRTHEXBYTE |
|||
#DEFINE AUDTRACE_B PUSH AF \ LD A, B \ CALL PRTHEXBYTE \ POP AF |
|||
#DEFINE AUDTRACE_D PUSH AF \ LD A, D \ CALL PRTHEXBYTE \ POP AF |
|||
#DEFINE AUDTRACE_E PUSH AF \ LD A, E \ CALL PRTHEXBYTE \ POP AF |
|||
#DEFINE AUDTRACE_L PUSH AF \ LD A, L \ CALL PRTHEXBYTE \ POP AF |
|||
#DEFINE AUDTRACE_HL CALL PRTHEXWORDHL |
|||
#DEFINE AUDTRACE_DE PUSH DE \ PUSH DE \ POP HL \ CALL PRTHEXWORDHL \ POP DE |
|||
#DEFINE AUDTRACE_IY PUSH HL \ PUSH IY \ POP HL \ CALL PRTHEXWORDHL \ POP HL |
|||
|
|||
#DEFINE AUDDEBUG(S) CALL PRTSTRD \ .TEXT S \ .TEXT "$" ; $$$$$$ PRINT STRING S TO CONSOLE - PRTD("HELLO") - NO TRAILING $ REQUIRED |
|||
|
|||
#ELSE |
|||
#DEFINE AUDTRACE(S) |
|||
#DEFINE AUDTRACE_A |
|||
#DEFINE AUDTRACE_B |
|||
#DEFINE AUDTRACE_D |
|||
#DEFINE AUDTRACE_E |
|||
#DEFINE AUDTRACE_L |
|||
#DEFINE AUDTRACE_HL |
|||
#DEFINE AUDTRACE_DE |
|||
#DEFINE AUDTRACE_IY |
|||
|
|||
#DEFINE AUDDEBUG(STR) |
|||
#ENDIF |
|||
@ -0,0 +1,588 @@ |
|||
;====================================================================== |
|||
; SN76489 sound driver |
|||
; |
|||
; WRITTEN BY: DEAN NETHERTON |
|||
;====================================================================== |
|||
; |
|||
; TODO: |
|||
; |
|||
;====================================================================== |
|||
; CONSTANTS |
|||
;====================================================================== |
|||
; |
|||
|
|||
SN76489_PORT_LEFT .EQU $FC ; PORTS FOR ACCESSING THE SN76489 CHIP (LEFT) |
|||
SN76489_PORT_RIGHT .EQU $F8 ; PORTS FOR ACCESSING THE SN76489 CHIP (LEFT) |
|||
SN7_IDAT .EQU 0 |
|||
SN7_TONECNT .EQU 3 ; COUNT NUMBER OF TONE CHANNELS |
|||
SN7_NOISECNT .EQU 1 ; COUNT NUMBER OF NOISE CHANNELS |
|||
SN7_CHCNT .EQU SN7_TONECNT + SN7_NOISECNT |
|||
CHANNEL_0_SILENT .EQU $9F |
|||
CHANNEL_1_SILENT .EQU $BF |
|||
CHANNEL_2_SILENT .EQU $DF |
|||
CHANNEL_3_SILENT .EQU $FF |
|||
|
|||
SN7CLKDIVIDER .EQU 4 |
|||
SN7CLK .EQU CPUOSC / SN7CLKDIVIDER |
|||
SN7RATIO .EQU SN7CLK * 100 / 32 |
|||
|
|||
|
|||
SN7_FIRST_NOTE .EQU 5827 ; A1# |
|||
SN7_LAST_NODE .EQU 209300 ; C7 |
|||
|
|||
A1S .equ SN7RATIO / SN7_FIRST_NOTE |
|||
C7 .EQU SN7RATIO / SN7_LAST_NODE |
|||
|
|||
.echo "SN76489: range of A1# (pitch: " |
|||
.echo A1S |
|||
.echo ") to C7 (pitch: " |
|||
.echo C7 |
|||
.echo ")\n" |
|||
|
|||
#include "audio.inc" |
|||
|
|||
SN76489_INIT: |
|||
LD IY, SN7_IDAT ; POINTER TO INSTANCE DATA |
|||
|
|||
LD DE,STR_MESSAGELT |
|||
CALL WRITESTR |
|||
LD A, SN76489_PORT_LEFT |
|||
CALL PRTHEXBYTE |
|||
|
|||
LD DE,STR_MESSAGERT |
|||
CALL WRITESTR |
|||
LD A, SN76489_PORT_RIGHT |
|||
CALL PRTHEXBYTE |
|||
; |
|||
SN7_INIT1: |
|||
LD BC, SN7_FNTBL ; BC := FUNCTION TABLE ADDRESS |
|||
LD DE, SN7_IDAT ; DE := SN7 INSTANCE DATA PTR |
|||
CALL SND_ADDENT ; ADD ENTRY, A := UNIT ASSIGNED |
|||
|
|||
CALL SN7_VOLUME_OFF |
|||
XOR A ; SIGNAL SUCCESS |
|||
RET |
|||
|
|||
;====================================================================== |
|||
; SN76489 DRIVER - SOUND ADAPTER (SND) FUNCTIONS |
|||
;====================================================================== |
|||
; |
|||
|
|||
SN7_RESET: |
|||
AUDTRACE(TRACE_INIT) |
|||
CALL SN7_VOLUME_OFF |
|||
XOR A ; SIGNAL SUCCESS |
|||
RET |
|||
|
|||
SN7_VOLUME_OFF: |
|||
AUDTRACE(TRACE_VOLUME_OFF) |
|||
|
|||
LD A, CHANNEL_0_SILENT |
|||
OUT (SN76489_PORT_LEFT), A |
|||
OUT (SN76489_PORT_RIGHT), A |
|||
|
|||
LD A, CHANNEL_1_SILENT |
|||
OUT (SN76489_PORT_LEFT), A |
|||
OUT (SN76489_PORT_RIGHT), A |
|||
|
|||
LD A, CHANNEL_2_SILENT |
|||
OUT (SN76489_PORT_LEFT), A |
|||
OUT (SN76489_PORT_RIGHT), A |
|||
|
|||
LD A, CHANNEL_3_SILENT |
|||
OUT (SN76489_PORT_LEFT), A |
|||
OUT (SN76489_PORT_RIGHT), A |
|||
|
|||
RET |
|||
|
|||
; BITS MAPING |
|||
; SET TONE: |
|||
; 1 CC 0 PPPP (LOW) |
|||
; 0 0 PPPPPP (HIGH) |
|||
|
|||
; 1 CC 1 VVVV |
|||
|
|||
SN7_VOLUME: |
|||
AUDDEBUG("SN7VOL ") |
|||
AUDTRACE_L |
|||
AUDDEBUG("\r\n") |
|||
LD A, L |
|||
LD (PENDING_VOLUME), A |
|||
|
|||
XOR A ; SIGNAL SUCCESS |
|||
RET |
|||
|
|||
|
|||
|
|||
SN7_NOTE: |
|||
AUDDEBUG("SN7NOT ") |
|||
AUDTRACE_L |
|||
AUDDEBUG("\r\n") |
|||
|
|||
ADD HL, HL ; SHIFT RIGHT (MULT 2) -INDEX INTO SN7NOTETBL TABLE OF WORDS |
|||
; TEST IF HL IS LARGER THAN SN7NOTETBL SIZE |
|||
OR A ; CLEAR CARRY FLAG |
|||
LD DE, SIZ_SN7NOTETBL |
|||
SBC HL, DE |
|||
JR NC, SN7_NOTE1 ; INCOMING HL DOES NOT MAP INTO SN7NOTETBL |
|||
|
|||
ADD HL, DE ; RESTORE HL |
|||
LD E, L ; HL = SN7NOTETBL + HL |
|||
LD D, H |
|||
LD HL, SN7NOTETBL |
|||
ADD HL, DE |
|||
|
|||
LD A, (HL) ; RETRIEVE PITCH COUNT FROM SN7NOTETBL |
|||
INC HL |
|||
LD H, (HL) |
|||
LD L, A |
|||
|
|||
JR SN7_PITCH ; APPLY PITCH |
|||
|
|||
SN7_NOTE1: |
|||
OR $FF ; not implemented yet |
|||
RET |
|||
|
|||
SN7_PITCH: |
|||
AUDDEBUG("SN7PIT ") |
|||
AUDTRACE_HL |
|||
AUDDEBUG("\r\n") |
|||
LD (PENDING_PITCH), HL |
|||
|
|||
XOR A ; SIGNAL SUCCESS |
|||
RET |
|||
|
|||
SN7_PLAY: |
|||
AUDDEBUG("SN7PLY ") |
|||
AUDTRACE_D |
|||
AUDDEBUG("\r\n") |
|||
|
|||
CALL SN7_APPLY_VOL |
|||
CALL SN7_APPLY_PIT |
|||
|
|||
XOR A ; SIGNAL SUCCESS |
|||
RET |
|||
|
|||
SN7_QUERY: |
|||
LD A, E |
|||
CP SND_CHCNT |
|||
JR Z, SN7_QUERY_CHCNT |
|||
|
|||
CP SND_SPITCH |
|||
JR Z, SN7_QUERY_PITCH |
|||
|
|||
CP SND_SVOLUME |
|||
JR Z, SN7_QUERY_VOLUME |
|||
|
|||
OR $FF ; SIGNAL FAILURE |
|||
RET |
|||
|
|||
SN7_QUERY_CHCNT: |
|||
LD B, SN7_TONECNT |
|||
LD C, SN7_NOISECNT |
|||
XOR A |
|||
RET |
|||
|
|||
SN7_QUERY_PITCH: |
|||
LD HL, (PENDING_PITCH) |
|||
|
|||
XOR A |
|||
RET |
|||
|
|||
SN7_QUERY_VOLUME: |
|||
LD A, (PENDING_VOLUME) |
|||
LD L, A |
|||
LD H, 0 |
|||
|
|||
XOR A |
|||
RET |
|||
|
|||
; |
|||
; UTIL FUNCTIONS |
|||
; |
|||
|
|||
SN7_APPLY_VOL: ; APPLY VOLUME TO BOTH LEFT AND RIGHT CHANNELS |
|||
PUSH BC ; D CONTAINS THE CHANNEL NUMBER |
|||
PUSH AF |
|||
LD A, D |
|||
AND $3 |
|||
RLCA |
|||
RLCA |
|||
RLCA |
|||
RLCA |
|||
RLCA |
|||
OR $90 |
|||
LD B, A |
|||
|
|||
LD A, (PENDING_VOLUME) |
|||
RRCA |
|||
RRCA |
|||
RRCA |
|||
RRCA |
|||
|
|||
AND $0F |
|||
LD C, A |
|||
LD A, $0F |
|||
SUB C |
|||
AND $0F |
|||
OR B ; A CONTAINS COMMAND TO SET VOLUME FOR CHANNEL |
|||
|
|||
AUDTRACE(TRACE_PORT_WR) |
|||
AUDTRACE_A |
|||
AUDTRACE(TRACE_NEWLINE) |
|||
|
|||
OUT (SN76489_PORT_LEFT), A |
|||
OUT (SN76489_PORT_RIGHT), A |
|||
|
|||
POP AF |
|||
POP BC |
|||
RET |
|||
|
|||
SN7_APPLY_PIT: |
|||
PUSH DE |
|||
PUSH BC |
|||
PUSH AF |
|||
LD HL, (PENDING_PITCH) |
|||
|
|||
LD A, D |
|||
AND $3 |
|||
RLCA |
|||
RLCA |
|||
RLCA |
|||
RLCA |
|||
RLCA |
|||
OR $80 |
|||
LD B, A ; PITCH COMMAND 1 - CONTAINS CHANNEL ONLY |
|||
|
|||
LD A, L ; GET LOWER 4 BITS FOR COMMAND 1 |
|||
AND $F |
|||
OR B ; A NOW CONATINS FIRST PITCH COMMAND |
|||
|
|||
AUDTRACE(TRACE_PORT_WR) |
|||
AUDTRACE_A |
|||
AUDTRACE(TRACE_NEWLINE) |
|||
|
|||
OUT (SN76489_PORT_LEFT), A |
|||
OUT (SN76489_PORT_RIGHT), A |
|||
|
|||
LD A, L ; RIGHT SHIFT OUT THE LOWER 4 BITS |
|||
RRCA |
|||
RRCA |
|||
RRCA |
|||
RRCA |
|||
AND $F |
|||
LD B, A |
|||
|
|||
LD A, H |
|||
AND $3 |
|||
RLCA |
|||
RLCA |
|||
RLCA |
|||
RLCA ; AND PLACE IN BITS 5 AND 6 |
|||
OR B ; OR THE TWO SETS OF BITS TO MAKE 2ND PITCH COMMAND |
|||
|
|||
AUDTRACE(TRACE_PORT_WR) |
|||
AUDTRACE_A |
|||
AUDTRACE(TRACE_NEWLINE) |
|||
|
|||
OUT (SN76489_PORT_LEFT), A |
|||
OUT (SN76489_PORT_RIGHT), A |
|||
|
|||
POP AF |
|||
POP BC |
|||
POP DE |
|||
RET |
|||
|
|||
|
|||
SN7_FNTBL: |
|||
.DW SN7_RESET |
|||
.DW SN7_VOLUME |
|||
.DW SN7_PITCH |
|||
.DW SN7_NOTE |
|||
.DW SN7_PLAY |
|||
.DW SN7_QUERY |
|||
|
|||
#IF (($ - SN7_FNTBL) != (SND_FNCNT * 2)) |
|||
.ECHO "*** INVALID SND FUNCTION TABLE ***\n" |
|||
FAIL |
|||
#ENDIF |
|||
|
|||
PENDING_PITCH |
|||
.DW 0 ; PENDING PITCH (10 BITS) |
|||
PENDING_VOLUME |
|||
.DB 0 ; PENDING VOL (8 BITS -> downoverted to 4 BITS and inverted) |
|||
|
|||
STR_MESSAGELT .DB "\r\nSN76489: LEFT IO=0x$" |
|||
STR_MESSAGERT .DB ", RIGHT IO=0x$" |
|||
|
|||
#IF AUDIOTRACE |
|||
TRACE_INIT .DB "\r\nSN7_INIT CALLED\r\n$" |
|||
TRACE_VOLUME_OFF .DB "\r\nSN7_VOLUME_OFF\r\n$" |
|||
TRACE_VOLUME_SET .DB "\r\nSN7_VOLUME_SET CH: $" |
|||
TRACE_PLAY .DB "\r\nPLAY\r\n$" |
|||
TRACE_VOLUME .DB ", VOL: $" |
|||
TRACE_PORT_WR .DB "\r\nOUT SN76489, $" |
|||
TRACE_PITCH_SET .DB "\r\nSN7_PITCH_SET CH: $" |
|||
TRACE_PITCH .DB ", PITCH: $" |
|||
TRACE_NEWLINE .DB "\r\n$" |
|||
#ENDIF |
|||
|
|||
; THE FREQUENCY BY QUATER TONE STARTING AT A1# |
|||
SN7NOTETBL: |
|||
.dw A1S |
|||
.dw SN7RATIO / 5912 |
|||
.dw SN7RATIO / 5998 |
|||
.dw SN7RATIO / 6085 |
|||
.dw SN7RATIO / 6174 |
|||
.dw SN7RATIO / 6264 |
|||
.dw SN7RATIO / 6355 |
|||
.dw SN7RATIO / 6447 |
|||
.dw SN7RATIO / 6541 |
|||
.dw SN7RATIO / 6636 |
|||
.dw SN7RATIO / 6733 |
|||
.dw SN7RATIO / 6831 |
|||
.dw SN7RATIO / 6930 |
|||
.dw SN7RATIO / 7031 |
|||
.dw SN7RATIO / 7133 |
|||
.dw SN7RATIO / 7237 |
|||
.dw SN7RATIO / 7342 |
|||
.dw SN7RATIO / 7449 |
|||
.dw SN7RATIO / 7557 |
|||
.dw SN7RATIO / 7667 |
|||
.dw SN7RATIO / 7778 |
|||
.dw SN7RATIO / 7891 |
|||
.dw SN7RATIO / 8006 |
|||
.dw SN7RATIO / 8122 |
|||
.dw SN7RATIO / 8241 |
|||
.dw SN7RATIO / 8361 |
|||
.dw SN7RATIO / 8482 |
|||
.dw SN7RATIO / 8606 |
|||
.dw SN7RATIO / 8731 |
|||
.dw SN7RATIO / 8858 |
|||
.dw SN7RATIO / 8987 |
|||
.dw SN7RATIO / 9118 |
|||
.dw SN7RATIO / 9250 |
|||
.dw SN7RATIO / 9385 |
|||
.dw SN7RATIO / 9521 |
|||
.dw SN7RATIO / 9660 |
|||
.dw SN7RATIO / 9800 |
|||
.dw SN7RATIO / 9943 |
|||
.dw SN7RATIO / 10087 |
|||
.dw SN7RATIO / 10234 |
|||
.dw SN7RATIO / 10383 |
|||
.dw SN7RATIO / 10534 |
|||
.dw SN7RATIO / 10687 |
|||
.dw SN7RATIO / 10843 |
|||
.dw SN7RATIO / 11000 |
|||
.dw SN7RATIO / 11160 |
|||
.dw SN7RATIO / 11322 |
|||
.dw SN7RATIO / 11487 |
|||
.dw SN7RATIO / 11654 |
|||
.dw SN7RATIO / 11824 |
|||
.dw SN7RATIO / 11995 |
|||
.dw SN7RATIO / 12170 |
|||
.dw SN7RATIO / 12347 |
|||
.dw SN7RATIO / 12527 |
|||
.dw SN7RATIO / 12709 |
|||
.dw SN7RATIO / 12894 |
|||
.dw SN7RATIO / 13081 |
|||
.dw SN7RATIO / 13271 |
|||
.dw SN7RATIO / 13464 |
|||
.dw SN7RATIO / 13660 |
|||
.dw SN7RATIO / 13859 |
|||
.dw SN7RATIO / 14061 |
|||
.dw SN7RATIO / 14265 |
|||
.dw SN7RATIO / 14473 |
|||
.dw SN7RATIO / 14683 |
|||
.dw SN7RATIO / 14897 |
|||
.dw SN7RATIO / 15113 |
|||
.dw SN7RATIO / 15333 |
|||
.dw SN7RATIO / 15556 |
|||
.dw SN7RATIO / 15782 |
|||
.dw SN7RATIO / 16012 |
|||
.dw SN7RATIO / 16245 |
|||
.dw SN7RATIO / 16481 |
|||
.dw SN7RATIO / 16721 |
|||
.dw SN7RATIO / 16964 |
|||
.dw SN7RATIO / 17211 |
|||
.dw SN7RATIO / 17461 |
|||
.dw SN7RATIO / 17715 |
|||
.dw SN7RATIO / 17973 |
|||
.dw SN7RATIO / 18234 |
|||
.dw SN7RATIO / 18500 |
|||
.dw SN7RATIO / 18769 |
|||
.dw SN7RATIO / 19042 |
|||
.dw SN7RATIO / 19319 |
|||
.dw SN7RATIO / 19600 |
|||
.dw SN7RATIO / 19885 |
|||
.dw SN7RATIO / 20174 |
|||
.dw SN7RATIO / 20468 |
|||
.dw SN7RATIO / 20765 |
|||
.dw SN7RATIO / 21067 |
|||
.dw SN7RATIO / 21373 |
|||
.dw SN7RATIO / 21684 |
|||
.dw SN7RATIO / 22000 |
|||
.dw SN7RATIO / 22320 |
|||
.dw SN7RATIO / 22645 |
|||
.dw SN7RATIO / 22974 |
|||
.dw SN7RATIO / 23308 |
|||
.dw SN7RATIO / 23647 |
|||
.dw SN7RATIO / 23991 |
|||
.dw SN7RATIO / 24340 |
|||
.dw SN7RATIO / 24694 |
|||
.dw SN7RATIO / 25053 |
|||
.dw SN7RATIO / 25418 |
|||
.dw SN7RATIO / 25787 |
|||
.dw SN7RATIO / 26163 |
|||
.dw SN7RATIO / 26544 |
|||
.dw SN7RATIO / 26930 |
|||
.dw SN7RATIO / 27321 |
|||
.dw SN7RATIO / 27718 |
|||
.dw SN7RATIO / 28121 |
|||
.dw SN7RATIO / 28530 |
|||
.dw SN7RATIO / 28945 |
|||
.dw SN7RATIO / 29366 |
|||
.dw SN7RATIO / 29793 |
|||
.dw SN7RATIO / 30226 |
|||
.dw SN7RATIO / 30666 |
|||
.dw SN7RATIO / 31113 |
|||
.dw SN7RATIO / 31566 |
|||
.dw SN7RATIO / 32025 |
|||
.dw SN7RATIO / 32490 |
|||
.dw SN7RATIO / 32963 |
|||
.dw SN7RATIO / 33442 |
|||
.dw SN7RATIO / 33929 |
|||
.dw SN7RATIO / 34422 |
|||
.dw SN7RATIO / 34923 |
|||
.dw SN7RATIO / 35431 |
|||
.dw SN7RATIO / 35946 |
|||
.dw SN7RATIO / 36469 |
|||
.dw SN7RATIO / 36999 |
|||
.dw SN7RATIO / 37537 |
|||
.dw SN7RATIO / 38083 |
|||
.dw SN7RATIO / 38637 |
|||
.dw SN7RATIO / 39200 |
|||
.dw SN7RATIO / 39770 |
|||
.dw SN7RATIO / 40349 |
|||
.dw SN7RATIO / 40936 |
|||
.dw SN7RATIO / 41530 |
|||
.dw SN7RATIO / 42134 |
|||
.dw SN7RATIO / 42747 |
|||
.dw SN7RATIO / 43369 |
|||
.dw SN7RATIO / 44000 |
|||
.dw SN7RATIO / 44640 |
|||
.dw SN7RATIO / 45289 |
|||
.dw SN7RATIO / 45948 |
|||
.dw SN7RATIO / 46616 |
|||
.dw SN7RATIO / 47294 |
|||
.dw SN7RATIO / 47982 |
|||
.dw SN7RATIO / 48680 |
|||
.dw SN7RATIO / 49388 |
|||
.dw SN7RATIO / 50106 |
|||
.dw SN7RATIO / 50835 |
|||
.dw SN7RATIO / 51575 |
|||
.dw SN7RATIO / 52325 |
|||
.dw SN7RATIO / 53086 |
|||
.dw SN7RATIO / 53858 |
|||
.dw SN7RATIO / 54642 |
|||
.dw SN7RATIO / 55437 |
|||
.dw SN7RATIO / 56243 |
|||
.dw SN7RATIO / 57061 |
|||
.dw SN7RATIO / 57891 |
|||
.dw SN7RATIO / 58733 |
|||
.dw SN7RATIO / 59587 |
|||
.dw SN7RATIO / 60454 |
|||
.dw SN7RATIO / 61333 |
|||
.dw SN7RATIO / 62225 |
|||
.dw SN7RATIO / 63130 |
|||
.dw SN7RATIO / 64048 |
|||
.dw SN7RATIO / 64980 |
|||
.dw SN7RATIO / 65925 |
|||
.dw SN7RATIO / 66884 |
|||
.dw SN7RATIO / 67857 |
|||
.dw SN7RATIO / 68844 |
|||
.dw SN7RATIO / 69846 |
|||
.dw SN7RATIO / 70862 |
|||
.dw SN7RATIO / 71893 |
|||
.dw SN7RATIO / 72938 |
|||
.dw SN7RATIO / 73999 |
|||
.dw SN7RATIO / 75075 |
|||
.dw SN7RATIO / 76167 |
|||
.dw SN7RATIO / 77275 |
|||
.dw SN7RATIO / 78399 |
|||
.dw SN7RATIO / 79539 |
|||
.dw SN7RATIO / 80696 |
|||
.dw SN7RATIO / 81870 |
|||
.dw SN7RATIO / 83061 |
|||
.dw SN7RATIO / 84269 |
|||
.dw SN7RATIO / 85495 |
|||
.dw SN7RATIO / 86738 |
|||
.dw SN7RATIO / 88000 |
|||
.dw SN7RATIO / 89280 |
|||
.dw SN7RATIO / 90579 |
|||
.dw SN7RATIO / 91896 |
|||
.dw SN7RATIO / 93233 |
|||
.dw SN7RATIO / 94589 |
|||
.dw SN7RATIO / 95965 |
|||
.dw SN7RATIO / 97361 |
|||
.dw SN7RATIO / 98777 |
|||
.dw SN7RATIO / 100214 |
|||
.dw SN7RATIO / 101671 |
|||
.dw SN7RATIO / 103150 |
|||
.dw SN7RATIO / 104650 |
|||
.dw SN7RATIO / 106172 |
|||
.dw SN7RATIO / 107716 |
|||
.dw SN7RATIO / 109283 |
|||
.dw SN7RATIO / 110873 |
|||
.dw SN7RATIO / 112486 |
|||
.dw SN7RATIO / 114122 |
|||
.dw SN7RATIO / 115782 |
|||
.dw SN7RATIO / 117466 |
|||
.dw SN7RATIO / 119175 |
|||
.dw SN7RATIO / 120908 |
|||
.dw SN7RATIO / 122667 |
|||
.dw SN7RATIO / 124451 |
|||
.dw SN7RATIO / 126261 |
|||
.dw SN7RATIO / 128098 |
|||
.dw SN7RATIO / 129961 |
|||
.dw SN7RATIO / 131851 |
|||
.dw SN7RATIO / 133769 |
|||
.dw SN7RATIO / 135715 |
|||
.dw SN7RATIO / 137689 |
|||
.dw SN7RATIO / 139691 |
|||
.dw SN7RATIO / 141723 |
|||
.dw SN7RATIO / 143784 |
|||
.dw SN7RATIO / 145876 |
|||
.dw SN7RATIO / 147998 |
|||
.dw SN7RATIO / 150151 |
|||
.dw SN7RATIO / 152335 |
|||
.dw SN7RATIO / 154550 |
|||
.dw SN7RATIO / 156798 |
|||
.dw SN7RATIO / 159079 |
|||
.dw SN7RATIO / 161393 |
|||
.dw SN7RATIO / 163740 |
|||
.dw SN7RATIO / 166122 |
|||
.dw SN7RATIO / 168538 |
|||
.dw SN7RATIO / 170990 |
|||
.dw SN7RATIO / 173477 |
|||
.dw SN7RATIO / 176000 |
|||
.dw SN7RATIO / 178560 |
|||
.dw SN7RATIO / 181157 |
|||
.dw SN7RATIO / 183792 |
|||
.dw SN7RATIO / 186466 |
|||
.dw SN7RATIO / 189178 |
|||
.dw SN7RATIO / 191930 |
|||
.dw SN7RATIO / 194722 |
|||
.dw SN7RATIO / 197553 |
|||
.dw SN7RATIO / 200426 |
|||
.dw SN7RATIO / 203342 |
|||
.dw SN7RATIO / 206299 |
|||
.dw C7 |
|||
|
|||
SIZ_SN7NOTETBL .EQU $ - SN7NOTETBL |
|||
.ECHO "SN76489 approx " |
|||
.ECHO SIZ_SN7NOTETBL / 2 / 4 /12 |
|||
.ECHO " Octaves. Last note index supported: " |
|||
|
|||
.echo SIZ_SN7NOTETBL / 2 |
|||
.echo "\n" |
|||
Loading…
Reference in new issue