2024年1月12日金曜日

PC-9801RAにBlueSCSIを繋いでみた記録

年末年始、集めたまま火を入れてない物の中で、特に興味の高いものを整理してました。PC-9801RAもその中の一つ。8001もそうでしたが、NECのパソコンはほとんど触れずに来ていて、大学の時に譲ってもらったPC-486で(いや、それはNECじゃない……)少し曲を作ったりはしてたんですが、身内の手違いで破棄されてしまって(良くあるような悪い話ではない……はずです)。詳しい資料や当時の情報を持っていないので手探りで環境構築してます。

その中でも今となっては厄介なのがハードディスクの整備。とりあえず今から物理ドライブ使うのはデータ消失が怖いし、ネットワークないマシンだとデータのやり取りも大変。という事で、変換器使った何かを考えていたのですが、9801系で有名どころと思われる変換番長が半導体不足で在庫がない状況だったので、せっかくだから少し冒険。オープンソースなら最悪どうにでもなるだろって事でBlueSCSIを選びました。設計データまで公開されてるので自分で基板から作っても良いのですが、最初からそれだと問題切り分けが大変です。国内ではヤフオクで完成品を公式に扱ってる人がいるので、そちらをあたってみる事にしました。自分はmac用のDB25直差し用を購入してます。というのも、自分も元macユーザーで将来はそっちでも使いたいってのと、当時使ってたDB25 to アンフェノールハーフピッチのケーブルが手元に残っているのと、さらにDB25のオスメス変換器が安く売っていたのと。接続は

98本体(アンフェノールハーフメス)⇔ケーブル(アンフェノールハーフオス→DB25オス)⇔変換器(DB25メス→DB25メス)⇔BlueSCSI(DB25オス)

こんな感じ。手持ちが違う人は違うやつ選んだ方が良いかもしれません。

んでBlueSCSIなんですが、なんと元はたんぼ(TNB製作所)さんが作ったArdSCSinoだそうで。Arduinoで動いていたものがARM(STM32)に移植されArdSCSino-stm32となり、そこから派生してBlueSCSIが出てきたようです。現行のv2はSTM32から更にターゲットを変えて、Raspberry Pi Picoで動いてます。さらに最近ではPico Wを使うことでWIFI機能を使い、SCSIバス上に仮想ネットワークカードを繋げられるようです。この機能はホスト側でドライバを書く必要があるので、現状では開発者がメインターゲットにしてるMacintoshのみの機能かな、と思います。が、ゆくゆくは国産レトロ機でもドライバが出てくると面白そうです。

開発者が主にMacintoshユーザーなので、その他の環境への対応がどうなったのか心配なところでもあるのですが、対応してるSCSIコマンドは他のプロジェクトより多そうなので、最悪ちょっとコードいじればなんとかなりそうな感じがありますし、互換性リストではX68000なんかも入ってます。標準SCSIインタフェースでも動くし、旧機種のSASIでもSxSIを使えば本体改造なしで動きそうです(サンプルではパリティを無効にする設定が入ってます)。

で、詳しい経緯に興味ある人はこちらの一連のポストを見てもらうとして、とりあえず無事に動作したので設定をまとめようと思います。

98だとSCSI I/Fも大量に出てると思うのですが、自分が成功したのはIF-92Bになります。が、98固有の問題は内包してるので、他のボードでも状況は似たような感じじゃないかと思います。NEC純正はベンダー設定が必要かも。

[SCSI]
; Debug=1
; Vendor=NEC
System="Generic"
Quirks=0
DisableROMDrive=1
SectorsPerTrack=8
HeadsPerCylinder=32

この中で必須だと思われるのは最後の2つです。この辺りは98固有の事情に関係してるようで、SCSI BIOSのアドレス指定がLBAではなくCHSになっている事に起因するかと思います。これらの情報はNEC純正ではSCSI非標準の問い合わせで得るようですが、サードパーティー製や後期純正だと内部的にこれら8/32の値を想定して変換を行うようです。SCSI BIOSが純粋に全部の変換を行いLBAでディスクにアクセスしてるなら設定不要で動いても良さそうなのですが、少なくともIF-92Bではここを違う値にするとFORMAT.EXEが0除算で落ちるようになります。

また設定以外にディスクイメージも必要ですが、注意点としては

  • セクタサイズは512バイトにする事
  • イメージサイズは8×32×512の倍数にする事
  • 大きすぎると認識されないのでインタフェースの限界にあったサイズにする事
を満たす必要があります。セクタサイズはファイル名に埋め込むようになっているので注意が必要です(設定でBlockSizeを書いても良いかもしれませんが試してません)。この辺りはソースコード見れたので調査がはかどりました。やっぱりオープンソース選んで正解。

