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

Offline lantus

  • Expert
  • *****
  • Posts: 162
  • Karma: +32/-0
Re: FBAlpha Big Endian Patches
« Reply #30 on: March 30, 2012, 10:01:13 AM »
arm cpu
more data east
sega16 sprite fix

we are really at the home stretch now..just a few minor fixes here and there i believe :)


Offline iq_132

  • Administrator
  • *****
  • Posts: 3725
  • Karma: +411/-0
  • Definitely not Dink!
    • NeoSource
Re: FBAlpha Big Endian Patches
« Reply #31 on: March 30, 2012, 10:21:24 AM »
Hey lantus, could you do me a favor and see if you could possibly track down a crash bug in the PGM code for me please? It seems to pop up at random, sometimes fba crashes on exit, sometimes not. I'm not sure where it's happening, if you could at least point me in a direction, i could fix it. :S


Offline lantus

  • Expert
  • *****
  • Posts: 162
  • Karma: +32/-0
Re: FBAlpha Big Endian Patches
« Reply #32 on: March 30, 2012, 10:57:56 AM »
i've noticed that too iq..ill take a look

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 #33 on: March 30, 2012, 03:09:11 PM »
we are really at the home stretch now..just a few minor fixes here and there i believe :)

Very cool - nice work lantus. :)
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 neocvera

  • Newbies
  • *
  • Posts: 39
  • Karma: +1/-0
Re: FBAlpha Big Endian Patches
« Reply #34 on: March 30, 2012, 03:36:29 PM »
I really hope someone might have a few moments to spare to enlighten me about this "big endian" business. I just really would like to know what its all about. Is it a new efficient coding scheme? Is this being done for the sake of consistency with mame updates? Or is there a bigger picture behind all of this? I'm sure everyone has much more important things to do but it would but a cliff-notes summary would be greatly appreciated.


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 #35 on: March 30, 2012, 03:40:58 PM »
It's for cross-platform support (eg, xBox-360). It's implemented in such a way so as to not affect the Win32 code or performance at all.

It's built into the main tree now, to prevent lantus having to redo his work every version. :)
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 neocvera

  • Newbies
  • *
  • Posts: 39
  • Karma: +1/-0
Re: FBAlpha Big Endian Patches
« Reply #36 on: March 30, 2012, 04:00:32 PM »
It's for cross-platform support (eg, xBox-360). It's implemented in such a way so as to not affect the Win32 code or performance at all.

It's built into the main tree now, to prevent lantus having to redo his work every version. :)

ahh, very nice, thanks for that.

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 #37 on: March 30, 2012, 04:15:03 PM »
Hey lantus, could you do me a favor and see if you could possibly track down a crash bug in the PGM code for me please? It seems to pop up at random, sometimes fba crashes on exit, sometimes not. I'm not sure where it's happening, if you could at least point me in a direction, i could fix it. :S

Hmm, was going to take a look, but I can't produce a crash at all. Any tips on anything that is more likely to make it crash? :)
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 lantus

  • Expert
  • *****
  • Posts: 162
  • Karma: +32/-0
Re: FBAlpha Big Endian Patches
« Reply #38 on: March 30, 2012, 04:31:51 PM »
it seems to happen at random..if i can find a test case that i can reproduce ill share it

attached a few more neogeo endian patches

Offline lantus

  • Expert
  • *****
  • Posts: 162
  • Karma: +32/-0
Re: FBAlpha Big Endian Patches
« Reply #39 on: March 30, 2012, 04:39:13 PM »
I really hope someone might have a few moments to spare to enlighten me about this "big endian" business. I just really would like to know what its all about. Is it a new efficient coding scheme? Is this being done for the sake of consistency with mame updates? Or is there a bigger picture behind all of this? I'm sure everyone has much more important things to do but it would but a cliff-notes summary would be greatly appreciated.

short answer is:

if you want fbalpha to run on the following

- Xbox360
- PS3
- Nintendo Wii
- Nintendo Gamecube
- Power PC Amiga computers
- PPC based Mac's
- PPC Mac Mini's
- any other system that has a 'big endian' cpu either now or in future (PS4, Xbox720, WiiU perhaps)

then these patches are a good thing

it improves portability to as many different systems as possible.





« Last Edit: March 30, 2012, 04:40:59 PM by lantus »

Offline JacKc

  • FBNeo Dev
  • ******
  • Posts: 1677
  • Karma: +56/-0
  • Hasta la vista, Baby !
Re: FBAlpha Big Endian Patches
« Reply #40 on: March 30, 2012, 04:53:41 PM »
Hmm, was going to take a look, but I can't produce a crash at all. Any tips on anything that is more likely to make it crash? :)
yeah it happens randomly but more chance to have this crash with kovs sets (maybe something related to nvram?)


Offline iq_132

  • Administrator
  • *****
  • Posts: 3725
  • Karma: +411/-0
  • Definitely not Dink!
    • NeoSource
Re: FBAlpha Big Endian Patches
« Reply #41 on: March 30, 2012, 10:39:09 PM »
Hmm, was going to take a look, but I can't produce a crash at all. Any tips on anything that is more likely to make it crash? :)

I run demon front through the intro/demo loop a few times, then play the first level, then reset, then intro again. lol
Sometimes it crashes fba on exit, sometimes not.


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 #42 on: March 31, 2012, 03:18:09 AM »
I run demon front through the intro/demo loop a few times, then play the first level, then reset, then intro again. lol
Sometimes it crashes fba on exit, sometimes not.

It looks it's writing outside of allocated memory somewhere. If I let demon front run through the demo/intro until the IGS logo appears again gdb reports heap corruption on exiting the driver.

Code: [Select]
warning: HEAP[fbas.exe]:
warning: Heap block at 11FB1058 modified at 11FE2060 past requested size of 31000

warning: HEAP[fbas.exe]:
warning: Heap block at 05F7C118 modified at 05F94920 past requested size of 18800
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 Haze

  • MAME Devs
  • *****
  • Posts: 184
  • Karma: +47/-0
Re: FBAlpha Big Endian Patches
« Reply #43 on: March 31, 2012, 12:03:31 PM »
in my experience the easiest place to end up with such bugs is sprite rendering code, if you're not checking your clipping properly....

of course it can actually be anywhere, sound buffers, ram/shared ram allocations...  just those are more likely to crash consistently because they're more likely to be making bad accesses on a frequent basis.


Offline Twinaphex

  • Jr. Member
  • **
  • Posts: 81
  • Karma: +8/-0
Re: FBAlpha Big Endian Patches
« Reply #44 on: March 31, 2012, 04:15:57 PM »
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'.
« Last Edit: March 31, 2012, 04:30:32 PM by Twinaphex »