sdl2trs(6)

NAME
sdl2trs - TRS-80 Model I/III/4/4P emulator for SDL2

SYNOPSIS
sdl2trs [file.t8c] [file.t8s] [file.cmd] [options]

DESCRIPTION
sdl2trs is an emulator for Tandy/Radio Shack line of Zilog Z80-based microcomputers popular in late 1970s and early 1980s.

OPTIONS

-a(spect)(ratio)
    Keep TRS-80 screen aspect ratio when resizing SDL2 window (Default).

-b(ack)g(round) 0xRRGGBB
    Specifies background color of emulator window. RRGGBB are hex values of Red, Green, and Blue components. Default: black (0x000000).

-b(order)w(idth) width
    Put border of width pixels (0 - 50) around TRS-80 window. Default: 2.

-c(ass)d(ir) dir
    Specify directory containing cassette and stringy wafer images. Default: current directory.

-c(assette) filename
    Specifies name of cassette image file to be inserted into emulated cassette drive.

-c(har)s(et) charset-name
    Use charset of the selected TRS-80 Model with -m(odel).

-c(har)s(et)1 charset-name
    Select Model I charset: c(t-80) | e(arly) | g(enie) | h(t-1080z) | l(cmod) | m(eritum) | s(tock) | v(ideogenie) | w(ider). Default: wider.

-c(har)s(et)3 charset-name
-c(har)s(et)4 charset-name
    Select Model III/4/4P charset: k(atakana) | i(nternational) | b(old). Defaults are katakana for Model III and international for Model 4/4P.

-cl(ock)1 MHz
-cl(ock)3 MHz
-cl(ock)4 MHz
    Set clock speed rate 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.

-debug | -z(bx)
    Enter zbx debugger (Optional).

-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 name of floppy disk image file to be inserted into DiskN (0 - 7).

-d(isk)d(ir) dir
    Specify directory containing floppy disk images. Default: current directory.

-d(isk)s(et) filename
    Loads diskset from filename into emulator.

-d(isk)s(et)d(ir) dir
    Specify directory containing diskset files. Default: current directory.

-d(oubler) type
    Specify type of double density adaptor to emulate for Model I: p(ercom) | t(andy) | b(oth) | n(one). Default: both.

-double(step)
    Make real floppy drives double-step (35/40-track media in 80 track drive). Linux only.

-(emt)safe
    Enable only safe emulation traps to block potentially dangerous functions to the host system (Default).

-floppy | -fdc
    Enable Floppy Disk Controller (Default).

-f(ore)g(round) 0xRRGGBB
    Specifies foreground color of emulator window. Default: white (0xE0E0FF).

-f(ull)s(creen)
    Run in Fullscreen mode.

-guib(ack)g(round) 0xRRGGBB
    Specifies background color of text based GUI window. Default: dark green (0x344843).

-guif(ore)g(round) 0xRRGGBB
    Specifies foreground color of text based GUI window. Default: white (0xE0E0FF).

-halt action
    Set action for Z80 HALT instruction: d(ebug) | h(alt) | r(eset). Default depends on the selected TRS-80 Model.

-h(ard)N filename
    Specifies name of hard disk image file to be inserted into HardN (0 - 3).

-h(ard)d(ir) dir
    Specify directory containing hard disk images. Default: current directory.

-hdboot
    Patch Level II ROM for auto-boot from hard disk (Model I only).

-hideled | -noled
    Hide disk activity and Turbo LED.

-huff(man)
    Enable Dave Huffman (and other) memory expansion for Model 4/4P. Disables MegaMem, HyperMem and SuperMem.

-hyper(mem)
    Enable HyperMem (Anitek) memory expansion for Model 4/4P. Disables Dave Huffman memory expansion 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 joystick in emulator.

-k(ey)p(adjoy)
    Use numeric keypad as joystick (Default).

-k(ey)s(tretch) cycles
    "Stretches" intervals between key transitions to cycles Z80 clock cycles (T-states). Default: 4000.

-le18
    Emulate Lowe Electronics LE18 384x192 graphics adapter for Model I.

-l(ower)c(ase)
    Lower Case Modification Kit for TRS-80 Model I (Default).

-lubomir | -lsb
    Enable Lubomir Soft Banker for Model I. Disables Selector and SuperMem.

-mega(mem)
    Enable MegaMem (Anitek) memory expansion for Model III and 4/4P. Disables Dave Huffman memory expansion.

-micro(labs)
    Model III or 4/4P: emulate Micro-Labs Grafyx Solution Hi-Res graphics card.

-m1
-m3
-m4
-m4p
    Select TRS-80 model to emulate: I, III, 4 or 4P.

-m(odel) m
    Specifies TRS-80 model to emulate: 1 or I | 3 or III | 4 or IV | 4P or IVP.
    Default: Model I.

-mouse(pointer)
    Show mouse pointer for selection in emulator window (Default).

-noa(spect)(ratio)
    Disable aspect ratio of TRS-80 screen when resizing SDL2 window.

