Amazonのアソシエイトとして、ラズパイダ(raspida.com)は適格販売により収入を得ています。詳しくは当サイトの プライバシーポリシーをご覧ください。

HDMI端子のないテレビが発掘されたので、PDrom「ブレイドバスター」専用モニターとして復帰させることにしました。OSはRetroPie、Raspberry Piはノーマル3B/3B+です。

HDMIが無くても3色ピンコードを3.5mm四極ジャックで接続すれば表示できます。

注意点があって、同じ3.5mm四極でもいくつか種類があり、**どのケーブルでも良い訳ではありません。**Raspberry Pi は昔々のAppleと同じ形式になっているようです。

ネットには少し古い記事しかなかったので体験をまとめてみました。

アナログ液晶テレビ

今回発掘されたテレビはこれ。シャープのAQUOS「LC-15S4」です。世界の亀山工場の頃だったと思います。

LC-15S4

今では珍しい4:3形式の小さなサイズです。当時としてもかなり小さく、薄く、設置場所にも困らずに利用していました。(主に寝室のDVD再生用)

2006年製! 年数の割にかなり綺麗な保存状態でした。但し、リモコンはゴムが加水分解されベタベタです。

解像度は640×480なのでレトロゲームには丁度いいですね。もしもSFCなどが手には入ったら繋げて遊びたいものです。

ケーブルはCTIA-15対応

調べてみると、ケーブルの種類には気をつけないといけません。

写真のように4極部分の順番が異なるからです。

Raspberry Pi は先端から音声左(赤)、音声右(白)、アース(GND)、映像の順番です。

図だと横置きで、4、3、2、1となっていますね。

同じ4極で分かれたケーブルであっても、この順番が異なるケーブルと間違えてしまうと使えません。

図にあるように、当時のMP3プレイヤーなどだとビデオとアース(GND)が逆ですね。

これらの形式に対応しているのが「CTIA-15対応」という表記で販売されていて、これなら見つかります。

もちろん、今回購入した以外にも100円ショップで発掘されたという情報もネットにありましたから、CTIA対応ということと4極の順番さえ合っていれば問題ありません。

書き込み保護のファイル

SSHで接続して、書き込み保護されている可能性のあるファイルを変更するには権限を与えて再マウントします。

ルート(/)またはブート(/boot)を指定することになります。

mount -o remount,rw /

■Pi 5は8GBモデルがオススメ

OSにRetroPie4.5の場合

OSにRetroPie4.5を入れてみました。

microSDカードにイメージを書き込んで、いつものようにSSHとwpa_supplicant.confファイルをコピーして・・・。これで最初からWi-Fiに接続してSSHが使えます。RetroPieでもOKです。中身はRaspbianですからね。

サクッとconfig.txtに追記&修正して立ち上げても何も画面に映らない。マックロクロスケ・・・?

現状の確認でコマンドを打つ。

pi@retropie:~ $ tvservice -s
state 0x120001 [TV is off]

あれ? テレビがオフって?

あっ!そういえば、Retropie4.5はコポジット出力が壊れていたんだった・・・。忘れていました!(RetroPieが4.5にバージョンアップしたけどラズパイ4Bは未対応)

※これは4.5でのお話です。その後に修正されました。

気を取り直してRetroPie公式サイトの通り以下のコマンドでファームウェアをダウングレードします。

sudo ~/RetroPie-Setup/retropie_packages.sh raspbiantools install_firmware 1.20190401-1

config.txtの追記

以下、/boot/config.txtを4箇所追加しました。(※1、※2の箇所- -> ハイライト部分)

# For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
#disable_overscan=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.(※1)
framebuffer_width=640
framebuffer_height=480

# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL(※2)
sdtv_mode=1
sdtv_aspect=1

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on

# Uncomment this to enable the lirc-rpi module
#dtoverlay=lirc-rpi

# Additional overlays and parameters are documented /boot/overlays/README

# Enable audio (loads snd_bcm2835)
dtparam=audio=on
gpu_mem_256=128
gpu_mem_512=256
gpu_mem_1024=256
overscan_scale=1

