Starting the simulator
There are separate programs to simulate different microcontroller
MCS51 family is simulated by s51
AVR family is simulated by savr
Z80 processor is simulated by sz80
XA family is simulated by sxa
HC08 processor is simulated by shc08
The simulator can be started in the following way:
$ s51 [-hHVvP] [-p prompt] [-t CPU]
[-X freq[k|M]] [-c file] [-s file] [-S optionlist] [-Z portnum]
Specified files must be names of Intel hex files. Simulator loads
them in specified order into the ROM of the simulated system.
- -t CPU
- Type of CPU. Recognized types are: 51, 8051, 8751, C51, 80C51,
87C51, 31, 8031, C31, 80C31, 52, 8052, 8752, C52, 80C52, 87C52, 32,
8032, C32, 80C32, 51R, 51RA, 51RB, 51RC, C51R, C51RA, C51RB, C51RC,
89C51R, 251, C251, DS390, DS390F. Note that recognition of a CPU type
as option does not mean that the simulator can simulate that kind of
CPU. Default type is C51.
DS390 supports Dallas DS80C390 24 bit flat mode, dual-dptr operations, etc.
DS390F is the same as DS390, but it starts already in 24 bit flat mode
(ACON = 0xFA instead of 0xF8). DS390F is needed to run programs compiled
with sdcc -mds390.
See how to select CPU type.
- -X freq[k|M]
- XTAL frequency is freq Hertz. k or M can be
used to specify frequency in kHZ or MHz. Space is not allowed between
the number and the k or M. Default value is 11059200 Hz.
- -c file
- Open command console on file. Command consoles are on
standard input and output by default. Using this option the console
can be opened on any file for example on the serial interface of the
- -Z portnum
- Listen for incoming connections on port portnum. Using this
option µCsim can serve multiple consoles. You can get a console
by simply telnet into machine running µCsim to port
portnumber. This option is not available on platforms which
doesn't support BSD networking.
See how to use multiple consoles.
- -s file
- Connect serial interface of the simulated microcontroller to the
file. Nothing is used by default which means that characters
transmitted by serial interface of the simulated microcontroller go to
nowhere and it will never receive anything. If you are going to
communicate with serial interface interactively the best idea is to
specify a teminal with -s option.
- -S in=file,out=file
- Using this option you can specify different files for input and
output streams that µCsim uses to simulate microprocessor's
See more about serial interface
- -p prompt
- Using this option you can specify any string to be the prompt of
command interpreter, for example:
$ s51 -p "s51> "
ucsim 0.2.12, Copyright (C) 1997 Daniel Drotos, Talker Bt.
ucsim comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
- Prompt will be a null ('\0') character. This feature can be
useful for programs which controlls simulator through a pipe.
- Verbose mode. The simulator notifies you about some kind of
internal actions for example interrupts. Messages are printed on
- Print out version number and stop.
- Print out types of known CPUs. Names printed out by this option
can be used to determine CPU type using -t option.
- Print out a short help about the options and stop.