| # SDLTRS ## Options Introduction | Features | Options | Text GUI | Known Bugs | Release History | Credits

## Options

All of the below options can be specified as command line options.

The same options are used in configuration files by removing the leading '-', and adding a following '=' if a parameter is included. (i.e `-model 1` becomes `model=1`).

Also on the command line, any command line arguments ending in `.t8c` will be assumed to be a configuration file, and those options will be loaded before startup of the emulator. Any command line arguments ending in `.t8s` will be assumed to be a state file, and that state will be restored upon startup of the emulator. A command line argument ending in `.cmd` will be assumed to be a CMD file and will be executed upon startup of the emulator.

`-a(spect)(ratio)` | Keep aspect ratio of TRS-80 screen when resizing the SDL2 window. This is the default.
`-b(ack)g(round) 0xRRGGBB` | Specifies background color of the emulator window. `RR`, `GG` and `BB` are the hex values of the Red, Green, and Blue components. Default is black (`0x000000`).
`-b(order)w(idth) width` | Put a border of width pixels (0 to 50) around the TRS-80 display. The default is 2.
`-c(ass)d(ir) dir` | Specify the directory containing cassette and stringy wafer images. Default is the current directory.
`-c(assette) filename` | Specifies the name of the cassette image file to be inserted into the emulated cassette drive. Use `""` as filename to remove an image from the cassette drive.
`-c(har)s(et) name` | Use the charset specified by `name` for the selected TRS-80 Model with the `-m(odel)` option below.
`-c(har)s(et)1 name -c(har)s(et)3 name -c(har)s(et)4 name` | Select among several sets of built-in character bitmaps. The three different options allow you to specify the character set used for each model, should you change models during SDLTRS execution using the GUI. In Model I mode (`-charset1`), seven sets are available. The default, `wider`, is a modified Model III set with characters 8 pixels wide; it looks better on a modern computer screen with square pixels than the real Model I fonts, which were 6 pixels wide. `lcmod` is the character set in the replacement character generator that was supplied with the Radio Shack lower case modification. (It was reconstructed partly from memory and may have some minor bit errors.) `stock` is the character set in the stock character generator supplied with most upper case only machines. Since SDLTRS currently always emulates the extra bit of display memory needed to support lower case, this character set gives you the authentic, unpleasant effect that real Model I users saw when they tried to do homebrew lower case modifications without replacing the character generator: lower case letters appear at an inconsistent height, and if you are using the Level II BASIC ROM display driver, upper case letters are replaced by meaningless symbols. `early` is the same as `stock`, but with the standard ASCII characters [, \, ], and ^ in the positions where most Model I's had directional arrows. This was the default programming in the Motorola character generator ROM that Radio Shack used, and a few early machines were actually shipped with this ROM. `genie` or `german` gives an emulation of the Genie I/II (relabled Video Genie in Germany) with german characters. `ht-1080z` or `hungarian` emulates the HT-1080Z (relabled Video Genie in Hungary) with accented hungarian characters. `meritum` for the uppercase only charset of this TRS-80 Model I clone from Mera-Elzab in Poland. `videogenie` displays the character set of the EACA Video Genie (also labeled as the System 80 in Australia/New Zealand and PMC-80/81 in North America). `ct-80` selects the charset of the Aster CT-80, a dutch improved and extended Model I clone. In Model III (`-charset3`), 4 and 4P (`-charset4`) modes, three sets are available: `katakana` (the default for Model III) is the original Model III set with Japanese Katakana characters in the alternate character positions. This set was also used in early Model 4's. `international` (the default for Model 4 and 4P) is a later Model 4 set with accented Roman letters in the alternate positions. `bold` is a bold set from a character generator ROM found in one Model III, origin uncertain. The name of the character set may be abbreviated to one character.
`-cl(ock)1 MHz -cl(ock)3 MHz -cl(ock)4 MHz` | Set CPU clock speed in MHz for the specified TRS-80 Model. Defaults are: `1.77408` MHz for Model I, `2.02752` MHz for Model III and `4.05504` MHz for Model 4/4P. CAUTION: overclocking the Z80 CPU leads to timing-errors!
`-debug | -z(bx)` | Enter zbx, the Z80 debugger, at startup of the emulator (SDLTRS must be compiled with this feature enabled).
`-di(skdebug) hexval` | Set floppy disk controller debug flags to hex value: `01` = FDC register I/O, `02` = FDC commands, `04` = VTOS 3.0 JV3 kludges, `08` = Gaps, `10` = Phys sector sizes, `20` = Readadr timing, `40` = DMK, `80` = ioctl errors.
`-d(isk)N filename` | Specifies the name of the floppy disk image file to be inserted into DiskN (0 - 7). Use `""` as filename to remove an image from the drive.
`-d(isk)d(ir) dir` | Specify the directory containing floppy disk images. Default is the current directory.
`-d(isk)s(et) filename` | Loads the diskset from the specified file into the emulator.
`-d(isk)s(et)d(ir) dir` | Specify the directory containing diskset files. (These files specify the contents of all of the floppy and harddrives, allowing you to load them all at once). Default is the current directory.
`-d(oubler) type` | Specify what type of double density adaptor to emulate (Model I only). The type may be `percom`, `radioshack` (or `tandy`), `both`, or `none`. The type may be abbreviated to one character. The default is `both`, which causes the double density adaptor emulation to respond to the special commands of both the Percom and Radio Shack cards.
`-double(step)` | Make all real floppy drives double-step, allowing access to 35-track or 40-track media in an 80-track drive. Linux only. See the Floppy Disks section of Features for limitations.
`-(emt)safe` | Enable only safe emulation traps to block potentially dangerous functions to the host system. This the default.
`-floppy | -fdc` | Enable the Floppy Disk Controller (Expansion Interface). This is the default.
`-f(ore)g(round) 0xRRGGBB` | Specifies foreground color of the emulator window. Default is white (`0xE0E0FF`).
`-f(ull)s(creen)` | Run in fullscreen mode.
`-guib(ack)g(round) 0xRRGGBB` | Specifies background color of the text based GUI window. Default is dark green (`0x344843`).
`-guif(ore)g(round) 0xRRGGBB` | Specifies foreground color of the text based GUI window. Default is white (`0xE0E0FF`).
`-halt action` | Set action for Z80 HALT instruction: debug, halt or reset. Default depends on the selected TRS-80 Model.
`-h(ard)N filename` | Specifies the name of the hard disk image file to be inserted into HardN (0 - 3). Use `""` as filename to remove an image from the drive.
`-h(ard)d(ir) dir` | Specify the directory containing hard disk images. Default is the current directory.
`-hdboot` | Patch TRS-80 Model I Level II ROM to auto-boot from hard disk.
`-hideled | -noled` | Hide disk activity and Turbo LED at bottom of the emulator screen.
`-huff(man)` | Enable Dave Huffman (and other) memory expansion for Model 4/4P. Disables HyperMem and SuperMem.
`-hyper(mem)` | Enable HyperMem (Anitek) memory expansion for Model 4/4P. Disables Dave Huffman (and other) and SuperMem.
`-io(debug) hexval` | Set I/O port debug flags: `01` = port input, `02` = port output, `04` = Hard Disk I/O, `08` = Hard Disk Command.
`-j(oy)s(tick) num` | Use USB joystick number `num` as the joystick in the emulator. Options for `num` are 0 through number of USB joysticks - 1.
`-k(ey)p(adjoy)` | Use numeric keypad as joystick. This is the default.
`-k(ey)s(tretch) cycles` | Fine-tune the keyboard behavior. To prevent keystrokes from being lost, SDLTRS "stretches" the intervals between key transitions, so that the Z80 program has time to see each transition before the next one occurs. Whenever the Z80 program reads the keyboard matrix and sees an emulated key go up or down, SDLTRS waits cycles Z80 clock cycles (T-states) before it allows the program to see another key transition. Key transitions that are received during the waiting period or when the Z80 program is not reading the keyboard are held in a queue. The default stretch value is 4000 cycles; it should seldom if ever be necessary to change it.
`-le18` | Emulate the Lowe Electronics LE18 384x192 graphics adapter for the TRS-80 Model I.
`-l(ower)c(ase)` | Emulate a Lower Case Modification Kit in the TRS-80 Model I mode. This is the default.
`-lubomir | -lsb` | Emulate the Lubomir Soft Banker for the TRS-80 Model I. Disables Selector and SuperMem.
`-mega(mem)` | Enable MegaMem (Anitek) memory expansion for the Model III and 4/4P. Can be used with HyperMem for a total of 4 MB on the Model 4/4P. The SuperMem memory expansion must be enabled for Model III.
`-micro(labs)` | In Model III or 4/4P mode, emulate the Micro-Labs Grafyx Solution Hi-Res graphics card. Note that the Model III and Model 4/4P cards from Micro-Labs are very different from one another.
`-m1 -m3 -m4 -m4p` | Select the TRS-80 model to emulate: I, III, 4 or 4P.
`-m(odel) m` | Specifies which TRS-80 model to emulate. Values accepted are `1` or `I` (Model I), `3` or `III` (Model III), `4` or `IV` (Model 4), and `4P` or `IVP` (Model 4P). Model I is the default.
`-mouse(pointer)` | Show mouse pointer for selection in emulator window. This is the default, but can be toggled with Alt-'.'.
`-noa(spect)(ratio)` | Disable aspect ratio of TRS-80 screen when resizing SDL2 window.
`-nodebug | -noz(bx)` | Do not enter the zbx debugger at startup. This is the default.
`-nodouble(step)` | Turn off double-step mode for all real floppy drives. Linux only. This is the default.
`-no(emt)safe` | Allow potentially dangerous emulation traps. Must be enabled to export files to the host. USE WITH CAUTION
`-nofloppy | -nofdc` | Disable the Floppy Disk Controller (Expansion Interface) and boot into ROM BASIC.
`-nof(ull)s(creen)` | Run in windowed mode (Default).
`-nohdboot` | Do not patch the Level II ROM for auto-boot from hard disk. This is the default.
`-nohuff(man)` | Disable Dave Huffman (and other) memory expansion. This is the default.
`-nohyper(mem)` | Disable HyperMem (Anitek) memory expansion. This is the default.
`-nok(ey)p(adjoy)` | Do not use numeric keypad as joystick.
`-nole18` | No emulation of the LE18 graphic adapter. This is the default.
`-nol(ower)c(ase)` | No lower case characters in TRS-80 Model I mode.
`-nolubomir | -nolsb` | Disable the Lubomir Soft Banker for the TRS-80 Model I. This is the default.
`-nomega(mem)` | Disable the MegaMem memory expansion for the Model III and 4/4P. This is the default.
`-nomicro(labs)` | In Model III mode or Model 4/4P mode, emulate the Radio Shack Hi-Res card. This is the default.
`-nomouse(pointer)` | Hide mouse pointer and emulate joystick with mouse.
`-nor(e)s(ize)3 -nor(e)s(ize)4` | In Model III (`-noresize3`) or 4/4P (`-noresize4)` , always keep the emulator window large enough for 80x24 text or 640x240 graphics, putting a blank margin around the outside when the emulated display mode is 64x16 text or 512x192 graphics. Default is `-resize3 -noresize4`.
`-noscan(lines)` | No scanlines in the emulator screen. This is the default, but can be toggled with Alt-Y.
`-nosel(ector)` | Disable Dutch TRS-80 Users Society Selector memory expansion. This is the default.
`-nos(hift)b(racket)` | Emulate [, \, ], ^, and _ as unshifted keys, and {, |, }, and ~ as shifted. This is the default in Model I and III modes, and it works well with many TRS-80 keyboard drivers. With some keyboard drivers these keys do not work at all, however.
`-nosound | -mute` | Disable the Sound Output at startup of the emulator.
`-nostringy | -noesf` | Do not emulate the Exatron Stringy Floppy Drive in Model I mode. This is the default.
`-nosuper(mem)` | Disable SuperMem (Alpha Technology) memory expansion. This is the default.
`-no(true)dam` | The opposite of `-truedam`. This setting is the default.
`-not(urbo)` | Switch Turbo mode off. The emulator will run at the original speed of the selected TRS-80 Model. This is the default, but can be toggled with the F12 key or Alt-N in the emulator.
`-not(urbo)p(aste)` | Do not engage Turbo mode temporarily while pasting from clipboard. This is the default.
`-pause` | Pause the emulator at startup.
`-p(rinter) type` | Specifies the printer type. Values accepted are `0` or `none`, `1` or `text`. The default is `none`.
`-p(rinter)d(ir) dir` | Specify the directory for saved printer output files and screenshots. Default is the current directory.
`-r(e)s(ize)3 -r(e)s(ize)4` | In Model III (`-resize3`) or 4/4P (`-resize4`) mode, resize the window whenever the emulated display mode changes between 64x16 text (or 512x192 graphics) and 80x24 text (or 640x240 graphics). Default is `-resize3 -noresize4`.
`-r(om)(file) filename` | Use the romfile specified by `filename` for the selected TRS-80 Model with the `-m(odel)` option above.
`-r(om)(file)1 filename1 -r(om)(file)3 filename3 -r(om)(file)4p filename4p` | Use the romfile specified by `filename1` in Model I mode, the romfile specified by `filename3` in Model III and Model 4 mode, or the romfile specified by `filename4p` in Model 4P mode, A romfile can be either a raw binary dump, Intel hex format, or TRS-80 cmd format (for example, a MODELA/III file). If no ROM files are specified, default filenames in the current directory are used to load the ROM: `level2.rom` for the Model I, `model3.rom` for Model III/4 and `model4p.rom` for the TRS-80 Model 4P.
`-s(ample)r(ate) rate` | Set the sample rate for new cassette wav files, direct cassette I/O to the sound card, and game sound output to the sound card. Existing wav files will be read or modified using their original sample rate regardless of this flag. The default is 44,100 Hz.
`-sc(ale) factor` | Scale the emulator window by `factor` times. Valid values for factor are 1,2,3 and 4. Default is 1.
`-s(cale)q(uality) quality` | Select render scale quality: `0` for "nearest", `1` for "linear", `2` for "best". Default is `1`.
`-scan(lines)` | Display scanlines to simulate an old CRT monitor resolution.
`-(scan)shade brightness` | Set `brightness` of scanlines from 0 (dark) to 255 (light). Default is 127.
`-sel(ector)` | Enable Dutch TRS-80 Users Society Selector memory expansion for Model I. Disables Lubomir and SuperMem.
`-serial ttyname` | Set the tty device to be used for I/O to the TRS-80's serial port. The default is `/dev/ttyS0` on Linux, "" on Windows. Setting the name to be empty (`-serial ""`) emulates having no serial port.
`-s(hift)b(racket)` | Emulate [, \, ], ^, and _ as shifted keys, and {, |, }, and ~ as unshifted. This is the default in Model 4 and 4P modes, and it works well with the keyboard driver in Model 4 TRSDOS/LS-DOS 6.
`-(show)led` | Show disk activity and Turbo LED at bottom of the emulator screen. This is the default, but can be toggled with Alt-B.
`-size(map) z0,z1,z2,z3,z4,z5,z6,z7` | Selectively set whether drives are emulated as 5-inch or 8-inch. If `zU` is 5, the drive will appear to Z80 software as 5-inch; if 8, as 8-inch. The default setting (as reflected in the documentation above) is 5,5,5,5,8,8,8,8. You can omit values from the end of the list; those drives will get the default values. Setting one or more of the first four drives to 8-inch may be useful for CP/M software that supports 8-inch drives. You can also use XTRS8/DCT with 8-inch drives in the first four positions; even though the prompt suggests the unit number must be 4-7, numbers 0-3 are accepted. XTRS8 does not check whether the unit you've selected is really being emulated as an 8-inch drive, however; you'll simply get errors during FORMAT if you get this wrong.
`-sound` | Enable Sound Output. This is the default, but can be toggled with Alt-U in the emulator.
`-s(peedup) kit` | Emulate the specified Speedup Kit or Banking for the TRS-80: this can be `none`, `archbold` for Archbold Electronics Speed-Up Board (only Model I), `holmes` for the Holmes Engineering Sprinter II/III (Model I/III) or `seatronics` for the Seatronics Super Speed-Up (all). `banking` to enable support for the banking modification from Martin Doppelbauer. `lnw` sets the CPU clock to 4 MHz and enables banking for the 480*192 HRG in the lower 16 KB. Use `tcs` to emulate the TCS SpeedMaster with 5.35 MHz, memory banking and 480*192 HRG. Select `ct-80` for emulation of the dutch Aster CT-80. The name of speedup or banking may be abbreviated to one character. `archbold` is the default setting.
`-s(tate)d(ir) dir` | Specify the directory containing saved state and configuration files. Default is the current directory.
`-step(map) s0,s1,s2,s3,s4,s5,s6,s7` | Selectively set double-step mode for individual real floppy drives. If `sU` is 2 and the disk is a real drive, the drive will be double-stepped; if `sU` is 1, it will be single-stepped. You can omit values from the end of the list; those drives will get the default value set by `-doublestep` or `-nodoublestep`. Linux only.
`-stringy | -esf` | In Model I mode, emulate the Exatron Stringy Floppy Drive.
`-super(mem)` | Enable SuperMem (Alpha Technology) memory expansion for Model I/III/4/4P. Disables Huffman, HyperMem, Lubomir and Selector.
`-sw(itches) value` | Set the sense switches on the Model I serial port card. This option is meaningful only in Model I mode, and only when the `-serial` option is not set to "". The default value is `0x6f`, which Radio Shack software conventionally interprets as 9600 bps, 8 bits/word, no parity, 1 stop bit.
`-(true)dam` | Turn off the single density data address mark remapping kludges described in the "Emulated floppy disks" and "Real floppy disks" sections above. With this option given, the distinction between F8 and FA data address marks is strictly observed on both writing and reading. This option is probably not useful unless you need to deal with Model I disks that use the distinction as part of a copy- protection scheme. See also Common File Formats for Emulated TRS-80 Floppy Disks.
`-t(urbo)` | Switch Turbo mode on. The emulator will run faster than a normal TRS-80 by the factor specified with `-turborate` below. Turbo Mode can be toggled with F12 key or Alt-N in the emulator.
`-t(urbo)p(aste)` | Engage Turbo mode temporarily while pasting from clipboard.
`-t(urbo)r(ate) factor` | Set the number of times normal TRS-80 speed that the emulator runs when in Turbo mode. The default factor is 5.
`-w(afer)N filename` | Specifies the name of the stringy wafer image file to be inserted into WaferN (0 - 7). Use `""` as filename to remove an image from the drive.
`-y(ear) year` | Set the year for TRS-80 time-of-day clock instead of the current year. This can useful for TRS-80 operating systems that behave better when the year is within a limited range. Enter year including the century or `0` (default setting) to use the current year.