MSX Assembly Page

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

By sd_snatcher

Prophet (3448)

sd_snatcher's picture

20-08-2015, 23:52

@Grauw

Here's another contribution for the MAP:

The I/O ports overview page lists #28~#2F as the "second setting Philips NMS1210 RS232 interface", and #30~#38 for the "Philips NMS1251 modem". But the NMS-1210 user manual states that there are two possible combinations for the NMS-1210/NMS-1211/NMS-1212 interfaces:

  • #27~#2F
  • #37~#3F

By hit9918

Prophet (2901)

hit9918's picture

20-08-2015, 23:54

ok, I haven't studied the whole thread yet, zeilemaker already said it Smile

By hit9918

Prophet (2901)

hit9918's picture

21-08-2015, 00:24

It is braintwisting.
Could FFF7 ever contain a better value than FCC1.
If so, why was FCC1 not hacked with that better value. And then again FFF7 is the same value.
I feel FFF7 is superfluous. The only difference it can make is crash on MSX1.

By zeilemaker54

Champion (298)

zeilemaker54's picture

21-08-2015, 00:40

hit9918 wrote:

has there ever been any other retargeting than the way NEOS does it?

No, not that I know of

hit9918 wrote:

On the NEOS, FFF7 is the same hack value as FCC1!

Yes, so is MSX2 and up. Then what is the use of FFF7 ??? No reason to use that one. Then your code example adds nothing, but a few extra lines. Would not advice this.

hit9918 wrote:

The NEOS just always sets the expansion bit, even when both the bios and the cartridge are in unexpanded slot.
I think it is a bug, no deeper reason..

I agree it is not very neat. But consider the possibility that the NEOS cartridges are in a slot expander. Then the NEOS mainrom is in an expanded slot. Then there is no other possibility to put that slotid (with bit 7 set, slot is expanded) in (EXPTBL+0). In that case according to the definition of EXPTBL means that slot 0 is expanded.

You could detect this rare situation by the following code:

ld a,(EXPTBL+0)
and 03h
jr z,EXPTBL0_OK
; need to check for ourselves if slot 0 is expanded (testing for presents of a secundairy slotregister)

Of course the NEOS is very rare, so may be it is a bit overdone. Unless we want some future expansions working the same way as the NEOS works. Then it is not overdone......

By sd_snatcher

Prophet (3448)

sd_snatcher's picture

21-08-2015, 00:51

The Gradiente CT-80Net and CT-80E can easily be converted to NEOS MA-20 compatible cartridges. And those are very common in Brazil.

In fact, any "80 columns expansion" with a V9938 inside can become a NEOS MA-20. It's as easy to upgrade them to "MA-20s" as it's to upgrade a SVI-738 to MSX2: you just have to replace the ROM.

By hit9918

Prophet (2901)

hit9918's picture

21-08-2015, 01:22

@zeilemaker, such code to fix it, it can't be put in a general function, like getslt "where am I".
because when it makes correct slot IDs, they not match comparison with the incorrect IDs hanging around everywhere in the system Smile

fixes are more about special cases. the only problem I found is machines with 32k RAM getting mirrored RAM.
DOS doesn't start, but I suspect it is not caused by mirroring, but its enaslt page 0 strategy has no answer for
a machine with expanded slot 0 RAM that has only 32k and the rest of RAM in another slot.

By sd_snatcher

Prophet (3448)

sd_snatcher's picture

21-08-2015, 01:35

Anyway, MSX1 machines with only 32KB of RAM (or less) shouldn't be of concern in this case, as they're no candidates to have the MA-20 used on them. Because it's an MSX2 requirement to have at least 64KB of RAM. Smile

By hit9918

Prophet (2901)

hit9918's picture

21-08-2015, 01:57

funny, now I retried and it worked. maybe before I forgot to plug the extra RAM cartridge for DOS.

By sd_snatcher

Prophet (3448)

sd_snatcher's picture

21-08-2015, 02:38

The MA-20 is a nifty device for those who want to keep their beloved MSX1 from the good times still original (unmodded), and yet be able to run newer games.

For example, I have a black Sharp HB-8000 (aka "Hotbit") in pristine condition. And I love the idea of being able to run MSX2 games in it without having to upgrade it internally to MSX2. If I remove the cartridge, back it goes to MSX1. For testing, it's like having two machines in one, without the need for extra storage room in the house. Wink

By gdx

Enlighted (4377)

gdx's picture

21-08-2015, 09:11

Grauw wrote:

Although if this is true, then in practice it’s failed that purpose and is not a usable solution, since probably a lot of MSX2 software uses FCC1H, including official documentation. I think it was doomed to fail, even if the docs had been clear about this, it’d still have been difficult to guarantee all MSX2 software would use the new address with so much existing MSX1 documentation pointing to FCC1H

I think it is impossible to replace the Main-Rom of a MSX by a cartridge because the matrice of keyboard and a few components are different on many MSX models. Therefore 0FFF7h has no really meaning. This variable would make sense if it indicates a auxiliary Main-Rom. For exemple in the cas of MSX2 extension, all VDP access can be done with the auxiliary Main-ROM.

When the NEOS MSX2 extension is inserted 0FFF7h gives the same value as 0FCC1h ? Logically, the value should be different.

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