By “Python OS” are you planning on building something on top of MicroPython? Considering that I would consider MicroPython to itself be an OS, do you mean developing more complete support for the PicoCalc than already exists, or do you mean something along the lines of creating something akin to sh on top of it?
As for code “stealing”, the only way I would consider my code “stolen” is if someone removes my copyright and license (zeptoforth is MIT-licensed, so even integrating it into proprietary applications wouldn’t be “stealing” it provided they do not remove my copyright and license), and even then I would consider that as affirming that my code is worth “stealing” in the first place.
Correct, layered OS. Not really an “OS” but emulated?
Done
File browser (DONE)
3D Plotting calculator (DONE)
Image Viewer (DONE)
Planned
Full console / shell support (WIP)
Hex viewer / editor (WIP) (Screen issue)
PDF Viewer (WIP) (Screen issue)
A “Small” SD card based LLM 350 - 500 Mb (Requires Pico 2w) (PLAN)
Basic interpreter / passthrough to MMBasic (WIP)
Assembly interpreter (WIP)
Breakout boards / Memory expansions
GPIO Console adapter (PLAN)
The console adapter is not required but the schematics will be released to the public Apon completion. The adapter will be a clip-on device that expands the “ram” for the Pico’s kind of like a swap (Might use the SD card as a swap). Currently sourcing chips for this project don’t know if it’ll even work.
My screen issue is that my screen is cracked in multiple places & don’t have the means of properly testing if it displays properly.
When I can confirm that the basic applications work is when I’ll be posting it as open source on GitHub. Seeing my replacement screen was just shipped I would imagine within the next 3 to 5 weeks it’ll be posted.
That sounds like what you are working on is the PicoCalc equivalent to a traditional Desktop Environment as they call it.
That said, a BASIC interpreter on top of Python? I’d think being able to program in the underlying Python would obviate the need for one. Of course, that said, people have written Forth interpreters in Python, so…
About RAM expansion, consider supporting the PSRAM on a Pimoroni Pico Plus 2 or Pico Plus 2 W, if that is possible within MicroPython.
I doubt a Pico of any variety would be able to run an older Windows easily. DOS may be possible but still might be a stretch. Considering the Lyra can already run retroarch, that module might be powerful enough to run DOS and older Windows. Even then, it would probably run better as a standalone emulator rather than using the retroarch version. Retroarch is portable but not exactly optimized for resource constrained devices.
I will send a public version of my OS plan to my github later with some private info blacked out, as that private stuff may change and I don’t want people to keep high expectations for V1
Just for the record, while you can make a single-tasking OS for the RP2040, I would highly suggest looking into writing a multitasking, multicore OS that runs on both the RP2040 and RP2350. If you need help with what that would entail I suggest you look at my own zeptoforth, which is both multitasking and multicore and which runs on both MCU’s amongst others.
It will be much easier if you decide to implement such from the beginning, as turning a non-preemptive multitasking system into a preemptive multitasking system can be quite difficult, and while it is easier to turn a single-tasking system into a cooperative multitasking system, cooperative multitasking does have its limitations (e.g. a particular task can unilaterally steal all the CPU time even if it does not crash the system per se). Also, taking advantage of both cores of the RP2040 or RP2350 is easier within a preemptive multitasking model than in a single-tasking or cooperative multitasking model.