What is the right way to search for FM-Pak and its RAM?

Page 1/5
| 2 | 3 | 4 | 5

By Eugeny_Brychkov

Paragon (1232)

Eugeny_Brychkov's picture

03-10-2021, 20:46

I was said that Psycho World does not work with GR8NET. My investigation shows that "psycho.prg" writes 0 to $5ffe and $5fff. These actions corrupt GR8NET registers. While contents of $5fff can be restored to original value, $5ffe can not because it is deata register for indirect read/write access to the GR8NET device, writing to this location corrupts GR8NET RAM or LAN buffer contents.

Question - how to properly search for the SRAM?

Login or register to post comments

By st1mpy

Paladin (947)

st1mpy's picture

03-10-2021, 21:22

When I was making my DIY Pana Amusement compatible S-RAM cartridge (no FM chip), when I tested with many games during the development, Psycho World was one of the games that did not detect the SRAM initially. It worked in the end.

YS 2 always worked from beginning, so this game is least fussy in detecting the SRAM.
Hydlide 3 is mid-level fussy.
Psycho World is fussy.

Initially I was using a RTC chip with 8K RAM (ones used in a PC with battery built inside the chip), and I gave that one up because it caused detection issues in some games. So, I had to build more traditional SRAM cartridge with a coin battery, SRAM memory, and a chip to detect power on/off. Anyway, my conclusion in this was the speed of the SRAM. I thought the RTC chip is may be too slow (or it could be because of the RTC registers), so this is why I didn't bother making one using a FRAM (does not require a battery), which would have been convenient.

By NYYRIKKI

Enlighted (6091)

NYYRIKKI's picture

04-10-2021, 00:58

Please note: FM-PAK does not have SRAM (only FM-PAC has)

Quote from BiFi: "The SRAM can be actived in only this way: write 4Dh to 5FFEh and 69h to 5FFFh. Now 8kB SRAM is active in 4000h - 5FFFh, and the last two bytes are the two values you have just written. If you write any other value than the two above, the SRAM will disappear, and the usual ROM will appear. When the SRAM is active 6000h - 7FFFh is FFh except for 7FF7h and 7FF6h."

By st1mpy

Paladin (947)

st1mpy's picture

04-10-2021, 03:03

...also it says on the wiki it's 4kb (8 segments of 512 bytes)
But is 8kb usable? Don't know the real size of the ram in the panasonic cart but I used 8kb sram.
I saw 8kb mentioned in the manual. Why did they just use 512 byte blocks?

By sdsnatcher73

Enlighted (4289)

sdsnatcher73's picture

04-10-2021, 04:42

NYYRIKKI wrote:

Please note: FM-PAK does not have SRAM (only FM-PAC has)

Quote from BiFi: "The SRAM can be actived in only this way: write 4Dh to 5FFEh and 69h to 5FFFh. Now 8kB SRAM is active in 4000h - 5FFFh, and the last two bytes are the two values you have just written. If you write any other value than the two above, the SRAM will disappear, and the usual ROM will appear. When the SRAM is active 6000h - 7FFFh is FFh except for 7FF7h and 7FF6h."

This is probably true for FM-PAC (as it has the ROM) but also for PAC (the SRAM only predecessor)? Does PAC even have a ROM to manage the SRAM? I never had a PAC.

By sdsnatcher73

Enlighted (4289)

sdsnatcher73's picture

04-10-2021, 04:47

Eugeny_Brychkov wrote:

I was said that Psycho World does not work with GR8NET. My investigation shows that "psycho.prg" writes 0 to $5ffe and $5fff. These actions corrupt GR8NET registers. While contents of $5fff can be restored to original value, $5ffe can not because it is deata register for indirect read/write access to the GR8NET device, writing to this location corrupts GR8NET RAM or LAN buffer contents.

Question - how to properly search for the SRAM?

It seems Psych World did not expect FM-PAC to be in subslot, so probably a patch for the game is needed to make it work with GR8NET (and probably C2 as well then).

By sdsnatcher73

Enlighted (4289)

sdsnatcher73's picture

04-10-2021, 05:00

st1mpy wrote:

...also it says on the wiki it's 4kb (8 segments of 512 bytes)
But is 8kb usable? Don't know the real size of the ram in the panasonic cart but I used 8kb sram.
I saw 8kb mentioned in the manual. Why did they just use 512 byte blocks?

I suspect many games used the size of a sector on disk for savestates and using the same size in PAC makes (at least some) sense. The original PAC had only 4kB SRAM, the chip on the FM-PAC has a different number. They both have MEI for (Matsushita Eilectronics Inc.) on them so both were in house development by Matsushita but they may have re-used them from other product lines. The newer chip could possibly be bigger but more common and available at the time FM-PAC was developed, the games were all compatible with PAC so I don’t think they used more than 4kB (emphasis on think).

By sdsnatcher73

Enlighted (4289)

sdsnatcher73's picture

04-10-2021, 05:33

On this page I found both actually have an 8kB SRAM (search for Pana Amusement Cartridge).

By Eugeny_Brychkov

Paragon (1232)

Eugeny_Brychkov's picture

04-10-2021, 08:54

sdsnatcher73 wrote:

It seems Psych World did not expect FM-PAC to be in subslot, so probably a patch for the game is needed to make it work with GR8NET (and probably C2 as well then).

Good news: I was told that game works properly with C2. Or at least looking to work properly.

By Eugeny_Brychkov

Paragon (1232)

Eugeny_Brychkov's picture

04-10-2021, 09:47

Patch is very simple. replace $04 at $8ee with $02 in "psycho.prg". This will cause SRAM detection code finishing after checking slot 1 (instead of slot 3). With this change GR8NET started game properly when in slot 2; if PAC is needed it still can be installed (and detected) in slot 1 with GR8NET in slot 2.

By sdsnatcher73

Enlighted (4289)

sdsnatcher73's picture

04-10-2021, 10:31

Eugeny_Brychkov wrote:
sdsnatcher73 wrote:

It seems Psych World did not expect FM-PAC to be in subslot, so probably a patch for the game is needed to make it work with GR8NET (and probably C2 as well then).

Good news: I was told that game works properly with C2. Or at least looking to work properly.

Well C2 won’t crash when writing to those addresses. But does the game detect the SRAM (which is a subslot on the C2)? There are different levels of “working” here Wink

Page 1/5
| 2 | 3 | 4 | 5