※1 フレームバッファで解像度を決め打ちしました。シャープアクオス15型(LC-15S4)の解像度は640×480だからです。分からなければコメントアウトしたままでも大丈夫です。

framebuffer_width=640
framebuffer_height=480

※2 sdtv_mode=1は以下の表の通りです。

sdtv_mode=1
sdtv_aspect=1

日本のNTSCは1です。

sdtv_mode

アスペクト比は、今回のように4:3であれば、デフォルトが1なので、特に指定しなくてもOKです。

16:9であれば3を指定してください。

stdv_aspect

もう一度コマンドで現状を見てみると、あれ? 720×480になってる。んー。まぁ、綺麗に表示されているから気にしなーい。

pi@retropie:~ $ tvservice -s state 0x40001 [NTSC 4:3], 720x480 @ 60.00Hz, interlaced

Recalbox9.1 Pi3の場合

追記:2024/04/29

ラズパイで動作するエミュレータにRecalboxを選んだ場合、コンポジット出力の設定は異なります。

SSHで接続して設定することもできますが、簡単なのはRecalboxのmicroSDカードを他PCで編集する方法です。

編集するファイル

  • recalbox-user-config.txt
  • config.txt
  • recalbox.conf

recalbox-user-config.txt

次の3つが必要です。

sdtv_mode=1
hdmi_ignore_hotplug=1
audio_pwm_mode=2

sdtv_modeは1が日本のNTSCです。hdmi_ignore_hotplug=1が強制的にコンポジット出力させ、audio_pwm_modeは2が音声のコンポジット出力です。

config.txt

Pi3、Pi4共にdtoverlay=vc4-kms-v3dの後へ、カンマにcomposite=1を追記する。

#Raise the first security limit up to 70º instead of 60º for pi3 and pi4
[pi3]
temp_soft_limit=70
dtoverlay=vc4-kms-v3d,composite=1
include crt/recalbox-crt-config.txt

[pi4]
arm_64bit=0
temp_soft_limit=70
dtoverlay=vc4-kms-v3d,composite=1
include crt/recalbox-crt-config.txt

recalbox.conf

videomodeをデフォルトに変更する。

global.videomode=default

#n64.videomode=DMT 9 HDMI
n64.videomode=default

詳しくはRecalboxのWikiページで確認してください。

Connect your Recalbox to a CRT screen with composite

RecalboxのSSH接続

ユーザーID:root パスワード:recalboxroot

ssh root@RecalboxのIPアドレスまたはデフォルトのホスト名recalbox.local
mount -o remount,rw /boot

番外編

他にもconfig.txtでの機能にモノクロにできるみたい。モノクロならシャープになる様子です。

ラズパイで古い白黒映画を観るならバッチリですが、使う用途はあまりないかな。

sdtv_disable_colourburst=1

ラズパイ4Bからはコンポジット出力はデフォルトで無効

どうやら、ラズパイ4Bはシステム速度低下を招くのであまりよろしくないとのこと。

Raspberry Pi 4では、内部クロックが相互に関連付けられて割り当てられている方法のため、コンポジット出力はデフォルトで無効になっています。先に有効化しないと使えません。

コンポジットビデオは非常に特殊なクロックを必要とするため、そのクロックをPi 4で必要な速度に設定すると、それに接続されている他のクロックが悪影響を受け、システム全体がわずかに遅くなります。コンポジット出力はあまり一般的に使用されていない機能であるため、このシステムの速度低下を防ぐためにデフォルトで無効にすることにしました。

https://www.raspberrypi.com/documentation/configuration/config-txt/video.md

Raspberry Pi OSでコンポジット出力を有効にするには、オプションの指定方法が変わります。

enable_tvout=1

確かに4K、デュアルディスプレイ対応のRaspberry Pi 4を古い液晶テレビやブラウン管テレビを繋げる利点はありません。

→ Pi5からコンポジット出力は省かれました。

stdtv-bb2012

以上でブレイドバスター専用モニターとして見事に復活しました!

余っているアナログ液晶テレビがあったらラズパイを繋げてみてください。

たくさん情報がある中で、こちらのサイトを参考にさせていただきました。 http://www.neko.ne.jp/~freewing/raspberry_pi/raspberry_pi_3_av_cable_rca/