Original Post

There is a bug in Reality Boy when using objects and scrolling backgrounds that put said objects off screen.

I’ve put together a small demo to illustrate this, “manwithball” (source included).

To see the bug, just start the demo and walk straight down. In RB, the ball stays in area 1 (like you would expect actually), but on HW the ball strangely wraps around and shows up again in area 3…

Maybe someone (DogP?) could look into this and “fix” RB so it works as quirky as the HW…

Attachments:
14 Replies

Ah… yeah, I’ve seen that before… when I was working on my Mario game, I used a bunch of objects, and they’d reappear further in the level on HW, but never reappear in RB.

BTW, I think you posted about several object bugs in the past… did they ever get fixed? Not that I’m saying I’ll fix this or any of them, but if I’m gonna look at one, I might as well look at them all.

Heh, and that looks cool… I dunno if you were planning on starting a game like that, but it looks like a good start for a Tecmo Bowl type game πŸ˜‰ .

DogP

Yep, the bugs that my old OBJ pointer demo shows are still there as well. (Objects being put in the wrong world when you are using several object worlds and certain pointer values).

And no, I’m not going anywhere with this “game”, the only purpose of it was to make this point. It’s free for anyone to pick up and continue work on though πŸ˜€

Dan,

Can you explain the problem from the previous obj bug(s) that you noticed? I’m looking into the obj stuff, and I think I’m up to speed on how they work and what RB is doing with them, but I couldn’t find what values you said caused it to work wrong.

DogP

Cool, I’ll look into it again in more detail when I get home from work :thumpup:

Ok, here goes. I haven’t figured out the complete formula of whats wrong, but I can at least show it with a few examples using the OBJ pointer demo.

Now, the way you’re supposed to view this is that the “files” (numbered tiles) are the objects, each one sitting in one of the 4 available OBJ worlds. The “folders” are normal worlds, acting as separators between the object worlds, used only as a visual clue to which OBJ world one of the numbered tiles is currently in. πŸ™‚

So, looking at Exhibit A, I have 16 objects and all 4 OBJ worlds enabled. Setting SPT3 to 15, and all other OBJ pointers to 0, Reality Boy places object 0 in OBJ world 4 (closest to the viewer) and the rest of the objects in OBJ world 1. But the correct behaviour would be to put the rest of the objects in OBJ world 3 (as seen on hardware).

Moving on to Exhibit B, I reduce the number of used OBJ worlds to 3, and set the SPT pointers to 4, 1, 7, 0 respectively. RB then puts objects 0-7 in OBJ world 3 and simply hides the rest of the objects. But here the hardware puts objects 1-7 in OBJ world 3 and all other objects in OBJ world 2…

Sorry for rambling, but hopefully you can make some sense out of this. πŸ˜‰ And thanks for finally looking into it :thumpup:

P.S. Why can’t I edit my previous post?

Dan: Since a while ago, edits are only possible within 30 minutes after posting. This is because the edit function should only be used to fix errors or append to posts right after they’ve been posted. There should not be a possibility to alter posts anymore after a little while, since that could lead to confusion, the deleting of inportant posts or such things.

I’m looking at this right now… it seems that either the dev manual is unclear, wrong, or I don’t quite understand it. I think I see how the hardware is handling it though, so I’ll see if I can get this taken care of.

DogP

Okay… I think I’ve fixed the incorrect object handling from the “files” demo. I’ll look at the ball demo to see if I can get that bug fixed, though it might end up being tomorrow (it’s kinda late).

DogP

Cool… that was pretty easy. Attached are the new RB executables w/ fixed object handling.

DogP

Attachments:

I love you.

I have done some testing now, and it does indeed seem like the object handling works perfectly now! Great work, Pat! :thumpup: One step closer to a perfect emulator. Now direct screen drawing is pretty much the only thing left that falters. πŸ˜‰

So, was the dev manual wrong, and do you have some new notes on missing/updated info about the objects to share?

Thanks

Heh, well… actually, it was just unclear (and I was making assumptions from the pictures and other text that DT must have as well).

Basically, the sequence on 5-9-2 says it all. It’s all modulo 1024 of course, but it’ll search from SPT3 to SPT2+1, whether or not SPT3 is > than SPT2 (the figure on 5-9-1 made it seem that SPT0

KR155E wrote:
Dan: Since a while ago, edits are only possible within 30 minutes after posting. This is because the edit function should only be used to fix errors or append to posts right after they’ve been posted. There should not be a possibility to alter posts anymore after a little while, since that could lead to confusion, the deleting of inportant posts or such things.

While I understand the philosophy behind disallowing edits, perhaps a nice compromise would be, after the full-edit time period expires, to only allow adding to the bottom of a post. Also, a post edited in such a way should have its “read” status reset. Anyway, that’s what I would do…

(We now return you to your regularly scheduled thread ;-))

Yes, it’s hard to update lists of different kinds when the posts aren’t editable.

 

Write a reply

You must be logged in to reply to this topic.