Posts: 243
Threads: 15
Joined: Apr 2024
Reputation:
30
12-20-2025, 11:55 PM
(This post was last modified: 12-20-2025, 11:59 PM by ahenry3068.)
(12-20-2025, 11:44 PM)The Joyful Programmer Wrote: Tony,
I am very thrilled that you were able to use parts of what was offered, even if you needed to modify them for your own purposes. That is what FLOSS (Free/Libre Open-Source Software) products are all about!
I already assumed people would have to "hack" up the code and use only the parts they needed, since the entire source was written for a specific solution, not all solutions, so it wouldn't make since to try and use all the source code in other projects. This is also true for when I translate the algorithm parts from QB64 to GLSL (OpenGL Shading Language) to run on the GPU. Some of the code will run in the fragment shader, while others will run in the compute shader.
Why do stuff on the GPU (the processor on your video card) instead of the CPU? The answer in one simple words is: Cores. General processor cores on CPUs from the past decade to today can have 2-, 4-, 8-, and even 16-cores, while higher end processors, like the Intel Sierra Fores, can have to 288 cores. That's a lot of threads to have when doing multiple things at the same exact time. However, GPUs can have way more than that. For example, the GeForce RTX 5090 has 21,760 (CUDA) cores. This can make computing on the video card's GPU way faster than doing it on the local CPU, if you code them correctly. Coding on a GPU is not linear like it is on the CPU, so coding for involves learning a style of coding. For me, it's almost like going from a linear coding style, like you get in QB64, or even C++ on the console, to event-driven coding, like regular Window apps.
The shared demo picks the best colors from the full-color image to create the palette, but the idea for my major project is to pick the colors in the fixed palette that are closest to those in the full-color image.
On a side note, I am thrilled to find others who enjoy watching "The 8-Bit guy" on YouTube, as I do. Here's the YouTube videos where David Murray discusses his dream computer, the X16:
Building my dream computer - Part 1
Building my Dream Computer - Part 2
I love the Commodore 64/128, as well as the Apple ][ line of computers. I grew with them, and those are the main two computers I learned a lot about coding.
Do you have a website, or a place where you share your project at? I would love to check it out.
Thank you for your inspirations and creativity!
Walter W. Whitman
The Joyful Programmer
AstroCosmic Systems (tm)
Here's the Home of the project. https://cx16forum.com/forum/viewtopic.ph...595#p35595
I've actually also got it cross posted here on this forum in programs !
I've actually got a big upgrade very close to posting and think I'll have it posted in the next 6 or 7 days. No reason for you to not check out what's already posted though.
I also wrote a Desktop Video player for the X16 converted Video. Video & Audio Playback in PURE QB64PE .
The full source code for everything is in the archive. QB64PE for the Movie Maker & the Desktop Sample Player & 65c02 assembler (ca65 syntax) and Prog8 for the Commander X16 Player.
prog8 is one man project documented here: https://prog8.readthedocs.io/en/latest/
BTW: I own 2 of the approximately 1500 Commander X16 systems that are out in the wild !
Posts: 63
Threads: 13
Joined: Jun 2022
Reputation:
22
(12-20-2025, 11:55 PM)ahenry3068 Wrote: (12-20-2025, 11:44 PM)The Joyful Programmer Wrote: Tony,
I am very thrilled that you were able to use parts of what was offered, even if you needed to modify them for your own purposes. That is what FLOSS (Free/Libre Open-Source Software) products are all about!
I already assumed people would have to "hack" up the code and use only the parts they needed, since the entire source was written for a specific solution, not all solutions, so it wouldn't make since to try and use all the source code in other projects. This is also true for when I translate the algorithm parts from QB64 to GLSL (OpenGL Shading Language) to run on the GPU. Some of the code will run in the fragment shader, while others will run in the compute shader.
Why do stuff on the GPU (the processor on your video card) instead of the CPU? The answer in one simple words is: Cores. General processor cores on CPUs from the past decade to today can have 2-, 4-, 8-, and even 16-cores, while higher end processors, like the Intel Sierra Fores, can have to 288 cores. That's a lot of threads to have when doing multiple things at the same exact time. However, GPUs can have way more than that. For example, the GeForce RTX 5090 has 21,760 (CUDA) cores. This can make computing on the video card's GPU way faster than doing it on the local CPU, if you code them correctly. Coding on a GPU is not linear like it is on the CPU, so coding for involves learning a style of coding. For me, it's almost like going from a linear coding style, like you get in QB64, or even C++ on the console, to event-driven coding, like regular Window apps.
The shared demo picks the best colors from the full-color image to create the palette, but the idea for my major project is to pick the colors in the fixed palette that are closest to those in the full-color image.
On a side note, I am thrilled to find others who enjoy watching "The 8-Bit guy" on YouTube, as I do. Here's the YouTube videos where David Murray discusses his dream computer, the X16:
Building my dream computer - Part 1
Building my Dream Computer - Part 2
I love the Commodore 64/128, as well as the Apple ][ line of computers. I grew with them, and those are the main two computers I learned a lot about coding.
Do you have a website, or a place where you share your project at? I would love to check it out.
Thank you for your inspirations and creativity!
Walter W. Whitman
The Joyful Programmer
AstroCosmic Systems (tm)
Here's the Home of the project. https://cx16forum.com/forum/viewtopic.ph...595#p35595
I've actually also got it cross posted here on this forum in programs !
I've actually got a big upgrade very close to posting and think I'll have it posted in the next 6 or 7 days. No reason for you to not check out what's already posted though.
I also wrote a Desktop Video player for the X16 converted Video. Video & Audio Playback in PURE QB64PE .
The full source code for everything is in the archive. QB64PE for the Movie Maker & the Desktop Sample Player & 65c02 assembler (ca65 syntax) and Prog8 for the Commander X16 Player.
prog8 is one man project documented here: https://prog8.readthedocs.io/en/latest/
BTW: I own 2 of the approximately 1500 Commander X16 systems that are out in the wild ! Really awesome project!
I took a short break from the "web browser" part of the web browser project I have been working on to get back to converting full color images to palette images through the GPU. I got it working... Sort of... It works great, as does all seven of the dithering algorithms implemented, but right now, instead of scanning the current frame, as it should, it has to scan the previous frame to create a new perceptual palette. You really don't notice a difference, so it works, visually.
The new demo provides the capabilities to change palettes and adjust the number of colors from 2 to 256. One of the palettes it uses is the VGA256.
Here's some screenshots:
The shader used in the above screenshots can be found on ShaderToy at https://www.shadertoy.com/view/tc2cWh.
The Joyful Programmer has changed call signs. The Joyful Programmer is now called "AstroCosmic Systems".
Posts: 63
Threads: 13
Joined: Jun 2022
Reputation:
22
I am pleased to announce that not only did I upload a Windows executable for testing to this forum at https://qb64phoenix.com/forum/showthread...5#pid39725, but I also provided a link to the full source code on Github.
The project now includes a raycasting demo with GUI overlay, a procedurally generated compass rose, a procedurally generated 512x1024 game map, procedurally generated textures, a large map that you can zoom in and out of, a map legend, CRT effects, and other features.
Have a look and enjoy!
Walter W. Whitman
The Joyful Programmer (tm)
AstroCosmic Systems (tm)
etc...
The Joyful Programmer has changed call signs. The Joyful Programmer is now called "AstroCosmic Systems".
Posts: 346
Threads: 45
Joined: Jun 2024
Reputation:
32
@ The Joyful Programmer
I wish I was half as smart as you! I'm all about GameDev nowadays and as such forget the joy I used to get from making such things though nothing i've made can hold a candle to your efforts! I really wish that the whole "Roll your own" wasn't such a thing now, even though I am well aware of the benefits of it for learning, I wish that we could all join forces and lean on each other more. I suck at complex math but am good at optimising, @SmcNeill is right to call me out for doing things in complex ways when much simpler alternatives exist that I dont even think about! Like @Petr , His variation of the dice thingy was so not how id do it, and @Pete with his menu system, not my way but you gotta admire the effort!
Anyway, This aint a thing i'd use myself but i appreciate the work....come back with a texture upscaling system and then i'll be salivating!
Unseen
|