OpenMSX / G9K / Real hardware issue / V9990

Página 2/4
1 | | 3 | 4

Por GhostwriterP

Paladin (702)

Imagen del GhostwriterP

07-09-2021, 22:01

There are two thing to keep track on in P1 mode using LMMM:

  1. destination address bit DX9 specifies the destination target screen (0 = screen/layer A, 1 = screen/layer B)
  2. the writemask must indeed be set up so that writing to the screen/layer you do not want to write to is prohibited where R#46 represents screen A and R#47 screen B. so if your target is screen A write 255 in R#46 and 0 in R#47 and vice versa.

BMLL can also be used but it will then be more convenient to update 32 characters at once on both screen A and screen B (so 64 characters at the same time => twice the data with the same speed), but that is expert stuff and maybe for later Wink

Edit: Or even use BMXL to flip a character horizontal and/or vertical for that matter... do not know if this is already properly emulated yet in openMSX... also expert level stuff, so maybe for a rainy day Wink

Por Trebmint2

Master (242)

Imagen del Trebmint2

08-09-2021, 10:03

GhostwriterP wrote:

There are two thing to keep track on in P1 mode using LMMM:

  1. destination address bit DX9 specifies the destination target screen (0 = screen/layer A, 1 = screen/layer B)
  2. the writemask must indeed be set up so that writing to the screen/layer you do not want to write to is prohibited where R#46 represents screen A and R#47 screen B. so if your target is screen A write 255 in R#46 and 0 in R#47 and vice versa.

BMLL can also be used but it will then be more convenient to update 32 characters at once on both screen A and screen B (so 64 characters at the same time => twice the data with the same speed), but that is expert stuff and maybe for later Wink

Edit: Or even use BMXL to flip a character horizontal and/or vertical for that matter... do not know if this is already properly emulated yet in openMSX... also expert level stuff, so maybe for a rainy day Wink

Hey GhostwriterP, that worked thanks. Now I can get onto how to implement in the language.

Por Trebmint2

Master (242)

Imagen del Trebmint2

08-09-2021, 13:40

Oh I've tested the X/Y Flip and in OpenMSX atleast it doesn't appear to be implemented.

Por Grauw

Ascended (10822)

Imagen del Grauw

08-09-2021, 14:12

If you give them a test case I bet they’ll add it Smile.

Por edoz

Prophet (2501)

Imagen del edoz

08-09-2021, 14:34

Hey Rob, just, let me know if i can test it for you!

Por edoz

Prophet (2501)

Imagen del edoz

08-09-2021, 14:35

oh Sorry, i mean Trebmint2 LOL! LOL! LOL!

Por Manuel

Ascended (19691)

Imagen del Manuel

08-09-2021, 18:06

Is this the effect of the ARG register? That is definitely used in the BMXL implementation... so yeah, a test case that works on real V9990 would be very useful to check what's going on.

Por edoz

Prophet (2501)

Imagen del edoz

08-09-2021, 18:08

We are working on it. A soon i can write something i will send you and exe file to test in OpenMSX, after we tested it on real hardware

Por GhostwriterP

Paladin (702)

Imagen del GhostwriterP

08-09-2021, 18:26

That test case already exists: Beast
directly from github link as issue to be solved, guess it snowed under ;)

Por Trebmint2

Master (242)

Imagen del Trebmint2

09-09-2021, 17:56

Does anyone know is the speed of vdp memory copies on v9990 and openmsx accurate??? Using P1 and LMMM 40 scanlines to copy a 16x64 area, surely not?

Página 2/4
1 | | 3 | 4