Top > Computer > 電車でGo! > 改造

セガサターン版コントローラの改造

  1. 試行1
  2. 試行2
  3. PIC の登場
    1. プログラム
  4. 終わりに

§1 試行1

まず,マスコン,ブレーキの2進データによって抵抗が変わるだけの回路でテストしてみました.具体的には,トランジスタであやしい回路を作りました.
 しかし,前に説明した通り接点がノンショーティングで切り替わるため, たとえばブレーキを「4」から「5」までまわすと, ブレーキレバーが「4」と「5」の中間にあるときブレーキが解除されてしまいます. つまり,「4」→「解除」→「5」となり, ブレーキが乱暴であると怒られてしまいます. マスコンのほうでも同様のことが起こります.
 そうすると,接点切り替えが中間位置にあるとき, 直前のデータを保持する回路が必要なことになります.

§2 試行2

データのラッチを設けてみました. ラッチのクロックをどうするかが問題です. 接点入力があれば HC148 の /GS 端子が "L" になるのでこれを使いたいところですが, HC148 の2進出力よりわずかな先に /GS 端子が "L" になるので, /GS 信号を遅らせる必要があります.
 コンデンサと抵抗でディレイを作ったところ, 試作段階では正常に動作しました. ところが,基板に組んだところ誤動作が出てきてしまいました.  なお,ブレーキ側には HC148 が2つありますが, 2つの /GS 出力を HC00 のあまっているゲートに入力すれば, GS 信号,つまり接点入力があれば "H" となる出力が得られるので, これを使います.これには接点基板にジャンパを飛ばすことが必要で, 少し面倒になってしまいます.

§3 PIC の登場

誤動作を完全にさけるには,かなり工夫が必要かもしれません. 基板にワンチップマイコンがぎりぎり載せられるスペースがあったので, PIC を使ってみることにしました. そうすると /GS は使わなくてすむので, 改造が非常に簡単になるという利点もあります.  出力段はあやしいトランジスタはやめ, アナログスイッチで切り替えることにしました.

回路図

(1) プログラム

アセンブラは秋月の pa.exe を使用しています.

§4 終わりに

最初から PIC を使うことにすれば, たぶん (PIC を入れて) 2つの IC で作れたはずです. プレステ版コントローラのワンハンドルマスコンを安価に入手したので, こちらの改造では IC 2個に挑戦したいと思います.


TOP  Email to Kunihiko Nakano(c) FEB 29, 2004