Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Ideally I'd like to do a baremetal build... but... that's a ton of effort. In particular because of the cloud storage features, which would require network drivers, TCP/IP, and the like.

So the easiest plan of attack is to build an image with a Linux kernel (a BSD would be my preference though!) and essentially put EndBASIC as the init process. Obviously not exactly like this, because there needs to be some sort of setup steps and tools to get the network going and the like, but there is no need for much more. Eventually though, you'd even imagine built-in BASIC commands to manipulate the WiFi, bypassing the need for external tools.

As for assembly, I have conflicting thoughts there. Since I moved the interpreter to bytecode at the end of last year, I _do_ want to expose direct access to the "assembly" language and memory from the interpreter (PEEK and POKE!). But due to the multiplatform and didactic nature of EndBASIC, exposing the underlying assembly (x86, arm, etc.) doesn't seem the right idea. What I'm thinking is to compile to WASM everywhere, and leverage the WASM VM in the browser and implement a simple one for the console. But the other alternative is RISC-V... and both are tempting.



Thanks for sharing your thoughts.

Yeah bare metal is hard that's why it made me sit up a bit when I read your comment.

PEEK AND POKE was precisely what I was thinking of!

I guess there could be a layer of psuedo-assembly that has a common target across platforms but easier said than done. WASM is interesting and RISC-V just got my mind racing which lead to thinking about FPGA's etc!

Sorry, getting a bit carried away these are just thoughts not requests :D

but how cool would it be to have a RISC-V processor either on or coupled with an FPGA for 'ROM' that booted directly into Endbasic and gave bare metal access.

You're talking full time team there though probably or certainly someones life work.

EDIT: Sorry I somehow missed your second paragraph re: linux init etc which makes a ton of sense.

A long time ago a crazy friend and I tried to write a wifi 'driver' for BBC basic using the socklib library and got surprisingly far (in emulation).


Perhaps a unikernel based on something like mirageos or another unikernel people would suggest here?


Perhaps. Or https://en.wikipedia.org/wiki/Rump_kernel also comes to mind.


It's elixir, but this provides a lot of nice tooling https://nerves-project.org/




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: