Memory mapper limits

Página 1/6
| 2 | 3 | 4 | 5 | 6

Por Metalion

Paladin (687)

Imagen del Metalion

21-01-2011, 12:18

In another forum, I have an interesting discussion with another MSX user about the Memory Mapper.

He says that since each slot in an MSX2 could contain a Memory Mapper extension, the maximum memory an MSX2 could address through a multiple Memory Mapper configuration would be 4096Kb x 16 slots = 64Mb.

OTOH, I say that the MSX2 norm never defined the Memory Mapper that way, and that since the bank switching can only be made through the reserved $FC, $FD, $FE and $FF ports, it can only address a maximum of 256 x 16Kb = 4096Kb (or 4Mb).

Of course, I can imagine that any hardware solution could overcome that limit, since we could imagine a complex Memory Mapper management, where you could send 2 bytes through the existing ports, therefore increasing the theoritical capacity to 65536 x 16Kb = 1Gb !! Or even more with more bytes, but that would be outside the norm as explained by ASCII in the MSX2 Technical Handbook ...

What do you think ?

PS : Of course, we understand this is nothing but a philosophical discussion, but nonetheless interesting Tongue

Login sesión o register para postear comentarios

Por Metalion

Paladin (687)

Imagen del Metalion

21-01-2011, 13:23

Update : It seems to be possible after all to have multiple Memory Mappers working at the same time in the MSX, using the same ports, but provided you select first the slot (through the $A8 port) before selecting the page.

So the limit would be 16Mb, if this is only doable through the primary slots, or indeed 64Mb, if it can be done also on the secondary ones.

Anyone to comment on that ?

Por PingPong

Prophet (2595)

Imagen del PingPong

21-01-2011, 13:40

IMHO more memory requirements should grow with others enhancements.
the 8 bit cpu used on msx is able to address 64KB only. while it's useful to increase this limit, this is true only if total memory is <= 1MB

I think is almost useless to have a msx with 16MB of RAM
the same apply to others components, VDP, PSG etc.

More memory => more processing power => more gfx caps => more audio caps => more capable storage media => etc ....
otherwise... useless

Por NYYRIKKI

Prophet (3509)

Imagen del NYYRIKKI

21-01-2011, 13:59

If we talk about theoretical maximum of memory in MSX2 then it is 56MB as MSX2 needs at least main ROM and SUB rom to boot from. (-> these slots can not be used for memory mapper) how ever in this case you still miss storage device, if you didn't plan to fill the memory from cassette Tongue

I think PlaySoniq is an good example of this kind of solution. It gives 12MB of mapped memory by default when you plug it in. MSX-DOS2 also fully supports using multiple mappers and MSX2+/MSXtR memory counter can display the correct amount of memory on boot if you have multiple mappers, so I would say it is fully standard... Why anyone would need over 1MB of memory is a mystery for me, but that's a totally different question.

Por Metalion

Paladin (687)

Imagen del Metalion

21-01-2011, 15:01

@PingPong : You are right, of course, but my question was purely theoretical ...

@NYYRIKKI : Thanks for confirming me this.

Thanks to both of you LOL!

Por Leonardo Padial

Resident (38)

Imagen del Leonardo Padial

21-01-2011, 18:16

Puting the FC, FD, FE, FF register to 32 bits, is posible to reach 70 Tbytes/slot. And using only one aditional I/O control register (FB Register). ¿ As I can put one .pdf here for sow the diagram block ?.

Por Metalion

Paladin (687)

Imagen del Metalion

21-01-2011, 18:34

Puting the FC, FD, FE, FF register to 32 bits, is posible to reach 70 Tbytes/slot. And using only one aditional I/O control register (FB Register). ¿ As I can put one .pdf here for sow the diagram block ?.

QuestionQuestionQuestionQuestionQuestion

Por PingPong

Prophet (2595)

Imagen del PingPong

21-01-2011, 20:31

Puting the FC, FD, FE, FF register to 32 bits, is posible to reach 70 Tbytes/slot. And using only one aditional I/O control register (FB Register). ¿ As I can put one .pdf here for sow the diagram block ?.

Oh, interesting: and a standard z80 @ 3.57mhz could take about only 24 days to clear all this ram with the ldir trick TongueTongueTongueTongueTongueTongueTongue

Por Leonardo Padial

Resident (38)

Imagen del Leonardo Padial

21-01-2011, 21:50

@PingPong : You are right, of course, but this philosofie can aplicate to one 16MBytes/slot mapped RAM (FF..FC with 10 bit leng).

Por marlon-B

Expert (88)

Imagen del marlon-B

22-01-2011, 14:22

The MSX can have an unlimited memory size if the hardware design of the mapper allows this.
The mappers currently available are all based on (the same) "old" limited design approach. Which is a shame.

an example for a new design is:

- have 512K available for direct addressing in combination with the standard FC/FD/FE/FF ports
- make another port available(which can accept 8bit,16bit, 32bit or even larger page numbers..fed sequentially) for some sub-switching to a larger memory.
- to unload the processor with moving/clearing/copying one can add something as simple as a microcontroller to move the memory around.

and you'll only have to use(waste) 1 slot.

I based my upcomming hardware on this approach. giving you 1024k immediate and letting you sub-switch the top half 512k onto other attached memory-based devices.
An example of such membased device is the hardware-modplayer which has 2048k for storing modules+samples.
But you can ofcourse use this 2048k anyway you wish.

I hope others will follow my example...Wink

Por Manuel

Ascended (10027)

Imagen del Manuel

23-01-2011, 12:00

marlon-B: weren't you going to show off some new super slot expander in Nijmegen?

Página 1/6
| 2 | 3 | 4 | 5 | 6
My MSX profile