Assembler-Beispiel 8E - STX $hhll.asm
Aus C64-Wiki
Zur Navigation springenZur Suche springen
; Diese Programm spielt solange einen Ton, bis eine Taste gedrückt wird. ; Programmstart mit SYS 49152 *=$c000 ; Startadresse des Programms GETIN = $ffe4 ; SID-Register: (Stimme 1) ST1_FREQ_L = $d400 ; Frequenz (High- und Low-Byte) ST1_FREQ_H = $d401 ST1_WELLENFORM = $d404 ; Wellenform ST1_ANSCHLAG = $d405 ; Anschlag ($0. hart - $f. weich) ; Abschwellen ($.0 hart - $.f weich) ST1_HALTEN = $d406 ; Halten ($0. stumm - $f. laut) ; Ausklingen ($.0 schnell - $.f langsam) LAUTST = $d418 ; Bit 0-3 = Lautstärke ($00 stumm ... $0f laut) DREIECK = $11 SAEGEZAHN = $21 RECHTECK = $41 RAUSCHEN = $81 ein ldx #$0f ; Tonerzeugung stx LAUTST ldx #$19 stx ST1_ANSCHLAG ldx #$44 stx ST1_HALTEN ldx #$1d stx ST1_FREQ_H ldx #$45 stx ST1_FREQ_L ldx #DREIECK stx ST1_WELLENFORM eingabe jsr GETIN beq eingabe ; warte auf Tastendruck aus ldx #$00 ; Ton abschalten stx ST1_WELLENFORM stx ST1_ANSCHLAG stx ST1_HALTEN rts