libretro / tgbdual-libretro

libretro port of TGB Dual
28 stars 37 forks source link

White Screen (Big endian issues) #3

Open Zombie-Ryushu opened 9 years ago

Zombie-Ryushu commented 9 years ago

With the latest Check out of tgbdual, I get a blank white screen launching any given rom. This has turned out to be a glibc error in the program on certain versions of glibc. The relevant warnings are here:

gb_core/cheat.cpp: In member function 'byte cheat::cheat_read(word)': gb_core/cheat.cpp:181:8: warning: suggest explicit braces to avoid ambiguous 'else' [-Wparentheses] gb_core/cpu.cpp: In member function 'void cpu::io_write(word, byte)': gb_core/cpu.cpp:398:8: warning: suggest explicit braces to avoid ambiguous 'else' [-Wparentheses] gb_core/lcd.cpp: In member function 'void lcd::bgrender(void, int)': gb_core/lcd.cpp:148:24: warning: operation on 'dat' may be undefined [-Wsequence-point] gb_core/lcd.cpp: In member function 'void lcd::spriterender(void, int)': gb_core/lcd.cpp:292:53: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses] gb_core/lcd.cpp:296:53: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses] gb_core/lcd.cpp:305:52: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses] gb_core/lcd.cpp: In member function 'void lcd::bg_rendercolor(void, int)': gb_core/lcd.cpp:477:24: warning: operation on 'dat' may be undefined [-Wsequence-point] gb_core/lcd.cpp:478:28: warning: operation on 'trans' may be undefined [-Wsequence-point] gb_core/lcd.cpp:479:34: warning: operation on 'priority' may be undefined [-Wsequence-point] gb_core/lcd.cpp: In member function 'void lcd::sprite_rendercolor(void, int)': gb_core/lcd.cpp:655:53: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses] gb_core/lcd.cpp:659:53: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses] gb_core/lcd.cpp:669:52: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses] gb_core/mbc.cpp: In member function 'void mbc::mmm01_write(word, byte)': gb_core/mbc.cpp:770:78: warning: suggest parentheses around '+' in operand of '&' [-Wparentheses] gb_core/gb.cpp: In member function 'void gb::reset()': gbcore/gb.cpp:94:88: warning: deprecated conversion from string constant to 'char' [-Wwrite-strings] gbcore/gb.cpp:94:88: warning: deprecated conversion from string constant to 'char' [-Wwrite-strings] gbcore/gb.cpp:94:88: warning: deprecated conversion from string constant to 'char' [-Wwrite-strings] gbcore/gb.cpp:94:88: warning: deprecated conversion from string constant to 'char' [-Wwrite-strings] gbcore/gb.cpp:94:88: warning: deprecated conversion from string constant to 'char' [-Wwrite-strings] gbcore/gb.cpp:96:88: warning: deprecated conversion from string constant to 'char' [-Wwrite-strings] At global scope: cc1plus: warning: unrecognized command line option "-Wno-narrowing" [enabled by default] "g++" -c -o gb_core/rom.o gb_core/rom.cpp -O2 -mtune=atom -O3 -ffast-math -fPIC -I. -Igb_core -Ilibretro -DLIBRETRO -Wall -Wno-narrowing -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-unused-result -Wno-strict-aliasing -Wno-overflow -fno-strict-overflow At global scope: cc1plus: warning: unrecognized command line option "-Wno-narrowing" [enabled by default] At global scope: cc1plus: warning: unrecognized command line option "-Wno-narrowing" [enabled by default] At global scope: cc1plus: warning: unrecognized command line option "-Wno-narrowing" [enabled by default] At global scope: cc1plus: warning: unrecognized command line option "-Wno-narrowing" [enabled by default] "g++" -o tgbdual_libretro.so libretro/dmy_renderer.o libretro/libretro.o gb_core/apu.o gb_core/cheat.o gb_core/cpu.o gb_core/gb.o gb_core/lcd.o gb_core/mbc.o gb_core/rom.o -fPIC -shared -Wl,--no-undefined -Wl,--version-script=libretro/link.T

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/5410914-white-screen?utm_campaign=plugin&utm_content=tracker%2F2609045&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F2609045&utm_medium=issues&utm_source=github).
cucholix commented 6 years ago

have the same issue when loading content on Wii U

andres-asm commented 6 years ago

I just made it build, it was a long shot but I didn't really expect it to work.

crystalct commented 3 years ago

Surely TGB dual is not endian safe, so Big Endian machine like WiiU and PS3 are not supported.

Ploggy commented 1 month ago

@andres-asm out of curiosity how did you make this work?