Problem with FIIIus

General area for talk about ZSNES. The best place to ask for related questions as well as troubleshooting.

Moderator: ZSNES Mods

Post Reply
mabauti
Rookie
Posts: 20
Joined: Wed Aug 24, 2005 7:02 am

Problem with FIIIus

Post by mabauti »

I have a probem with FFIIIus.

The guiding hand is showed complete on the lower action

The guiding hand is half showed on the middle action
http://i18.photobucket.com/albums/b145/mabauti/ff3.png

The guiding hand is not showed on the upper action.

Is this "normal" ?
what can I do? :?:
Ok
byuu

Post by byuu »

Is this "normal" ?
Nope.
what can I do?
You can modify ZSNES' RTO (range/time over) sprite support to load the first 34 tiles in reverse order from the first 32 sprites on a scanline (e.g. start with sprite #31 and work your way downwards). It goes in the opposite direction currently (starts with the tiles in the first sprite), which causes invisible "sprites" stored before the cursor in the sprite list to be loaded first, thus eating up all available tiles that the PPU can render in one scanline, and not rendering the cursor.

Perhaps a visual example will help. In the below screenshots, 128 16x16 sprites are drawn on the same line, the first at X=0, the second at X=1, etc.

If we were to grab the first 32 sprites, and then go backwards, each 16x16 sprite would contain 2 8x8 tiles. We would thus grab the next 17 sprites (17*2=34). So 32-17=15, so the first 15 sprites would not be rendered. Which just so happens, given the X spacing of 1 pixel per tile, there are 15 blank pixels at the leftmost side in the correct screenshot.
You can apply this logic in reverse to see what the incorrect screenshot is doing wrong.

Image Image
The left screenshot is correct, the right screenshot was taken from ZSNES 08/22 WIP. Ignore the slight hue difference, the left screenshot was taken with a color curve applied to the image.

And here's a sample program + source that can help you identify when you have the emulation corrected.

Have fun.
mabauti
Rookie
Posts: 20
Joined: Wed Aug 24, 2005 7:02 am

Post by mabauti »

Yeah byuusan u r right. The emulation is not correct. I'll be trying to adjust that issue Thanks :D
Ok
creaothceann
Seen it all
Posts: 2302
Joined: Mon Jan 03, 2005 5:04 pm
Location: Germany
Contact:

Post by creaothceann »

mabauti wrote:I'll be trying to adjust that issue
That's the spirit! :o
vSNES | Delphi 10 BPLs
bsnes launcher with recent files list
mabauti
Rookie
Posts: 20
Joined: Wed Aug 24, 2005 7:02 am

Post by mabauti »

Ok.

I loaded the rto with Zsnes , but I can't see any other screen than the two blocks (I tried all the keyboard and the gamepad). Should I watch other? ... I can't find the range/time over sprite support screen. :(

Btw I have trying with all the speed options...result: negative :?

TIA

p.s. I'm using Zsnes WIP 8_22 (latest)
Ok
Clements
Randomness
Posts: 1172
Joined: Wed Jul 28, 2004 4:01 pm
Location: UK
Contact:

Post by Clements »

This is a problem for the ZSNES team to solve, or an eagar programmer with the skills and motivation required. I believe byuu already solved this problem for his own bsnes emulator, and is providing the info to help with the fix.
grinvader
ZSNES Shake Shake Prinny
Posts: 5632
Joined: Wed Jul 28, 2004 4:15 pm
Location: PAL50, dood !

Post by grinvader »

As Clements said, you can't "adjust" rto in zsnes unless you have immense x86 asm skills.
皆黙って俺について来い!!

Code: Select all

<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)
Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54
mabauti
Rookie
Posts: 20
Joined: Wed Aug 24, 2005 7:02 am

Post by mabauti »

oops , sorry my mistake. :oops:

I'll try with the rto.asm archive. :cool:
Ok
mabauti
Rookie
Posts: 20
Joined: Wed Aug 24, 2005 7:02 am

Post by mabauti »

<deleted>
Ok
byuu

Post by byuu »

Clements is correct. I thought it might be fun to post the correct technical solution for any interested ZSNES developers (pagefault) here.

You can try running FF3 on SNES9x in the mean time, if you want. It handles sprite rendering (more) correctly. Not looking for an "emulator X is better" discussion, just saying...
Post Reply