ROM SLOTID DOUBT: Can an inserted rom become logically scattered around the slotid ROM space? (as RAM might do?)

Página 1/3
| 2 | 3

Por friguron

Master (144)

imagem de friguron

14-03-2020, 11:42

Hi all...

I'm in the middle of some project of mine and suddenly I have a doubt I'd like to make clear.

Context: Once the BIOS boots and finds some AB rom inserted on page 1 (typical situation) of certain slot (or subslot), where should we assume the rest of the rom content (32, 48, 64 KBs... whatever) will appear? I mean not page wise, but slot wise.

I mean, should we assume once we find page 1 of certain AB rom in some slotid, the rest of the pages of this rom must appear on the same slotid?
Or reworded differently: May an inserted rom in a real MSX appear scattered around the slotid space, as ACID OPENMSKISS SLOT MACHINE does with RAM? (I think that would be very unfortunate), or once we find the slotid for AB page 1, should we assume the rest of the pages will appear on the same slotid?

I hope my question is understandable. Otherwise, feel free to ask your doubts Smile

Greetings.

EDIT: Historically I've never found this scattered-rom situation, but according to MSX standard, may it be possible?... That's one of these situations where maybe there's a weird "legal" MSX machine around that might do this weird thing with ROM's...
Clever people of MSXRC, I call for you wisedom Smile

EDIT2:

Visually I mean this:

Entrar ou registrar-se para comentar

Por zeilemaker54

Champion (266)

imagem de zeilemaker54

14-03-2020, 13:18

Normally, a game on ROM is a cartridge. The cartridge is inserted in a slot.
When the ROM has an AB header and a INIT entry, the BIOS is calling that INIT entry. The BIOS is scanning all slots (including subslots) for a AB header in page 1 and page 2.
Assuming your ROM has a AB header in page 1 and also a INIT address in page 1, at the time your INIT routine is started page 1 has the slot of your ROM selected. All other pages are unmodified. So page 0 has the BIOS rom, page 3 has the system RAM and page 2 has the system RAM (only if 32KB or more RAM is available). So if your ROM needs to enable page 2, you should do it yourself.
And to answer your question, a cartridge is normally in one slot.
Some cartridge hardware implement subslots, but I have never seen this for a game ROM.

Por friguron

Master (144)

imagem de friguron

14-03-2020, 13:26

The last 2 sentences were the ones I needed...

See? you're saying "normally"... Smile

As far as I understand this seems to be the norm, that is, "once the rom is phisically wired, it will logically appear onto the same sslot for all its pages", but I can't see where to find the official spec or document claiming that... Or maybe it's common sense, and splitting a rom accross many sslots doesn't make sense at all...

Por zeilemaker54

Champion (266)

imagem de zeilemaker54

14-03-2020, 13:55

Implementing subslots in a cartridge would be more expensive. So that is not common.
If you need a big ROM (more as 32 KB), this is normally implemented by some sort of banking mechanism (the so called MegaROMs, for example used by Konami). But this is still in one slot though.

Por friguron

Master (144)

imagem de friguron

14-03-2020, 16:14

I know how banking mechanisms work, that wasn't really my doubt... My concern is more in terms of "once the rom is wired, will all the pages (physically or logically mapped) appear under the same (sub)slot "column" on any MSX?".

The thing is I'm not in need of creating anything... I'm in need to know, (at ROM AB boot time), if the currently selected SLOTID for the rom (that is: page 1 has just become active) can be extrapolated to all the remaining 3 pages of the same loaded rom file (emulator) / physical cartridge (MSX).
In other words: just knowing the SLOTID for page1, can this SLOTID be assumed to be the same on the remaining 3 pages (0, 2 and 3) for the same rom file/cartridge?.
Maybe I won't be doing anything with these pages, but in case I do (probably I'll do things with page 2), can I make this "shortcut" assumption about ROM slots?

As far as I know, I would say 99% yes... But seeing openMSX and its esoteric RAM layout, one can never be really sure about what's legal and not in MSX Smile

Por spacemoai1973

Master (165)

imagem de spacemoai1973

14-03-2020, 16:37

Acid machines having RAM scattered over different slots is achieved by virtually inserting various cartridges with pieces of RAM in different slots. So the answer to your question is: a slot is a slot. It's a single unit that cannot be split up.

Por Manuel

Ascended (16380)

imagem de Manuel

14-03-2020, 17:06

friguron: the RAM layout is not the same as a ROM that is inserted in a specific slot. The RAM scattered is as if the RAM is inserted in different physical slots. There is nothing spontaneous about it. So, as people said, a slot is a slot. If your ROM is in a certain slot, your ROM is in that slot and in no other slot. The other pages may be mapped to other slots than the slot of your ROM of course. But your ROM only appears in the slot it is inserted in.

Por friguron

Master (144)

imagem de friguron

14-03-2020, 20:55

Perfect! As expected then, thanks everyone!

Por pgimeno

Master (130)

imagem de pgimeno

14-03-2020, 21:53

As far as I know, memory slots 1 and 2 map to physical cartridge slots 1 and 2 respectively, but subslots are a different story.

Por Manuel

Ascended (16380)

imagem de Manuel

15-03-2020, 00:06

pgimeno: physical slots can map to any memory slot. Not sure what you mean with the subslots remark Smile

Por spacemoai1973

Master (165)

imagem de spacemoai1973

15-03-2020, 00:11

pgimeno wrote:

As far as I know, memory slots 1 and 2 map to physical cartridge slots 1 and 2 respectively, but subslots are a different story.

No, which slots are physical cartridge slots is entirely up to the MSX model. The only thing fixed is that the BIOS resides in slot 0 (which can be expanded into subslots or not).

Página 1/3
| 2 | 3