All the functionality of the 1981 IBM PC on a PI Pico? Close…
PyDOS is a MicroPython/CircuitPython DOS-like shell for microcontroller boards.
It has several familiar commands:
- edit.py – line editor inspired by DOS edlin. Intial program structure of line editor by Joesph Long https://github.com/j-osephlong/Python-Text-Editor
- fsedit.py – shell to load full screen editor from https://github.com/robert-hh/Micropython-Editor
- fileview.py – scrollable text file viewer
- sdmount.py (MicroPython only) – mounts an sd card to the file system
- sdumount.py (MicroPython only) – dismounts an sd card from the file system
- setdate.py (MicroPython only) – initializes the RP2040 real time clock to an entered date
- settime.py (MicroPython only) – initializes the RP2040 real time clock to an entered time
- diff.py – performs a file comparison
- sound.py – outputs a sound to a speaker circuit connected to GPIO 19
- lcdprint.py – displays text on an I2C LCD display
- PyBasic.py – a Basic interpreter from https://github.com/richpl/PyBasic. Tweaked and modified to run on MicroPython. basicparser.py, basictoken.py, flowsignal.py, lexer.py, program.py, basicdata.py
- runasthread.py (MicroPython only) – This program will attempt to launch a python program on the second RP2040 core. Threading is experimental on MicroPython so it’s not difficult to crash the microcontroller using this program. I have not found a way to kill a thread started on the second core so be sure any threads you launch will shutdown on their own or monitor a global variable or thread.lock to respond to a shutdown request (see the badblink.py for an example).