Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix ELKS ROM BIOS to handle video text attributes #58

Merged
merged 2 commits into from
May 10, 2021

Conversation

ghaerr
Copy link
Contributor

@ghaerr ghaerr commented May 9, 2021

Fixes character display on ELKS compiled with BIOS Console. Discussed in #54 (comment).

Implements more complete PC BIOS INT 10h AH=06h Scrollup specification.

Currently, ROM BIOS mem_stat manipulations are mostly handled in con-sdl.c SDL backend, but for full compatibility with video RAM emulation, may want to be moved to rom-xxx.c implementation.

con_put_char must now be passed video attribute (usually ATTR_NORMAL) for SDL backend. Should work with stdio and character backends where attribute is discarded.

vi now works well on Direct and BIOS Consoles.

con-char.c Outdated Show resolved Hide resolved
con-sdl.c Show resolved Hide resolved
con-sdl.c Show resolved Hide resolved
@mfld-fr mfld-fr added the fix Defect correction label May 10, 2021
@mfld-fr mfld-fr merged commit 24d6d65 into mfld-fr:master May 10, 2021
@ghaerr
Copy link
Contributor Author

ghaerr commented May 10, 2021

I did not catch that ELKS uses character attributes only in video mode 3 and not in 7.

ELKS Direct Console is coded to work with both video modes 3 and 7. However, just as in EMU86, ELKS will assume the video mode specified by inspecting the BDA directly (not through any BIOS INT request). So, we should probably implement MDA since ELKS supports it, but likely ELKS itself hasn't been tested much or at all lately on actual MDA hardware.

So I agree there is no need at that time for MDA attributes emulation.

True for now.

I will change the default video mode from 7 to 3 in the PC/XT/AT BIOS stub for consistency, and put a 'unsupported attributes' warning when other OS would ask for mode 7.

Looks good.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
fix Defect correction
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants