Summary
The 232-MTA is a mono-audio TV tuner with full-duplex ASCII RS-232 control. This spec covers the full RS-232 command set: channel selection via Tune Ring, volume/mute, A/V routing, status queries, IR remote emulation, and front-panel mode settings, plus the response string format.
Transport
protocols:
- serial
serial:
baud_rate: 9600 # factory default per source; selectable 300-19200 via Front Panel Mode 1 (19,200 added in v3.5)
data_bits: 8
parity: none
stop_bits: 1
flow_control: none
auth:
type: none # inferred: no auth procedure in source; ASCII command strings are accepted without login
Traits
- powerable # inferred from P0/P1/PT power commands
- levelable # inferred from VU/VD/VL volume ramp/level commands
- queryable # inferred from ST/SV/SS status-request commands and $R/$N queries
Actions
# Note on framing: source documents commands prefixed with ">" (Attention) and
# terminated with CR ($0D). Per-source "CR is assumed in all examples".
# Unit# prefix (1-9, or 0 = all units v4.0+) is mandatory for multi-tuner chains;
# omitted Unit# defaults to Unit#1. Parameter examples below show the value form
# the source uses; '=' is optional in the wire format.
# --- Q-series commands (compat with 232-STS) ---
- id: q0_caption_mode_off
label: Caption Mode Off
kind: action
command: "Q0={0|1|2}"
params:
- name: value
type: integer
description: 0=Captioning off (fixed). Other values accepted but no functional effect on 232-MTA.
notes: "Compatibility stub for 232-STS. Example: >Q0=0"
- id: q1_captioning_type
label: Captioning Type
kind: action
command: "Q1={1-8}"
params:
- name: value
type: integer
description: 1=Caption 1 (default), 2=Caption 2, 3=Caption 3, 4=Caption 4, 5-8=Text 1-4. No functionality in 232-MTA.
notes: "Example: >Q1=1"
- id: q2_video_loss_detection
label: Video Loss Detection
kind: action
command: "Q2={0|1|2|3}"
params:
- name: value
type: integer
description: 3=No Function (fixed). Selects response when loss of video is detected.
notes: "Other values have no functional effect on 232-MTA."
- id: q3_av_detect_status
label: A/V Detect Status
kind: action
command: "Q3={0|1|2|3}"
params:
- name: value
type: integer
description: "0=Disable Stereo/Mono detection (fixed), 1=Enable Stereo/Mono, 2=Disable Stereo/Mono, 3=Enable Stereo/Mono. Only affects status reporting."
notes: "Example: >Q3=1 or >Q31"
- id: q4_label_mode_with_status
label: Label Mode with Status
kind: action
command: "Q4={0|1|2|3}"
params:
- name: value
type: integer
description: 0-3 all No Function (fixed) on 232-MTA.
notes: "Compatibility stub."
# --- Tune Ring / channel select ---
- id: tr_set_tune_ring
label: Set Tune Ring
kind: action
command: "TR={channels}"
params:
- name: channels
type: string
description: Comma/separated and dash/range list of channels (0-126, 126=External AV). Max 120 chars.
notes: "Example: >2TR=2,4,7-10 stores Unit#2 Tune Ring as 2,4,7,8,9,10"
- id: tt_select_tuned_channel
label: Select tuned channel
kind: action
command: "TT={channel}"
params:
- name: channel
type: integer
description: Channel number 0-126. 0=video mute, 255=video unmute, 126=External AV Inputs.
notes: "Selects channel only if present in current TR. Example: >TT=28"
- id: tc_force_tuned_channel
label: Force tuned channel
kind: action
command: "TC={channel}"
params:
- name: channel
type: integer
description: Channel number 0-126. 0=video mute, 255=video unmute, 126=External AV Inputs.
notes: "Selects channel regardless of current TR. Example: >TC=39"
- id: tp_previous_channel
label: Set to previous channel
kind: action
command: "TP"
params: []
notes: "Selects previous channel only if present in current TR."
- id: tu_tune_channel_up
label: Tune channel up
kind: action
command: "TU"
params: []
notes: "Selects next higher channel in stored Tune Ring. Example: >3TU bumps Unit#3."
- id: td_tune_channel_down
label: Tune channel down
kind: action
command: "TD"
params: []
notes: "Selects next lower channel in stored Tune Ring."
- id: xt_toggle_mute_av
label: Toggle Mute A/V
kind: action
command: "XT"
params: []
notes: "Alternates Mute A/V on and off."
- id: xx_mute_av_off
label: Mute A/V off
kind: action
command: "XX"
params: []
notes: "Turn A/V outputs on at previous level. Same as P1."
- id: xm_mute_av_on
label: Mute A/V on
kind: action
command: "XM"
params: []
notes: "Mutes audio and video outputs. Example: >XM. Same as P0."
# --- Power ---
- id: p0_power_off
label: Power Off
kind: action
command: "P0"
params: []
notes: "Same as XM."
- id: p1_power_on
label: Power On
kind: action
command: "P1"
params: []
notes: "Same as XX."
- id: pt_power_toggle
label: Power Toggle
kind: action
command: "PT"
params: []
notes: "Same as XT."
# --- Volume ---
- id: vu_ramp_volume_up
label: Ramp volume up
kind: action
command: "VU"
params: []
notes: "No response."
- id: vd_ramp_volume_down
label: Ramp volume down
kind: action
command: "VD"
params: []
notes: "No response."
- id: vl_set_volume_level
label: Set volume level
kind: action
command: "VL{level}"
params:
- name: level
type: integer
description: Volume level 0-63.
notes: "Ramps volume to specified level. No response."
- id: vx_volume_mute_off
label: Volume mute off
kind: action
command: "VX"
params: []
notes: "Restores audio volume to previous level (full)."
- id: vm_volume_mute_on
label: Volume mute on
kind: action
command: "VM"
params: []
notes: "Turns off audio outputs. Example: >VM. Source also lists VM as 'Stop volume ramp' with same mnemonic - same command string, two documented uses."
- id: vt_toggle_volume_mute
label: Toggle volume mute
kind: action
command: "VT"
params: []
notes: "Alternates audio mute on and off."
# --- Setup (S-series) ---
- id: s0_set_tune_mode
label: Set tune mode
kind: action
command: "S0={mode}"
params:
- name: mode
type: integer
description: "0=CATV, 1=Broadcast, 2=HRC, 3=IRC"
notes: "Example: >S0=0 selects CATV."
- id: s4_set_front_panel_lockout
label: Set front panel lockout mode
kind: action
command: "S4={mode}"
params:
- name: mode
type: integer
description: "0=None, 1=Channel, 2=Select, 3=Channel & Select, 4=Mute A/V, 5=Channel & Mute A/V, 6=Select & Mute A/V, 7=All"
- id: s5_set_powerup_volume
label: Set power-up volume
kind: action
command: "S5={mode}"
params:
- name: mode
type: integer
description: "0=Restore to previous level (always full), 1=Restore to full"
- id: s7_set_audio_mode
label: Set audio mode
kind: action
command: "S7={mode}"
params:
- name: mode
type: integer
description: "0=Mono (fixed). Other values have no functional effect on 232-MTA."
- id: s8_set_bass_gain
label: Set bass gain level
kind: action
command: "S8={level}"
params:
- name: level
type: integer
description: 8=0 dB (fixed). Other values have no functional effect on 232-MTA.
- id: s9_set_treble_gain
label: Set treble gain level
kind: action
command: "S9={level}"
params:
- name: level
type: integer
description: 4=0 dB (fixed). Other values have no functional effect on 232-MTA.
# --- Status requests ---
- id: ss_request_front_panel_status
label: Request Front Panel status
kind: query
command: "SS"
params: []
notes: "Unit sends 'S' Front Panel status string."
- id: st_request_channel_status
label: Request Channel status
kind: query
command: "ST"
params: []
notes: "Unit sends 'T' Channel/Source status string. Example: >ST"
- id: sv_request_av_status
label: Request A/V status
kind: query
command: "SV"
params: []
notes: "Unit sends 'V' Audio status string."
# --- Character Generator (legacy option; no longer available, reference only) ---
- id: tm_set_label_mode
label: Set on-screen channel label mode
kind: action
command: "TM={mode}"
params:
- name: mode
type: integer
description: "0=None, 1=Alpha only, 2=Numeric only, 3=Both alpha and numeric labels."
notes: "Example: >TM=2. CG option no longer available for 232-MTA - reference only."
- id: tn_set_channel_label
label: Set channel alpha label
kind: action
command: "TN={channel},{label}"
params:
- name: channel
type: integer
description: Channel number to label.
- name: label
type: string
description: Up to 8 alphanumeric characters.
notes: "Example: >TN=8,ABC. CG option no longer available for 232-MTA - reference only."
- id: tn_clear_labels
label: Clear all stored alpha labels
kind: action
command: "TN=0,0"
params: []
notes: "CG option no longer available for 232-MTA - reference only."
- id: tc_display_current_label
label: Display current channel label
kind: action
command: "TC"
params: []
notes: "Displays current channel label on screen for about 10 seconds. CG reference only. NOTE: collides with TC= force-tuned-channel command string; context (CG section vs Channel section) disambiguates per source."
- id: dg_move_cursor
label: Move cursor to row/column
kind: action
command: "DG={row},{column}"
params:
- name: row
type: integer
description: Target row. 0 = leave row unchanged.
- name: column
type: integer
description: Target column. 0 = leave column unchanged.
notes: "CG reference only."
- id: e7_move_cursor_column
label: Move cursor to column
kind: action
command: "E7={column}"
params:
- name: column
type: integer
description: Target column.
notes: "CG reference only."
- id: e8_move_cursor_row
label: Move cursor to row
kind: action
command: "E8={row}"
params:
- name: row
type: integer
description: Target row.
notes: "CG reference only."
- id: ea_clear_screen
label: Clear on-screen display
kind: action
command: "EA"
params: []
notes: "Also moves cursor to column 1 and row 1. CG reference only."
- id: eb_cursor_cr_lf
label: Cursor carriage return + line feed
kind: action
command: "EB"
params: []
notes: "Moves cursor to first column of next row. CG reference only."
- id: dc_clear_to_end_of_screen
label: Clear to end of screen
kind: action
command: "DC"
params: []
notes: "Cursor position does not change. CG reference only."
- id: db_clear_to_end_of_line
label: Clear to end of line
kind: action
command: "DB"
params: []
notes: "Cursor position does not change. CG reference only."
- id: e9_clear_spaces
label: Clear N spaces from cursor
kind: action
command: "E9={num_spaces}"
params:
- name: num_spaces
type: integer
description: Number of spaces to clear.
notes: "Cursor position does not change. CG reference only."
- id: dm_clear_screen_full
label: Clear on-screen display (full reset)
kind: action
command: "DM"
params: []
notes: "Moves cursor to col 1 / row 1, unblanks screen, cancels active KC or KT keypad command. CG reference only."
- id: dn_clear_and_write_text
label: Clear screen and write text
kind: action
command: "DN{text}"
params:
- name: text
type: string
description: Text to write starting at column 1, row 1.
notes: "CG reference only."
- id: dw_write_text
label: Write text at cursor
kind: action
command: "DW{text}"
params:
- name: text
type: string
description: Text to write starting at current cursor position.
notes: "CG reference only."
- id: dq_set_screen_timeout
label: Set screen timeout
kind: action
command: "DQ={time}"
params:
- name: time
type: integer
description: "Timeout in seconds. 0 or 255 = persist indefinitely."
notes: "CG reference only."
# --- Keypad emulation ---
- id: kc_key_0
label: Emulate '0' key (any channel)
kind: action
command: "KC=0"
params: []
notes: "3-second timer selects channel. Append KC for immediate Enter."
- id: kc_key_1
label: Emulate '1' key (any channel)
kind: action
command: "KC=1"
params: []
- id: kc_key_2
label: Emulate '2' key (any channel)
kind: action
command: "KC=2"
params: []
- id: kc_key_3
label: Emulate '3' key (any channel)
kind: action
command: "KC=3"
params: []
- id: kc_key_4
label: Emulate '4' key (any channel)
kind: action
command: "KC=4"
params: []
- id: kc_key_5
label: Emulate '5' key (any channel)
kind: action
command: "KC=5"
params: []
- id: kc_key_6
label: Emulate '6' key (any channel)
kind: action
command: "KC=6"
params: []
- id: kc_key_7
label: Emulate '7' key (any channel)
kind: action
command: "KC=7"
params: []
- id: kc_key_8
label: Emulate '8' key (any channel)
kind: action
command: "KC=8"
params: []
- id: kc_key_9
label: Emulate '9' key (any channel)
kind: action
command: "KC=9"
params: []
- id: kc_enter
label: Emulate 'Enter' key (any channel)
kind: action
command: "KC"
params: []
notes: "Selects channel immediately, bypassing 3-second timer."
- id: kt_key_9
label: Emulate '9' key (Tune Ring only)
kind: action
command: "KT=9"
params: []
- id: kt_enter
label: Emulate 'Enter' key (Tune Ring only)
kind: action
command: "KT"
params: []
- id: kd_cancel_keypad_entry
label: Cancel keypad entry
kind: action
command: "KD"
params: []
notes: "Cancels pending KC/KT channel entry before timer or Enter fires."
# --- IR remote emulation ---
- id: kk_ir_remote_key
label: Emulate IC-RC remote key
kind: action
command: "KK={key_code}"
params:
- name: key_code
type: integer
description: "0=Release Key, 9=Power (toggling), 10=0, 11=1, 12=2, 13=3, 14=4, 15=5, 16=6, 17=7, 18=8, 19=9, 21=Enter, 22=Channel up/+, 23=Channel down/-, 24=Volume up/+ (use 0 to stop ramp), 25=Volume down/- (use 0 to stop ramp), 26=Volume mute, 31=Input (toggling)"
# --- Tune Ring queries ---
- id: r_request_tune_ring
label: Request Tune Ring
kind: query
command: "$R"
params: []
notes: "Example: >$R for Unit 1. Reply example: <1$TR2-31,35,52,126"
- id: n_request_label
label: Request channel label
kind: query
command: "$N-{channel}"
params:
- name: channel
type: integer
description: Channel number to query (zero-padded to 3 digits in reply).
notes: "Source documents command as '$N-xxx' with literal dash separator. Example: >$N31. Reply example: <1$TN038,ABC"
# --- Terminal communication ---
- id: ef_echo_off
label: Echo off
kind: action
command: "EF"
params: []
notes: "Characters received will not be re-transmitted. Power-up default."
- id: en_echo_on
label: Echo on
kind: action
command: "EN"
params: []
notes: "Characters received will be re-transmitted."
- id: id_product_id
label: Product ID
kind: query
command: "ID"
params: []
notes: "Returns product model number and software version."
- id: z_zap_factory_defaults
label: Zap to factory defaults
kind: action
command: "Z!"
params: []
notes: "Reconfigures unit for all factory default settings."
Feedbacks
# Status response strings begin with "<" (Attention), include Unit#, end with CR LF.
# Three groups: Channel/Source (T), Front Panel (S), Audio (V).
# Status is pushed after each valid group command or front-panel action; ~125ms delay.
# Each group may also be polled via ST / SS / SV.
- id: channel_source_status
type: object
description: Channel/Source status group, prefixed 'T' in the response string.
fields:
- name: channel
type: integer
description: 1-3 digit current channel number. N/A placeholder when not active.
- name: mute
type: string
description: "U=Unmuted, M=Mute. 0-63 mute level also encoded in 2-digit field. M=Mono separator."
- id: front_panel_status
type: object
description: Front Panel status group, prefixed 'S'. Layout mirrors front-panel modes 0-9.
# UNRESOLVED: full field layout referenced in source (manual page 14) but not extracted in protocol excerpt.
- id: av_status
type: object
description: Audio/Volume status group, prefixed 'V'. Returned by SV command.
# UNRESOLVED: full field layout not extracted in protocol excerpt.
Variables
# Settable parameters persisted to NVRAM (per source: "All settings are saved to NVRAM in the 232-MTA").
# Distinct from one-shot commands - these retain state across power cycles.
- id: tune_ring
type: object
description: Comma/dash list of channels the tuner is allowed to access (set via TR).
set_command: "TR={channels}"
- id: tune_mode
type: string
description: RF tune mode.
values: [CATV, Broadcast, HRC, IRC]
set_command: "S0={mode}"
- id: front_panel_lockout
type: integer
description: 0-7 per source S4= mapping.
values: [0, 1, 2, 3, 4, 5, 6, 7]
set_command: "S4={mode}"
- id: powerup_volume
type: integer
description: "0=restore to previous level, 1=restore to full."
values: [0, 1]
set_command: "S5={mode}"
- id: audio_mode
type: integer
description: 0=Mono (fixed).
values: [0]
set_command: "S7={mode}"
- id: unit_number
type: integer
description: Per-tuner address 1-9 for multi-unit RS-232 chains. Set via Front Panel Mode 2.
values: [1, 2, 3, 4, 5, 6, 7, 8, 9]
# UNRESOLVED: no RS-232 command documented for changing unit number (front-panel only per source).
- id: baud_rate
type: integer
description: Per-source selectable values 300-19200; factory default 9600. 19200 added in v3.5.
values: [300, 600, 1200, 2400, 4800, 9600, 19200]
# UNRESOLVED: no RS-232 command documented for changing baud (front-panel Mode 1 only).
Events
# Status responses are sent unsolicited after any valid group command or front-panel action,
# and at power-up all three groups are sent. Treat as event pushes.
- id: channel_source_status_update
description: "Push of T-string after channel/source group commands or front-panel activity."
prefix: "T"
- id: front_panel_status_update
description: "Push of S-string after front-panel mode commands."
prefix: "S"
- id: av_status_update
description: "Push of V-string after audio/volume group commands."
prefix: "V"
Macros
# Multi-step sequences documented in source "Command Hints and Tips".
- id: full_status_update
label: Request full status update
description: Send all three status requests back-to-back to get all three response strings.
steps:
- command: "ST"
- command: "SV"
- command: "SS"
notes: "Example: >STSVSS returns all 3 response strings back-to-back."
- id: mute_off_then_channel
label: Mute A/V off then select channel
description: Concatenated example showing combined string up to 120 ASCII chars.
steps:
- command: "XX"
- command: "TC=9"
notes: "Example: >XXTC=9. May be useful to send Mute A/V Off in case Mute A/V was set On from front panel."
- id: catv_no_lockout
label: CATV mode + no lockout
description: Concatenated setup example.
steps:
- command: "S0=0"
- command: "S4=0"
notes: "Example: >S0=0S4=0"
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: source contains no explicit safety warnings or interlock procedures.
# Hardware note from source: cables with all DB-9 pins wired can lock out front-panel
# programming and data communication (Pins 4 and 9 are inputs) - relevant for installers,
# not a runtime safety interlock.
Notes
- Framing: Commands prefixed with
>(Attention), terminated with CR ($0D). Responses prefixed with<and terminated with CR LF. Unit# prefix is required in multi-tuner chains; default Unit# = 1; Unit# 0 = global (broadcast to all tuners, v4.0+). - No inter-character delay required — protocol is interrupt-driven and buffered.
- Status latency: Status responses intentionally delayed ~125 ms to coalesce rapid commands.
- Baud rate: Default 9600; selectable 300, 600, 1200, 2400, 4800, 9600, 19200 via front-panel Mode 1. v3.5 added 19,200 support.
- Multi-tuner addressing: Up to 9 units (v3.5+) on a single RS-232 port. First unit in chain must have the highest Unit# — CR tuners use an intelligent data bus where the highest-numbered tuner receives all commands and forwards commands addressed to lower-numbered units down the chain.
- Cable: Only pins 2, 3, 5 should be wired for RS-232 control. Pins 4 (Channel Up) and 9 (Channel Down) are contact-closure inputs sharing GND on pin 5 — they are NOT RS-232 data lines.
- Front-panel mode mapping: Modes 10-14 mirror RS-232 commands Q0-Q4 respectively (per source "Modes 10 - 14 are identical to RS-232 Commands Q0 - Q4"). Mode 0 = RF Tune, Mode 1 = Baud Rate, Mode 2 = Unit Number, Mode 4 = Panel Lockout, Mode 5 = Power-up Volume, Mode 6 = Firmware Version, Mode 7 = Audio Decode (Mono fixed), Mode 8 = Bass Gain, Mode 9 = Treble Gain.
- CG section is legacy: The character-generator option is no longer available for the 232-MTA — the related actions (TM/TN/DG/E7-E9/EA/EB/DC/DB/DM/DN/DW/DQ) are documented for reference on earlier units with the option installed.
=is optional in command strings —>Q3=1and>Q31both work.- Leading zeros optional in numeric parameters —
>TC=009and>TC=9select the same channel. - Settings persist to NVRAM.
- VM mnemonic collision: Source documents
VMas both "Stop volume ramp" and "Volume Mute on" — same wire string, two documented uses. - TC mnemonic collision: Source documents
TCas both "Force tuned channel" (with=and channel parameter) and "Display current channel label" (no parameter, CG-only) — same mnemonic, distinct wire forms (parameter presence disambiguates). - $N format: Source documents command as
$N-xxxwith literal-between$Nand channel number (e.g.,>$N31). - Versioned features: Unit#0 global broadcast = v4.0+; multi-unit (4-9) and 19200 baud = v3.5+; $R/$N queries and KK IR emulation = v3.4+. Units shipped with new processor (Rev 3.4+) start at serial number 229-5017-001.
Provenance
source_domains:
- archive.org
- bucketeer-3c238a6b-adc2-4051-aeb1-2d2ab9e1e1b4.s3.amazonaws.com
- markertek.com
- manualslib.com
source_urls:
- https://archive.org/download/manualzz-id-1058460/1058460.pdf
- https://archive.org/details/manualzz-id-1058460
- https://bucketeer-3c238a6b-adc2-4051-aeb1-2d2ab9e1e1b4.s3.amazonaws.com/documents/232-ATSC_4K_Product_Manual_022026.pdf
- https://www.markertek.com/Attachments/Manuals/Contemporary/5114-001-Manual.pdf
- https://www.manualslib.com/products/Contemporary-Research-232-Mta-480250.html
retrieved_at: 2026-09-06T02:12:08.967Z
last_checked_at: 2026-09-06T22:16:13.394Z
Verification Summary
verdict: verified
checked_at: 2026-09-06T22:16:13.394Z
matched_actions: 69
action_count: 69
confidence: medium
summary: "All 69 spec actions matched verbatim in the refined source; transport parameters (9600 baud, 8/N/1) and command coverage are complete. (7 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "front-panel \"S-string\" layout (page 14 of source manual) referenced but not extracted in the protocol excerpt"
- "full field layout referenced in source (manual page 14) but not extracted in protocol excerpt."
- "full field layout not extracted in protocol excerpt."
- "no RS-232 command documented for changing unit number (front-panel only per source)."
- "no RS-232 command documented for changing baud (front-panel Mode 1 only)."
- "source contains no explicit safety warnings or interlock procedures."
- "full S-string and V-string response layouts referenced (manual page 14) but not extracted in protocol excerpt; only T-string layout is partially captured."
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0