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

CGA Fast Scrolling #4

Open
640-KB opened this issue Aug 30, 2022 · 2 comments
Open

CGA Fast Scrolling #4

640-KB opened this issue Aug 30, 2022 · 2 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@640-KB
Copy link
Owner

640-KB commented Aug 30, 2022

No description provided.

@640-KB 640-KB added enhancement New feature or request help wanted Extra attention is needed labels Aug 30, 2022
@640-KB 640-KB changed the title CGA Smooth Scrolling CGA Fast Scrolling Sep 8, 2022
@Maxx1234
Copy link

An interesting solution was FlickerFree (https://winworldpc.com/product/flickerfree/10) - altough it does not appear to work with programs that bypass BIOS video routines...

@640-KB
Copy link
Owner Author

640-KB commented Dec 16, 2022

An interesting solution was FlickerFree (https://winworldpc.com/product/flickerfree/10) - altough it does not appear to work with programs that bypass BIOS video routines...

This is fascinating - never come across this one before. It was written by Steve Gibson, the wizard behind SpinRite, so no wonder it's good. It is indeed faster than standard BIOS routines which I'd guess is a combination of clever coding as well as having more byte space to be able to handle specific cases in separate code branches. It's already a challenge to implement all of the INT 10h features and also stay within the restricted code size in an 8K BIOS, so you end up with some "jack of all trades" routines that have to handle lots of different situations (so could end up doing unnecessary work). Also since the INT 10h code is now running in RAM it can, in many cases, execute faster than it would in ROM so you end up with effectively video ROM shadowing out of the gate.

That said, it does not seem to implement "fast scrolling" the way I was envisioning. This feature is a "trick" where you don't actually need to copy CGA memory when scrolling a line, rather you just change where the video adapter points in its memory. This breaks a number of things by design, so would be a compatibility issue. It's really intended to be a "cool" optional feature, not necessarily a general replacement.

Thanks for sharing this - it's really cool!

640KB

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants