Browse Source

Update nascom.asm

Add code to start calculating duration based on clock frequency provided by hbios
pull/49/head
b1ackmai1er 6 years ago
parent
commit
c57c3527d2
  1. 779
      Source/HBIOS/nascom.asm

779
Source/HBIOS/nascom.asm

@ -4416,39 +4416,44 @@ OUTNCR: CALL OUTC ; Output character in A
; --------------------------------------------------------------------------------------- ; ---------------------------------------------------------------------------------------
; PLAY N,D ; PLAY NOTE N, DURATION DIVIDER
; PLAY O,N,D ; PLAY OCTAVE 0-7, NOTE N (0-11), DURATION (1-8)
PLAY: CALL GETNUM ; GET NOTE TO PLAY
CALL DEINT ; ITS IN DE
PLAY: CALL GETINT ; GET OCTAVE
PUSH AF ; AND SAVE
LD A,SPK_NUMNOT-1 ; EXIT IF NOTE
CP E ; OUT OF RANGE
RET M
CALL CHKSYN ; Make sure ',' follows
.BYTE ','
CALL GETINT ; GET NOTE
PUSH HL ; SAVE SYNTAX POINTER PUSH HL ; SAVE SYNTAX POINTER
LD HL,SPK_TUNTBL ; POINT TO NOTE ENTRY
EX DE,HL
ADD HL,HL
ADD HL,HL
LD L,A
LD H,0
ADD HL,HL ; X2
ADD HL,HL ; X4
LD DE,SPK_TUNTBL ; POINT TO NOTE ENTRY
ADD HL,DE ; ITS IN HL ADD HL,DE ; ITS IN HL
EX (SP),HL ; RESTORE SYNTAX POINTER EX (SP),HL ; RESTORE SYNTAX POINTER
; IN HL. DE ON STACK
; IN HL. NOTE PTR ON STACK
CALL CHKSYN ; Make sure ',' follows CALL CHKSYN ; Make sure ',' follows
.BYTE ',' .BYTE ','
CALL GETINT ; GET DURATION CALL GETINT ; GET DURATION
EX (SP),HL ; RECALL NOTE ENTRY
; A = DURATION
POP DE ; GET NOTE PTR IN DE
EX (SP),HL ; GET OCTAVE IN HL. SYTAX POINTER ON STACK
EX DE,HL ; PUT NOTE PTR IN HL, OCTAVE IN DE
PUSH BC
LD B,D
CALL SPK_BEEP CALL SPK_BEEP
POP BC
POP HL ; RECALL SYNTAX POINTER POP HL ; RECALL SYNTAX POINTER
RET RET
SPK_BEEP: SPK_BEEP:
PUSH AF ; SAVE DURATION
; PUSH AF ; SAVE DURATION
LD A,(HL) ; LOAD 1ST ARG LD A,(HL) ; LOAD 1ST ARG
INC HL ; IN DE INC HL ; IN DE
@ -4457,6 +4462,23 @@ SPK_BEEP:
INC HL INC HL
LD D,A LD D,A
; ;
; SRL D ; DE / 8
; RRC E
; SRL D
; RRC E
; SRL D ; DE IS FREQUECY OF
; RRC E ; NOTE IN OCTAVE 7
LD A,7+3
SUB B
LD C,A
SPK_OCTDIV:
SRL D
RRC E
DJNZ SPK_OCTDIV
SPK_OCTOK:
LD A,(HL) ; LOAD 2ND ARG LD A,(HL) ; LOAD 2ND ARG
INC HL ; IN BC INC HL ; IN BC
LD C,A LD C,A
@ -4466,25 +4488,8 @@ SPK_BEEP:
PUSH BC ; SETUP ARG IN HL PUSH BC ; SETUP ARG IN HL
POP HL POP HL
DIV_HL_C: ; DIVIDE THE NOTE
POP BC ; BY DURATION
; JR DIV_SKIP
LD C,B
XOR A
LD B,16
DIV_HL_LP:
ADD HL,HL
RLA
JR C,$+5
CP C
JR C,$+4
SUB C
INC L
DJNZ DIV_HL_LP
DIV_SKIP:
;
CALL SPK_BEEPER ; PLAY CALL SPK_BEEPER ; PLAY
CALL TEST_FRQ
; ;
RET RET
; ;
@ -4557,567 +4562,163 @@ BE_END:
EI EI
POP IX POP IX
RET RET
TEST_FRQ:
PUSH HL
PUSH DE
LD BC,500
PUSH BC ; BC CONTAINS FREQUENCY
;
; ADJUST DURATION BASED ON PROCESSOR SPEED
;
; DURATION = (CPUKHZ / 8) / FREQUENCY
; DURATION = (CPUKHZ * 1000 / 8 ) / FREQUENCY
; DURATION = (CPUKHZ * 125 ) / FREQUENCY
; DURATION = (CPUKHZ * 256 / 2 - CPUKHZ - (2 * CPUKHZ) ) / FREQUENCY
LD B,BF_SYSGET ; GET CPU SPEED
LD C,BF_SYSGET_CPUINFO ; FROM HBIOS
RST 08
PUSH DE ; SAVE FOR CALCULATION
POP BC ; - CPUKHZ - (2 * CPUKHZ)
LD H,E ; DEHL = HL * 256
LD E,D
LD D,0
LD L,D
SRL E ; DEHL = DEHL / 2
RR H
RR L
SBC HL,BC ; DEHL = DEHL - CPUKHZ
JR NC,FRQ_ADJ1
DEC DE
FRQ_ADJ1:
SLA C ; DEHL = DEHL - (2 * CPUKHZ)
RL B
SBC HL,BC
JR NC,FRQ_ADJ2
DEC DE
FRQ_ADJ2:
EX DE,HL ; SETUP REGISTERS FOR DIVIDE
PUSH DE
POP IX
POP BC ; RESTORE FREQUENCY (DIVISOR)
DIV_3216: ; HLIX = HLIX / BC, DE = REMAINDER
LD DE,0
LD A,32
DIV_LP: ADD IX,IX
ADC HL,HL
EX DE,HL
ADC HL,HL
OR A
SBC HL,BC
INC IX
JR NC,DIV_CANSUB
ADD HL,BC
DEC IX
DIV_CANSUB:
EX DE,HL
DEC A
JR NZ, DIV_LP
; PUSH HL
; POP BC
; CALL PRTHEXWORD
; PUSH IX
; POP BC
; CALL PRTHEXWORD
POP DE
POP HL
RET
PRTHEXBYTE:
PUSH AF
PUSH DE
CALL HEXASCII
LD A,D
CALL MONOUT
LD A,E
CALL MONOUT
POP DE
POP AF
RET
;
; PRINT THE HEX WORD VALUE IN BC
;
PRTHEXWORD:
PUSH AF
LD A,B
CALL PRTHEXBYTE
LD A,C
CALL PRTHEXBYTE
POP AF
RET
;
; PRINT THE HEX DWORD VALUE IN DE:HL
;
PRTHEX32:
PUSH BC
PUSH DE
POP BC
CALL PRTHEXWORD
PUSH HL
POP BC
CALL PRTHEXWORD
POP BC
RET
;
; CONVERT BINARY VALUE IN A TO ASCII HEX CHARACTERS IN DE
;
HEXASCII:
LD D,A
CALL HEXCONV
LD E,A
LD A,D
RLCA
RLCA
RLCA
RLCA
CALL HEXCONV
LD D,A
RET
;
; CONVERT LOW NIBBLE OF A TO ASCII HEX
;
HEXCONV:
AND 0FH ;LOW NIBBLE ONLY
ADD A,90H
DAA
ADC A,40H
DAA
RET
; ;
; STANDARD ONE SECOND TONE TABLES AT 1MHZ (UNCOMPENSATED). FOR SPK_BEEPER, FIRST WORD LOADED INTO DE, SECOND INTO HL ; STANDARD ONE SECOND TONE TABLES AT 1MHZ (UNCOMPENSATED). FOR SPK_BEEPER, FIRST WORD LOADED INTO DE, SECOND INTO HL
; EXCEL SPREADSHEET FOR CALCULATION CAN BE FOUND HERE: ; EXCEL SPREADSHEET FOR CALCULATION CAN BE FOUND HERE:
; https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=boards:sbc:sbc_v2:sbc_v2-004:spk_beep_tuntbl.xlsx ; https://www.retrobrewcomputers.org/lib/exe/fetch.php?media=boards:sbc:sbc_v2:sbc_v2-004:spk_beep_tuntbl.xlsx
; ;
; FIRST WORD = C8 * 8
;
SPK_TUNTBL: SPK_TUNTBL:
#IF (CPUOSC=1000000)
.DW $10, $1DDD ; C0
.DW $11, $1C31 ; C
.DW $12, $1A9B ; D0
.DW $13, $191A ; D
.DW $14, $17B3 ; E0
.DW $15, $165E ; F0
.DW $17, $151E ; F
.DW $18, $13EE ; G0
.DW $19, $12CF ; G
.DW $1B, $11C1 ; A0
.DW $1D, $10C1 ; A
.DW $1E, $FD1 ; B0
.DW $20, $EEE ; C1
.DW $22, $E17 ; C
.DW $24, $D4D ; D1
.DW $26, $C8E ; D
.DW $29, $BD9 ; E1
.DW $2B, $B2F ; F1
.DW $2E, $A8E ; F
.DW $31, $9F7 ; G1
.DW $33, $968 ; G
.DW $37, $8E0 ; A1
.DW $3A, $861 ; A
.DW $3D, $7E8 ; B1
.DW $41, $777 ; C2
.DW $45, $70B ; C
.DW $49, $6A6 ; D2
.DW $4D, $647 ; D
.DW $52, $5EC ; E2
.DW $57, $597 ; F2
.DW $5C, $547 ; F
.DW $62, $4FB ; G2
.DW $67, $4B3 ; G
.DW $6E, $470 ; A2
.DW $74, $430 ; A
.DW $7B, $3F4 ; B2
.DW $82, $3BB ; C3
.DW $8A, $385 ; C
.DW $92, $353 ; D3
.DW $9B, $323 ; D
.DW $A4, $2F6 ; E3
.DW $AE, $2CB ; F3
.DW $B9, $2A3 ; F
.DW $C4, $27D ; G3
.DW $CF, $259 ; G
.DW $DC, $238 ; A3
.DW $E9, $218 ; A
.DW $F6, $1FA ; B3
.DW $105, $1DD ; C4
.DW $115, $1C2 ; C
.DW $125, $1A9 ; D4
.DW $137, $191 ; D
.DW $149, $17B ; E4
.DW $15D, $165 ; F4
.DW $171, $151 ; F
.DW $188, $13E ; G4
.DW $19F, $12C ; G
.DW $1B8, $11C ; A4
.DW $1D2, $10C ; A
.DW $1ED, $FD ; B4
.DW $20B, $EE ; C5
.DW $22A, $E1 ; C
.DW $24B, $D4 ; D5
.DW $26E, $C8 ; D
.DW $293, $BD ; E5
.DW $2BA, $B2 ; F5
.DW $2E3, $A8 ; F
.DW $30F, $9F ; G5
.DW $33E, $96 ; G
.DW $370, $8E ; A5
.DW $3A4, $86 ; A
.DW $3DB, $7E ; B5
.DW $416, $77 ; C6
.DW $454, $70 ; C
.DW $496, $6A ; D6
.DW $4DC, $64 ; D
.DW $526, $5E ; E6
.DW $574, $59 ; F6
.DW $5C7, $54 ; F
.DW $61F, $4F ; G6
.DW $67D, $4B ; G
.DW $6E0, $47 ; A6
.DW $748, $43 ; A
.DW $7B7, $3F ; B6
.DW $82D, $3B ; C7
.DW $8A9, $38 ; C
.DW $92D, $35 ; D7
.DW $9B9, $32 ; D
.DW $A4D, $2F ; E7
.DW $AE9, $2C ; F7
.DW $B8F, $2A ; F
.DW $C3F, $27 ; G7
.DW $CFA, $25 ; G
.DW $DC0, $23 ; A7
.DW $E91, $21 ; A
.DW $F6F, $1F ; B7
.DW $105A, $1D ; C8
.DW $1152, $1C ; C
.DW $125A, $1A ; D8
.DW $1372, $19 ; D
.DW $149A, $17 ; E8
.DW $15D3, $16 ; F8
.DW $171F, $15 ; F
.DW $187F, $13 ; G8
.DW $19F4, $12 ; G
.DW $1B80, $11 ; A8
.DW $1D22, $10 ; A
.DW $1EDE, $F ; B8
#ENDIF
#IF (CPUOSC=2000000)
.DW $10, $3BBA ; C0
.DW $11, $3862 ; C
.DW $12, $3537 ; D0
.DW $13, $3235 ; D
.DW $14, $2F67 ; E0
.DW $15, $2CBC ; F0
.DW $17, $2A3D ; F
.DW $18, $27DC ; G0
.DW $19, $259E ; G
.DW $1B, $2382 ; A0
.DW $1D, $2183 ; A
.DW $1E, $1FA2 ; B0
.DW $20, $1DDD ; C1
.DW $22, $1C2F ; C
.DW $24, $1A9A ; D1
.DW $26, $191C ; D
.DW $29, $17B3 ; E1
.DW $2B, $165F ; F1
.DW $2E, $151D ; F
.DW $31, $13EE ; G1
.DW $33, $12D0 ; G
.DW $37, $11C1 ; A1
.DW $3A, $10C2 ; A
.DW $3D, $FD1 ; B1
.DW $41, $EEE ; C2
.DW $45, $E17 ; C
.DW $49, $D4D ; D2
.DW $4D, $C8E ; D
.DW $52, $BD9 ; E2
.DW $57, $B2F ; F2
.DW $5C, $A8E ; F
.DW $62, $9F7 ; G2
.DW $67, $967 ; G
.DW $6E, $8E0 ; A2
.DW $74, $861 ; A
.DW $7B, $7E8 ; B2
.DW $82, $777 ; C3
.DW $8A, $70B ; C
.DW $92, $6A6 ; D3
.DW $9B, $647 ; D
.DW $A4, $5EC ; E3
.DW $AE, $597 ; F3
.DW $B9, $547 ; F
.DW $C4, $4FB ; G3
.DW $CF, $4B3 ; G
.DW $DC, $470 ; A3
.DW $E9, $430 ; A
.DW $F6, $3F4 ; B3
.DW $105, $3BB ; C4
.DW $115, $385 ; C
.DW $125, $353 ; D4
.DW $137, $323 ; D
.DW $149, $2F6 ; E4
.DW $15D, $2CB ; F4
.DW $171, $2A3 ; F
.DW $188, $27D ; G4
.DW $19F, $259 ; G
.DW $1B8, $238 ; A4
.DW $1D2, $218 ; A
.DW $1ED, $1FA ; B4
.DW $20B, $1DD ; C5
.DW $22A, $1C2 ; C
.DW $24B, $1A9 ; D5
.DW $26E, $191 ; D
.DW $293, $17B ; E5
.DW $2BA, $165 ; F5
.DW $2E3, $151 ; F
.DW $30F, $13E ; G5
.DW $33E, $12C ; G
.DW $370, $11C ; A5
.DW $3A4, $10C ; A
.DW $3DB, $FD ; B5
.DW $416, $EE ; C6
.DW $454, $E1 ; C
.DW $496, $D4 ; D6
.DW $4DC, $C8 ; D
.DW $526, $BD ; E6
.DW $574, $B2 ; F6
.DW $5C7, $A8 ; F
.DW $61F, $9F ; G6
.DW $67D, $96 ; G
.DW $6E0, $8E ; A6
.DW $748, $86 ; A
.DW $7B7, $7E ; B6
.DW $82D, $77 ; C7
.DW $8A9, $70 ; C
.DW $92D, $6A ; D7
.DW $9B9, $64 ; D
.DW $A4D, $5E ; E7
.DW $AE9, $59 ; F7
.DW $B8F, $54 ; F
.DW $C3F, $4F ; G7
.DW $CFA, $4B ; G
.DW $DC0, $47 ; A7
.DW $E91, $43 ; A
.DW $F6F, $3F ; B7
.DW $105A, $3B ; C8
.DW $1152, $38 ; C
.DW $125A, $35 ; D8
.DW $1372, $32 ; D
.DW $149A, $2F ; E8
.DW $15D3, $2C ; F8
.DW $171F, $2A ; F
.DW $187F, $27 ; G8
.DW $19F4, $25 ; G
.DW $1B80, $23 ; A8
.DW $1D22, $21 ; A
.DW $1EDE, $37; B8
#ENDIF
#IF (CPUOSC=4000000)
.DW $10, $3BBA ; C0
.DW $11, $3862 ; C
.DW $12, $3537 ; D0
.DW $13, $3235 ; D
.DW $14, $2F67 ; E0
.DW $15, $2CBC ; F0
.DW $17, $2A3D ; F
.DW $18, $27DC ; G0
.DW $19, $259E ; G
.DW $1B, $2382 ; A0
.DW $1D, $2183 ; A
.DW $1E, $1FA2 ; B0
.DW $20, $1DDD ; C1
.DW $22, $1C2F ; C
.DW $24, $1A9A ; D1
.DW $26, $191C ; D
.DW $29, $17B3 ; E1
.DW $2B, $165F ; F1
.DW $2E, $151D ; F
.DW $31, $13EE ; G1
.DW $33, $12D0 ; G
.DW $37, $11C1 ; A1
.DW $3A, $10C2 ; A
.DW $3D, $FD1 ; B1
.DW $41, $EEE ; C2
.DW $45, $E17 ; C
.DW $49, $D4D ; D2
.DW $4D, $C8E ; D
.DW $52, $BD9 ; E2
.DW $57, $B2F ; F2
.DW $5C, $A8E ; F
.DW $62, $9F7 ; G2
.DW $67, $967 ; G
.DW $6E, $8E0 ; A2
.DW $74, $861 ; A
.DW $7B, $7E8 ; B2
.DW $82, $777 ; C3
.DW $8A, $70B ; C
.DW $92, $6A6 ; D3
.DW $9B, $647 ; D
.DW $A4, $5EC ; E3
.DW $AE, $597 ; F3
.DW $B9, $547 ; F
.DW $C4, $4FB ; G3
.DW $CF, $4B3 ; G
.DW $DC, $470 ; A3
.DW $E9, $430 ; A
.DW $F6, $3F4 ; B3
.DW $105, $3BB ; C4
.DW $115, $385 ; C
.DW $125, $353 ; D4
.DW $137, $323 ; D
.DW $149, $2F6 ; E4
.DW $15D, $2CB ; F4
.DW $171, $2A3 ; F
.DW $188, $27D ; G4
.DW $19F, $259 ; G
.DW $1B8, $238 ; A4
.DW $1D2, $218 ; A
.DW $1ED, $1FA ; B4
.DW $20B, $1DD ; C5
.DW $22A, $1C2 ; C
.DW $24B, $1A9 ; D5
.DW $26E, $191 ; D
.DW $293, $17B ; E5
.DW $2BA, $165 ; F5
.DW $2E3, $151 ; F
.DW $30F, $13E ; G5
.DW $33E, $12C ; G
.DW $370, $11C ; A5
.DW $3A4, $10C ; A
.DW $3DB, $FD ; B5
.DW $416, $EE ; C6
.DW $454, $E1 ; C
.DW $496, $D4 ; D6
.DW $4DC, $C8 ; D
.DW $526, $BD ; E6
.DW $574, $B2 ; F6
.DW $5C7, $A8 ; F
.DW $61F, $9F ; G6
.DW $67D, $96 ; G
.DW $6E0, $8E ; A6
.DW $748, $86 ; A
.DW $7B7, $7E ; B6
.DW $82D, $77 ; C7
.DW $8A9, $70 ; C
.DW $92D, $6A ; D7
.DW $9B9, $64 ; D
.DW $A4D, $5E ; E7
.DW $AE9, $59 ; F7
.DW $B8F, $54 ; F
.DW $C3F, $4F ; G7
.DW $CFA, $4B ; G
.DW $DC0, $47 ; A7
.DW $E91, $43 ; A
.DW $F6F, $3F ; B7
.DW $105A, $3B ; C8
.DW $1152, $38 ; C
.DW $125A, $35 ; D8
.DW $1372, $32 ; D
.DW $149A, $2F ; E8
.DW $15D3, $2C ; F8
.DW $171F, $2A ; F
.DW $187F, $27 ; G8
.DW $19F4, $25 ; G
.DW $1B80, $23 ; A8
.DW $1D22, $21 ; A
.DW $10, $12AA4 ; C0
.DW $11, $119EA ; C
.DW $12, $10A17 ; D0
.DW $13, $FB0B ; D
.DW $14, $ED07 ; E0
.DW $15, $DFAC ; F0
.DW $17, $D331 ; F
.DW $18, $C74C ; G0
.DW $19, $BC17 ; G
.DW $1B, $B18E ; A0
.DW $1D, $A790 ; A
.DW $1E, $9E2C ; B0
.DW $20, $9552 ; C1
.DW $22, $8CEB ; C
.DW $24, $8502 ; D1
.DW $26, $7D8D ; D
.DW $29, $7683 ; E1
.DW $2B, $6FDC ; F1
.DW $2E, $6993 ; F
.DW $31, $63A6 ; G1
.DW $33, $5E10 ; G
.DW $37, $58C7 ; A1
.DW $3A, $53CB ; A
.DW $3D, $4F16 ; B1
.DW $41, $4AA6 ; C2
.DW $45, $4675 ; C
.DW $49, $4281 ; D2
.DW $4D, $3EC6 ; D
.DW $52, $3B40 ; E2
.DW $57, $37EC ; F2
.DW $5C, $34C9 ; F
.DW $62, $31D3 ; G2
.DW $67, $2F06 ; G
.DW $6E, $2C63 ; A2
.DW $74, $29E5 ; A
.DW $7B, $278B ; B2
.DW $82, $2553 ; C3
.DW $8A, $233B ; C
.DW $92, $2141 ; D3
.DW $9B, $1F63 ; D
.DW $A4, $1DA0 ; E3
.DW $AE, $1BF6 ; F3
.DW $B9, $1A64 ; F
.DW $C4, $18E9 ; G3
.DW $CF, $1783 ; G
.DW $DC, $1631 ; A3
.DW $E9, $14F2 ; A
.DW $F6, $13C5 ; B3
.DW $105, $12A9 ; C4
.DW $115, $119D ; C
.DW $125, $10A0 ; D4
.DW $137, $FB1 ; D
.DW $149, $ED0 ; E4
.DW $15D, $DFB ; F4
.DW $171, $D32 ; F
.DW $188, $C74 ; G4
.DW $19F, $BC1 ; G
.DW $1B8, $B18 ; A4
.DW $1D2, $A79 ; A
.DW $1ED, $9E2 ; B4
.DW $20B, $954 ; C5
.DW $22A, $8CE ; C
.DW $24B, $850 ; D5
.DW $26E, $7D8 ; D
.DW $293, $768 ; E5
.DW $2BA, $6FD ; F5
.DW $2E3, $699 ; F
.DW $30F, $63A ; G5
.DW $33E, $5E0 ; G
.DW $370, $58C ; A5
.DW $3A4, $53C ; A
.DW $3DB, $4F1 ; B5
.DW $416, $4AA ; C6
.DW $454, $467 ; C
.DW $496, $428 ; D6
.DW $4DC, $3EC ; D
.DW $526, $3B4 ; E6
.DW $574, $37E ; F6
.DW $5C7, $34C ; F
.DW $61F, $31D ; G6
.DW $67D, $2F0 ; G
.DW $6E0, $2C6 ; A6
.DW $748, $29E ; A
.DW $7B7, $278 ; B6
.DW $82D, $255 ; C7
.DW $8A9, $233 ; C
.DW $92D, $214 ; D7
.DW $9B9, $1F6 ; D
.DW $A4D, $1DA ; E7
.DW $AE9, $1BF ; F7
.DW $B8F, $1A6 ; F
.DW $C3F, $18E ; G7
.DW $CFA, $178 ; G
.DW $DC0, $163 ; A7
.DW $E91, $14F ; A
.DW $F6F, $13C ; B7
.DW $105A, $12A ; C8
.DW $1152, $119 ; C
.DW $125A, $10A ; D8
.DW $1372, $FB ; D
.DW $149A, $ED ; E8
.DW $15D3, $DF ; F8
.DW $171F, $D3 ; F
.DW $187F, $C7 ; G8
.DW $19F4, $BC ; G
.DW $1B80, $B1 ; A8
.DW $1D22, $A7 ; A
.DW $1EDE, $9E ; B8
#ENDIF
#IF (CPUOSC=10000000)
.DW $0, $0000 ; .DW $10, $12AA4 ; C0
.DW $0, $0000 ; .DW $11, $119EA ; C
.DW $0, $0000 ; .DW $12, $10A17 ; D0
.DW $13, $FB0B ; D
.DW $14, $ED07 ; E0
.DW $15, $DFAC ; F0
.DW $17, $D331 ; F
.DW $18, $C74C ; G0
.DW $19, $BC17 ; G
.DW $1B, $B18E ; A0
.DW $1D, $A790 ; A
.DW $1E, $9E2C ; B0
.DW $20, $9552 ; C1
.DW $22, $8CEB ; C
.DW $24, $8502 ; D1
.DW $26, $7D8D ; D
.DW $29, $7683 ; E1
.DW $2B, $6FDC ; F1
.DW $2E, $6993 ; F
.DW $31, $63A6 ; G1
.DW $33, $5E10 ; G
.DW $37, $58C7 ; A1
.DW $3A, $53CB ; A
.DW $3D, $4F16 ; B1
.DW $41, $4AA6 ; C2
.DW $45, $4675 ; C
.DW $49, $4281 ; D2
.DW $4D, $3EC6 ; D
.DW $52, $3B40 ; E2
.DW $57, $37EC ; F2
.DW $5C, $34C9 ; F
.DW $62, $31D3 ; G2
.DW $67, $2F06 ; G
.DW $6E, $2C63 ; A2
.DW $74, $29E5 ; A
.DW $7B, $278B ; B2
.DW $82, $2553 ; C3
.DW $8A, $233B ; C
.DW $92, $2141 ; D3
.DW $9B, $1F63 ; D
.DW $A4, $1DA0 ; E3
.DW $AE, $1BF6 ; F3
.DW $B9, $1A64 ; F
.DW $C4, $18E9 ; G3
.DW $CF, $1783 ; G
.DW $DC, $1631 ; A3
.DW $E9, $14F2 ; A
.DW $F6, $13C5 ; B3
.DW $105, $12A9 ; C4
.DW $115, $119D ; C
.DW $125, $10A0 ; D4
.DW $137, $FB1 ; D
.DW $149, $ED0 ; E4
.DW $15D, $DFB ; F4
.DW $171, $D32 ; F
.DW $188, $C74 ; G4
.DW $19F, $BC1 ; G
.DW $1B8, $B18 ; A4
.DW $1D2, $A79 ; A
.DW $1ED, $9E2 ; B4
.DW $20B, $954 ; C5
.DW $22A, $8CE ; C
.DW $24B, $850 ; D5
.DW $26E, $7D8 ; D
.DW $293, $768 ; E5
.DW $2BA, $6FD ; F5
.DW $2E3, $699 ; F
.DW $30F, $63A ; G5
.DW $33E, $5E0 ; G
.DW $370, $58C ; A5
.DW $3A4, $53C ; A
.DW $3DB, $4F1 ; B5
.DW $416, $4AA ; C6
.DW $454, $467 ; C
.DW $496, $428 ; D6
.DW $4DC, $3EC ; D
.DW $526, $3B4 ; E6
.DW $574, $37E ; F6
.DW $5C7, $34C ; F
.DW $61F, $31D ; G6
.DW $67D, $2F0 ; G
.DW $6E0, $2C6 ; A6
.DW $748, $29E ; A
.DW $7B7, $278 ; B6
.DW $82D, $255 ; C7
.DW $8A9, $233 ; C
.DW $92D, $214 ; D7
.DW $9B9, $1F6 ; D
.DW $A4D, $1DA ; E7
.DW $AE9, $1BF ; F7
.DW $B8F, $1A6 ; F
.DW $C3F, $18E ; G7
.DW $CFA, $178 ; G
.DW $DC0, $163 ; A7
.DW $E91, $14F ; A
.DW $F6F, $13C ; B7
.DW $105A, $12A ; C8
.DW $1152, $119 ; C
.DW $125A, $10A ; D8
.DW $1372, $FB ; D
.DW $149A, $ED ; E8
.DW $15D3, $DF ; F8
.DW $171F, $D3 ; F
.DW $187F, $C7 ; G8
.DW $19F4, $BC ; G
.DW $1B80, $B1 ; A8
.DW $1D22, $A7 ; A
.DW $1EDE, $9E ; B8
#ENDIF
SPK_NUMNOT .EQU ($-SPK_TUNTBL)/4
TXT_READY:
.DB CR,LF
.TEXT "BASIC READY "
.DB CR,LF,0FFH
.DW $82D0, $012A ; C
.DW $8A97, $0111 ; C#
.DW $92D5, $010A ; D
.DW $9B90, $00FB ; D#
.DW $A4D0, $00ED ; E
.DW $AE9D, $00DF ; F
.DW $B8FF, $00D3 ; F#
.DW $C3FF, $00C7 ; G
.DW $CFA7, $00BC ; G#
.DW $DC00, $00B1 ; A
.DW $E914, $00A7 ; A#
.DW $F6F1, $009E ; B
SLACK .EQU (BAS_END - $) SLACK .EQU (BAS_END - $)
.FILL SLACK,00H .FILL SLACK,00H
; ;

Loading…
Cancel
Save