SNES Programing Help 2

Discussion of hardware and software development for Super NES and Super Famicom.

Moderator: Moderators

Forum rules
  • For making cartridges of your Super NES games, see Reproduction.
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: SNES Programing Help 2

Post by tepples »

Does this engine use the echo effect at all? If so, does the instability on hardware go away if you disable echo?
User avatar
Khaz
Posts: 314
Joined: Thu Dec 25, 2014 10:26 pm
Location: Canada

Re: SNES Programing Help 2

Post by Khaz »

Aha. Well if it's echo that's causing the problem then I found out why. Here's an excerpt from "DSPInitData:" in SNESGSS's "spc700.asm" file (which I understand to be a transcript of the actual spc700 driver code) as of the version I've been using:

Code: Select all

	db {DSP_EON}  ,255						//echo enabled
	db {DSP_EVOLL},0						//echo (as global) volume to zero, it gets to the max after init
	db {DSP_EVOLR},0
	db {DSP_KOF}  ,255						//all keys off
	db {DSP_DIR}  ,sampleDirAddr/256		//sample dir location
	db {DSP_FLG}  ,%00000000				//no mute, enable echo
	db 0
That version was uploaded in December. As of the end of March there's a new version which changed to:

Code: Select all

	db {DSP_EON}  ,0						//echo disabled
	db {DSP_EVOLL},0						//echo volume to zero
	db {DSP_EVOLR},0
	db {DSP_KOF}  ,255						//all keys off
	db {DSP_DIR}  ,sampleDirAddr/256		//sample dir location
	db {DSP_FLG}  ,%00100000				//no mute, disable echo
	db 0
Looks like it was previously using the Echo volume for something, not too sure why.

I will try the latest SNESGSS when I get a chance/find it and see if it fixes everything.

EDIT: Had code samples backwards. >.<
Post Reply