Hacker News new | ask | show | jobs
by alehyze 1903 days ago
I managed to reverse engineer some of the raspberry pi hardware up to the point that I have all the ingredients to make a retro-like gaming console.

Particularly, I have audio over HDMI and hardware sprites.

2 comments

I am not familiar with console game development. Can you please talk a little more about what hardware sprites are and why they are significant?
A "sprite" is a small bitmap image that can be moved around and rendered onto the screen at an arbitrary position. For example, Mario and his enemies in Super Mario Bros. are displayed as sprites.

"Hardware sprites" means you can tell the graphics hardware to draw the sprite itself, as opposed to the programmer having to redraw the background and then copy the sprite's pixel data on top of it for every frame.

https://en.wikipedia.org/wiki/Sprite_(computer_graphics)

yep :-) only thing to add: hardware sprites do not necessarily have to be small in size. What characterise them is the fact that you don't have to redraw them in software every frame in order to move them.
I am imagining this is running without a kernel or operating system...
What I have so far are simple demos, without anything even close to a kernEl. What I have is closer to the c64 karnAl in the sense that I have a few functions that do stuff but then again it's even smaller than that. Also I expect the usual firmware that boots linux to do its setups before booting my program.
Are the hardware sprites implemented directly on specialized 2D hardware, or do they map to the same hardware as OpenGL/GLSL/Vulkan?
The SOC designer decided for whatever reason not to disclose this kind of information. They published quite a lot of stuff about the GPU on the other hand. They must have their own reasons and I am going to respect that.