% dd if=/dev/zero of=HD0_512.hda bs=131072 count=4096

自分はこんな感じで作りました。Linuxやmacなら同様に、WindowsならWSL使えば同様にできるし、中身空で良いので他にも色々と方法はあるかと思います。

ちなみにcount=4096はIF-92B v1.10の限界っぽいです。サイズとしては512MBですね。1GBまで認識はするようなのですが、領域確保できるのが512Bまででした。巷では1.01や1.20も出回っているので、それぞれ限界は違うかと思います。1.20だと2GBまでいけるって話も見かけます。BIOSパッチ当てられれば良いんだけど、ここはホームグラウンドじゃないから、ひとまずこれで様子見です。

ちなみにボード自体もDIPSWがサウンドボードとぶつかっていて変更したり、画面に何も出ない設定になっていたり、そもそもコンデンサもげて挙動自体が怪しかったり……がスタート地点だったので、色々とリスト減らした上でなんとか正解にたどり着けた感じでした。

2023年12月31日日曜日

New City Hero @ j80/mac

はじめに 

という事で、せっかくお時間いただいて助けていただいたので、しっかり情報として残していきたいと思います。

まず、New City Heroの現在の入手方法については内藤さん御自身のアナウンスを御覧ください。無条件で入手できるわけではなく、 最初に配布していた頃の条件「動作可能な実機を所有している人」、または「PC-8001miniとパッケージ版を買ったけどダウンロードしそびれた人」への救済措置となっているので御注意を。後者の条件を今から揃えるのは難しいですが、前者はPCG互換ハードを自作するという道が残されており、この手のソフトに興味を持つ人にとっては比較的難易度の低い条件となってるかと思います。

この件は内藤さんが定期的にツイートしており、自分は比較的最近「大変言いにくいのですが、実は買ったまま積んでいて……」と白状して配布して頂きました。バージョンが最終版のv1.2.3ですが、これはビルドツールが変更になっただけで、コード的にはv1.2.2と同一だそうです。なので、v1.2.2の方も安心してこのブログを参考にできるはず。

事前準備

エミュレータでの動作に必要なROMの手配については、内藤さんのPC-8001開発環境整備/ハードウェア編を読んで実機を入手し、PC-8001開発環境整備/ソフトウェア編を参考に、TINY野郎さんのツールを使って読み出します。ビデオキャプチャ環境を用意するか、しっかり固定すればスマホでの撮影でも大丈夫そう。たぶん内藤さんのブログの時点からさらに更新されてるかな?付属のcmtは動作しますし、実機ではwavファイルから直接持ってけば大丈夫かと。あとプログラム名が変わっていて、読み込むには「cload"b2mv8」です。
ただ、フォントデータはCPUから見えないし、今から実機でPCGを……とか考えてる人なら、直接ROM引っこ抜いて読む方が手っ取り早くて楽って人は多そう(笑)今どき5,000円前後でROMライター買えるので、これを気に手を出すのもあり。

j80

j80は内藤さんのソフトウェア編にかかれている通り、HAL 8999さんのOut of STANDARD内にあるPC-8001のページにて配布されています。最新版のj80_r6_122のみが公開されており、内藤さんが元々検証していたバージョンとは違います。最初は動作せず、このバージョンの違いを疑ったのですが、濡れ衣でした。

ここれは解説例の少ないmacを例に手順と勘所を記録しておきます。

まずはインストール先を決めます。自分は~/opt/rpc/8001としました。以降ではこれを$(P8)と呼称して進めます。

$ cd $(P8)
$ mkdir -p app/res
$ cd app
$ lha x <ダウンロードしたパス>/j80_r6_122.lzh

lhaコマンドはbrewとかで入れるか、他の手段でlzhを展開するかしてください。mac使いでもこの手のをいじってる人なら何かしら環境を持ってるかと思います。

これで、以下のようなファイル構成になるはず。
$(P8)
  + app
    + j80_r6_122
    |  _j80.bat
    |  _j80.choice.bat
    |  _j80.setup.bat
    |  _j80.twins.bat
    |  + config
    |  + debug
    |  + display
    |  + doc
    |  j80.cfg
    |  j80.cmd
    |  j80.jar
    |  + keyboard
    |  pc-8001_test_cmu800.cfg
    |  pc-8001_test_hsync.cfg
    |  pc-8801_test_cmu800.cfg
    |  pc-8801_test_hsync.cfg
    |  + touchpanel
    |  + util
    + res
これをベースに設定ファイルの修正とROMの追加を行っていきます。

ROMの配置は、ベースとなるj80.cfgの修正を最小限にするために以下のようにします。
$(P8)
  + res
    + j80
    |  PC-8001.257073260.rom
    |  PC-8001.636.fon
