mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 14:11:48 -06:00
Update nascom.asm
This commit is contained in:
@@ -4445,15 +4445,8 @@ PLAY: CALL GETINT ; GET OCTAVE
|
||||
EX (SP),HL ; GET OCTAVE IN HL. SYNTAX POINTER ON STACK
|
||||
EX DE,HL ; PUT NOTE PTR IN HL, OCTAVE IN DE
|
||||
|
||||
PUSH BC
|
||||
LD B,D
|
||||
CALL SPK_BEEP
|
||||
POP BC
|
||||
|
||||
POP HL ; RECALL SYNTAX POINTER
|
||||
RET
|
||||
|
||||
SPK_BEEP:
|
||||
PUSH BC ; SAVE SYNTAX POINTER
|
||||
LD B,D ; SAVE OCTAVE
|
||||
PUSH AF ; SAVE DURATION
|
||||
|
||||
LD A,(HL) ; LOAD 1ST ARG
|
||||
@@ -4478,7 +4471,7 @@ SPK_BEEP:
|
||||
LD A,8 ; DIVIDE THE
|
||||
SUB B ; FREQENCY BASED
|
||||
JR Z,SPK_OCTOK ; ON THE OCTAVE
|
||||
LD C,A ; REQUESTED
|
||||
LD B,A
|
||||
SPK_OCTDIV:
|
||||
SRL D ; 0>D>C ; MULTIPLY THE
|
||||
RR E ; C>E>C ; DURATION EVERY
|
||||
@@ -4510,7 +4503,6 @@ SPK_OCTOK:
|
||||
; DE Number of passes to make through the sound generation loop
|
||||
; HL Loop delay parameter
|
||||
|
||||
SPK_BEEPER:
|
||||
PUSH IX
|
||||
DI ; Disable the interrupt for the duration of a 'beep'.
|
||||
LD A,L ; Save L temporarily.
|
||||
@@ -4561,6 +4553,8 @@ BE_AGAIN: ; The parameters for the second half-cycle are set up.
|
||||
|
||||
BE_END: EI
|
||||
POP IX
|
||||
POP BC ; RECALL SYNTAX POINTER
|
||||
POP HL
|
||||
RET
|
||||
;
|
||||
RTCVAL .DB 0
|
||||
@@ -4573,12 +4567,6 @@ RTCVAL .DB 0
|
||||
; DURATION = (CPUKHZ * 256 / 2 - CPUKHZ - (2 * CPUKHZ) ) / FREQUENCY
|
||||
|
||||
SET_DUR_TBL:
|
||||
; PUSH IX
|
||||
; PUSH IY
|
||||
; PUSH HL
|
||||
; PUSH DE
|
||||
; PUSH BC
|
||||
|
||||
LD B,BF_SYSGET ; GET CPU SPEED
|
||||
LD C,BF_SYSGET_CPUINFO ; FROM HBIOS
|
||||
RST 08
|
||||
@@ -4608,7 +4596,7 @@ FRQ_AJ2:PUSH HL ; DEHL = CPUKHZ / 8) / FREQUENCY
|
||||
EX DE,HL
|
||||
|
||||
LD IY,FRQDURTBL ; POINT TO THE TABLE WE
|
||||
LD C,12 ; WANT TO READ AND UPDATE
|
||||
LD B,FDTBSIZ ; WANT TO READ AND UPDATE
|
||||
TBL_LP: PUSH BC
|
||||
|
||||
LD C,(IY+0) ; READ THE FREQUENCY
|
||||
@@ -4647,26 +4635,22 @@ DIV_CANSUB:
|
||||
|
||||
POP BC ; RETREIVE THE
|
||||
DJNZ TBL_LP ; LOOP COUNTER
|
||||
|
||||
; POP BC
|
||||
; POP DE
|
||||
; POP HL
|
||||
; POP IY
|
||||
; POP IX
|
||||
|
||||
RET
|
||||
|
||||
LD A,' '
|
||||
CALL MONOUT
|
||||
DISP: PUSH BC
|
||||
|
||||
LD HL,(FRQDURTBL+12)
|
||||
PUSH HL
|
||||
; PUSH DE
|
||||
; POP BC
|
||||
; CALL PRTHEXWORD
|
||||
;
|
||||
; PUSH DE
|
||||
; POP BC
|
||||
; CALL PRTHEXWORD
|
||||
|
||||
LD A,'*'
|
||||
CALL MONOUT
|
||||
POP BC
|
||||
CALL PRTHEXWORD
|
||||
LD HL,(FRQDURTBL+14)
|
||||
PUSH HL
|
||||
POP BC
|
||||
CALL PRTHEXWORD
|
||||
RET
|
||||
|
||||
PRTHEXBYTE:
|
||||
PUSH AF
|
||||
@@ -4734,19 +4718,15 @@ HEXCONV:
|
||||
; AND DURATIONS ARE CALCULATE BY MODIFYING THE VALUES READ FROM THIS TABLE.
|
||||
;
|
||||
FRQDURTBL:
|
||||
.DW $105A, $0 ; C
|
||||
.DW $1152, $0 ; C#
|
||||
.DW $125A, $0 ; D
|
||||
.DW $1372, $0 ; D#
|
||||
.DW $149A, $0 ; E
|
||||
.DW $15D3, $0 ; F
|
||||
.DW $171F, $0 ; F#
|
||||
.DW $1875, $0 ; G
|
||||
.DW $19F4, $0 ; G#
|
||||
.DW $1B80, $0 ; A
|
||||
.DW $1D22, $0 ; A#
|
||||
.DW $1EDE, $0 ; B
|
||||
.DW $105A, $0, $1152, $0 ; C, C#
|
||||
.DW $125A, $0, $1372, $0 ; D, D#
|
||||
.DW $149A, $0 ; E
|
||||
.DW $15D3, $0, $171F, $0 ; F, F#
|
||||
.DW $1875, $0, $19F4, $0 ; G, G#
|
||||
.DW $1B80, $0, $1D22, $0 ; A, A#
|
||||
.DW $1EDE, $0 ; B
|
||||
|
||||
FDTBSIZ .EQU ($-FRQDURTBL)/4
|
||||
|
||||
SLACK .EQU (BAS_END - $)
|
||||
.FILL SLACK,00H
|
||||
@@ -4755,5 +4735,4 @@ SLACK .EQU (BAS_END - $)
|
||||
.ECHO SLACK
|
||||
.ECHO " bytes.\n"
|
||||
|
||||
.end
|
||||
|
||||
.END
|
||||
|
||||
Reference in New Issue
Block a user