deadfrog-lib
endbasic
deadfrog-lib | endbasic | |
---|---|---|
2 | 24 | |
13 | 299 | |
- | 1.0% | |
8.1 | 8.4 | |
8 days ago | 3 days ago | |
C++ | Rust | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
deadfrog-lib
-
Minimal Cross-Platform Graphics
I think the Xlib dependency would prevent compilation as an αpε. I put some effort into doing X11 from scratch (without Xlib or Xcb) to make this possible. Or at least, my aim was to be able to build with musl libc and generate a single executable that would run on many different Linuxes.
https://github.com/abainbridge/deadfrog-lib/blob/master/src/.... It is janky though.
-
EndBASIC
Having a bitmap in normal system memory that we can write to the window or screen is easy though and should be more widely supported. Once you've got that you can write pixels, lines, rectangles, mandlebrots etc very easily and building up to a GUI toolkit is also quite easy and fun. This mechanism is fast enough for pretty much everything other than games on modern hardware.
I consider GPU acceleration a form of premature optimization - it adds complexity unnecessarily in many cases.
Here's my library for doing that on Windows and X11. https://github.com/abainbridge/deadfrog-lib
endbasic
-
Write Your Own Terminal
I can confirm that writing a terminal is fun, for the reasons mentioned in the article: it’s easy to get “self-hosting”, but then the possibilities are endless :)
In my case, this was about creating the terminal for EndBASIC (https://www.endbasic.dev/). I wanted to mix text and graphics in the same console, so I had to ditch Xterm.js and create my own thing. It was really exciting to see graphics rendering mix with text “just fine” when I was able to render the first line.
-
Ask HN: Whats the modern day equivalent of 80s computer for kids to explore?
I tried to set up a Raspberry Pi and configured it to boot into a simple window manager with DosBox full screen by default. I taught my kids to launch games within that and they learned the very basics… but it didn’t stick: they haven’t really gained any interest in how to do other stuff in the shell.
Anyway: check (my own) https://www.endbasic.dev/ which I’ve written precisely for the situation you describe :) You would actually have to /write/ the games first though!
- FLaNK Stack for 25 September 2023
-
EndBASIC
Slightly buried: Apache 2.0, written in Rust, https://github.com/endbasic/endbasic/
Definitely an interesting attempt to cut through layers of abstraction and make something that lets people make the computer do useful/interesting things. No idea how well they realize that vision, of course, but good idea.
-
Does this exist already? A converter from MS BASIC to Rust
Or you could use https://www.endbasic.dev/
-
TwinBASIC is a modern BASIC compiler
Somebody else brought it up in a separate comment, but because you specifically ask about the Raspberry, I'll mention EndBASIC (https://www.endbasic.dev/) here again :)
Supporting this platform has been a primary goal of mine, and in fact, one of the features (GPIO) only works on the Raspberry Pi today :) But there is a long road ahead. My vision is to create a minimal Linux image that boots straight into EndBASIC, and extend EndBASIC to give you more control of the Pi's hardware. The idea is to truly mimic the old C64 experience, but leveraging the power of modern hardware / infrastructure.
-
Learning BASIC Like It's 1983 (2018)
Agree with the author’s thesis of how the folks that “grew with computers” have an advantage over those approaching them now, in terms of understanding the inner workings. I’m not sure that this matters much in terms of solving actual problems though, which is probably a good thing.
But I somehow find it a little bit sad that this is the case, so I’ll plug my own https://www.endbasic.dev/ because it’s very fitting in this context :) I’ve been building it precisely as a way to understand everything that’s going on (although it’s still far from fulfilling that promise).
Also, buried in the article is a reference to the https://10print.org/ book. I recently came across it at HPB and it has been a pretty entertaining read. Couldn’t believe there was so much to write about such a simple little program!
- EndBASIC: "BASIC interpreter + DOS environment, reimagined."
What are some alternatives?
minifb - MiniFB is a small cross platform library to create a frame buffer that you can draw pixels in
ClassicUO - ClassicUO - an open source implementation of the Ultima Online Classic Client.
zigzag
mp4 - MP4 library, CLI tool, server
tigr - TIGR - the TIny GRaphics library for Windows, macOS, Linux, iOS and Android.
fruit-economy
olive.c - Simple 2D Graphics Library for C
soli - Solidity REPL
pixie - Pixie - a minimal, cross-platform pixel framebuffer library for Windows and macOS.
cemu - Cheap EMUlator: lightweight multi-architecture assembly playground
objstor - object store
WinREPL - x86 and x64 assembly "read-eval-print loop" shell for Windows