この名前はデフォルトで有効になっているv1.1ROM向けの配置ですが、他のバージョンをこの名前で置いても問題ないと思いますし、気持ち悪ければ別ファイル名で置いて、cfgファイルを適切に修正すればOKです。

次にj80.cfgをベースにしたnch.cfgを作成します。ここでは設定差分だけ例に上げます。

$ diff j80.cfg nch.cfg|iconv -f sjis
340c340
<       DISK    ../res/j80/PC-8031-2.rom
---
> //    DISK    ../res/j80/PC-8031-2.rom
347c347
< //    ENHANCE 1        // 32K :「Full Dot Color PCG」改造なし
---
>       ENHANCE 1        // 32K :「Full Dot Color PCG」改造なし
そうそう、最近あまりお目にかからないSJISなので編集時は注意が必要。たぶんコメントだけだから壊しても大丈夫かとは思うけど、SJISはエスケープコードが怖いので、SJISのまま編集しつつ行末の日本語はいじらない、またはUTF-8なりに変換してから編集しましょう。

この設定で大切なのは2点で(そりゃ2箇所しか修正してないしね)
  1. DISKは無効化しましょう
  2. メインメモリの設定は32Kにしましょう
です。1に関してはROMがなければフォールバックで無効化されるみたいなので、無視しても大丈夫そうですが、後々足した時にトラブルの元になるので、覚えてるうちにコメントアウトしちゃいましょう。2は重要で、これを忘れるとテープから読み出し後にハングアップします。具体的には*G8001と表示されたところで止まる。自分は最初これを忘れてました。

この件に関しては、Wikipediaによれば
発売当初は搭載メモリ16Kモデルのみの販売であった。さらに16Kの増設が可能で、増設して購入するユーザが大半であったため、32Kモデルも後に販売された。
との事なので、実機で挑戦する際には搭載メモリは要注意。これとは別に更に8KBの拡張にも対応しているようですが、そっちは必須ではなさそう。M.K.さん販売のPSA基板にはNCH用とされた初代80向けの増設メモリー用端子が出てるんですが、ちょっと関係よく理解してないかも。要問合せになってるので聞いてみようかな。

これが出来たらあとは起動コマンドをshell script化するだけ。自分は$(P8)/j80_r67_122_nch.shとして以下のようなスクリプトを配置。以降はこいつに実効属性付けといて叩けば楽ちん&確実に起動。

#!/bin/sh
#

cd `dirname $0`/bin/j80_r6_122
echo OK | java -jar -Dsun.java2d.d3d=false \
-Dswing.boldMetal=false j80.jar nch.cfg

最初にスクリプトの起動名から相対なり絶対なりのパスを取得しておいて、展開したj80_r6_122のディレクトリに移動してます。あとはそこからの相対パスで設定ファイルのnch.cfgなり、その中で指定してるROMなりを読む感じ。

起動

この先もまぁ、昔のパソコンなのでそれなりに手間なので書いときます。

まずはPOWER ON、そしてPCG8100を有効化。

Okの後ろが化ければ正しく設定できた。

続けてテープを読ませるために指定して……

「mon」でモニタを起動して「L」で読み込み開始。エミュレータだと一瞬で読み込んで起動画面に。ここでもしメモリの設定を忘れてると以下のように「*G8001」と表示されて固まります。


という事で、macでも動いたよ、という報告とともに、自分がハマったポイントをまとめました。似たような道を通る人の参考になれば。

というわけで、自分は実機に向けてPSA向け部品手配に入ります。

参考情報

内藤さんのPC-8001関連のブログ一覧

ハードの準備から開発環境、技術詳細と幅広く丁寧に解説されていて流石です。


追記

起動時の自動電源ONとPCGの有効化も設定ファイルで指定できるそうです。

この設定、慣れてくると色々と便利そうです。引数でどの設定を使えるか選べるので、用途別にカスタマイズできますね。ちなみOPTIONはTAB区切りじゃないと認識しないようです。 

2023年12月20日水曜日

2023年何やった?

なんか新年早々忙しかった事しか覚えてなくて、良くないので来年から月ごとにメモしよう……と思ったけど、まずは今年をざらっとTwitterのログから俯瞰しとく。

お仕事

たまにはChromeのお仕事の宣伝もしとく。

