DSK-PRO 10.1 Killer Copy Machine Edition Released

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

Por Grauw

Ascended (10617)

imagem de Grauw

01-02-2016, 10:23

cbsfox wrote:

No,no,no, I don't use DOS2 functions to get memory blocks. I do all directly.

There may be your problem, I think. During disk I/O, DOS2 switches mapper banks, and does not know which bank to put back afterwards. This is why you need to use the DOS2 mapper functions in the DOS2 environment.

Do you happen to run MAP2.COM in your autoexec.bat maybe? That would hide the problem on some systems, could explain why it works on yours, but it’s an incompatible hack so not recommended.

Por cbsfox

Champion (392)

imagem de cbsfox

01-02-2016, 11:28

I understand. But I like to do all directly.

Lets please first to do that test I said. Press "D" do disable extra memories and see if it freezes.

Por flyguille

Prophet (3028)

imagem de flyguille

01-02-2016, 13:13

doing it the legal way is not that bad.

1) DOS2 guarantee that none of the CPU registers will be modified.

2) It just adds a extra CALL aaaaa + RET + LD (), a. Just 3 instructions.

program side (using the speeder routine posted before).

RoutineX:
                 .....
                 ld a, ram_segment
.P2:          call @PUT_P2
                 .....

--------------------


dos2 side


ld (dynamic_variable_address), a
out ($FE), a
ret





if you don't do it legal, it will has several compatibility issues.

Por l_oliveira

Hero (534)

imagem de l_oliveira

01-02-2016, 13:32

cbsfox: The reason ASCII demanded people to use the DOS2 mapper control routines is that it keeps DOS2 mirror copy of mapper register status updated. DOS2 keeps the register status on RAM, it NEVER reads back the mapper I/O ports.

Because when more than one mapper is connected to the system there's the possibility of the mapper readback isn't consistent and even some ASCII made cartridges (like for example the memory mapper on the ASCII MEM 768 (768KB mapper) and on Micro Sios Micro Pack (256KB mapper + MIDI for FS-A1ST) do not have readable registers at all. (both cartridges I mentioned use the same mapper + slot expander integrated chip, from ASCII)

Most Japanese standalone mapper cartridges don't have readable registers either. European software fails miserably on those. Would you want to follow that path only because you want more control?

Edit:
Complementing with that grauw said:What MAP2.COM do is "patch" DOS to read back mapper registers and "sync" the shadow copy of the registers before attempting to use the mapper. That's a SAD, EVIL HACK. Evil

Por cbsfox

Champion (392)

imagem de cbsfox

01-02-2016, 15:18

Ok. But first can you do the test I suggested?
To press "D" to disable memory expansions before creating the PDI file.
Ler me know if it still freezes.

Por l_oliveira

Hero (534)

imagem de l_oliveira

01-02-2016, 17:59

Disabling the mapper made it stop crashing. Now dumping a PDI.

Please don't make the MSX standard weaker than it already is (as in people violating the rules and making compatibility poor) and make mapper handling work properly in the next version. m(_ _)m

Por l_oliveira

Hero (534)

imagem de l_oliveira

01-02-2016, 18:51


"プロテクト・エラー!"

Okay. :\

Por flyguille

Prophet (3028)

imagem de flyguille

01-02-2016, 19:19

l_oliveira, what means that?

Por l_oliveira

Hero (534)

imagem de l_oliveira

01-02-2016, 19:22

flyguille wrote:

l_oliveira, what means that?

Means a copy got detected.

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