Murmulator OS v.2.2.1
Raspberry Pi Pico 2 (RP2350)
Sources are "in-progress" state and testing now only on Murmulator devboard with VGA/HDMI output.
Simplest Murmulator schema is availabele there: https://github.com/AlexEkb4ever/MURMULATOR_classical_scheme
https://t.me/ZX_MURMULATOR_DATA
https://t.me/murmulator_news
https://t.me/ZX_MURMULATOR
https://habr.com/ru/search/?target_type=posts&order=relevance&q=[%D0%BC%D1%83%D1%80%D0%BC%D1%83%D0%BB%D1%8F%D1%82%D0%BE%D1%80]
Waveshare RP2350-PiZero pinout (all devices are optional, i2s DAC or PWM - only one may be selected at the same time):
or

Exteranl i2s PCM510x DAC tuneup example:

Option to connect VGA to HDMI:

Extract MOS2 folder to your SD-Card to /MOS2 folder.
cls - clear screen
dir / ls [dir] - show directory content. Use Ctrl+C to interrupt.
rm / del / era [file] - remove file (or empty directory)
cd [dir] - change current directory
cp [file1] [file2] - copy file1 as file2
mkdir [dir] - create directory
cat / type [file] - type file. Use Ctrl+C to interrupt.
rmdir [dir] - remove directory (recurive)
elfinfo [file] - provide .elf file info
psram - provide some psram info. Use Ctrl+C to interrupt.
swap - provide some swap info. Use Ctrl+C to interrupt.
sram - reference speed of swap base SRAM. Use Ctrl+C to interrupt.
cpu - show current CPU freq. and dividers, cpu [NNN] - change freq. to NNN MHz (it may hang on such action)
mem - show current memory state
set - show or set environment variables
mode [#] - set video-mode, for now it is supported:
- 0 - 53x30, 1 - 80x30, 2 - 100x37, 3 - 128x48, 4 - 256x256x2-bit, 5 - 512x256x1-bit, 6 - 320x240x4-bit, 7 - 320x240x8-bit, 8 - 640x480x4-bit - for VGA
- 0 - 53x30 and 1 - 80x30, 2 - 320x240x4-bit for HDMI
- 0 - 53x30 for TV (RGB)
hex [file]/[@addr] - show file or RAM as hexidecimal dump. Use Ctrl+C to interrupt.
tail [-n #] [file] - show specified (or 10) last lines from the file. Use Ctrl+C to interrupt.
usb [on/off] - start a process to mount murmulator CD-card as USB-drive (NESPAD [B] button in mc)
mc - Murmulator Commander, use [CTRL]+[O] to show console, and [CTRL]+[Enter] for fast type current file path
mcview [file] - Murmulator Commander Viewer
mcedit [file] - Murmulator Commander Editor
mv [from_file_name] [to_file_name] - move/rename the file
gmode [#] - simple graphics mode test
font [width] [height] - show/set font size for graphics modes, like `font 6 8`
blimp [n1] [n2] - simple sound test. [n1] number of cycles, [n2] OS ticks between high and low levels (1/freq.)
wav [file] - simple .wav files player (tested on 8 kHz 1-channel 16-bit files). Use Ctrl+C to interrupt.
basic [file] - tiny basic interperator implementation (by Stefan Lenz, see https://github.com/slviajero/tinybasic for more info). Use Ctrl+C to interrupt.
ps - list of "processes" (FreeRTOS tasks).
kill [n] - send SIGKILL to a "process" (FreeRTOS task), [n] - task number returned by the `ps` utility.
dhrystone [n] [kHz] - small performance test (see: https://github.com/DnCraptor/arm_benchmarks)
whetstone [n] - MIPS (whetstone) double precision performance test (see: https://github.com/DnCraptor/arm_benchmarks)
linpack [n] - Kflops single precision performance test (see: https://github.com/DnCraptor/arm_benchmarks)
[cmd] > [file] - output redirection to file
[ENTER] - start command / flash and run .uf2 file in "demo" format (NESPAD [A] button in mc)
[TAB] - autocomplete
[BACKSPACE] - remove last character
[CTRL]+[SHIFT] - rus/lat
[CTRL]+[ALT]+[DEL] - reset (NESPAD [SELECT]+[B])
[CTRL]+[TAB]+[+] - increase CPU freq.
[CTRL]+[TAB]+[-] - decrease CPU freq.
[ALT]+[0-9]+[0-9]+[0-9] - manual enter some character by its decimal code (CP-866 codepage)
[ALT]+[Enter] - try to use flasg instead of RAM to launch application (from `mc`)
# M-OS system variables BASE - base directory with commands implementations
SWAP - swap settings
COMSPEC - a path to command interpretator
PATH - list of directories to lookup for applications
GMODE - set initial graphics mode
TEMP - specify a folder with temporary files
CD - defualt path for cd command
If uf2 application was started from M-OS, and such application is not designed for M-OS, it is possible to return to M-OS only via reboot:
Press [F10] (DPAD [START]+[SELECT]) and hold on the Murmulator reset or power-on, in this case uf2 application will be repaired you will return to last saved on Flash.
Press [F11] or [SPACE] (DPAD [SELECT]) and hold on the Murmulator reset or power-on, in this case uf2 application startup will be skip and you will return to the M-OS. And in case DPAD [B] button is also hold, it automounts SD-Cart as USB-drive.
Press [F12] or [ENTER] (DPAD [START]) and hold on the Murmulator reset or power-on, in case you want to start USB-drive mode prior starting M-OS.
Press [TAB] (DPAD [A]) and hold on the Murmulator reset or power-on, in case you want to replace default output by seconday driver.
Press DPAD [B] and hold on the Murmulator reset or power-on, in case you want to switch default output to third output.
Press [HOME] and hold on the Murmulator reset or power-on, in case you want start USB-drive mode prior starting M-OS.
Press [ESC] and hold on the Murmulator reset or power-on, to ignore .firmware and force boot to MOS.
Press and hold any other key on the Murmulator reset or power-on, to boot (skip waiting for other key-cases).
Use it to override for "M-OS system variables" or:
CPU - to overclock or downclock the system on start. It may be useful to set some less freq. in case your board unable to support default
Example:
CPU=352
It forces to change CPU frequency to 352 MHz to avoid overload
N.B. Default volage for RP2350 in MOS is 1.6V (not yet to be reconfigured)