MPArchっていうコアの部分のでかいデザイン変更をやりながら、FencedFramesとかPrerenderingが必要とする機能を作ってきて、それが落ち着いたのでPrerenderingをデスクトップ向けに出荷できる状態に調整する仕事(Chrome拡張のAPIの合意とか諸々)をやってたのが去年くらい?その後はAPIだけじゃなくChrome内部でPrerenderingを使うって仕事を推し進めていて、今はBookmarkBarとかNew Tab Pageから出来るようになってる。最近はこの辺りは実装は後輩に任せてるけど、Ray-Banさんとか国内外いくつかのパートナーさんが欲しがってた機能を突っ込んだりってのもやってた。

その後大きな話としてLinkPreviewって機能の導入を目指してあちこちのチームと調整してたのが今年一番大変だった仕事。Prerenderingの機能を有効活用しつつリンク先のページを確認するための機能。コアな部分は実装終わってて、あとはUI周りの調整。一応Canary/Devでお試し出来るので、どんなもんか確認してみて欲しい。

AI関連で集中開発やってた時期もあったんだけど、詳細は書けない気がするので割愛。

あと、入力は、帽険だ。

プライベートQ1

  • SUUMOさんに家のことを記事にしてもらった
  • サーバアップデートでしくって復旧作業
  • X68kの修理は別エントリにまとめてたので詳細は割愛
  • IONA-US v3基板の設計と海外先行出荷
  • IONA-SB設計と出荷
  • Mystic Warriorsのサントラ向けデジタル収録基板の設計、サウンドテスト開発
  • ガイアポリスのサウンドテスト開発
  • Ray'z Arcade Chronology向けのraycrisis基板調査
  • IONA-USでハンドル対応!
  • 民事裁判、被告として本人訴訟で一審で勝利
  • vint開発
  • Burnin' Rubberハーネス基板

プライベートQ2

  • IONA-US firmware v2シリーズ開発開始・公開
  • IONA-US/IONA-SB 高速化
  • IONA-US Lindberghの対応作業(主にハンドルとサイバースティック)
  • 究極タイガー基板修理(頓挫中……続きやらなきゃ……)
  • IONA-US ガンコン対応強化(タイムクライシスが頓挫中、基板壊した……)
  • DJターンテーブル追加、レコードわっしょい
  • MuseScore覚えて使うようになった
  • PHANTOM-06、セッションに向けて使い込み

プライベートQ3

  • セラムン・幽遊白書スタジオセッション
  • ハイパーネオジオ64の調査と改造(詳細未発表)
  • 民事裁判、被告として本人訴訟で二審で勝利

プライベートQ4

  • IONA-US マウス対応、タッチスクリーンも限定的に対応
  • IONA-US 高速化後のファームとexAの新型ファームに相性問題があったため、exAさんと調査・修正
  • IONA-US レイアウトページでWebUSB/WebHIDで入力チェックできるよう対応
  • Fusion360覚えて3Dプリントで68拡張カード脱着用プラを作ってみた
  • M5Stack Core2にCP/Mega88を移植してみたり、I2CでMoonshotと通信してみたり
  • パソコンミニMZと8001を他のRasPiやPine系、かつWindowシステム上で動く修正
  • Moonshot開発開始
  • 民事と同時に刑事でも争われてたけど不起訴で決着・勝利
  • ジムでトレーニング開始
  • 68Zサイバースティック対応パッチ
Q3は仕事がエグくてGitHub見ても草枯れてたので、ほんとこんなもんだったらしい。

ゲーム

ゼノクロとティアキンをクリアして満足です。あと超連射をやっと1周できるようになった。

他にはドラム教室通い続けてますってのと会社のメンバーで月イチくらいでスタジオれ練習してますってのと。あとはVRでDJイベントを月イチくらいで開催してフライヤーのデザインとかしたり、他のイベントにお呼ばれしてDJしたり。

あー、あとはあれだ!正月は長女が本来なら半年前に仕上がってるはずの中学伝統の論文制作が終わってなくて。先生も「もう、お父さん手伝って良いから、なんとか仕上げてください」って感じで。その時には第一稿もう上がってきててうちの子だけ空白。修正のタイミングで絶対に入れてくださいって、もう本当にえらい苦労したの、これだわ。
こういう逃げようと思ってたマネージメント業務から逃げ切れないの、この世は仮初めのトレーニング空間って可能性をより強く示唆するわ。

2023年2月6日月曜日

CPLDでシリアル扱うの難しいね、という話

この件について、反省文ですw 

もともとやろうとしてたのは、シリアル伝送の18bit PCMデータをI2Sに変換すること。んで、想定してた元PCMの周波数が8MHzのクロックが入ってるので分周して半端なサンプリングレートだろうと思っていた。そうなるとなるべく高い周波数で非同期で変換してやるしかないかな、という事で96kHzのI2Sで読み出すことを考えていた。

