[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)