Repository navigation
MCP-AmigaOS4 1.1 — Out-of-band power control
MCP-AmigaOS4 1.1 — Out-of-band power control
Headline
New power.* namespace drives the Amiga's internal MCU debug
shell (X5000 P18 / A1222 P15) over an FTDI USB-TTL cable wired to
the host. Bypasses MCPd entirely — works regardless of AOS / MCPd
state.
power.on is the only software path to boot a fully-off X5000. A
full off-then-boot cycle (power.off → power.on → MCPd
reachable) takes ~80 s on real X5000.
New tools
| Tool | Shell | Confirm |
|---|---|---|
power.help |
help |
— |
power.identify |
id |
— |
power.identify_dates |
id date |
— |
power.sensors |
v |
— |
power.toggle_stream (watch_s optional) |
q |
yes |
power.on |
p |
yes |
power.off |
s |
yes |
power.shell (escape hatch) |
(any) | yes |
The four destructive tools require confirm: true — same
accidental-fire guard as sys.cold_reboot.
Configuration
[targets.x5000-real.channels.mcu]
enabled = true
port = "COM5" # or /dev/ttyUSB1 on Linux/macOS
baud = 38400 # MCU is fixed at 38400 8N1Cable pinout, OS group permissions, and the serial.* lock-out
behaviour are documented in
INSTALL.md § power.*.
Tool count
- 109 → 118 tools (+8 fine-grained
power.*+ 1 namespace
dispatcher).
Internal
- New
host/src/amiga_fleet_mcp/transports/p18.pyasync pyserial
driver. - New
host/src/amiga_fleet_mcp/tools/power.pywith channel-
resolution + confirm-gate helpers; integrates with the existing
serial.*capture registry (returnsNotCapableif the same
port is being captured). - 18 new unit tests under
tests/unit/test_power.pyexercising
every confirm path + every channel-resolution edge case with a
mock-patched transport.
Build environment
Reproducible via walkero/amigagccondocker:os4-gcc11: AmigaOS 4.1
FE SDK 54.16 with GCC 11.5. The exact SDK identifier is embedded
in the attached MCPd binary's $BUILT-WITH: cookie and surfaced
via proto.version / proto.capabilities build.sdk.