chips44 / hagl_pico_vgaboard Goto Github PK
View Code? Open in Web Editor NEWHAGL HAL for Raspberry Pi Pico VGA board (scanvideo)
License: Other
HAGL HAL for Raspberry Pi Pico VGA board (scanvideo)
License: Other
Would permit to demonstrate how to integrate hagl_pico_vgaboard in a real another project.
Like 640x360 (1280x720) or 800x450 (1600x900).
Already done at source level.
cf. https://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale:
luminance = 0.2126 * r + 0.7152 * g + 0.0722 * b
Here we have r, g and b from 0 to 31 and no FPU...
Could use binary 2048 bytes (for 8x8 256 glyphs fonts) from https://github.com/viler-int10h/vga-text-mode-fonts/ without further ado.
All these modes share the same 48K (49152 bytes) of memory for framebuffer:
"Weird" modes:
There is now a better way to implement srand() than the srand_rosc() implemented in the example.
cf. https://www.cpcwiki.eu/index.php/CPC_Palette
27 colors in an 3x3x3 RGB cube
Default palettes to be found:
cf. https://lospec.com/palette-list/console16
Should be reordered to have black at index 0 and white at index 15?
Short:
A
go to next demoB
go to next paletteC
change letterbox borders randomlyMedium:
A
go to first demoB
go to first paletteC
change letterbox borders to blackNB: no use of Repeat feature for now!
This would need a simple way to display text, but even a simple 8x8 font with ASCII or CP437 support would be fine.
It's the resolution of my LG L204WT monitor...
cf. http://tinyvga.com/vga-timing/1680x1050@60Hz
Perhaps 840x525 should be sufficient by dividing horizontal timings and 147.14 MHz pixel clock by 2?
See scanvideo/demo1/demo1.c
in pico-playground example.
cf. https://github.com/X16Community/x16-emulator/blob/r46/src/video.c#L195
NB: 256 colors 12 bits RGB palette, with C64 palette at 0-15
And initialize it on core1!
Shouldn't be too hard...
https://fontstruct.com/fontstructions/show/1334143/tic-computer-6x6-font is public domain alike (CC0).
https://fontstruct.com/fontstructions/show/1651619/5x5-font-monospaced has other choices for some lowercase letters, but license is "This FontStruction is licensed under a FontStruct Non-Commercial License".
I'm seeing an excellent work towards video scanline generation with framebuffer, that gets limited by current rpi memory footprint.
My question would be if its possible to create a virtual 640x480 multicolor space using huffman compression to allow direct usage of this framebuffer.
NUL chars in the text buffer should not be rendered at all, others will render with background and foreground colors instead of framebuffer content, without transparency.
Palette can be different from the framebuffer's one.
This does not need to use multiplane capability of scanvideo, unless it is easier or faster than "naive" rendering.
Text "cells" could be 2 to 4 bytes:
Text mode could have these attributes:
This could be the base for a "dumb" terminal understanding a subset of ANSI/VT100 sequences.
Instead of a section in REDME.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.