この際、ハードで実装するならFF打つ回数を限界まで減らさないと無理だと思っていたので、内部には18bit x 2chの36個のFFを用意して、元の信号で順次更新、I2Sで非同期に読みだし。元信号がMSBから出てくるし、倍速以上で読み出せば誤差はLPF通せばほぼ消えると思ってた。

この時の間違ってた想定は「MSBから更新してけば、どのタイミングで読み出しても更新中の値は更新前と更新後の値の間にあるだろう」で、これは完全な誤り。例えば16bitで考えると、0から-1へ更新が入る時は、MSBが入った瞬間に-32768へ値が飛び、徐々に大きなビットが落ちて-1へ近づく。なので、たまに大きなノイズが入る。

もう1つの誤算は元の信号が半端な周波数ではなかった事。きっちり48kHzで出ていたので96kHzで読み出すと、ノイズの載る位置が固定化されて、クロックドリフトでゆっくりノイズの載るビットがズレていく。これがTweetで見ていた現象でした。

最初はメタステーブルかと思って、入力側のクロックを一桁速い出力側のクロックで取り込んで2段くらいFF打ってから使ってみたんだけど関係なかった。

で、これを真面目に対処しようとすると、18bitのシフトレジスタで更新していって値が確定時に別の18bit FFに取り込み。で、これをI2Sから直接出すと、やっぱり出力中に値が変わっちゃうことがあるので、I2Sもフレームの最初のタイミングで18bit FFに丸々コピーして、そこから読み出し。結局3段のバッファが必要なんですね。ステレオだからバッファだけでFFが108個かな?EPM3064だとFFは64個しか無いので、一気に3倍になったFFを実装するのは無理で、結局2枚のチップに分けて入れました。I2Sの出力に6bitカウンタが必要だし、他にもタイミング作るのにいくつかFFが必要なので、分けてもギリギリでした。はぁ……材料不足つらいですね。

それと、Qiitaに雑なI2Sの理解として軽くメモ書きを残しました。

2023年1月30日月曜日

X68000 修理にて復活!

はじめに

X68Z ハッカーズエディションを試せる事になったので、それに先立ってずっと故障したままだったX68k EXPERTの修理をし、無事元気になったのでその報告です。

壊れた経緯は例にもれず電源です。ただ大学のサークルの部室に置き去りにしてたのが、煙を吹いて動かなくなったという連絡があって。それを回収してそのまま20年近く放置してたのかな?それ以来、ハードディスクも火を入れずにずっとしまい込んでた。

ちなみに他にcompact XVIというかredzoneも所有していて、あとはサンデーネットが閉じる時にもらったXVIを所有してますが、両方とも電源が理由で死んでました。XVIも電源修理であっさり直ってますが、特に新しい話題はないのでEXPERTの修理の話を発掘しやすいようにまとめとこうと思います。

まずは電源から

という事で、まずは電源交換の本スレがこちら。

BEEPさんで購入した、同人サークルさんがセットで用意してくれたPico PSU換装キット。今回は日和ってまずは確実に動く状態にしようと安全側に倒しました。キットがなくても12V、5V、-12Vを拝借できれば良いので、この手のがなくなっても最悪どうにでもなるのかな、と思いました。今なら修理方法も世の中に出回ってるし、ヤフオクで交換部品のセットを安くまとめてくれてる人もいるので、そういうのを利用すれば数千円くらいで直せるんじゃないかな?Pico PSUだと5Vの供給が足りないかもアドバイスもあったので、Phantomで強力なラズパイを使うとか、拡張ボードを挿してるなんて場合は電源を修理した方が良いのでしょうね。

エラーが発生しました。リセットして下さい。

電源は入ったものの最初みたメッセージはこれ。やっぱり何か壊れてる?

って事で、この時点で一番怪しいのはSRAMのデータが飛んでる事態。まぁ、長年放置してたわけで、当然バックアップの電池は死んでますね。SRAMの内容が壊れてるとブートデバイスの情報も消えてるので、結果としてさっきの画面に飛ぶのかな。なのでOpt.1を押してFDから強制起動を試すことで先に進めます。まぁ、普通はここでFDDが死んでて起動できない気もしますが。しまい込んでたと言っても、ずっとマンション内で空調の効いた仕事部屋に安置されてたので状態は良かったようです。

電池交換

続けて電池交換はこちら。EXPERTだと+側の2端子のうち1つはN/Cなので、パターンを見て繋がってるほうにハンダしてあげて下さい。使ったのはCR2450だけど3Vならなんでも良いのかな?

電池が入ればOpt.1でHumanなりを起動してswitch.xで設定してやればエラーは出なくなります。

テキストVRAMの交換

何事もなければこれで修理完了だったんでしょうけど、残念ながら他にも壊れてました。

