[HN Gopher] Unveiling the EndBOX - A microcomputer prototype for...
___________________________________________________________________
Unveiling the EndBOX - A microcomputer prototype for EndBASIC
Author : jmmv
Score : 31 points
Date : 2025-06-11 23:49 UTC (23 hours ago)
(HTM) web link (www.endbasic.dev)
(TXT) w3m dump (www.endbasic.dev)
| abraxas wrote:
| Is it similar to the Maximite series of hardware and their Basic
| clones? I think a fast Basic on its dedicated hardware is quite a
| phenomenal way to teach kids and novices programming. I wish one
| of these setups would penetrate into the school systems and
| become a standard teaching platform in a way that the BBC Micro
| turned out in the UK.
| jmmv wrote:
| Huh, I didn't know about Maximite, and reading their intro to
| the Colour Maximite 2 at https://geoffg.net/maximite.html...
| well, I feel like I read their minds years later and I'm trying
| to recreate the same thing.
|
| One difference I can sense is in the interpreter. In the case
| of the EndBOX, I'm creating a computer to run EndBASIC on, but
| EndBASIC has already existed for 5 years and is multiplatform:
| you can write a program and have it run in your browser via
| WASM, in the desktop version of the interpreter, or now in this
| new small form factor format. In the case of Micromite, it
| sounds like MMBasic is specifically designed for this machine.
|
| Which brings me to something I have been thinking about
| recently: I think BASIC is the least interesting aspect to the
| EndBOX and the thing that might hurt the concept the most
| (because BASIC is old, limited, legacy, who cares about it,
| blah blah blah). I'm starting to think that the more
| interesting parts of this project are what I have built to take
| a Rust app that uses some APIs to talk to a "generic graphical
| console" or to "the hardware", and have that exact same app run
| on the web, on the desktop, and now natively on a small
| computer. And for the later case, I think the pipeline I
| developed to take the app and generate a full SD card disk
| image with a trivial command to run it in a standalone manner
| is interesting too. Stay tuned for a follow up blog post as I
| elaborate on these ideas...
| abraxas wrote:
| One difference that may be very important to a lot of people
| is that unfortunately the MMBasic is not open source. Is
| yours closed or open source?
| jmmv wrote:
| EndBASIC (the desktop version) is open source and I plan to
| keep it that way. I wouldn't want you to be "locked out" of
| any code you write in EndBASIC.
|
| However, I'm not planning on open-sourcing what goes into
| packaging it for the EndBOX (the bindings for NetBSD and
| the release building scripts) because that's very specific
| to this project and I see no benefit in publishing them.
| lproven wrote:
| > Is it similar to the Maximite series of hardware and their
| Basic clones?
|
| The Maximite series had cousins, but it also evolved into the
| Picomite:
|
| https://geoffg.net/picomite.html
|
| Some of the cousins:
|
| The BASIC*Engine:
|
| https://basicengine.org/esp8266.html
|
| As discussed here:
|
| https://news.ycombinator.com/item?id=17674944
|
| Followed later by the BASIC Engine Next Gen:
|
| https://basicengine.org/nextgen.html
|
| And more recently BASIC Engine RX:
|
| https://basicengine.org/#_what_is_the_basic_engine_rx
|
| Unrelated...
|
| The Agon Light:
|
| https://www.thebyteattic.com/p/agon.html
|
| (Which I just noticed quotes me! :-) )
|
| And Agon Light 2:
|
| https://www.olimex.com/Products/Retro-Computers/AgonLight2/o...
|
| And its 6502 equivalent, the Neo6502:
|
| https://www.olimex.com/Products/Retro-Computers/Neo6502/open...
| 90s_dev wrote:
| Cool. But why not a GUI dev environment like pick 9?
| joshu wrote:
| what is pick 9?
|
| PS what happened to your project? i liked where you were going
| with it.
| 90s_dev wrote:
| I mean Poco 8
| lproven wrote:
| I don't think you do.
|
| I guess you mean Pico-8.
|
| https://www.lexaloffle.com/pico-8.php
| 90s_dev wrote:
| See my other reply to him.
| 90s_dev wrote:
| I meant pico 8 and was on my phone which autocorrected wrong
| _twice_.
|
| Re PS: nobody really knew what was interesting or useful
| about it, and by the end of that day, neither did I, and my
| dream was lost, and I still can't find it.
| dshacker wrote:
| How did you program the WIFI driver? How do you even start
| creating a WIFI driver from BASIC? (Is it in basic?)
| jmmv wrote:
| It's all NetBSD underneath. The WiFi was only difficult because
| of missing DTBs for the Pi Zero 2.
|
| There is a config file that you can edit within BASIC to set
| the WiFi up though.
| _sbrk wrote:
| https://hackaday.com/2024/05/31/ch32v003-makes-for-dirt-chea...
| _sbrk wrote:
| Far simpler, cheaper, and closer to the "understandable by one
| mind" machine. Add Bywater BASIC, if desired.
| nopakos wrote:
| Nice! Everything, the colors, the font, the Ready prompt remind
| me of the Amstrad CPC I grew up with!
| elpocko wrote:
| That's because it looks exactly like the CPC. Just a happy
| accident.
| jmmv wrote:
| There is no accident here.
| elpocko wrote:
| Obviously. It was meant to be tongue-in-cheek. ;)
| zokier wrote:
| > Remember when turning a computer on meant instantly jumping
| into code?
|
| In this context the 10ish second boot time seen in the video is
| unfortunate. I guess lot of that can be blamed on RPi, although I
| suppose netbsd might not be super optimized for boot times
| either.
|
| Admittedly this is just a pet peeve of mine. And 10s is not the
| worst boot time out there.
| jmmv wrote:
| There are a few factors to the slow boot:
|
| * The SD card I'm using in there is not the fastest. Easy fix.
|
| * The kernel has some annoying pauses, particularly in WiFi
| initialization, that add a couple of seconds of delay. To fix
| this, I wanted to do driver loading via modules once the shell
| is already up and running, but unfortunately NetBSD hasn't
| modularized those drivers yet and it didn't seem trivial to do.
| Should be possible though.
|
| * The rc startup framework is sluggish. I've been pondering a
| rewrite in native code to avoid huge shell scripts and to allow
| for parallel execution of early boot services, and that should
| help -- but it isn't done. (Ideally I'd just replace init with
| my own thingy.)
|
| * The file system is not read only, so there is an initial fsck
| that adds a bit of a delay. I want to get to a point where it
| _is_ read only, which would eliminate this pause.
|
| All in all, agree that 10 seconds is very far from "instant
| boot", but there is a lot of room for improvement.
| DrNosferatu wrote:
| Also PicoMite as a simpler alternative, in this space, for the
| Raspberry Pico:
|
| https://geoffg.net/picomite.html
___________________________________________________________________
(page generated 2025-06-12 23:02 UTC)