Summary
Blu-ray Disc Player controllable via RS-232C (3-wire, 9600/8N1) or TCP (port 60128). ASCII command protocol with !7 unit-type prefix and CR/LF terminator. Ethernet transport wraps the same ASCII message in an ISCP header ("ISCP" + header size 0x00000010 + data size + version 0x01 + reserved 0x000000).
Transport
protocols:
- serial
- tcp
addressing:
port: 60128 # fixed per source
serial:
baud_rate: 9600
data_bits: 8
parity: none
stop_bits: 1
flow_control: none # 3-wire half-duplex, no flow control lines
auth:
type: none # inferred: no auth procedure in source
Traits
- powerable # PWR command
- queryable # ?ST / ?SN / ?SV / ?SC queries
- routable # ASC aspect, RSC resolution
- levelable # DIM dimmer
Actions
# Command framing:
# - Serial: !7<CMD><PARAM>[CR|LF|CRLF]
# - Ethernet: ISCP header (16 bytes) + ASCII payload (no CR/LF inside header)
# Unit type "7" = Blu-ray Disc Player. All commands are controller -> device unless noted.
- id: power_standby
label: Set System Standby
kind: action
command: "!7PWR00[CR]"
params: []
- id: power_on
label: Set System On
kind: action
command: "!7PWR01[CR]"
params: []
- id: power_toggle
label: Toggle Power (Standby <-> On)
kind: action
command: "!7PWR02[CR]"
params: []
- id: open_close_tray
label: Open/Close Tray
kind: action
command: "!7OPC[CR]"
params: []
- id: osd_up
label: OSD Cursor Up
kind: action
command: "!7OSDUP[CR]"
params: []
- id: osd_down
label: OSD Cursor Down
kind: action
command: "!7OSDDN[CR]"
params: []
- id: osd_left
label: OSD Cursor Left
kind: action
command: "!7OSDLF[CR]"
params: []
- id: osd_right
label: OSD Cursor Right
kind: action
command: "!7OSDRH[CR]"
params: []
- id: color_a_red
label: Color Button A (Red)
kind: action
command: "!7CBCAB[CR]"
params: []
- id: color_b_green
label: Color Button B (Green)
kind: action
command: "!7CBCBB[CR]"
params: []
- id: color_c_blue
label: Color Button C (Blue)
kind: action
command: "!7CBCCB[CR]"
params: []
- id: color_d_yellow
label: Color Button D (Yellow)
kind: action
command: "!7CBCDB[CR]"
params: []
- id: enter
label: Enter
kind: action
command: "!7ENT[CR]"
params: []
- id: return
label: Return
kind: action
command: "!7RET[CR]"
params: []
- id: home
label: Home
kind: action
command: "!7HOM[CR]"
params: []
- id: menu
label: Menu / PopupMenu
kind: action
command: "!7MNU[CR]"
params: []
- id: title_menu
label: Title (Top Menu)
kind: action
command: "!7TMN[CR]"
params: []
- id: display
label: Display (On Screen)
kind: action
command: "!7DSP[CR]"
params: []
- id: pip_toggle
label: PIP On/Off Toggle
kind: action
command: "!7PIPTG[CR]"
params: []
- id: pip_on
label: PIP On
kind: action
command: "!7PIPON[CR]"
params: []
- id: pip_off
label: PIP Off
kind: action
command: "!7PIPOF[CR]"
params: []
- id: angle
label: Angle
kind: action
command: "!7ANG[CR]"
params: []
- id: audio
label: Audio
kind: action
command: "!7AUD[CR]"
params: []
- id: subtitle
label: Subtitle Change
kind: action
command: "!7SUB[CR]"
params: []
- id: play
label: Play
kind: action
command: "!7PLYUP[CR]"
params: []
- id: stop
label: Stop
kind: action
command: "!7STP[CR]"
params: []
- id: pause
label: Pause
kind: action
command: "!7PAS[CR]"
params: []
- id: skip_up
label: Skip Up (Next)
kind: action
command: "!7SKPUP[CR]"
params: []
- id: skip_down
label: Skip Down (Previous)
kind: action
command: "!7SKPDN[CR]"
params: []
- id: scan_ff
label: Scan Fast Forward
kind: action
command: "!7SCNUP[CR]"
params: []
- id: scan_fr
label: Scan Fast Reverse
kind: action
command: "!7SCNDN[CR]"
params: []
- id: num_digit
label: Numeric 1-9
kind: action
command: "!7NUM{nn}[CR]" # nn = 01..09
params:
- name: nn
type: string
description: Two-digit number "01"-"09"
- id: num_zero_or_ten
label: Numeric 0 or 10
kind: action
command: "!7NUM00[CR]"
params: []
- id: search
label: Search
kind: action
command: "!7SRC[CR]"
params: []
- id: repeat
label: Repeat Toggle
kind: action
command: "!7RPT[CR]"
params: []
- id: ab_repeat
label: A-B Repeat
kind: action
command: "!7ABR[CR]"
params: []
- id: play_mode_toggle
label: PlayMode Toggle
kind: action
command: "!7PLMTG[CR]"
params: []
- id: clear
label: Clear
kind: action
command: "!7CLR[CR]"
params: []
- id: dimmer_step
label: Dimmer Step (cycle one level)
kind: action
command: "!7DIMDN[CR]"
params: []
- id: dimmer_bright
label: Dimmer Bright
kind: action
command: "!7DIM00[CR]"
params: []
- id: dimmer_dark
label: Dimmer Dark
kind: action
command: "!7DIM02[CR]"
params: []
- id: dimmer_auto
label: Dimmer Auto
kind: action
command: "!7DIM07[CR]"
params: []
- id: menu_lang_en
label: Player Menu Language - English
kind: action
command: "!7CMLEN[CR]"
params: []
- id: menu_lang_fr
label: Player Menu Language - French
kind: action
command: "!7CMLFR[CR]"
params: []
- id: menu_lang_sp
label: Player Menu Language - Spanish
kind: action
command: "!7CMLSP[CR]"
params: []
- id: menu_lang_de
label: Player Menu Language - Deutsch
kind: action
command: "!7CMLGE[CR]"
params: []
- id: menu_lang_it
label: Player Menu Language - Italian
kind: action
command: "!7CMLIT[CR]"
params: []
- id: menu_lang_jp
label: Player Menu Language - Japanese
kind: action
command: "!7CMLJP[CR]"
params: []
- id: init_start
label: Initialize (requires No Disc state)
kind: action
command: "!7INI00[CR]"
params: []
- id: init_reset_setup
label: Reset Default Settings (Setup Menu, excl. Parental)
kind: action
command: "!7INI01[CR]"
params: []
- id: cec_toggle
label: CEC Control Toggle (Stop state only)
kind: action
command: "!7CCRTG[CR]"
params: []
- id: cec_enable
label: CEC Control Enable (Stop state only)
kind: action
command: "!7CCRON[CR]"
params: []
- id: cec_disable
label: CEC Control Disable (Stop state only)
kind: action
command: "!7CCROF[CR]"
params: []
- id: econtrol_toggle
label: E-control Power Toggle
kind: action
command: "!7EWCTG[CR]"
params: []
- id: econtrol_enable
label: E-control Power Enable
kind: action
command: "!7EWCON[CR]"
params: []
- id: econtrol_disable
label: E-control Power Disable
kind: action
command: "!7EWCOF[CR]"
params: []
- id: hdmi_audio_multi_normal
label: HDMI Audio - Multi (Normal)
kind: action
command: "!7MAU00[CR]"
params: []
- id: hdmi_audio_multi_lpcm
label: HDMI Audio - Multi (LPCM)
kind: action
command: "!7MAU02[CR]"
params: []
- id: hdmi_audio_off
label: HDMI Audio - Off
kind: action
command: "!7MAUFF[CR]"
params: []
- id: pms_off
label: Status Notifications - Off
kind: action
command: "!7PMS00[CR]"
params: []
- id: pms_on
label: Status Notifications - On (changes)
kind: action
command: "!7PMS01[CR]"
params: []
- id: pms_no_time_off
label: Status Notifications - No/Time Off
kind: action
command: "!7PMS02[CR]"
params: []
- id: pms_no_time_on
label: Status Notifications - No/Time On (changes)
kind: action
command: "!7PMS03[CR]"
params: []
- id: aspect_43_letterbox
label: Aspect 4:3 Letterbox
kind: action
command: "!7ASC00[CR]"
params: []
- id: aspect_43_normal
label: Aspect 4:3 Normal
kind: action
command: "!7ASC01[CR]"
params: []
- id: aspect_169_wide
label: Aspect 16:9 Widescreen
kind: action
command: "!7ASC02[CR]"
params: []
- id: aspect_169_squeeze
label: Aspect 16:9 Squeeze
kind: action
command: "!7ASC03[CR]"
params: []
- id: resolution_toggle
label: Resolution Toggle (Stop state only)
kind: action
command: "!7RSCTG[CR]"
params: []
- id: resolution_auto
label: Resolution Auto (Stop state only)
kind: action
command: "!7RSC01[CR]"
params: []
- id: resolution_480p_576p
label: Resolution 480p / 576p (576p Europe)
kind: action
command: "!7RSC02[CR]"
params: []
- id: resolution_720p
label: Resolution 720p
kind: action
command: "!7RSC03[CR]"
params: []
- id: resolution_1080i
label: Resolution 1080i
kind: action
command: "!7RSC04[CR]"
params: []
- id: resolution_1080p
label: Resolution 1080p
kind: action
command: "!7RSC05[CR]"
params: []
- id: resolution_1080p24
label: Resolution 1080p24
kind: action
command: "!7RSC07[CR]"
params: []
- id: query_status_action
label: Query Action Status
kind: query
command: "!7?STST[CR]"
params: []
- id: query_status_disc
label: Query Disc Status
kind: query
command: "!7?STDS[CR]"
params: []
- id: query_status_dimmer
label: Query Dimmer Status
kind: query
command: "!7?STMS[CR]"
params: []
- id: query_status_aspect
label: Query Aspect Ratio Status
kind: query
command: "!7?STAS[CR]"
params: []
- id: query_status_resolution
label: Query Resolution Status
kind: query
command: "!7?STRS[CR]"
params: []
- id: query_status_hdmi_audio
label: Query HDMI Audio Status
kind: query
command: "!7?STMA[CR]"
params: []
- id: query_status_hdmi_output
label: Query HDMI Output Status
kind: query
command: "!7?STMT[CR]"
params: []
- id: query_title_group
label: Query Title/Group/Folder No
kind: query
command: "!7?SNTG[CR]"
params: []
- id: query_chapter_track
label: Query Chapter/Track No
kind: query
command: "!7?SNTC[CR]"
params: []
- id: query_elapsed_time
label: Query Elapsed Time
kind: query
command: "!7?SNET[CR]"
params: []
- id: query_hdmi_resolution
label: Query HDMI Out Resolution
kind: query
command: "!7?SVMO[CR]"
params: []
- id: query_menu_lang
label: Query Menu Language
kind: query
command: "!7?SCML[CR]"
params: []
- id: query_cec_status
label: Query CEC Control Status
kind: query
command: "!7?SCCR[CR]"
params: []
Feedbacks
# Device -> Controller. Terminator [EOF] (0x1A) on all status notifications.
- id: pms_notification
type: enum
values: [off, on, no_time_off, no_time_on]
values_codes:
"00": off
"01": on
"02": no_time_off
"03": no_time_on
- id: action_status
type: enum
values: [standby, playback, pause, stop, unknown]
values_codes:
"00": standby
"01": playback
"02": pause
"03": stop
"FF": unknown
- id: disc_status
type: enum
values: [no_disc, dvd, cd, cd_data, bd_rom, usb, unknown]
values_codes:
"00": no_disc
"01": dvd
"04": cd
"07": cd_data
"10": bd_rom
"12": usb
"FF": unknown
- id: dimmer_status
type: enum
values: [bright, dark, auto, unknown]
values_codes:
"00": bright
"02": dark
"07": auto
"FF": unknown
- id: aspect_status
type: enum
values: [letterbox, normal_43, widescreen, squeeze, unknown]
values_codes:
"00": letterbox
"01": normal_43
"02": widescreen
"03": squeeze
"FF": unknown
- id: title_group_no
type: string
description: "6 chars: cccTTT (current/total), or --- placeholders when unknown"
- id: chapter_track_no
type: string
description: "6 chars: cccTTT (current/total), or --- placeholders when unknown"
- id: elapsed_time
type: string
description: "hmmss format, or spaces when unknown (e.g. SET-0001 = 00:01)"
- id: hdmi_out_resolution
type: enum
values_codes:
"00": no_video
"02": 480p60
"04": 720p60
"05": 1080i60
"16": 1080p60
"17": 576p50
"19": 720p50
"20": 1080i50
"31": 1080p50
"32": 1080p24
"35": 720p100
"36": 720p120
"37": 1080p48
"FF": unknown
- id: menu_lang_status
type: enum
values: [en, fr, sp, de, it, jp]
values_codes:
"EN": en
"FR": fr
"SP": sp
"GE": de
"IT": it
"JP": jp
- id: cec_status
type: enum
values: [enabled, disabled]
values_codes:
"ON": enabled
"OF": disabled
- id: hdmi_resolution_setup
type: enum
values: [auto, 480p_576p, 720p, 1080i, 1080p, 1080p24, unknown]
values_codes:
"01": auto
"02": 480p_576p
"03": 720p
"04": 1080i
"05": 1080p
"07": 1080p24
"FF": unknown
- id: hdmi_audio_setup
type: enum
values: [multi_normal, multi_lpcm, off]
values_codes:
"00": multi_normal
"02": multi_lpcm
"FF": off
Variables
# No continuous/settable parameters beyond discrete command values in this spec.
Events
# Status notifications arrive as feedback messages ending in [EOF] (0x1A)
# when PMS mode is 01 or 03. See Feedbacks section for the SPM, SST, DST, MST,
# AST, STG, STC, SET, SMO, SCM, SCC, SMR, SMA notifications.
Macros
# No multi-step sequences documented in source.
Safety
confirmation_required_for: []
interlocks: []
# Notes from source: INI00 only valid in "No Disc" state; INI01/CCR/*/MAU*/*/RSC*
# marked "* Only recognized when the status is 'Stop'". Treat these as state-gated,
# not as safety interlocks, since source frames them as operational constraints.
Notes
RS-232 is 3-wire half-duplex (RX/TX/GND only) on D-sub 9 female; do not cross-flow-control lines. Serial settings fixed: 9600/8/N/1.
Ethernet transport: TCP port 60128, only one client at a time, connection must be held open continuously to receive unsolicited status notifications. Messages from client must be spaced at least 50ms apart. Ethernet frames use 16-byte ISCP header (ISCP + 0x00000010 header-size BE + data-size BE + 0x01 version + 0x000000 reserved) wrapping the same !7<CMD><PARAM> ASCII payload (no CR/LF inside Ethernet frame).
Command framing rules: serial end char is CR / LF / CRLF (any one); status reply end char is [EOF] (0x1A). Unit-type character 7 is fixed for BD-01U.
Some commands (INI01, CCR*, MAU*, RSC*) are only recognized when player status is "Stop" — track player state before issuing. Dimmer DN cycles one step; use DN/00/02/07 for explicit levels. Aspect/Resolution values FF mean unknown/other.
Provenance
source_domains:
- tascam.com
- tascam.eu
source_urls:
- https://tascam.com/wp-content/uploads/downloads/products/tascam/bd-01u/rs-232c_protocol_bd-01uv0102_en.pdf
- https://tascam.com/wp-content/uploads/downloads/products/tascam/bd-01u/bd-01u_spec_om_e_v1b.pdf
- https://tascam.eu/en/downloads/archive/BD-01U
- https://www.tascam.eu/en/docs/BD-01U_RS-232C_Protocol_v102.pdf
retrieved_at: 2026-05-14T02:34:39.467Z
last_checked_at: 2026-06-02T07:06:46.236Z
Verification Summary
verdict: verified
checked_at: 2026-06-02T07:06:46.236Z
matched_actions: 87
action_count: 87
confidence: medium
summary: "All 87 spec actions matched exactly with source commands; transport parameters verified verbatim. (2 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "firmware version not stated in source"
- "firmware version compatibility not stated in source"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0