-nodebug | -noz(bx)
    Opposite of -debug (Optional).

-nodouble(step)
    Turn off double-step mode for all real floppy drives (Default). Linux only.

-no(emt)safe
    Allow potentially dangerous emulation traps. Must be enabled to export files to the host. (USE WITH CAUTION)

-nofloppy | -nofdc
    Disable Floppy Disk Controller.

-nof(ull)s(creen)
    Run in windowed mode (Default).

-nohdboot
    Do not patch Level II ROM for auto-boot from hard disk (Default).

-nohuff(man)
    Disable Dave Huffman (and other) memory expansion (Default).

-nohyper(mem)
    Disable HyperMem memory expansion (Default).

-nok(ey)p(adjoy)
    Do not use numeric keypad as joystick.

-nole18
    No emulation of LE18 graphic adapter (Default).

-nol(ower)c(ase)
    No lower case characters for TRS-80 Model I.

-nolubomir | -nolsb
    Disable Lubomir Soft Banker for Model I (Default).

-nomega(mem)
    Disable MegaMem memory expansion for Model III and 4/4P (Default).

-nomicro(labs)
    Model III or Model 4/4P: emulate Radio Shack Hi-Res card (Default).

-nomouse(pointer)
    Hide mouse pointer and emulate joystick with mouse.

-nor(e)s(ize)3
-nor(e)s(ize)4
    Model III or 4/4P: always keep SDL2 window large enough for 80x24 text (640x240) putting a blank margin around outside.
    Default: -resize3 -noresize4.

-noscan(lines)
    No scanlines in emulator screen (Default).

-nosel(ector)
    Disable Dutch TRS-80 Users Society Selector memory expansion (Default).

-nos(hift)b(racket)
    Emulate [, ], ^, and _ as unshifted keys, and {, |, }, and ~ as shifted. Default for Model I and III.

-nosound | -mute
    Disable Sound Output at startup.

-nostringy | -noesf
    Do not emulate Exatron Stringy Floppy Drive for Model I (Default).

-nosuper(mem)
    Disable SuperMem memory expansion (Default).

-no(true)dam
    Opposite of -truedam (Default).

-not(urbo)
    Switch Turbo mode off (Default).

-not(urbo)p(aste)
    Disable Turbo mode temporarily while pasting from clipboard (Default).

-pause
    Pause the emulator at startup.

-p(rinter) type
    Select printer type: 0 or n(one) | 1 or t(ext). Default: none.

-p(rinter)d(ir) dir
    Specify directory for printer output and screenshot files. Default: current directory.

-r(e)s(ize)3
-r(e)s(ize)4
    Model III or 4/4P: resize window whenever emulated display mode changes between 64x16 text (512x192) and 80x24 text (640x240).
    Default: -resize3 -noresize4.

-r(om)(file) filename
    Use romfile filename for the selected TRS-80 Model with -m(odel).

-r(om)(file)1 filename
-r(om)(file)3 filename
-r(om)(file)4p filename
    Use romfile specified by filename for the TRS-80 Model.

-s(ample)r(ate) rate
    Set sample rate for new cassette wav files, direct cassette I/O to sound card, and sound output. Default: 44100.

-sc(ale) factor
    Scale emulator window by factor times: 1 | 2 | 3 | 4. Default: 1.

-s(cale)q(uality) quality
    Select render scale quality: 0 (nearest) | 1 (linear) | 2 (best). Default: 1.

-scan(lines)
    Display scanlines to simulate an old CRT monitor resolution.

-(scan)shade brightness
    Set brightness of scanlines (0 = dark - 255 = light). Default: 127.

-sel(ector)
    Enable Dutch TRS-80 Users Society Selector memory expansion for Model I. Disables Lubomir and SuperMem.

-serial ttyname
    Set tty device to be used for I/O to TRS-80's serial port. Default: /dev/ttyS0.

-s(hift)b(racket)
    Emulate [, ], ^, and _ as shifted keys, and {, |, }, and ~ as unshifted. Default for Model 4 and 4P.

-(show)led
    Show disk activity and Turbo LED at bottom of emulator screen (Default).

-size(map) z0[,z1,z2,z3,z4,z5,z6,z7]
    Selectively set whether drives are emulated as 5-inch or 8-inch.

-sound
    Enable Sound Output (Default).

-s(peedup) kit
    Select Speedup Kit or Banking: n(one) | a(rchbold) | b(anking) | c(t-80) | h(olmes) | l(nw) | s(eatronics) | t(cs). Default: archbold.

-s(tate)d(ir) dir
    Specify directory containing emulator state and configuration files. Default: current directory.

-step(map) s0[,s1,s2,s3,s4,s5,s6,s7]
    Selectively set double-step mode for individual real floppy drives. Linux only.

-stringy | -esf
    Emulate Exatron Stringy Floppy Drive for Model I.

