ma-20 clone (msx2 cartridge)

Page 6/9
1 | 2 | 3 | 4 | 5 | | 7 | 8 | 9

By Grauw

Ascended (8454)

Grauw's picture

29-03-2016, 23:17

And the MSX2+ standard mandates that the I/O ports are at 98H-9BH, or so I heard (citation needed). Only MSX1->MSX2 upgrade is supported by the standard.

By NYYRIKKI

Enlighted (5384)

NYYRIKKI's picture

30-03-2016, 00:24

Grauw wrote:

MSX1->MSX2 upgrade is supported by the standard.

Somehow I doubt that... Do you have anything to back up this claim? (except that VDP can be connected to different ports.) Somehow I'm under impression that double definition of #FCC1 already makes usage of this kind of cartridge against standard, but feel free to correct me if some of you have better information.

By NYYRIKKI

Enlighted (5384)

NYYRIKKI's picture

30-03-2016, 00:29

l_oliveira wrote:

The only problem is for 2+ we would need to make the ROMs from scratch.

I've made an IPS-patch that can upgrade MSX2 ROMs to MSX2+ ROMs... I don't know if they work for this purpose, but maybe worth a try. Mail me if you are interested.

By Grauw

Ascended (8454)

Grauw's picture

30-03-2016, 00:48

NYYRIKKI wrote:
Grauw wrote:

MSX1->MSX2 upgrade is supported by the standard.

Somehow I doubt that... Do you have anything to back up this claim? (except that VDP can be connected to different ports.) Somehow I'm under impression that double definition of #FCC1 already makes usage of this kind of cartridge against standard, but feel free to correct me if some of you have better information.

Well, if you look at page 17 of MSX Datapack vol. 2, you can see that for FCC1H it says Main ROM slot with both the expansion bit and slot and subslot bits marked… And more than one hardware device was released to take advantage of this (NEOS’s MA-20 and Gradiente’s Cartão de 80 Colunas).

But it seems to me that it was put in as a not very well thought-out feature, with the double definition of FCC1H indeed, as well as practical problems with software, which in practice wouldn’t really work well. It reminds me of, iirc they similarly found out with the early MSX2 BIOSes needing to be patched up, that in theory everything can be nice and standard, but in practice people will do stuff they’re not supposed to and as a hardware vendor you have to deal with it, because consumers won’t accept loss of compatibility.

By hit9918

Prophet (2867)

hit9918's picture

30-03-2016, 01:36

It's no problem to code for variable VDP port.
just one thing cant be acepted, different OUT vs IN port locations. there's no reason for it.

By gdx

Prophet (3037)

gdx's picture

30-03-2016, 02:50

NYYRIKKI wrote:
Grauw wrote:

MSX1->MSX2 upgrade is supported by the standard.

Somehow I doubt that...

88h to 8Bh are noticed as extenal V9938 ports in the standard since MSX2 without more precision.
Since MSX2+ ASCII said 98h to 9Bh ports will always remain the same for internal VDP.
And what about the unusable system variable 0FFF7H.
I understand your doubts. ASCII was confused on this point. I think ASCII tried to adapt the MSX to this case without success.

By NYYRIKKI

Enlighted (5384)

NYYRIKKI's picture

30-03-2016, 03:48

gdx wrote:

And what about the unusable system variable 0FFF7H.

I think they realized where they messed up and applied fix to original problem... It is just kind of late to change fundamental part of standard, if you have released few popular versions of the standard before.

I think they originally planned that MSX could be upgraded to MSX2, but when they realized they have messed things up beyond repair they just stopped talking about it and took some steps (meaning the variable VDP port) back. One of the reasons for DRAM mode to exist in MSX tR might have even been that they wanted to be able to apply software patches for critical problems in order to avoid this kind of mistakes in future. Today we have flash BIOS & microcode updates for same purposes. If you look at the mess called disk ROM you realize that it was also quite a close call to get up and running after the initial plans turned out to be lacking some important details. Companies tend to make mistakes, but generally MSX is quite a well planned standard.

By gdx

Prophet (3037)

gdx's picture

30-03-2016, 04:07

Grauw wrote:

Well, if you look at page 17 of MSX Datapack vol. 2, you can see that for FCC1H it says Main ROM slot with both the expansion bit and slot and subslot bits marked… And more than one hardware device was released to take advantage of this (NEOS’s MA-20 and Gradiente’s Cartão de 80 Colunas).

Look at page 6 du Datapack vol.2, you can see that the Main-ROM is allways in Slot 0 or 0-0 except for MSX2 expansion.

Move the main ROM in another slot is a problem for advanced programs and it does not solve the keyboard matrice, the 50hz/60Hz flag nor date format flag.

To solve the three last points, I think use a flash ROM and make a software that creates a custom Bios based on original Main-ROM is the best solution to make a MA-20 clone. This will avoid some of the gaps of standard.

By l_oliveira

Hero (526)

l_oliveira's picture

30-03-2016, 04:05

That's not a problem at all. This thing replaces the slot management routine with a patched one which shadows slot 0. Nothing had problems with it besides DOS calling functions on BIOS. And that's why this thing has a patched DOS1 kernel in it.

By gdx

Prophet (3037)

gdx's picture

30-03-2016, 04:14

Thinking like this, we can say that it's not a problem if we patch all not working games. LOL!

Fzanoto, your expansion has a real time clock inside? It does not seem the case.

Page 6/9
1 | 2 | 3 | 4 | 5 | | 7 | 8 | 9