After all, that´s clear. I´ve stuck with the description too long ...it´s from the MSX Assembly Page
By the way, the port 99 setup can go without the and 63 or 64 ado.
If you imagine the vram addresses at 0x4000 to 0x7fff are "write zone".
Those adresses can be sent straight to port 99 and result in write mode.
]
Your´re right, that works fine.
It saves some space and a lot of cycles.....
NO!
that fails mysterious!
the entire Screen is shifted one Position.
it started not at the leftmost Position!
and the Color block of eight is moved too
see Picture
After all, that´s clear. I´ve stuck with the description too long ...it´s from the MSX Assembly Page
Fixed now.
Hey! Great, thanks.
the entire Screen is shifted one Position.
it started not at the leftmost Position!
I think that’s what happens when you set a read address and then write to it, or vice versa.
OK, so I have to use this:
AND 63 ; 00111111 zeroe bit6 7, leave 0-5 as they are OR 64 ; set the 6th BIT
EDIT: Against what Hit9918 wrote
Try to go thru things in debugger.
The thing with using 0x4000 as write address gotta work, coz that high byte much smells like it was the result of an AND 0x3F OR 0x40 operation.
And the colorblock shifted because colorRAM is not onscreen like C64 ZX, but part of the char itself.
To get color text you need to go screen 2 and then render it bitmap style.
it really fails.If I activate the and and or lines, it works, otherwise not.
I think it´s better to code it right, elsewhere I spend a lot of time later if it Fails again