Author Topic: FBAlpha Big Endian Patches  (Read 31637 times)

Offline iq_132

  • Administrator
  • *****
  • Posts: 3725
  • Karma: +411/-0
  • Definitely not Dink!
    • NeoSource
Re: FBAlpha Big Endian Patches
« Reply #45 on: March 31, 2012, 08:10:18 PM »
Ok, pretty sure I've got it fixed. There's a crash when NVRAM is corrupted too, but that's somewhat of a non-issue atm imo.


Offline Twinaphex

  • Jr. Member
  • **
  • Posts: 81
  • Karma: +8/-0
Re: FBAlpha Big Endian Patches
« Reply #46 on: March 31, 2012, 08:11:50 PM »
Noticed a bug while testing FBA libsnes on SSNES PS3 - if a savestate was made with any CPS3 game, the screen colors would be distorted heavily. This would only partly go away in the next round, but the colors would still be off.

You can see an image of what would happen here:

https://imgur.com/A5QOy

The following needs to be changed in cps3run.cpp - line 689 - change:

Code: [Select]
RamPal[(paldma_dest + i) ^ 1] = coldata;

to:

Code: [Select]
#ifdef LSB_FIRST
RamPal[(paldma_dest + i) ^ 1] = coldata;
#else
RamPal[(paldma_dest + i)] = coldata;
#endif

That fixed the issue for me at least.

Offline iq_132

  • Administrator
  • *****
  • Posts: 3725
  • Karma: +411/-0
  • Definitely not Dink!
    • NeoSource
Re: FBAlpha Big Endian Patches
« Reply #47 on: March 31, 2012, 08:17:39 PM »
Noticed a bug while testing FBA libsnes on SSNES PS3 - if a savestate was made with any CPS3 game, the screen colors would be distorted heavily. This would only partly go away in the next round, but the colors would still be off.

You can see an image of what would happen here:

https://imgur.com/A5QOy

The following needs to be changed in cps3run.cpp - line 689 - change:

Code: [Select]
RamPal[(paldma_dest + i) ^ 1] = coldata;

to:

Code: [Select]
#ifdef LSB_FIRST
RamPal[(paldma_dest + i) ^ 1] = coldata;
#else
RamPal[(paldma_dest + i)] = coldata;
#endif

That fixed the issue for me at least.

Cool. ^^ Pushed this to the SVN.


Offline Twinaphex

  • Jr. Member
  • **
  • Posts: 81
  • Karma: +8/-0
Re: FBAlpha Big Endian Patches
« Reply #48 on: March 31, 2012, 09:59:21 PM »
Small typo in d_psikyo4.cpp for big-endian code path -

change line 452 from:

Code: [Select]
DrvSprRAM((address) & 0x3fff] = data;

to:

Code: [Select]
DrvSprRAM[(address) & 0x3fff] = data;

Offline iq_132

  • Administrator
  • *****
  • Posts: 3725
  • Karma: +411/-0
  • Definitely not Dink!
    • NeoSource
Re: FBAlpha Big Endian Patches
« Reply #49 on: March 31, 2012, 10:08:54 PM »
Cool. Fixed :)


Offline Barry Harris

  • dontbeabarry
  • *
  • Posts: 1785
  • Karma: +0/-65535
  • I'm Barry Harris and I like to f*** people over
Re: FBAlpha Big Endian Patches
« Reply #50 on: April 01, 2012, 04:58:49 AM »
Thanks to the big-endian patches by Lantus, FBA mainline now runs on 360, Wii and PS3 through SSNES/libsnes.

Perhaps one small change can be pushed upstream to make my life a bit easier - the header file that needs to be included for a big-endian port is called 'endian.h' right now - if this could be changed to some other name it would be much appreciated. The reason for changing it is that Linux has a system header file by that name and it conflicts when I build FBA libsnes on a Linux system (I compile PS3 builds on a Linux system with the Win32 PS3 toolchain running through WINE) - so right now with every new version of FBA that is released I always have to change the name to something that won't conflict, such as 'big_endian.h'.

Thanks for pointing it out, I changed the include to burn_endian.h.
Account of Barry Harris; the traitor.
Send me an e-mail at barry@fbalpha.com letting me know how big of a piece of sh** I am.

Offline Barry Harris

  • dontbeabarry
  • *
  • Posts: 1785
  • Karma: +0/-65535
  • I'm Barry Harris and I like to f*** people over
Re: FBAlpha Big Endian Patches
« Reply #51 on: April 01, 2012, 05:09:00 AM »
Ok, pretty sure I've got it fixed. There's a crash when NVRAM is corrupted too, but that's somewhat of a non-issue atm imo.

gdb no longer reports the heap warnings on exit (and I got them 100% of the time before).
Account of Barry Harris; the traitor.
Send me an e-mail at barry@fbalpha.com letting me know how big of a piece of sh** I am.

Offline iq_132

  • Administrator
  • *****
  • Posts: 3725
  • Karma: +411/-0
  • Definitely not Dink!
    • NeoSource
Re: FBAlpha Big Endian Patches
« Reply #52 on: April 01, 2012, 08:23:52 AM »
gdb no longer reports the heap warnings on exit (and I got them 100% of the time before).
Wonderful. :D


Offline vbt

  • FBNeo Contributor
  • *****
  • Posts: 205
  • Karma: +9005/-0
Re: FBAlpha Big Endian Patches
« Reply #53 on: April 04, 2012, 04:16:53 PM »
don't forget Saturn, I'm back :)

Offline lantus

  • Expert
  • *****
  • Posts: 162
  • Karma: +32/-0
Re: FBAlpha Big Endian Patches
« Reply #54 on: April 04, 2012, 06:07:28 PM »
welcome back =)

Offline lantus

  • Expert
  • *****
  • Posts: 162
  • Karma: +32/-0
Re: FBAlpha Big Endian Patches
« Reply #55 on: April 26, 2012, 09:30:58 AM »
d_cps1 endian updates for the new stuff and some bootlegs i never bothered with in the past




Offline lantus

  • Expert
  • *****
  • Posts: 162
  • Karma: +32/-0
Re: FBAlpha Big Endian Patches
« Reply #56 on: May 16, 2012, 07:32:08 PM »
a small endian cps1 fix for SF2MDT




Offline lantus

  • Expert
  • *****
  • Posts: 162
  • Karma: +32/-0
Re: FBAlpha Big Endian Patches
« Reply #57 on: May 21, 2012, 08:35:53 PM »
- endian fix for System16A tiles (Shinbo set 1 and 6)
- endian fix for d_tecmo.cpp palette (rygar)


Offline lantus

  • Expert
  • *****
  • Posts: 162
  • Karma: +32/-0
Re: FBAlpha Big Endian Patches
« Reply #58 on: August 14, 2012, 10:01:49 AM »
- endian fix for d_cybertnk


Offline lantus

  • Expert
  • *****
  • Posts: 162
  • Karma: +32/-0
Re: FBAlpha Big Endian Patches
« Reply #59 on: November 27, 2012, 10:22:41 AM »
These Big Endian patches are from MagicSeb. Verified and tested working.

 - d_cbuster.cpp : Colorfix + No crash
 - d_simpl156.cpp : Sprites fix
 - d_supbtime.cpp : Colorfix + No crash
« Last Edit: November 27, 2012, 10:24:35 AM by lantus »