mirror of
https://github.com/tebl/RC-Project-Board.git
synced 2024-11-29 09:50:50 +00:00
37 lines
1.2 KiB
NASM
37 lines
1.2 KiB
NASM
.CR 6502
|
|
.TF beep.hex,INT
|
|
.LF beep.list
|
|
|
|
* ----------------------------------------------------------------------
|
|
* SAMPLE PROGRAM AS FOUND IN THE BOOK "6502 APPLICATIONS BOOK" BY RODNEY
|
|
* ZAKS, IT IS A SOFTWARE METHOD OF CONTROLLING SOUND DURATION.ADAPTED FOR
|
|
* THE KIM-1 WITH THE 6502 PROJECT PLATFORM BOARD / COVOX PROJECT BOARD.
|
|
*
|
|
DELAY .EQ $04
|
|
|
|
VIA .EQ $1700
|
|
IRB .EQ VIA
|
|
ORA .EQ VIA+1
|
|
DDRB .EQ VIA+2
|
|
DDRA .EQ VIA+3
|
|
|
|
.OR $0200
|
|
.TA $0200
|
|
START LDA #$80 LOAD A DEFAULT VALUE, START PROGRAM AT
|
|
STA DELAY BSCSPK TO JUST USE ZP $04 AS IN THE BOOK.
|
|
BSCSPK LDA #$FF SET PORT A
|
|
STA DDRA AS OUTPUTS
|
|
|
|
AGAIN LDA #$20 DEFAULT VOLUME
|
|
STA ORA SET SPEAKER DRIVER HIGH
|
|
JSR DLYB CALL DELAY
|
|
LDA #$00
|
|
STA ORA SET SPEAKER DRIVER LOW
|
|
JSR DLYB CALL DELAY
|
|
JMP AGAIN
|
|
|
|
DLYB LDX DELAY LOAD DELAY VALUE INTO X
|
|
LPXB INX INCREMENT X
|
|
CPX #$00
|
|
BMI LPXB LOOP TILL (X)=0
|
|
RTS |