[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ANN: New 6502 cross-compiler designed for the Apple II
I converted the "simple tone routine" from at http://8bitsoundandfury.ld8.org/programming.html
)
this should go in a file called "beep.s" in the lib directory
###########################################
beep_pitch:
.byte 0
beep_duration:
.byte 0
beep: ;(duration pitch --)
jsr pop
sta beep_pitch
jsr pop
sta beep_duration
beep_main_loop:
lda $c030 ;toggle speaker
beep_delay_between_clicks:
dey
bne beep_not_waited_255_cycles
dec beep_duration
beq beep_done
beep_not_waited_255_cycles:
dex
bne beep_delay_between_clicks
ldx beep_pitch
jmp beep_main_loop
beep_done:
rts
###############################
then open up spl.py, and add "beep" to both DEPENDENCIES (depends on
'pop') and LIBRARYMAP.
finally, here's some sample code (which got my 18mo daughter very
excited):
###############################
org 0x801
def pause #(duration --)
{
1- dup ?0break
}
drop
end
def main
108 128 beep
10 pause
108 128 beep
10 pause
108 85 beep
10 pause
108 85 beep
10 pause
108 76 beep
10 pause
108 76 beep
10 pause
216 85 beep
10 pause
108 96 beep
10 pause
108 96 beep
10 pause
108 102 beep
10 pause
108 102 beep
10 pause
108 114 beep
10 pause
108 114 beep
10 pause
216 128 beep
10 pause
108 85 beep
10 pause
108 85 beep
10 pause
108 96 beep
10 pause
108 96 beep
10 pause
108 102 beep
10 pause
108 102 beep
10 pause
216 114 beep
10 pause
108 85 beep
10 pause
108 85 beep
10 pause
108 96 beep
10 pause
108 96 beep
10 pause
108 102 beep
10 pause
108 102 beep
10 pause
216 114 beep
10 pause
108 128 beep
10 pause
108 128 beep
10 pause
108 85 beep
10 pause
108 85 beep
10 pause
108 76 beep
10 pause
108 76 beep
10 pause
216 85 beep
10 pause
108 96 beep
10 pause
108 96 beep
10 pause
108 102 beep
10 pause
108 102 beep
10 pause
108 114 beep
10 pause
108 114 beep
10 pause
216 128 beep
10 pause
end
###############################