-super(mem)
    Enable SuperMem (Alpha Technology) memory expansion for Model I/III/4/4P. Disables Huffman, HyperMem, Lubomir and Selector.

-sw(itches) value
    Set sense switches on Model I serial port card. Default: 0x6f.

-(true)dam
    Turn off single density data address mark remapping kludges.

-t(urbo)
    Switch Turbo mode on.

-t(urbo)p(aste)
    Engage Turbo mode temporarily while pasting from clipboard.

-t(urbo)r(ate) factor
    Set factor of normal TRS-80 speed that the emulator runs in Turbo mode. Default: 5.

-w(afer)N filename
    Specifies name of stringy wafer image file to be inserted into WaferN (0 - 7).

-y(ear) year
    Set year for TRS-80 time-of-day clock instead of the current year. Default: 0 for current year.

KEYS

F1  TRS-80 F1 key
F2
    TRS-80 F2 key
F3
    TRS-80 F3 key
F4
    TRS-80 F4 key / CapsLock Model 4/4P
F5 | ScrollLock
    TRS-80 F5 key / '@' key
F6
    TRS-80 F6 key / Shifted '0' key
F7
    Main Menu / F7 key
Shift-F7
    Emulator Settings / Shift-F7 key
F8
    Quit SDL2TRS / F8 key
Shift-F8
    Abort SDL2TRS / Shift-F8 key
F9
    Toggle Fullscreen mode / Enter zbx debugger
Shift-F9
    Toggle CPU panel in window title bar
F10
    Warm Reset
Shift-F10
    Power on Reset (reboot)
F11
    Show key bindings
Shift-F11
    Save screenshot
F12
    Switch Turbo Mode on/off
Shift-F12
    Reset Z80 CPU clock rate
NumLock
    Toggle numeric pad as joystick
Print
    Save screenshot
Shift-Print
    Copy screen to printer file
1 - 6 (numeric pad)
    P1 - P5 and ESC for TCS Genie IIIs
ESC
    TRS-80 Break key
Left | Backspace
    TRS-80 Left Arrow key
Right | Tab
    TRS-80 Right Arrow key
Up
    TRS-80 Up Arrow key (caret for exponent)
Down
    TRS-80 Down Arrow key
Delete | Home
    TRS-80 Clear key
End
    TRS-80 Shifted Down Arrow key / ESC or P2
Control
    TRS-80 Control key
Page Up
    TRS-80 Left Shift key
Page Down
    TRS-80 Right Shift key
Insert
    TRS-80 Underscore key
Shift-Up Arrow
    TRS-80 ESC key
Shift-Page Up
    Fast Z80 CPU clock speed
Shift-Page Down
    Slow Z80 CPU clock speed
Alt-Delete
    Soft Reset
Alt-Shift-Delete
    Hard Reset
Alt-Insert
    Virtual Keyboard
Alt-Enter
    Toggle Fullscreen mode
Alt-Home
    Scale window to lowest size
Alt-Page Down
    Scale window to next higher size
Alt-Page Up
    Scale window to next lower size
Alt-'-' | Alt-8
    Decrease Z80 clock rate (USE WITH CAUTION)
Alt-'+' | Alt-9
    Increase Z80 clock rate (USE WITH CAUTION)
Alt-'.'
    Show/hide mouse pointer in Emulator window
Alt-0...7
    Insert Floppy disk into drive 0...7
Alt-Shift-0...7
    Remove Floppy disk from drive 0...7
Alt-A
    Select All on TRS-80 Emulator screen
Alt-B
    Toggle LED at bottom of Emulator screen
Alt-C
    Copy from TRS-80 Emulator to clipboard
Alt-D | Alt-F
    Floppy Disk Management
Alt-E
    Emulator Settings
Alt-G
    Stringy Floppy Wafer Management
Alt-H
    Hard Disk Management
Alt-I
    Display (Interface) Settings
Alt-J
    Joystick GUI
Alt-K
    Show key bindings
Alt-L
    Load Emulator State
Alt-M | Alt-Comma
    Main Menu
Alt-N
    Switch Turbo Mode on/off
Alt-O
    Miscellaneous (Other) Settings
Alt-P | Pause
    Pause/Unpause Emulator
Alt-Q | Alt-End
    Quit SDL2TRS
Alt-R
    Read Configuration
Alt-S
    Save Emulator State
Alt-T
    Cassette (Tape) Management
Alt-U
    Toggle Sound Output (mUte/Unmute)
Alt-V
    Paste from clipboard to TRS-80 Emulator
Alt-W
    Write Configuration
Alt-X
    Execute selected CMD file
Alt-Y
    Switch Scanlines in Emulator window on/off
Alt-Z
    Toggle Fullscreen mode / Enter zbx debugger

FILES

~/.sdltrs.t8c
    Default configuration file
file.t8c
    Configuration file
file.t8s
    Emulator State file
file.cmd
    CMD file to execute

AUTHORS

Tim Mann (xtrs)
Mark Grebe (1.1.x)
Jens Guenther (1.2.x)