カテゴリー別アーカイブ: 未分類

PC-PTOS キーボード

PC-98用のPC-PTOSキーボードはALPS黄軸モデルとNECスイッチモデルの2種類があります

ptos1

NECスイッチモデル。キーキャップは二色成型。しかしNEC楕円軸ってこんな感じでLED仕込めるんですね。知らなかったです

 

ptos2

ALPS黄軸モデル。キーキャップはシルクスクリーン印刷。

どちらも同じリニア軸ですがキーを叩けば一発で違いが分かります。軸取り目的で入手する場合は注意しましょう。

5576-Keyboard1の初期設定

PS/2用アダプタのサポートページに 5576-Keyboard1 の初期キー配置図を追加しました。こりゃ酷いわ・・・

keyboard1_def

一応、繋がってるキーボードが  Keyboard1 なのか 002 なのか 003 なのかは全部判別出来るんですが、Keyboard1の場合はどういう初期キー配置がいいのか悩ましい訳で。キートップの印字を重視した配置とするか、キートップの印字を無視して106/109キーボードに寄せた配置とするかでもかなり変わる気がしますし。個人的にはキートップの印字を重視してCtrlが左2列の右下に位置するのはさすがに抵抗があるといいますか・・・CapsLockの位置(スペースの2つ左隣)もそこじゃないだろ、と。

なので Keyboard1 に関しては「お手数ですが、原則キー配置をカスタマイズして使って下さい」というスタンスでご理解願います。代わりに、サンプルconfをいくつかダウンロード出来るようにしておきますので。

Windows10用設定ルーツを追加しました

従来設定ツールが.NET Framework3.5を必要とするため、Windows10で実行しようとするとFW3.5をダウンロードする必要がありました

今回 .NET Framework4.6 で再ビルドしたツールを作りましたので、Windows10環境ではこちらをDLして使って下さい。なお機能面では従来版と一切違いはありません

各サポートページのリンクに順次追加しますが取り急ぎ必要という方はADB用のページから取得して下さい。設定ツールは全機種用で共通です。

SS2USB 補足

サポートページの更新が全く出来ていないので、取り急ぎこちらで補足します

ファームウェアの更新について

Rev2からジャンパスイッチは7連になっています。
「7連ジャンパ-USBコネクタ-LED-プッシュスイッチ」と並んでいますが、プッシュスイッチを押したままアダプタをPCに接続するとメンテナンスモードで立ち上がります。メンテナンスモードで立ち上がるとLEDは高速に点滅します

ファームウェアを更新する際はメンテナンスモードにしてから行って下さい

ファームウェアは現在

  1. マルチターミナル6が使えるFULL版(コントロールパネルの「インストール済みゲームコントローラ」にコントローラが5つ出現します)
  2. マルチターミナル対応を削除したMINI版(「インストール済みゲームコントローラ」にはコントローラが1つだけ出現します)
  3. FULL版とMINI版を1つにして切り替え可能にした実験版1
  4. DirectInputとXInputを切り替えることが出来る実験版2

の4種類が存在します。発送時は1のFULL版か2のMINI版のどちらかを書き込んでいます  実験版1を書き込んで発送しています。ファームを入れ替えたい場合はメンテナンスモードにしてからファーム更新ツールで書き換えて下さい。

ファームウェアおよび更新ツール、更新手順はサポートページ内のリンクからダウンロード可能です。ダウンロードパスワード、解凍パスワードはメールでお知らせします。アダプタ自体は、2016年以降の発送分はすべてRev2版となります。

 

7連ジャンパスイッチの設定について

以下はサポートページからダウンロードできるファームウェア(前述で言うところの、1のFILL版および2のMINI版)についての設定の説明です。(実験版1はスイッチの機能が変更となっています)

USBコネクタから一番遠いスイッチがSW1、一番USBコネクタに近いスイッチがSW7です(基板上のシルク印刷がこれと逆になっている場合がありますが、常に「USBコネクタにもっとも近いジャンパがSW7」です)

縦2ピンをショートさせるとON、ジャンパを挿さずにオープンとするとOFFです

SW1: コントローラの読み取り周期設定

OPEN デフォルト
CLOSE 強制的に1/60秒
※基本的にはOPENで問題ありません

SW2: マルコン(ANALOG)のL/Rアナログトリガ設定①

OPEN 0~255の範囲の値をとる。押さない状態で0、押し切った状態で255
CLOSE 128~255の範囲をとる。押さない状態で128、押し切った状態で255
アプリによっては0~255の範囲をとると問題になる場合があります
(DirectInputの厳密な定義が「アナログ入力はニュートラル状態で中間値」
と定められているため)
その場合にCLOSEして128~255の範囲で動くように設定します

SW3, SW6: 十字ボタンのマッピング設定

標準パッドおよびマルコン(DIGITAL)の十字ボタンの割り当てを変えます

SW3 SW6 十字ボタンの割り当て
OPEN OPEN X軸、Y軸
CLOSE OPEN POV (ハットスイッチ)
CLOSE CLOSE ボタン13~16

※マルコン(ANALOG)の十字ボタンはこの設定に関係なく常にPOVです

SW4, SW5: マルコン(ANALOG)のL/Rトリガ設定②