こんな感じで画面の上の方に点線が現れます。これだけなら少しノイズがあるだけで我慢できますが、テキスト面で画面上方となると、スクロール等で画面中にコピーされまくります。特にテキストはピクセル単位じゃなくプレーン方式なので、特定のプレーンだけゴミが撒き散らされて。用途によってはパレットをうまく使ってマスク用プレーンにしてたりするんで文字がまったく見えなくなっちゃったりします。

という事で奮闘開始したのがこのスレ。

まずはメモリーテストでテキストVRAMでエラーするのを確認。M51C262相当品は新品入手は難しそうだったのでAliExpressでリサイクル品を探して発注。HM53461ZPを見つけて購入しました。ワードアクセスと平行してシフトしながらビット読み出しもできる感じのマルチポートなのかな?こういうタイプのメモリは初めてだったので、変換ボード組んで載せ替えるとかは避けました。

メモリが届いてからは実際に壊れてるチップの特定作業。XVIとかはサービスマニュアルが公式から公開されてるけどEXPERTにはないんですよね。ただまぁ、そこまで変わってる部分じゃないだろうって事でXVIの回路図は確認しました。それでテキストVRAMはこの4bitのチップを4つ並べて16bitにし、各チップのメモリ空間がちょうど1プレーン分ある事がわかります。なので、それをx4で4プレーン分載せて合計16枚でテキストVRAMを構成してる。シルクで書かれてるIC番号は当然XVIとは違うけど、まぁ同じような順番だよねっていう想像もできるので、若い番号からプレーンごとに並んでるんだろうな、という予想もできます。

実際に壊れた箇所は自分でテストプログラムを書いて詳細に調べました。$00e60e00 - $00e60fff にかけてbit 10-11の2bitがhighにならなくなってたので、最終プレーンでbit 8-11を担当してるチップを交換すれば良い事になります。プレーン内の並びは回路図の信号名で当たりをつけてLSB側から並んでると判断。という事で、16個中の15番目のメモリが怪しい。

VICONから配線を追うことができればEnableがどこに繋がってるかで並びは確定できるんですが、拡張スロットの下にあって調べられませんでした。拡張スロットって外せるんですかね?

そんなわけでメモリ交換はシュッ太郎の出番。ただ電源ピンはかなり苦戦します。昔は原因理解してなかったんだけど、これって当時の基板はthermal reliefとか考えてなかったからですよね。ベタで繋がってるんで熱が逃げちゃうから基板全体を温めるか火力を上げるか、みたいな。この辺はベテランの人のノウハウを知りたいところなんですが、自分はわりと細いドリルで掘りがち。今回もチップは抜けたけどGNDの穴は再び塞がっちゃって。グリグリやって穴を確保しました。

という事で、EXPERTは左からplane 1の3:0、7:4、11:8、15:12、plane 2の同じく、plane 3、4って順に並んでるので、もしテキストVRAMが壊れて交換が必要って人がいましたら参考まで。

ハードディスク

SxSIでSCSI読めてたはずなんですが、どうもsusieで認識しない。ハードディスクも怪しいし、68も怪しいし、加えてPhantomを載せてたから問題の切り分けが難しい。という事で、ハードディスクはXVIを直してそっちで救出しました。SCSIボードも持ってたはずなんだけど、誰かにあげた記憶もあって見つからず。本体にSCSIついてるXVIで面倒だけど確実にチェックする方法を選びました。

ハードディスクのサルベージに関してはPhantomさんが本当にスグレモノで。SDカード上に仮想ディスクを作ってくれるので、ハードディスクが無事認識したらmintで仮想ディスクに全部コピーしました。奇跡的にも全部読めたんですよ、もうびっくりです。吸い上げたディスクイメージはクラウドとバックアップストレージに入ったので、たぶんもう僕の命より堅牢。

吸い出し後はPhantomを今回修理した長年の相棒でもあるEXPERTに戻し本格的に再運用を開始しました。

SxSIはおそらく自作で追加したパリティ回路の74が壊れてるんじゃないかと予想。バスリセットとかは飛んでディスクは反応してるんですよね。パリティエラーでネゴれてない印象でした。

2022年9月12日月曜日

ディスクロニア: CA 体験版 パズル&ステルス

岸上さんをはじめとするMyDearestのスタッフと作品のファンなので今回も体験版祭りに絡んでいきたいと思います。

共通部分

Quest2でかなり画面頑張ってる。いや、かなり綺麗ですよ、お世辞抜きで。


上の画像はゲーム内からAR的な表現世界に移動した時のスクリーンショット。VR内でAR的な表現っていう試みはアルトデウスの頃から実験されてましたが、今回は画面の表現力や動きもあってかなり説得力があります。やっぱり理想的なAR的表現はVRの中でこそ真価を発揮しますね。そして岸上さんが普段から叫んでる事は、だいたい作品に反映されてくるんだなって思いました(笑)そう言えばコントローラで自由に動き回れるようになったのは大きいですね。SFのようなARのある世界に生きてるって実感が湧きます。

そう言えばキャラクターの大きさがまだ一回り小さくなったかな?VRChatでもアバターは日々小さくなってく傾向にありますが(笑)。東京クロノスの頃は桃野夕が隣に座ると「うわっ、でかっ」ってなったんですが、今回はだいぶ自然なサイズ感です。ガチ恋距離っていうか、近くからふわっと腕に包まれそうになる表現もあったりするんですが、凄く自然に感じました。

演出面でも画面の魅せ方もいっそう洗練された気がします。UIが手前で派手に動いた後、すっと画面が引いて広い空間に放り出される等、遊んでいて「あっ」と思う表現が随所に散りばめられてます(そして、タイミングがシビアなのでなかなか写真に収められないぞ)。この辺は代表が率先して色々なVRゲーム遊んで、社員にも経費で遊ばせて、良いところはどんどん取り入れてきた結果なんじゃないかって思いました。

パズル


まずはパズルパートの体験版。VRゲームの定番の1つでもある空間内にあるアイテムに触って仕掛けを解除していきながら話を進めていくパートです。アルトデウスにもありましたが、MyDearest作品の特徴はなんといっても日本的なストーリー性の強い展開とキャラクターとの絡み。今回も健在です。アルトデウスはまだベースはビジュアルノベル系って感じのゲームであり、探索要素はVR体験を添えるためのオマケ的な意味合いが強かったですが、今回はかなりしっかりと探索です。
複数の部屋を行き来して謎を解きつつ仕掛けを解除して……と、体験版で遊べる範囲でも色々と楽しめます。主人公は過去に干渉する力を持つ……ってシュタゲみたいな設定が出てきますが、体験版で実際にみられる能力は物に宿った過去の記憶を読み特殊能力でした。なんだっけ?そういう話あったな……て、そうそうDéracinéだ!なんだ岸上さんオススメのゲームじゃん(笑)

1つの謎を解くための行動範囲がわりと広くて、部屋の移動とかデータ読み込みとか必要なんだと思いますが、その辺は相棒ロボットが「スキャン中……」とか言って不自然な待ち時間にならないような工夫があるように思えます。

ステルス


こっちはまだ写真等の公開禁止の秘密の体験版なので文字だけ。で、ステルスってなんだ?!って言うと、あれでした、スネーク!潜入アクション!!これもまた新要素ですね。実際にVR空間上で自由に移動して、敵の監視の目から障害物などの影に入って隠れつつ潜入。道具を使って敵の注意をそらしたり……なんてのもあります。前作まではあくまでテキストで進むストーリーに選択肢ベースで行動を選んでいったわけで、ちょっとしたアクション要素もありましたが、あくまで没入感を高めるためのおまじないでした。今回はアクション面でもだいぶ本格的になってます。かといって、そこまでガチャガチャ動くわけではないので、Phantomみたいに酔いが気になったりはしませんでした(いや、Phantomは酷いよ、いきなりカヤックとか酔わせる気まんまんだったから)。オノゴロとかバイオハザードよりもマイルドだったかな。でもまぁ、やはり自由に移動できるようになった事で広がったゲーム性や演出面でのインパクトは大きいです。インタラクティブ要素の没入感はだいぶ大きくなりました。

オープニング!


MyDearestさん作品のOPは毎回気になって感想書いてるんだけど、今回も体験版にはオープニングのおまけ付き!せっかくなので感想を!!

MyDearestさんは日本のアニメ的オープニングの表現をVR上で拡張して体験させるべく試行錯誤されてます。


今回のオープニングはこんな感じで影絵調の演出をベースにしてます。同じ殺人事件を扱った東京クロノスを思い出しますね。やっぱりサスペンス感!!カウボーイビバップも想い出しますね。

前作まではまだ空間を持て余しているようなところがあったんですが、今回は正面以外を観ても間が持つような空間の作りになってます。


立方体の空間の中に単色の帯を壁に沿わせて1周させてるのが特徴的です。1枚めのオレンジのがわかりやすいかな。これにより360度どこを観ても空間に一定の表現が詰まってる感じが得られてます。同時にアニメによくある斜め線のもたらすスピード感みたいなものが実現できて、まさに一石二鳥な表現。


アニメ調オープニングのVR的な表現を確立しつつあるのかな、と思いましたよ。みんなオープニング入れるのには苦労してるし、スクリーン置いてそこに投影って感じの延長線上になりがちなんだけど、パーティクルライム的な世界にもだいぶ近づきました。あとは端末の性能向上ですね。

