From: Athene Allen Date: Thu, 20 Mar 2025 19:13:53 +0000 (+0000) Subject: pipboy update X-Git-Url: https://fortfriendship.online/gitweb/gnargle.github.io.git/commitdiff_plain/0059ca824603380cd38733204a0412c4666b9a32?ds=sidebyside;hp=d2b0f527920d3abcc9c2ac0bd5d2c6b4c0da1a6f pipboy update --- diff --git a/img/projects/pipboy/firmwarebCbuffer.png b/img/projects/pipboy/firmwarebCbuffer.png new file mode 100644 index 0000000..a7fab5e Binary files /dev/null and b/img/projects/pipboy/firmwarebCbuffer.png differ diff --git a/img/projects/pipboy/squarecode.png b/img/projects/pipboy/squarecode.png new file mode 100644 index 0000000..db9979a Binary files /dev/null and b/img/projects/pipboy/squarecode.png differ diff --git a/img/projects/pipboy/squares.jpg b/img/projects/pipboy/squares.jpg new file mode 100644 index 0000000..a467f3d Binary files /dev/null and b/img/projects/pipboy/squares.jpg differ diff --git a/projects/pipboy.html b/projects/pipboy.html index 391e2ac..faf57af 100644 --- a/projects/pipboy.html +++ b/projects/pipboy.html @@ -357,6 +357,52 @@ So we want tio draw something to screen that isnt just text, next. So I need to dive into some docs. More updates in a bit...

+ Code Updated. Check the github link to keep up. +

+ OK, first thing I want to do is draw a square. Which means we + need to understand how the graphics buffer is working. See, + right here, in the dump of the buffer of the main portion of the + screen, is some interesting evidence. +

+ + A screenshot of an the graphics context in the pip boy firmware. + +

+ The interesting thing here is 'UInt8.' This is an array of 8bit + integers. This could mean the pixels are rendered as 3-byte RGB + values, with the r and b just ignored, or it could mean each bit + in the byte is a pixel, and the different tones is achieved + using dithering. Right now, I'm not sure! +

+

So, to find out, we're gonna draw three squares.

+ + A photo of the pipboy screen showing 3 16x16 squares. One is slightly dimmer than the other two. + +

+ And there we have it! Three squares. Now if we look at the code + I've written, and note that the middle square is the dimmest of + the three, we can deduce... +

+ + A screenshot of the code to make the three squares. The three are commented 'full byte pp', 'dithered square', and 'fullbright square' + +

+ That I was completely wrong and the screen is compeltely + monochrome, and any dimming is done by dithering. I'm so glad + I'm liveblogging this so everyone can see how stupid I am. +