File: psg.s

package info (click to toggle)
cc65 2.19-2
  • links: PTS
  • area: main
  • in suites: forky, sid, trixie
  • size: 20,268 kB
  • sloc: ansic: 117,151; asm: 66,339; pascal: 4,248; makefile: 1,009; perl: 607
file content (28 lines) | stat: -rw-r--r-- 898 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
        .export         psg_init

        .include        "pce.inc"

        .segment        "ONCE"
psg_init:
        stz     PSG_GLOBAL_PAN          ; Silence global balance
        ldx     #6 - 1

psg_clear_loop:
        stx     PSG_CHAN_SELECT         ; Select channel
        stz     PSG_FREQ_LO             ; Clear frequency LSB
        stz     PSG_FREQ_HI             ; Clear frequency MSB
        stz     PSG_CHAN_CTRL           ; Clear volume
        stz     PSG_CHAN_PAN            ; Clear balance
        stz     PSG_NOISE               ; Clear noise control
        stz     PSG_LFO_FREQ            ; Clear LFO frequency
        stz     PSG_LFO_CTRL            ; Clear LFO control

        ldy     #$20
psg_clear_waveform:
        stz     PSG_CHAN_DATA           ; Clear waveform byte
        dey
        bne     psg_clear_waveform

        dex
        bpl     psg_clear_loop
        rts