Today, the whole thing goes a bit further, I finally take a bit of time to look on the signals on the WonderSwan Cartridge bus, especially on the BMC signals. I think I solved the whole mystery!
A bit of wire hook:
And after a few capture, with both version of the BMC, I found this:
The clock is missing on this capture, but on BMC1, the culprit signal, one small signal up is equal to one full clock cycle, the signal on BMC1 is exactly 18 clock pulses, and this clock run at 380KHz. I still don’t know the meaning of this signal, but if the CPU does not get it (it comes from the BMC, not the CPU) if the WonderSwan will shutdown a few µs after the normal end of this signal (at around where the BMC2/BMC3 start to toggle on this capture)
But this signal is not the only one needed to allow the boot and keep the WonderSwan started, there is some discution next between the CPU and the BMC, where the BMC will write values like 0x55 or 0xAA to some BMC’s IO Registers.
It’s now time to go further on the project and start making test cards (and clean my poor Orange Swan from all of this non cute wires, next step will no longer need them 🙂
Another thing, I got from Orion_ a WonderWitch which will help me a lot to test and debug the next part of my project 🙂 This is quite a wonderful thing, at the time Bandai got the thing, it’s, I think, the best homebrew device I never seen, and it’s official! All the documentation is in japanese (wow, anyway, on the WonderSwan, that’s the same problem ;)) so it’s a good reason to start learning this language 😉
I will post more information on this device later in another post.
The Wonder Project is in the starting blocks!
Uhmmm Very interesting… i appreciate your works… i love the Wonderswan ….._)
Thanks!
I’d like to talk to you a bit more about your findings. I sent you an email, but I’m not sure if I had the proper address. Please email me.
Could you send me an email? I’m very interested in what values are being written to the cart by the BIOS upon boot. I believe there is a secret ‘unlock’ handshake being done that is undocumented. I have written a WonderWitch program to dump carts as a test, and it works on my ‘older’ carts (WonderSwan mono), but the read data for WSC carts is interestingly strange. I’m curious what you think, and whether you have any insight. I have a logic analyzer being shipped to me now, hopefully it will be figured out 🙂