But here it is anyways, and now it exists!
I've been working on a fun side hobby project over the past several months, an application server dedicated to executing 6502 machine code as CGI type programs, but it offers a lot more than that. It is currently called VFS6502, the VFS portion as the application server takes a directory on the host to serve out 6502 programs and other assets to a end-user over the traditional HTTP protocol with support for FastCGI as well.
Basic information page on it can be found here:
http://iamkevin.ca/Apps/Markdown.prg?fi ... o/Intro.md Additional information on how it actually works can be found here:
http://iamkevin.ca/Docs/VFSInfo/ The current version I am working on has all these features listed below fully working:
- Consistent/Persistent 64k memory space through application server life-cycle.
- A custom boot program can be loaded into memory and executed at application server launch.
- Single threaded, not meant for production, just for fun hobby 6502-based websites.
- Memory altered by one request can and will be seen by any future request leading to additional fun creativity.
- Supports multiple binary formats, such as the simple .PRG format which has a 2 byte header with the load address.
- Has many useful APIs built-in, currently being written with P65Pas, but upcoming support for cc65 with a custom library to compile programs with.
- Session support! Sessions are not stored in the global 64k memory.
- Support for GET and POST, along with easy parsing of parameters and forms.
- Support for returning back custom mime-types to the browser.
- Supports HTTP Redirects, 401 I believe.
- Supports custom file extensions to be mapped to programs, so clicking say a .md file will open: /Apps/Markdown.prg?file=myfile.md
- Custom icons for file types via simple to create text-file.
- Support for protected folders via a simple to create `folder.rc`, this process is 100% customizable from a 6502 callback function.
- Support for adding custom items to a directory list if a special Admin user is authenticated.
- Initial support for direct file handling, so if a file isn't handled, rather than doing a redirect to a .prg file, it instead calls an address in the 6502 memory space to handle the unknown file-type.
- Probably many more features which I cannot remember right now.
There is no public version of this out in the wild yet for anyone to just download and try, and I've only ever compiled and ran it on Linux-based devices, both Intel and ARM based ones, so this fun project can run on a Raspberry Pi with no effort. Can be useful as an internal 6502 hobby server running a Pi.
If there interest in such a ludicrous project, I might be inclined to say publish an official image on Docker Hub, so anyone who has Docker with Linux support, nowadays Docker Desktop on Windows and MacOS can run Linux docker images. I'll prepare one and provide a link as an update to this post here.