Skip to content

Conversation

@buserror
Copy link

On a 4K screen, GSport window is /tiny/ -- this PR adds support for scaling, by adding support for rendering via the XRender extension using a scaling transform. It should be accelerated on pretty much any hardware these days, so has no real impact on performance.

Technically this makes the scaling configurable at runtime, but at the moment it is #defined as x2. I tried to minimize impact on existing code.

This PR also contains a few little fixes for modern GCC, for example there is a commit to use __builtin_bswap; it also force align the prodos.h structures, as that wouldn't work on 64 bits systems at least using gcc.

buserror added 4 commits June 30, 2020 14:14
GCC has pretty handy builtin for that sort of things, often reduces to a
single opcode on the target processor

Signed-off-by: Michel Pollet <[email protected]>
Allow Makefile to define BORDER_WIDTH

Signed-off-by: Michel Pollet <[email protected]>
Use __attribute__((packed)) for gcc, so make sure these
structures are byte aligned

Signed-off-by: Michel Pollet <[email protected]>
This adds support for scaling the window of the emulator. On 4K screens,
GSport window is really tiny and unreadable. This implements another
stage to the rendering using the XRender extension with a scaling
transform.

This appears to work with or without shared memory

Also, modifies the Makefile to easily switch scaling on or off --
technically if could be made configurable at runtime too, for the moment
the constant is passed as a #define

Signed-off-by: Michel Pollet <[email protected]>
@buserror
Copy link
Author

Anyone knows if this project has been forked into something that accepts PRs? it's been nearly 3 years now...

@david-schmidt
Copy link
Owner

Hey, good to hear from you again! This one somehow escaped my notice. I'd say "we still accept PRs," but I see what you mean here. :-)

The upstream KEGS project is here, but Kent doesn't do GitHub, so contribution is a little more old-school:
https://kegs.sourceforge.net/

I'm maintaining a GitHub-based mirror of it to make creating patches easier:
https://github.com/david-schmidt/KEGS-upstream

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants