Strange cursor behavior on Arabic and Korean MSXs

Por Alexey

Guardian (2792)

Imagen del Alexey

09-04-2020, 15:16

I encountered the strange tex cursor behavior on Arabic and Korean MSXs with the Latest Boot menu in Carnivore2. On European and Japanese MSXs the cursor appears and works well when I enable it via the system variable at #FCA9. On Arabic MSXs the cursor gets enabled and becomes visible, but the symbol under the cursor changes. Even worse - on Korean MSXs the cursor becomes completely black and hides the character behind it. Did anyone encounter the same problem and how you mitigated it?

Login sesión o register para postear comentarios

Por Manuel

Ascended (16689)

Imagen del Manuel

09-04-2020, 20:19

If you have a machine with an Arabic character set, the cursor is not at 0xFF... See the character sets thread: https://www.msx.org/forum/msx-talk/general-discussion/msx-ch...

So, I guess that is the issue.

Por Alexey

Guardian (2792)

Imagen del Alexey

10-04-2020, 12:45

Thanks, Manuel, but I didn't find the answer there. I am using the CHSNS (#009C) BIOS function, so the cursor is not displayed. I can't use the CHGET (#009F) function that properly displays the cursor because I need to also allow joystick control. So I have to enable the cursor at #FCA9 and put its coordinates into #F3DC.

I don't understand why on Arabic MSXs the cursor first doesn't appear at all, after moving it appears multiple times on the last used places (but not at the place where I want it) and reports wrong symbol under it at #FBCC while on Korean MSXs the cursor is positioned correctly, has the correct symbol reported under it at #FBCC but is completely black. Can anyone please explain this phenomenon to me?

Por Alexey

Guardian (2792)

Imagen del Alexey

13-04-2020, 16:20

Looks like Arabic MSXs need the special cursor treatment compared to Korean and other ones.. But the problem with non-transparent white (Arabic) or black (Korean) cursor is still unresolved. If these localized BIOSes use a different character set, how to tell them to use the standard one? And if a different symbol is used for the cursor, then I can free this character and avoid using it with my own font. Any ideas?

Por Alexey

Guardian (2792)

Imagen del Alexey

18-04-2020, 15:37

I started to figure out how to deal with the problem. On Korean MSXs the cursor is at #FF, but it's not updated by the BIOS until the CHGET is used. So the way out is to copy the inverted symbol that the cursor is staying on to #FF's character table area in VRAM manually. This is already resolved.

This trick should also work for Arabic MSXs, but there the cursor is at #00. However, the BIOS doesn't correctly identify the symbol under the cursor and doesn't restore the original symbol when the cursor is moved to a new location. Back to the drawing board...

Por Alexey

Guardian (2792)

Imagen del Alexey

26-05-2020, 13:28

I finally managed to mitigate the problems. On Korean MSXs the cursor's symbol is manually updated with the inverted data from the symbol, that the cursor stays on. When the cursor is moved, the cursor's symbol is updated again. In the end the original data for the cursor's symbol is restored.

On the Arabic MSXs enabling the cursor is a bad idea - it starts to leave its copies all over the screen. Besides, the Arabic BIOS doesn't put the symbol that the cursor stays on to the BIOS variables area. So it was decided to use a different approach - the symbol under the cursor is now blinking (like on Apple II) on every keyboard/joystick input waiting cycle. The symbol is periodically replaced with the "underscore" symbol and then gets restored.

Por wbahnassi

Expert (102)

Imagen del wbahnassi

26-05-2020, 13:53

Woot! This is great news! Any chance a boot menu update with this fix will come soon? I also have another issue on AX-170 specifically I'd like to bring to your attention. But I'll post it in a new thread to not go OOT here. Thanks for the great work Alexey!

Por Alexey

Guardian (2792)

Imagen del Alexey

26-05-2020, 15:45

wbahnassi wrote:

Woot! This is great news! Any chance a boot menu update with this fix will come soon? I also have another issue on AX-170 specifically I'd like to bring to your attention. But I'll post it in a new thread to not go OOT here. Thanks for the great work Alexey!

The next release is planned for June. The testing phase should start soon. I can send you the beta version of the Boot Menu. Contact me via the RBSC website.

Carnivore2 bug reports should be posted here: https://github.com/RBSC/Carnivore2/issues