You are browsing as a guest. Sign up (or log in) to start making projects!

10h 54m logged

hi people! recently i worked on adding proper graphics support to the project. instead of relying on text-mode attribute tricks, i went with direct pixel plotting, since it gives the system a much more flexible foundation for drawing things on screen.

i added a new Mode 13h framebuffer API with functions for entering and leaving graphics mode, clearing the screen, plotting and reading individual pixels, drawing lines, rectangles, and circles, and changing the VGA palette. the implementation writes directly to the linear framebuffer at 0xA0000, with palette updates handled through the VGA DAC ports.

on the BASIC side, there are now new statements for using these graphics features: SCREEN, GCLS, PSET, LINE, RECT, CIRCLE, and PALETTE. i also connected the new graphics code to the statement dispatcher and updated the built-in HELP text so the commands are documented.

finally, i cleaned up the build setup by adding the new graphics source files and removing an old ‘-display curses’ option from the run command.

this is a much more versatile approach than only the old text-based graphics, and it gives me a better base for anything visual i add later. that’s all for now!

0
16

Comments 2

@Keyboard1000n17

:cat-hmm:

@water

peak bro keep going!!