There are two thing to keep track on in P1 mode using LMMM:
- destination address bit DX9 specifies the destination target screen (0 = screen/layer A, 1 = screen/layer B)
- 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
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
There are two thing to keep track on in P1 mode using LMMM:
- destination address bit DX9 specifies the destination target screen (0 = screen/layer A, 1 = screen/layer B)
- 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
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
Hey GhostwriterP, that worked thanks. Now I can get onto how to implement in the language.
Oh I've tested the X/Y Flip and in OpenMSX atleast it doesn't appear to be implemented.
If you give them a test case I bet they’ll add it .
Hey Rob, just, let me know if i can test it for you!
oh Sorry, i mean Trebmint2
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.
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
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?