Language…
18 users online: Alex No,  BeeKaay,  Blaagon, gcrackaaa, GiraffeKiller, Golden Yoshi, Gorry, Green, Hidincuzimsmokin, Maw, Metal-Yoshi94, OrangeBronzeDaisy, PuffleDreemurr, rafaelfutbal, Ray Hamilton, ShoopDaWhoop, Sniwott, wayht - Guests: 287 - Bots: 451
Users: 64,795 (2,371 active)
Latest user: mathew

hdma mosaic issues with zsnes

Hi there,

I have troubles making a hdma mosaic effect bugfree with zsnes. It is for LoZ, but I hope that people can help me with it nevertheless:


It works great with bsnes/snes9x:


But zsnes seem to not like that mosaic effect


Can somebody help me with it? Here's the patch:
http://www.filedropper.com/mosaic
Just patch a "Legond of Zelda - A Link to the Past (USA)" without header with this patch and cheat with 7e009b-F0 to enable the mosaic effect

The original author is MathOnNapkins, and I have this code sniplet, in case it helps:

Code

    !mosaic1 = $02, $02, $02, $12, $02, $02, $02, $12, $02, $02, $02, $12, $02, $02, $02, $12
    !mosaic2 = $12, $02, $02, $02, $12, $02, $02, $02, $12, $02, $02, $02, $12, $02, $02, $02
    !mosaic3 = $02, $12, $02, $02, $02, $12, $02, $02, $02, $12, $02, $02, $02, $12, $02, $02
    !mosaic4 = $02, $02, $12, $02, $02, $02, $12, $02, $02, $02, $12, $02, $02, $02, $12, $02

Chan4TableAddrs:

	dw Chan4Table0, Chan4Table0, Chan4Table0, Chan4Table0
	dw Chan4Table1, Chan4Table1, Chan4Table1, Chan4Table1
	dw Chan4Table2, Chan4Table2, Chan4Table2, Chan4Table2
	dw Chan4Table3, Chan4Table3, Chan4Table3, Chan4Table3
	dw Chan4Table0, Chan4Table0, Chan4Table0, Chan4Table0
	dw Chan4Table1, Chan4Table1, Chan4Table1, Chan4Table1
	dw Chan4Table2, Chan4Table2, Chan4Table2, Chan4Table2
	dw Chan4Table3, Chan4Table3, Chan4Table3, Chan4Table3
    
Chan4Table0:

	db $F0
	db !mosaic1, !mosaic1, !mosaic1, !mosaic1
	db !mosaic1, !mosaic1, !mosaic1
	db $F0
	db !mosaic1, !mosaic1, !mosaic1, !mosaic1
	db !mosaic1, !mosaic1, !mosaic1

	db $00

Chan4Table1:

	db $F0
	db !mosaic2, !mosaic2, !mosaic2, !mosaic2
	db !mosaic2, !mosaic2, !mosaic2
	db $F0
	db !mosaic2, !mosaic2, !mosaic2, !mosaic2
	db !mosaic2, !mosaic2, !mosaic2

	db $00

Chan4Table2:

	db $F0
	db !mosaic3, !mosaic3, !mosaic3, !mosaic3
	db !mosaic3, !mosaic3, !mosaic3
	db $F0
	db !mosaic3, !mosaic3, !mosaic3, !mosaic3
	db !mosaic3, !mosaic3, !mosaic3

	db $00

Chan4Table3:

	db $F0
	db !mosaic4, !mosaic4, !mosaic4, !mosaic4
	db !mosaic4, !mosaic4, !mosaic4
	db $F0
	db !mosaic4, !mosaic4, !mosaic4, !mosaic4
	db !mosaic4, !mosaic4, !mosaic4

	db $00
The problem appears to be that ZSNES is an inaccurate emulator, and some code that works for it won't work for accurate emulators like bsnes, and vice versa.
thx to e r i k for layout
Yes... I was hoping that somebody with experience with hdma could give some advice how to make it work with zsnes, it is not so that zsnes can't emulate hdma.

Like, a register must be reset, some bytes rewritten, or any other workaround. The effect also works to 50% in zsnes, only some tiles make troubles.

I hope somebody can find the issue :)
Ah, Euclid solved it:
Zsnes -> config -> options -> uncheck "use new gfx engine"

Then it works flawlessly :)