From: SourceForge.net <no...@so...> - 2011-03-20 16:41:11
|
Feature Requests item #3218248, was opened at 2011-03-17 03:41 Message generated for change (Comment added) made by guyver800 You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=421864&aid=3218248&group_id=38274 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Priority: 5 Private: No Submitted By: FRS (sd-snatcher) Assigned to: Nobody/Anonymous (nobody) Summary: io-base configuration for the MemoryMapper Initial Comment: This feature request is a subset of the RFE #3209252: Acid2Test Currently, the memory-mapper I/O address is hardcoded and cannot be changed. It simply ignores the <io base> tag on the hardwareconfig.xml file. It would be a needed for the Acid2Test that the MemoryMapper I/O address could be configured, like this example shows: <MemoryMapper id="Main RAM"> <size>1024</size> <mem base="0x0000" size="0x10000"/> <io base="0xFC" num="4" type="O"/> <io base="0xFC" num="4" type="I"/> </MemoryMapper> ---------------------------------------------------------------------- Comment By: Patriek Lesparre (guyver800) Date: 2011-03-20 17:41 Message: Memory Mapper I/O ports are specified by the MSX standard. Having them in another location is a violation of the MSX standard. BACK TO SCHOOL, FRS! ---------------------------------------------------------------------- Comment By: Maarten ter Huurne (mthuurne) Date: 2011-03-20 17:29 Message: The hardcoded I/O addresses are in MSXMotherBoardImpl::createMapperIO(). The purpose of that method is to have only one MapperIO instance per machine, to make sure that if multiple mappers are present, they all switch on one I/O port write. Inside MapperIO itself we assume that the mappers are aligned on a multiple-of-four port number. I think that is an acceptable restriction. In any case, many other devices also have such restrictions. One way to allow different I/O addresses would be to explicitly add support for that in MSXMotherBoard, by keeping a MapperIO object per 4-ports block (NULL for most entries). Another approach would be to get rid of MapperIO and use a generic I/O (de)multiplexer when multiple devices share the same port. We must have something like that already to support for example an FM-PAC in a machine that has MSX-MUSIC internal, but I don't know the details. One complication is that some MSX engine models (like the one in the turbo R) only support reading 5 mapper bits instead of 8. That is also handled in MapperIO at the moment, so it would have to be implemented differently if we want to drop MapperIO. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=421864&aid=3218248&group_id=38274 |