Anyone, is it possible to discard page3 and set RAM on page0 so it can be done for 16KB MSX too?
No, impossible.
As I thought
Well, no matter. I can live with bios on
Look at im2 if your goal is to have a custom isr
It is not mandatory but it would be interesting try this technique...
I imagine that for a good electronician, it should not be very complicated to create a ROM with a mapper that spans the first 3 pages of memory space (address 0000h~BFFFh) with 3 banks of 16KB or 6 banks of 8KB.
MABs from Repro Factory have mirrors. My ESE-RAM with ASCII 8/16K mapper has also mirrors. These use the LZ93A13 chip from ASCII.
It’s a pity they did not make the start address of ISR customizable like if it was 2 bytes somewhere in RAM that defaulted to 0038 but could be overruled.
MABs from Repro Factory have mirrors. My ESE-RAM with ASCII 8/16K mapper has also mirrors. These use the LZ93A13 chip from ASCII.
Interesting!
I really wanted to use a mapper that could use page 0, earlier. I looked into this page, https://www.msx.org/wiki/MegaROM_Mappers#ASC16_.28ASCII.29, and wanted to use the ASC16. IIRC openmsx didn't emulate the mirroring, which in turn made me assume that HW (for a game) would be hard to find, so I dropped it, and ended up with a crappier solution (ram in 0 page, spending time copying into ram from rom-segments many times during the game) :-(
I've been reading all these post, but I cannot get it working...
I would like to have a routine (rom init) that selects the following memory configuration:
page0: ram (segment 3)
page1: rom (ascii 16)
page2: ram (segment 1)
page3: ram (segment 0)
Its like the one used when running dos programs, but page1 is used to access rom segments. Interrupt mode 2 is used and handled in page3, so no ISR #38 issue here.
Additional question: what happens if an out (#fd) is executed? Does it affect the page1 when an ascii16 rom is selected?
Thanks for any feedback
Performing an out #fd,a will change the RAM memory mapper segment. But that is only available if the slots are selected to RAM. When page 1 has its slot selected to a ROM slot, changing the mapper segment will not have any effect, no. (memory mapper is MSX2 or higher only)
So using ENASLT to set your slot configuration would be easy. Page 0 has segment 3 by default selected, including ISR (in DOS that is). And page 3 is segment 0, which is also default, and holds system vars.
What's your problem?
I've seen too many examples to accomplish the same thing.... one works, the other one does not. One suggests to use bios functions, the other one uses direct o/i via A8.
I finally got it working now. Thanks for the feedback.
Stephan