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

Separate image generation from signal generation #12

Open
stevesims opened this issue Jun 11, 2024 · 1 comment
Open

Separate image generation from signal generation #12

stevesims opened this issue Jun 11, 2024 · 1 comment

Comments

@stevesims
Copy link
Contributor

The current structure of vdp-gl mixes together image generation with VGA signal generation

There are a few features that would be nice to add to the agon-vdp that are made more difficult by the intermixing of these two areas of functionality. Two examples of this are the ability to "blit" between the front and back buffers in a double-buffered mode, and to draw to a bitmap. If there was a clean separation between the two then it would be significantly easier to add these features.

Additionally separating out image generation would potentially allow those features in vdp-gl to more easily be used with a different signal generation.

@stevesims
Copy link
Contributor Author

the reality is that the nature of the code architecture vdp-gl inherits from fab-gl makes it impractical to separate out image generation from signal generation.

it is almost certainly more straightforward and simpler to completely rewrite the image generation, writing to a completely new framebuffer system, and then make use of fab-gl's VGADirectController to generate a signal based on that framebuffer. that form of signal generation essentially parallels how the existing paletted VGA controllers work - the various ISRHandler functions inside each controller variants essentially perform the function of converting the framebuffer a row at a time into a signal buffer that will be sent out the VGA port using DMA.

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

No branches or pull requests

1 participant