Swiss 0.1
Re: Swiss 0.1
Using the second test Swiss.
Like Hells Guardian - Read patchable and likely to boot are green - but I get black screen - no logo - no speech - nada.
Tried three times with the same outcome.
Like Hells Guardian - Read patchable and likely to boot are green - but I get black screen - no logo - no speech - nada.
Tried three times with the same outcome.
Playing - Super Mario Sunshine - DariusBurst CS - Hotline Miami 2 - Rpi2 Lakka - X360 BurnOut Paradise City
Re: Swiss 0.1
ok no problem, we're getting closer at least - I'll have to find my NTSC Luigis mansion and figure it out 
Hells Guardian, the problem is that when swiss crashes in a game, it's dead, so would be your debugger.

Hells Guardian, the problem is that when swiss crashes in a game, it's dead, so would be your debugger.

Re: Swiss 0.1
Hi emu_kidd, my Zelda Wind Waker NTSC on Wii USA is freezing when I press the "up" in d-pad for opening the dungeon map. Any fix for this?
Other players got same bug on brazilian forums
Thanks and congrats again for your work - the game is working perfect, apart from that
Other players got same bug on brazilian forums
Thanks and congrats again for your work - the game is working perfect, apart from that
Swiss user!
-
- Posts: 235
- Joined: Sat Feb 12, 2011 9:17 pm
Re: Swiss 0.1
Fair enough. Glad we are getting closer to Luigis mansion working.
-
- Posts: 23
- Joined: Mon Apr 18, 2011 2:43 am
Re: Swiss 0.1
I'm not sure if this applies in this case, but generally the Ocarina debugger traps exceptions, so if the game crashes for any reason, the debugger code handler immediately runs and can dump RAM/registers for further analysis. I imagine there's a good likelihood that this would work when a game crashes in Swiss, as long as the debugger has been loaded beforehand.emu_kidid wrote:ok no problem, we're getting closer at least - I'll have to find my NTSC Luigis mansion and figure it out
Hells Guardian, the problem is that when swiss crashes in a game, it's dead, so would be your debugger.
-
- Posts: 235
- Joined: Sat Feb 12, 2011 9:17 pm
Re: Swiss 0.1
Thats what I had heard so thats why I'd figured the debugger would be an aid to you. However it's been ages since I'd read on the USB Gecko so I knew I may be wrong. Or possibly one of those rare cases where I was actually right. 

Re: Swiss 0.1
Me too. I always thought the exceptions are handled via exception handlers that are located somewhere at 0x80000000-0x80001800.emu_kidid wrote:biolizard89, that's great then, I thought it wasn't catching exceptions
Code: Select all
/* Copyright 2009 WiiGator. */
/* Based on code from GCOS. */
#include "exception.h"
#include "context.h"
#include "debugprintf.h"
#include "processor.h"
#include "plugin.h"
#ifdef GEKKO_DEBUG
/** Set breakpoint. */
#define SET_IABR(addr) \
__asm__("mtspr 1010, %1\n"::"r"(0), "r"((addr) | 2));
/** Set data breakpoint. */
#define SET_DABR(addr, flags) \
__asm__("mtspr 1013, %1\n"::"r"(0), "r"(((addr) & 0xFFFFFFF8) | ((flags) & 0x7)))
void exception_handler_default();
void exception_set_handler(int exception, void (*handler)(int, struct context_s*));
const char* exception_name[15] =
{
"System Reset", "Machine Check", "DSI", "ISI", "Interrupt", "Alignment", "Program", "Floating Point", "Decrementer", "System Call", "Trace", "Performance", "IABR", "Reserved", "Thermal"
};
#endif
void exception_init(void)
{
#ifdef GEKKO_DEBUG
#ifndef MIOS_PLUGIN /* MIOS have already a debug handler, which prints correct register values. */
static int initialized;
/* Install exception handlers for debug purpose. */
if (!initialized) {
int i;
//debug_printf("Initializing exception handlers.\n");
for (i = 0; i < 15; ++i)
{
/* Don't overwrite interrupt, floating point handler and decrmenter, because this is normally used by the game.*/
if ((i != 4) && (i != 7) && (i != 8)) {
exception_set_handler(i, exception_handler_default);
}
}
initialized = -1;
}
#endif
#endif
}
#ifdef GEKKO_DEBUG
void exception_set_handler(int exception, void (*handler)(int, struct context_s*))
{
/* The game installs an exception handler, which will call the functions in the table at 0x80003000, if exception is recoverable. */
((void**)0x80003000)[exception] = handler;
}
void exception_handler_default(int exception)
{
struct context_s* c = (struct context_s*)CONTEXT_CURRENT;
/* XXX: Caution context structure definition is not correct for all registers!
* Only registers R3, R4 and R5 are valid! Other registers are not saved in handler.
*/
debug_printf("Exception %s, Caution some GPR values are not correct!\n", exception_name[exception]);
debug_printf("GPR00 %x GPR08 %x GPR16 %x GPR24 %x\n", c->GPR[0], c->GPR[8], c->GPR[16], c->GPR[24]);
debug_printf("GPR01 %x GPR09 %x GPR17 %x GPR25 %x\n", c->GPR[1], c->GPR[9], c->GPR[17], c->GPR[25]);
debug_printf("GPR02 %x GPR10 %x GPR18 %x GPR26 %x\n", c->GPR[2], c->GPR[10], c->GPR[18], c->GPR[26]);
debug_printf("GPR03 %x GPR11 %x GPR19 %x GPR27 %x\n", c->GPR[3], c->GPR[11], c->GPR[19], c->GPR[27]);
debug_printf("GPR04 %x GPR12 %x GPR20 %x GPR28 %x\n", c->GPR[4], c->GPR[12], c->GPR[20], c->GPR[28]);
debug_printf("GPR05 %x GPR13 %x GPR21 %x GPR29 %x\n", c->GPR[5], c->GPR[13], c->GPR[21], c->GPR[29]);
debug_printf("GPR06 %x GPR14 %x GPR22 %x GPR30 %x\n", c->GPR[6], c->GPR[14], c->GPR[22], c->GPR[30]);
debug_printf("GPR07 %x GPR15 %x GPR23 %x GPR31 %x\n", c->GPR[7], c->GPR[15], c->GPR[23], c->GPR[31]);
//debug_printf("Exception %x\n", exception);
debug_printf("LR %x SRR0 %x %x\n", c->LR, c->SRR0, c->SRR1);
debug_printf("DAR: %x DSISR %x\n", mfspr(19), mfspr(18));
while (1);
}
#endif
-
- Posts: 23
- Joined: Mon Apr 18, 2011 2:43 am
Re: Swiss 0.1
Well, I have observed that when a game crashes and I have Ocarina enabled, I'm able to look at registers and RAM via USB Gecko. More skilled hackers than I report that they are even able to modify registers via USB Gecko and cause the game to uncrash. I assume this is done by trapping exceptions, although that's just my assumption. (Is there any other way that could work? I know the USB Gecko can't trigger exceptions, so clearly the code handler runs while the game is crashed....)
Re: Swiss 0.1
problem is when things crash it's crashed in my EXI code and the bus is left a mess.. still, the usbgecko might be ok to communicate

Re: Swiss 0.1
Emu_kidid,any news from the development front?Any progress about Luigi's Mansion freezing,video compatibility etc. ?
It is awfully quite the last few days...
It is awfully quite the last few days...

Re: Swiss 0.1
It's been non stop easter/family stuff for the last week for me.. I've been looking at Luigis Mansion NTSC too, nothing yet. I need to do a major overhaul on the front-end to get a proper file browser happening too which is underway.

Re: Swiss 0.1
That's nice to hear!
Happy Easter!!!
Happy Easter!!!
Re: Swiss 0.1
So libwiigui is coming?emu_kidid wrote:I need to do a major overhaul on the front-end to get a proper file browser happening too which is underway.
Re: Swiss 0.1
Yes! I don't like the swiss GUI
With gx it would be lot easier to modify swiss to a version without GUI or whatever. I tried to understand some of the code but the gui stuff you wrote is confusing me... 


Re: Swiss 0.1
@andzlay: I dont think it makes any difference, which interface is used for that purpose.
But you are right, the interface emu used until now, adopted gcos stuff, is like 2006 and not bleeding edge.
@emu: Well, libwiigui has pros and cons.
It is serious work at first, but then easy to modify later (do more, write less).
It is in some parts overweight (strip all the wii specific things and the not needed sound effects, etc),
but in other parts it just fits the needs (e.g. great filebrowser).
But when we look at the alternatives (freetypegx, grrlib, ...), it's in some parts the same.
When you intend to use a self created user interface, it can be like reinventing the wheel sometimes. But it will be unique...
But, it's your choice. You have to be happy with whatever you use.
Only thing i can offer is to help you with libwiigui where i can.
But you are right, the interface emu used until now, adopted gcos stuff, is like 2006 and not bleeding edge.
@emu: Well, libwiigui has pros and cons.
It is serious work at first, but then easy to modify later (do more, write less).
It is in some parts overweight (strip all the wii specific things and the not needed sound effects, etc),
but in other parts it just fits the needs (e.g. great filebrowser).
But when we look at the alternatives (freetypegx, grrlib, ...), it's in some parts the same.
When you intend to use a self created user interface, it can be like reinventing the wheel sometimes. But it will be unique...

But, it's your choice. You have to be happy with whatever you use.

Only thing i can offer is to help you with libwiigui where i can.
Re: Swiss 0.1
people who have been testing Luigis Mansion NTSC (not players choice), is your dump a verified dump? can I get some MD5's? I've seen one floating around online which is bad - it's possible this is the issue.

Re: Swiss 0.1
I personnally dumped my PAL copy of Luigi's Mansion.I am not sure of that helps...
Re: Swiss 0.1
Sorry for that.But no matter what,my PAL Luigi's Mansion is freezing just the NTSC version...infact wrote:@panmusic: no, cause it's PAL, the problems are with the NTSC version.
Re: Swiss 0.1
No problem, didn't know you have problems with the PAL version.
Have you tried rebuilding the iso with fstfix?
Another Question: What is the checksum for your ISO?
Here is mine:
Have you tried rebuilding the iso with fstfix?
Another Question: What is the checksum for your ISO?
Here is mine:
Code: Select all
FILE: Luigis Mansion PAL.iso
CRC-32: eed631c9
MD4: 31d45203e03ee7977a8745e8d4ade926
MD5: 74a346b8b1cd44ffde7b953b396cec03
SHA-1: 43863419b403627db494f105a197cc5c4de9c9be
Re: Swiss 0.1
emu_kidid wrote:people who have been testing Luigis Mansion NTSC (not players choice), is your dump a verified dump? can I get some MD5's? I've seen one floating around online which is bad - it's possible this is the issue.

Graspingly - According to wiki - Luigis Mansion is the only GC title with stereoscopic 3D support.
Playing - Super Mario Sunshine - DariusBurst CS - Hotline Miami 2 - Rpi2 Lakka - X360 BurnOut Paradise City