---
name: "ucsim"
section: "1"
platform: "linux"
package: "sdcc"
version: "4.6.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/ucsim"
---

# ucsim(1)

Micro-controller simulator

## NAME

uCsim - Micro-controller simulator

## SYNOPSIS

**ucsim\_i8051**\
 **ucsim\_51**\
 **ucsim\_xa**\
 **ucsim\_z80**\
 **ucsim\_tlcs**\
 **ucsim\_rxk**\
 **ucsim\_i8048**\
 **ucsim\_i8085**\
 **ucsim\_avr**\
 **ucsim\_pdk**\
 **ucsim\_st7**\
 **ucsim\_stm8**\
 **ucsim\_p1516**\
 **ucsim\_m6800**\
 **ucsim\_m6809**\
 **ucsim\_m68hc08**\
 **ucsim\_m68hc11**\
 **ucsim\_m68hc12**\
 **ucsim\_mos6502**\
 **ucsim\_plaze**\
 **ucsim\_f8**\
 **ucsim\_oisc**\

**-a nr** **-A** **-b** **-B** **-c file** **-C cfg\_file**

**-e command** **-E** **-g** **-G** **-h** **-H** **-I options** **-k portnum** **-l** **-o colors** **-p prompt** **-P** **-q** **-R seed** **-s file** **-S options** **-t cpu\_type** **-U uartnr** **-u hw** **-v** **-V** **-w** **-X freq\[k\|M\]** **-z portnum** **-Z portnum**

## DESCRIPTION

uCsim is a microcontroller, microprocessor simulator for several processor families. It can be started as **ucsim\_XXXX** command, where XXXX specifies the simulated processor type. Eg. *ucsim\_51* starts Intel MCS51 microcontroller simulator, *ucsim\_z80* starts Zilog Z80 microprocessor simulator, etc.

## OPTIONS

**Options of the command**

- **-a nr**

  Specify size of variable space (default=256).

- **-A**

  Force use colored output, remove effect of -b and -q on colors.

- **-b**

  Black & white (non-color) theme.

- **-B**

  Beep on breakpoints.

- **-c file**

  Open command console on *file* (use - for std in/out).

- **-C file**

  Read initial commands from *file* and execute them.

- **-e command**

  Execute *command* at program startup (after config file).

- **-E**

  Go, start simulation in emulation mode.

- **-g**

  Go, start simulation.

- **-G**

  Go, start simulation, quit on stop.

- **-h**

  Print out this help and quit.

- **-H**

  Print out types of known CPUs and quit.

- **-I options**

  *options* is a comma separated list of options according to simulator interface. Known options are:\
   *if=memory\[address\]* turn on interface on given memory location.\
   *in=file* specify input file for IO.\
   *out=file* specify output file for IO.

- **-k portnum**

  Use *localhost:portnum* for serial I/O. This option is obsolete, use -S instead.

- **-l**

  Use colors of the light theme (default is dark).

- **-m**

  Return value of simulated main() function.

- **-o colors**

  List of color specification: what=colspec,... where colspec is : separated list of color options e.g.: prompt=b:white:black (bold white on black).

- **-p prompt**

  Specify string for prompt.

- **-P**

  Prompt is a null ('\\0') character.

- **-q**

  Quiet mode, print less information (implies -b).

- **-R seed**

  Set the random number generator seed.

- **-s file**

  Connect serial interface uart0 to *file* This option is obsolete, use -S instead.

- **-S options**

  *options* is a comma separated list of options according to serial interface. Know options are:\
   *uart=nr* number of uart (default=0)\
   *in=file* serial input will be read from file named \`file'.\
   *out=file* serial output will be written to \`file'.\
   *port=nr* use localhost:nr as server for serial line.\
   *iport=nr* use localhost:nr as server for serial input.\
   *oport=nr* use localhost:nr as server for serial onput.\
   *raw* perform non-interactive communication even on tty.

- **-t cpu\_type**

  Specifies type of the controller. Use -H to list possible values.

- **-U uartnr**

  Use std console as terminal for UART id=uartnr.

- **-u hw**

  Use std console as display for specified hw.

- **-v**

  Print out version number and quit.

- **-V**

  Verbose mode.

- **-w**

  Writable flash.

- **-X freq\[k\|M\]**

  XTAL frequency in Hz, Use *k* or *M* suffix to specify frequency in kHz or MHz.

- **-z portnum**

  Listen *portnum* for command console.

- **-Z portnum**

  Listen *portnum* for command console (no console on stdio).

## EXAMPLES

None yet.

## SEE ALSO

[sdcc(1)](/sdcc/1.md), [sdcdb(1)](/sdcdb/1.md), [serialview(1)](/serialview/1.md).

## BUGS

Probably many.

## AUTHORS, CONTRIBUTORS

Daniel Drotos, Gunar Holm, Sandeep Dutta, Salvador Eduardo Tropea, Josef Wolf, Stephane Meyer, Larry Doolittle, Timothy Hurman, Karl-Max Wagner, Edmar Wienskoski Jr, Alexandre Frey, Kaido Karner, Kalr Bongers, Alexis Pavlov, Davine Zanni, Anton Persson, Nicolas Lesser, Mike Jagdis, Jiri Simek, Zbynek Krivka, Vaclav Peroutka, Valentin Dudouyt, Erik Petrich, Leland Morrison, Johan Knol.