って事で、発売が楽しみです。今回は細かいエピソード事に安価に小分けして発売になるのかな?発売してそれっきりたと、どんなに面白くても忘れ去られる世の中ですから、小出しにしてくのは良いんじゃないかな、と思います。アルトデウスの時はストア経由で公式アップデート情報のチャネルかな?そのへんを使って一般ユーザーのリテンション維持に苦労されてたみたいだし。今は定期的な追加コンテンツ追加と運営とかやらないとユーザーは付かないし、売り切りゲームには厳しい時代ですね。それに小出しならMetaのストアが高い値段付けられないって問題も解決できますし、大人になると重たいタイトルがどーんって出るより小出しの方がありがたいです(笑)そういえば同じクラファン系のR-TYPE Final2も小出しアップデートやってますもんね。時代の要請なのかな。

2022年1月1日土曜日

2021年のシューティングたち

ここ何年か遊んだシューティングをまとめてるので2021年も。

ちなみに積みゲー消化を始めてからのシューティングクリア本数は

2017年...9本
2018年...11本
2019年...12本
2020年...5本
2021年...8本

2021年に新たに1CCしたゲームは

GGアレスタ1
GGアレスタ2
コットンリブート
スラップファイト MD版 SPECIAL
R-TYPE Final 2
戦刃アレスタ Casual Mode
Xマルチプライ
デススマイルズ 追加5キャラ

今年達成した中だとXマルチプライが一番の高難易度かな?子供のころCD買って聞くしかできずに想像の中だけで楽しんでたゲームなので、今こうやってやりこんでクリアできたのは感慨深い。

GGアレスタは新作の3をやった後に旧作に進んだ感じだけど、どれも完成度が高く1CCを目指して遊ぶには敷居も低く、ちょっとずつテイストが違うのも魅力。これは現役時代に遊ぶべきゲームだったな、と思いました。

コットンリブートは話題にはなったけど、あまり遊んでる話を聞かないのが残念。現代風アレンジに成功してて、これが発売された時点では最高のコットンになってると思うんだけどなぁ。ぜひこのラインで過去の名作をアレンジ復刻し続けて欲しい。

MD版スラップファイトは古代先生のBGMとSPECIALモードが醍醐味だからNORMALクリア後もSPECIALを練習してました。パタン詰めないとクリアが難しい個所が何か所かあったかな。次はアーケード版がターゲット。NORMALは画面方向だけじゃなく若干システムが変更されて簡単になってるのよね。

R-TYPE Final 2はNORMALモードではノーミスクリアも達成。BYDOモードでも1CC。 実はシリーズで1CCできてるタイトルはなくて。今回家庭用難易度とは言え、1CCできたのは嬉しい。PsytranceなBGMも好き。

戦刃アレスタは老舗シューティングメーカーが悪魔合体して現代に蘇る世界線での新作って感じで(実際はcaveで最大往生の調整を任されてた小泉さんがインディーズでローリングガンナー発売後にM2に移籍して出す完全新作って事だと思うけど、エムツー周辺には元コンパイル/Raizingな人達が多いから、その辺りの影響ですかね)。ゲームシステム的にはオプション使って弾消したり、連射と長押し切り替えながらオプション位置を制御して攻撃したり。あと連続被弾しなければ回復してミスがなかった事になるっていうのはポカミスが増えるお年寄りには嬉しい機能なんですよw ボムが緊急回避じゃなく即時使用ドロップアイテムっていうのが少し特殊かな。あんま使い道わかってない。敵弾を跳ね返すっていう仕組みも斬新。ただうまく逃げないと直後に集中砲火を浴びるので慣れるまで緊急回避には使えないw

デススマイルズは初心者にも優しいシューティング。特にコンシューマ版はアーケードにあったレベル選択の制約がなくなって難易度をある程度自分で調整できるので比較的簡単に1CCまでいけるのでオススメ。お父さんとラスボスは難しそうだけど、ちょっとトレーニングモードで練習すれば慣れるので大丈夫。いまいち進め方がわからなかったらミカドの配信で必要最低限稼いで1CC狙う解説があるので、それでケーキと火山の稼ぎさえ覚えれば、あとはシューティングの真の楽しさがわかる良いタイトル。フォレットさんオススメ。配信後にしれっと座ってプレイし始める人がたぶんSteam版や360版でトップスコアの人なんだけど、見てると地獄で笑える。シティコネ版はランキングにバグがあったり、まだ十分なプレイデータが揃ってなかったりとかあるけど、落ち着いたら上手い人のデータ見てるだけでも楽しいかも。