Skip to content

Instantly share code, notes, and snippets.

@petersobolev
Created August 12, 2023 11:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save petersobolev/5ada165341fca2f311259a1ec157c31c to your computer and use it in GitHub Desktop.
Save petersobolev/5ada165341fca2f311259a1ec157c31c to your computer and use it in GitHub Desktop.
Generate noise on PSX (Sony Playstation 1) without any samples
; Generate noise with slow attack and decay/release on PSX (Sony Playstation 1). MIPS R3000
; (sounds like ocean waves). No samples used.
;
; by Frog (frog@enlight.ru)
org $80010000
lui r27,$1F80 ; I/O base
li r8,$ea30 ; 1100000100110000 enable noise (no adpcm)
sh r8,$1DAA(r27) ; SPU_CONTROL
li r8,$3fff ; master volume = 011111111111111
sh r8,$1d80(r27) ; master volume left
sh r8,$1d82(r27) ; master volume right
li r8,$1010 ; SPU buffer address
sh r8,$1C06(r27) ; set SPU buffer address
li r8,$3fff ; volume = 011111111111111
sh r8,$1C00(r27) ; volume left
sh r8,$1C02(r27) ; volume right
li r8,$bf3f ; 1011111100111111
sh r8,$1c08(r27) ; SPU_CH_ADSR1
li r8,$cfff ; 1100111111111111
sh r8,$1c0a(r27) ; SPU_CH_ADSR2
li r8,1
sh r8,$1d94(r27) ; SPU_NOISE_MODE1
li r8,1
sh r8,$1d88(r27) ; SPU_KEY_ON1
; jr ra
; nop
loop: j loop
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment