Did SofRun 0.8 just erased my Omega MSX ROM ?

Page 3/3
1 | 2 |

By msxmakers

Champion (454)

msxmakers's picture

24-05-2022, 23:34

Hi Guys.
I think no one can write on the Omega's Flashbios because the Omega's cpu cannot access to the whole flash chip.
But of course erasing and writting are two different tasks.
I think no one could be able to write on the Omega system's flash BIOS and I think no one wants to write over the main BIOS, but for any reason, /WR pin is connected to the system /WR.
So, is not good Idea to add any
If I'm not wrong it could be so easy as leaving the pin #31 out of the socket even I didn't read the AM29F040 datasheet.
I hope this helps

About the Omega's Slot map, that shown above is the default setup, but it can be modified by yourself reprograming one of the GAL chips.
JP1 lets you to have two SYSTEM's BIOS pages, so you can select MSX2 BIOS & MSX2+, NTSC and PAL BIOS or just MSX2+ with and without any addon (MSXMUSIC BASIC?).

Regards

By sd_snatcher

Prophet (3505)

sd_snatcher's picture

25-05-2022, 00:11

The original MFR (*1) is a modified SCC cartridge. IMHO, SofaRun should first detect the combination of an SCC chip with a Flash to assume that an MFR is present at that slot.

Other Flash chips should be left untouched. Smile

*1: The ones that use OPF.COM

By gdx

Enlighted (5491)

gdx's picture

25-05-2022, 10:04

There are non SCC MFR. So the SCC chip detection is ineffective. Sofarom supports several mapper types.

msxmakers wrote:

I think no one can write on the Omega's Flashbios because the Omega's cpu cannot access to the whole flash chip.

If we can erase, we can write. That said according the configuration we can't write only into a part of the flash ROM.

msxmakers wrote:

If I'm not wrong it could be so easy as leaving the pin #31 out of the socket even I didn't read the AM29F040 datasheet.

Indeed, but care must be taken not to bend the pin too often.

msxmakers wrote:

P1 lets you to have two SYSTEM's BIOS pages, so you can select MSX2 BIOS & MSX2+, NTSC and PAL BIOS or just MSX2+ with and without any addon (MSXMUSIC BASIC?).

What is the point of this switch since the MSX2+ is fully MSX2 compatible?

By retrocanada76

Hero (538)

retrocanada76's picture

25-05-2022, 18:52

We can definitely write on it but only 256K each time because of the jumper. We can use sector write to write only part of the flash without erasing it as a whole. I am doing some tests and maybe i get some software for that. But as Juan said the slot maps can be changed by reprogramming so it would be very difficult to make a program to detect any future slot changes. This is necessary because the GAL splits the ROM into chunks only accessible through different slots and subslots. So in order to write a full 256kb I need to: first swap the code to the address 0x8000 and running from there set slot 0 to pages 0-1 and write the first 32k. put back ram pages and swap the code from 0x100 and then set slot 0 for pages 2-3 and write the second 32k. Then we need to rinse and repeat but using subslots 3-0, 3-1 and 3-2. The fact that the code must be jumping between pages 0-1 and 2-3 to be able to access both pages that makes it hard for a generic solution. So I believe I can write a program for the default omega slot map. Maybe I can come with a scheme to set the slots by parameters but that would be hard. Or we maybe have enough fuses enough on the SPLD to create a special operation that makes the rom linear from one slot like a megarom ? I am not sure this last option.

By retrocanada76

Hero (538)

retrocanada76's picture

25-05-2022, 19:05

Such program needs to be able to run from 0x1000, 0x4000, 0x8000 and 0xC000 because for example the SST39SF040 gets its commands from the address 5555h, 2AAAh, 5555h. So suppose I want to write the upper 32k-48k on slot 3-0. I need to start running from 0xC000 in 3-2 ram, set 0x8000 to 3-0 rom and set 0x000 and 0x4000 to 0 so i can issue the command between these two pages :/ then to write the upper 48k-64k i then need to jump to address 0x8000 in ram and select 3-0 in rom. To write hte lower 32k I would need to be switching banks between each command / write data. That is a mess :/

Page 3/3
1 | 2 |