star wars credits bug

Technical discussion for those interested in Supermodel development and Model 3 reverse engineering. Prospective contributors welcome.
Forum rules
Keep it classy!

  • No ROM requests or links.
  • Do not ask to be a play tester.
  • Do not ask about release dates.
  • No drama!

star wars credits bug

Postby Ian » Sat Mar 18, 2017 10:05 am

Thought I'd just write it here .. to keep track of this



Image

The problem is with the 2D layer.
Attachments
star wars bug.png
star wars bug.png (120.74 KiB) Viewed 1010 times
Ian
 
Posts: 1038
Joined: Tue Feb 23, 2016 9:23 am

Re: star wars credits bug

Postby HarryTuttle » Sat Mar 18, 2017 10:11 am

Could it be related to texture black stripes we see also before each mission?
User avatar
HarryTuttle
 
Posts: 461
Joined: Thu Mar 09, 2017 8:57 am

Re: star wars credits bug

Postby Ian » Sat Mar 18, 2017 10:13 am

Honestly I've never really played star wars
but I guess it's probably the same bug
Probably something timing related
Ian
 
Posts: 1038
Joined: Tue Feb 23, 2016 9:23 am

Re: star wars credits bug

Postby Bart » Sat Mar 18, 2017 6:12 pm

Need to look into this when I get some time (I'm scrambling to get an entry in for next week's #hololens_challenge) but I wonder if it has something to do with the game accessing VRAM using non-32-bit accesses? Total long shot here and I forgot what Supermodel does exactly but I do seem to recall that most games will touch VRAM in 32-bit words and I don't think I ever wrote handlers for, say, 16-bit or 8-bit accesses. Maybe they're possible after all.
User avatar
Bart
Site Admin
 
Posts: 1905
Joined: Thu Sep 01, 2011 2:13 pm
Location: New York City

Re: star wars credits bug

Postby Ian » Sat Mar 18, 2017 6:41 pm

All the text in the background is drawn as polys.
So what's onscreen in the 2d layers is about as simple as possible
So hopefully wont be too hard to debug :)
Ian
 
Posts: 1038
Joined: Tue Feb 23, 2016 9:23 am

Re: star wars credits bug

Postby Ian » Sun Mar 19, 2017 6:16 am

Bart
It's missing the read16 methods for the tilegen. That's what star wars is calling.
If you implement those I guess it might even work
Ian
 
Posts: 1038
Joined: Tue Feb 23, 2016 9:23 am

Re: star wars credits bug

Postby Spindizzi » Sun Mar 19, 2017 7:36 am

Seems you're right
rapid test : just copy from Read32 and adapt for Read16
Code: Select all
  case 0xF1:
     //printf("Tilegen READ 16\n");
     data = TileGen.ReadRAM((addr & 0x1FFFFF));
     return FLIPENDIAN16(data);

Do it only for ram access, don't know if registers are accessed in the read16 method. Only Bart can correct this rigorously
This corrects the vertical black bars but not the speed of the scrolling, cool :)
++
Spindizzi
 
Posts: 53
Joined: Thu Nov 17, 2016 8:55 am
Location: France

Re: star wars credits bug

Postby Bart » Sun Mar 19, 2017 11:24 am

I've just integrated a proper fix into my branch but realized that I can't push it due to the other changes I have in there. Tuesday evening I will make a fix to the public branch. I've added support for reading/writing 8- and 16-bit values.

Ian: please don't commit any tilegen-related fixes. I'll take care of this.
User avatar
Bart
Site Admin
 
Posts: 1905
Joined: Thu Sep 01, 2011 2:13 pm
Location: New York City

Re: star wars credits bug

Postby Ian » Sun Mar 19, 2017 12:34 pm

Sure :)
Wonder if that fixes other games. Spike out has some really crazy 2d bugs if you leave attract mode long enough
Ian
 
Posts: 1038
Joined: Tue Feb 23, 2016 9:23 am

Re: star wars credits bug

Postby Bart » Wed Mar 22, 2017 9:26 pm

I've committed the fix. Didn't test thoroughly but confirmed it works on the Yavin mission intro screen...
User avatar
Bart
Site Admin
 
Posts: 1905
Joined: Thu Sep 01, 2011 2:13 pm
Location: New York City

Next

Return to The Dark Room

Who is online

Users browsing this forum: No registered users and 1 guest