SW4=OPEN, SW5=OPEN L/Rトリガを操作するとアナログ入力(Z軸, Z回転)と
ボタン入力(B7, B8)の両方が発生する
SW4=CLOSE, SW5=OPEN L/Rトリガを操作するとボタン入力(B7, B8)だけが
発生する
SW4=CLOSE, SW5=CLOSE L/Rトリガを操作するとアナログ入力(Z軸, Z回転)
だけが発生する

SW7: 未使用につき、常にOPEN

 

基板上のジャンパピンについて

基板上には5ピンのジャンパ(何も刺さっていません)と3ピンのジャンパ(発送時はGND側にジャンパブロックを挿しています)がありますが、ここの設定は変えないでください

 

 

ss2usbの入力遅延について

SteamでUltraストリートファイター4が747円だったので購入。すばらしい。クリスマスセールか何かなのか、あるいはずっと前からこの値段で売ってたのかは分からないけど。

んでUSF4を使って、前からやろうと思っていた拙作のサターンコントローラ変換アダプタ(以下ssu2sb)の入力遅延を調べてみます。質問があるたびに「調べてません」って回答するのもなぁ、と思ってたので。

遅延の要素は「変換アダプタ」「OSのドライバ」「アプリケーション(ゲーム)」「ビデオドライバ」「液晶モニタ」とあらゆる所に存在するためなかなか定量的な評価が難しいのですが、ここではスティックコントローラの評価でよく行われる 「2つの異なるコントローラを使って、格ゲーで同時に小パンチを繰り出してどっちが打ち勝つか」 という相対的な評価を行いたいと思います。今回比較対象にはHORIのファイティングコマンダーPROを用意しました。ネットでの評判は比較的低遅延のようです。

とりあえずこんな回路を作ります

比較

フォトカプラは「電気的にON/OFF出来るスイッチ」位に考えて下さい。左側のスイッチをONにすると①と②が同時にONになります。①はss2usbにつながったサタパのXボタンに繋ぎ、②は今回比較対象としたHORIのファイティングコマンダーPROの□ボタンに繋ぎます。

比較

こんな感じです (左下のマイコンは無視して下さい。5Vをとるためにしか使っていません)

この2つのコントローラを使って、USF4のトレーニングモードでリュウの小パンチ対決を行った結果がこちらです。

小パンチを50回打ち合って、15勝0負35分で黒リュウの勝ちでした。

Firmware v3 追加説明

スキャンコードの移動について

EEPROMの 0x00, 0x7D-0x7F, 0x80 の領域を設定用に空けるために一部のキーのスキャンコードを移動しました。
Firmware Ver2.xまでで作成していた設定ファイルを使用する際は以下の変更(と、使用未使用にかかわらずFnキー設定方法の変更。後述)を行ってください。

usb2sun
usb2pc98
usb2fmr
usb2adb
usb2ps2

続きを読む

WindowsXPのデバイスエラーについて

ファームウェア更新後、WindowsXPでアダプタが動かなく(キー入力が出来なく)なった場合の対応方法です。デバイスマネージャで

err01

このように「USBヒューマンインターフェイスデバイス」に “!” マークが付いていたら次の方法を試して下さい。

“!” マークの付いた「USBヒューマンインターフェイスデバイス」 上でマウス右クリックでメニューを出して「プロパティ」を選択して下さい

err02

プロパティウィンドウの「ドライバ」タブに切り替えて、「削除」ボタンを押して下さい。

err03

ドライバが削除されるとデバイスマネージャから “!” の付いた「USBヒューマンインターフェイスデバイス」が消えます。

err04

後はアダプタをUSBポートから一度抜いて、同じポートに刺しなおして下さい。ドライバのインストールが始まるはずです。ドライバのインストールが終わったらデバイスマネージャで USBヒューマンインターフェイスデバイスに “!” マークが付いていない事、およびキー入力が行える事を確認して下さい。

この作業は同様のエラーが発生するUSBポートごとに行って下さい。

IIS10+ASP.NET

WindowsServer2016のIISで動くWebアプリを作ってた訳なんだけど、開発段階では特に問題なく動いてたのにリリース間近になったのでSSL対応したらファイルダウンロードがエラー起こすようになった問題。

しかもIE11は何の問題も無くてFirefoxだけ問題が生じる。FirefoxもHTTPなら特に問題ない。
ちなみにファイルのダウンロードはResponse.TransmitFile()でレスポンスに乗せて返す定番の方法。

んであれこれ試した見た感じだけど、ちゃんとResponse.End()でレスポンスの終了を伝えてあげないとFirefoxはHTTPSの場合に限りレスポンスが終了した事が分からなくて、来ないレスポンスを待った挙句ダウンロード失敗としてるんじゃないか?という印象。

Flush()した後にちゃんとEnd()してやればとりあえず 「ダウンロード元ファイルが読み取れないため~保存出来ませんでした」 とは言われなくなったかな。こんな所で小一時間悩んでしまった・・・

ffmpegでscale変換

俺メモ

ffmpedでaspect比を維持したままscaleを変えたいけど、Heightに-1を指定して自動調整にすると元動画のWidthによっては変換後Heightが奇数になる場合

例) 元動画 1280×720 → scale=322:-1 だとHeightは181になる

こんな感じでscaleを指定すると奇数にならないみたい

scale=322:trunc(ih/(iw/322)/2)*2

これで322×180のサイズになる