What is the meaning of the SGB Initial Data packets?

Discussion of programming and development for the original Game Boy and Game Boy Color.
Post Reply
nitro2k01
Posts: 252
Joined: Sat Aug 28, 2010 9:01 am

What is the meaning of the SGB Initial Data packets?

Post by nitro2k01 »

Nintendo's official GB programming manual recommends sending certain data to the SNES, which is described in section 5.2 Initial Data, as such:
When writing programs that use the system commands of SGB and SGB2, use the initialization routine of the
game program to send the following 8 packets of default data to the register file.
These are DATA_SND commands that send data to 00:0810-00:0867 which is WRAM. I loaded the SGB and SGB2 ROMs to no$sns (obviously emulating only the SNES side for a quick look). SGB2 had identical values as was suggested in the manual, except a few bytes in the end. On SGB1 instead this memory area was mostly empty. (00FF pattern.)

Has anyone looked into what these values are actually used for? Do you really need to transfer them?

Code: Select all

DataSnd0::
	DB $79,$5D,$08,$00,$0B,$8C,$D0,$F4,$60,$00,$00,$00,$00,$00,$00,$00
DataSnd1::
	DB $79,$52,$08,$00,$0B,$A9,$E7,$9F,$01,$C0,$7E,$E8,$E8,$E8,$E8,$E0
DataSnd2::
	DB $79,$47,$08,$00,$0B,$C4,$D0,$16,$A5,$CB,$C9,$05,$D0,$10,$A2,$28
DataSnd3::
	DB $79,$3C,$08,$00,$0B,$F0,$12,$A5,$C9,$C9,$C8,$D0,$1C,$A5,$CA,$C9
DataSnd4::
	DB $79,$31,$08,$00,$0B,$0C,$A5,$CA,$C9,$7E,$D0,$06,$A5,$CB,$C9,$7E
DataSnd5::
	DB $79,$26,$08,$00,$0B,$39,$CD,$48,$0C,$D0,$34,$A5,$C9,$C9,$80,$D0
DataSnd6::
	DB $79,$1B,$08,$00,$0B,$EA,$EA,$EA,$EA,$EA,$A9,$01,$CD,$4F,$0C,$D0
DataSnd7::
	DB $79,$10,$08,$00,$0B,$4C,$20,$08,$EA,$EA,$EA,$EA,$EA,$60,$EA,$EA
Post Reply