Power Memory questions

ExCyber

Staff member
Anyone know what the cartridge ID is for the Power Memory cartridge (official Sega cart)? It's not hard to get, it should be a constant byte at 0x24FFFFFF. Also, does anyone know if the cart contains code, or if there are any docs floating around on the cart specifically (I'm beginning to suspect that this information was not given to developers, who were expected to use the BIOS BUP_ functions)? Thanks for any help...
 
sadly I can't help you (I do have the official 4M ram cart though so I might be able to help you if you provide instructions), but since you mentioned the BIOS functions it seems like a good time to ask about them... you see I've been wondering what functions are in the BIOS, what their entry points are and if there's a description of their functions somewhere on the 'net.

I prefer to code without the official Sega libraries, but AFAIK nobody has been able to access the CD without them. I have heard rumors of a CD library being included in the system's BIOS, something like the PSX. Any info?

(and don't tell me the BIOS is 512kb just because of the spaceship :p)
 
I'm talking about the save RAM cart, not expansion RAM.

As for BIOS entry points, I think you'd have to look at SGL/SBL headers to find them, they're only documented by function names in the manuals I've seen. And as for a CD library, that's actually in the SH-1 firmware but I believe there are BIOS functions to communicate with it.
 
I had a look at the BIOS, the value 0x24FFFFFF occurs only two times. The first occurence (near the start of the BIOS) is used to get the ID byte, but the code only checks the top two bits. The second occurence is near the end, but it's word-aligned. The second occurence could be part of a block of code that's copied to RAM (correcting the alignment in the process) but I haven't investigated that yet.
 
The save library is compressed in the BIOS and has to be decompressed into RAM before use (I think the function name is BUP_Init or something similar and it takes a pointer to a RAM area to decompress to), the check for the Power Memory cart ID probably occurs there. But I can look at that myself later if need be, I was just wondering if anyone who had the cart might be able to grab the ID.

And actually I don't know why I specifically mentioned Power Memory, I'd be interested in knowing the ID of the Interact, Xinga, or any other direct-save cart as well...
 
Judjing from the official RAM backup PCB, it contains only one constant value, 0x01. It can be set to the I/O bus if corresponding values at cart address inputs are set (i'm not sure if it's 0x24FFFFFF, but it seems to be larger than 0x7FFFF).

And one more thing, it is set with customizable connections. I've only seen 2 carts so far, and both of them have 0x01 set.
 
That makes sense; if they ever wanted to produce a larger cart they might be able to reuse the boards. Anyway, thanks for looking, knowing the ID should give me a starting point when I look into this a bit more properly...
 
Has anyone done any more research on this? As far as I can tell from the bios code and Charles MacDonald's docs, it looks like the high nibble of the ID gives the cart type, and the low nibble is the size. Although, I haven't been able to prove it.

Here's some valid Backup Ram Cartridge ID's that I tried last night in yabause:

0x20

0x21(this is actually what's used in GiriGiri)

0x22

0x23

0x24

So I guess given what other people have posted(and Charles Macdonald's docs), here's a WIP list of Cartridge ID's

0x01 Backup Ram Cart

0x20 "

0x21 "

0x22 "

0x23 "

0x24 "

0x5A 1 MB Dram Cart

0x5C 4 MB Dram Cart

Anything anyone else want to add?

Cyber Warrior X
 
I did some more tests and I think I've got a little more figured out.

0x01 doesn't actually do much of anything, at least according to the bios(it certainly doesn't detect a backup ram cart). This doesn't seem right given that the official jap BUP cart uses this ID. :huh

0x20 and 0x21 are for a 8079 block(4 mbit/512 kilobytes) Backup Ram Cart

0x22 is for a 16175 block(8 mbit/1 megabyte) Backup Ram Cart

0x23 is for a 32367 block(16 mbit/2 megabytes) Backup Ram Cart

0x24 is for a 65119 block(32 mbit/4 megabytes)

Backup Ram Cart

It's interesting to note that the largest Sega ever appeared to use was the smallest on the list(512 kilobytes).

I also attached some notes I made when checking out my own official jap BUP cart a couple of months ago.

Cyber Warrior X
 

Attachments

  • bupcartnotes.txt
    333 bytes · Views: 125
  • bupcartnotes.txt
    333 bytes · Views: 130
  • bupcartnotes.txt
    333 bytes · Views: 125
  • bupcartnotes.txt
    333 bytes · Views: 127
Back
Top