mfld-fr / emu86

Intel IA16 emulator for embedded development
35 stars 6 forks source link

Implement transparent cursor and reverse video in SDL backend #54

Closed ghaerr closed 3 years ago

ghaerr commented 3 years ago

This PR adds fully working (transparent overlay) cursor, as well as reverse video display in SDL backend.

ELKS vi now works and displays well.

mfld-fr commented 3 years ago

I tested on the latest ELKS with emu86-disk.config, config-elks.mk and emu86 -I fd1440.bin: after login as 'root', running vi fills the SDL console with escape sequences... did you update the default configuration for EMU86 ?

ghaerr commented 3 years ago

I tested on the latest ELKS with emu86-disk.config, config-elks.mk and emu86 -I fd1440.bin: after login as 'root', running vi fills the SDL console with escape sequences... did you update the default configuration for EMU86 ?

Ah - the emu86-disk.config still specifies the headless console, as it was originally built for testing INT 13h before the video pixel emulation. I think I'll update it to direct console with INT 16h polling keyboard, which is almost identical to the standard ELKS configuration but will work out of the box with EMU86.

Testing this has shown I broke the BIOS INT 10h with my video attributes/reverse video commit, so I'll post a PR to fix that shortly.

Thanks!

mfld-fr commented 3 years ago

By the way, could you also insert cp config-elks.mk config.mk in the ELKS tools build script ? Because I am considering switching EMU86 default configuration to the standard PC/XT/AT target in STDIO mode, to prepare for automatic testing and to be more user friendly for EMU86 newbies ?

mfld-fr commented 3 years ago

Testing this has shown I broke the BIOS INT 10h with my video attributes/reverse video commit, so I'll post a PR to fix that shortly.

Yes, there is still the cursor, but no text displayed in the SDL console :angry:

ghaerr commented 3 years ago

could you also insert cp config-elks.mk config.mk in the ELKS tools build script

Ok.

Yes, there is still the cursor, but no text displayed in the SDL console

We're going to have to widen the con_put_char parameter to int to pass the requested attribute along with character code point. Also con_scrollup is going to have to take six parameters. Fix coming.