|
Post by Firehawke on Aug 10, 2006 8:31:28 GMT -5
Random notes on the Pocketstation:
The Pocketstation uses an ARM7 processor (reportedly ARM7TDMI); I haven't been able to get the speed, but it's said to be variable and code-controllable.)
Saves on the pocketstation are treated as per usual unless they have both the extended header-- which I will digress on for a moment.
The extended header, which contains additional information in the 24 bytes of blank space normally untouched in a save header, has one of two possible "type" flags.
Type "CRD0" is a normal PSX save that just happens to have Pocketstation icons for the LCD display-- these are not shown on the PSX, obviously.
"MCX0" is a Pocketstation binary. It requires one additional thing in order to appear on the Pocketstation's menu system as a game. That is a properly formatted game ID name.
Normal PSX saves are in the format of BASLUS-00690, for the example of the US 'G Darius' game. Using an incorrect (G Darius doesn't have Pocketstation support) example, a Pocketstation "game executable" for G Darius would have the save name of BASLUSP00690 with a 'P' replacing the '-' character.
Anyone interested enough for me to keep digging on this stuff?
|
|
|
Post by Gamesoul Master on Aug 10, 2006 9:25:44 GMT -5
I would express interest, but I've never really cared for Pocketstation. Just never really found any reason to *be* interested in it. I do like your enthusiasm, though...
|
|
|
Post by pSX Author on Aug 11, 2006 15:44:45 GMT -5
Random notes on the Pocketstation: The Pocketstation uses an ARM7 processor (reportedly ARM7TDMI); I haven't been able to get the speed, but it's said to be variable and code-controllable.) Saves on the pocketstation are treated as per usual unless they have both the extended header-- which I will digress on for a moment. The extended header, which contains additional information in the 24 bytes of blank space normally untouched in a save header, has one of two possible "type" flags. Type "CRD0" is a normal PSX save that just happens to have Pocketstation icons for the LCD display-- these are not shown on the PSX, obviously. "MCX0" is a Pocketstation binary. It requires one additional thing in order to appear on the Pocketstation's menu system as a game. That is a properly formatted game ID name. Normal PSX saves are in the format of BASLUS-00690, for the example of the US 'G Darius' game. Using an incorrect (G Darius doesn't have Pocketstation support) example, a Pocketstation "game executable" for G Darius would have the save name of BASLUSP00690 with a 'P' replacing the '-' character. Anyone interested enough for me to keep digging on this stuff? None of this info is really relevant to emulation (except the CPU type - which I already know!)... what is needed for emulation is info about the actual hardware (registers, comms protocol, etc..)
|
|
|
Post by Firehawke on Aug 11, 2006 20:06:51 GMT -5
Well, as I'd noted, it was all purely random information that I'd managed to pull together through what information I had. There's a real lack of solid information out there, though.
If you really want hardware data, though, I'll see what I can find. I saw a few bits of the Pocketstation API in the docs I was reading-- library calls for the Pocketstation that handle setting the realtime clock and so forth.
Might be more than a few days, though, assuming I can find much at all. I've discovered a rather large gap in my documentation that I'm thinking I need to try to fill, but I'm not sure that the material is actually going to be findable...
Edit: I found SOME information, but it's very incomplete. The guy who wrote it all out didn't really understand a few things about the extended memory card format the Pocketstation uses (it uses some of the reserved space in the save header to store additional information, including the ARM7 execution address and 32x32 icons) since he'd gotten as far as he had through reverse engineering of a single Pocketstation binary. Nevertheless, he has reverse engineered enough to be able to write his own code. He also has a partial memory map. I've emailed him with a few bits from what I've been able to determine, and I'll see how it goes.
Still a few things I don't understand about the Pocketstation-- what's this talk about "custom device drivers"...?
Geez, when they called that emulator a leak, they weren't kidding. SN Systems did the code for that. I'm a bit surprised there wasn't a later leak with a more "final" revision of the code, though leaking devtools is just bad karma since there's often hidden serial numbers.. Looks like it, along with anything else SN did for PS1, is definitely gone (read: No longer for sale or support) now, after checking their website. Considering the beta state of the emulator, it's not going to be too useful, but the kernel image that comes with it MIGHT be useful. It SHOULD BE (read: SHOULD BE, not IS) the basic menu environment code and PS1 interface code.
|
|