https://github.com/codaris/picovga-cmake Skip to content Toggle navigation Sign up * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code + Explore + All features + Documentation + GitHub Skills + Blog * Solutions + For + Enterprise + Teams + Startups + Education + By Solution + CI/CD & Automation + DevOps + DevSecOps + Case Studies + Customer Stories + Resources * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles + Repositories + Topics + Trending + Collections * Pricing [ ] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this user All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} codaris / picovga-cmake Public forked from Panda381/PicoVGA * Notifications * Fork 26 * Star 17 VGA/TV display on Raspberry Pico (Linux/cmake) 17 stars 26 forks Star Notifications * Code * Issues 0 * Pull requests 0 * Actions * Security * Insights More * Code * Issues * Pull requests * Actions * Security * Insights codaris/picovga-cmake This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags Name already in use A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch? Cancel Create 1 branch 0 tags Code * Local * Codespaces * Clone HTTPS GitHub CLI [https://github.com/c] Use Git or checkout with SVN using the web URL. [gh repo clone codari] Work fast with our official CLI. Learn more. * Open with GitHub Desktop * Download ZIP Sign In Required Please sign in to use Codespaces. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching Xcode If nothing happens, download Xcode and try again. Launching Visual Studio Code Your codespace will open once ready. There was a problem preparing your codespace, please try again. This branch is 27 commits ahead, 5 commits behind Panda381:main. Latest commit @codaris codaris Update Readme.md ... c72a8a9 Mar 11, 2023 Update Readme.md c72a8a9 Git stats * 31 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time docs examples pages src .gitignore CMakeLists.txt Readme.md doxygen.cfg pico_sdk_import.cmake picovga.cmake picovga_import.cmake vga_config.h View code [ ] PicoVGA - VGA/TV display on Raspberry Pico About this Fork About PicoVGA Features Documentaton Examples and Tutorials License terms Getting Help Readme.md PicoVGA - VGA/TV display on Raspberry Pico About this Fork This is a fork of the PicoVGA project created by Miroslav Nemecek ( Panda38@seznam.cz). It has been altered from the original to use the standard Linux-based Raspberry Pi Pico SDK. The header files have also been altered to support automatically generating the documentation. About PicoVGA The PicoVGA library enables the Raspberry Pico to output to a VGA monitor or PAL/NTSC TV with ease, making it ideal for technical and gaming applications. It provides four graphic overlay layers with transparency and supports nearly 30 frame buffer formats that can be freely combined while using limited RAM memory. The output is limited to 8 bits, which helps to save on RAM. The RP2040 processor has 264 KB of RAM, which is insufficient for higher resolution image output. Therefore, it's essential to use RAM sparingly. For technical practice and retro games (the processor cannot handle more advanced games), 8-bit graphics output in R3G3B2 format (red 3 bits, green 3 bits, and blue 2 bits) is adequate. Outputting in 16 or 24 bits is not practical since the Raspberry Pico does not have enough memory or power to handle such large amounts of data, except for short demos. The dithering technique can be used to achieve interesting display results even with 8-bit output. Features * 1 base layer and 3 overlay layers with transparency, using the PIO0 module * 8-bit output in R3G3B2 format * VGA monitor output in 256x192 to 1280x960 resolution output to a TV in PAL or NTSC interlaced mode at resolutions up to 1024x576 or 848x480 * Nearly 30 frame buffer formats: 8/4/2/1 bit graphics, tiles, text, special formats (charts) * Colour palettes for text modes and graphics formats with limited bit depth * Frame buffers of different formats can be combined together in strips and segments in the image * RLE image compression (suitable for drawings) * Transparency modes with selectable key colour * Hardware sprites in overlay layers * Layer output only to designated output pins (color planes) * Automatic configuration of the video mode according to the specified resolution and timing * Automatic overclocking of the processor according to the desired resolution * The library uses the 2nd core of the processor, the 1st core is reserved for the main program * Additional PWM audio output (not required) Documentaton View the complete PicoVGA documentation by clicking the link below: * PicoVGA CMake Documentation Examples and Tutorials To learn about installing and building the library and the examples, check out the Getting Started section in the documentation: * Getting Started The library includes a comprehensive set of examples that demonstrate many of the library features: * Example projects * Hello World project To try out the examples, take 8 resistors and connect them to outputs GP0 to GP7 and the RGB connector of a VGA or SCART TV. Then, connect HSync (CSync) to GP8, headphones to GP19, and load the demo program via USB. If keyboard control is needed, a serial terminal program can be used, but most programs work without a keyboard. For more information on connecting the Pico to a VGA display, check out the Connections documentation section: * Connections License terms The PicoVGA library source code and the PicoVGA library sample programs are freely available for further use and modifications. This does not apply to certain graphics and sounds (such as the sounds in Pac-Man) and scene definitions in Sokoban, as these are subject to third party copyrights and may be subject to different distribution terms. Getting Help You can get help with this library using the Issues tab in the original PicoVGA project. For issues related to this fork of the library, please use the Issues tab for PicoVGA-cmake. How to inform about found defects: * First of all, please check project issues on GitHub. The issue you found might be already recorded. * Check that the issue is reproducible and describe it. * Ideally, create a small test program that exposes the problem. About VGA/TV display on Raspberry Pico (Linux/cmake) Topics vga raspberry-pi-pico Resources Readme Stars 17 stars Watchers 0 watching Forks 26 forks Releases No releases published Languages * C++ 44.1% * Assembly 34.7% * C 13.7% * CSS 6.6% * CMake 0.9% Footer (c) 2023 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.