新しいものを表示


MSXFAN付録ディスクで作ったMSX2版ザナドゥ。起動するとドライブBにユーザーディスクを入れろと言われるが、現状MSX0ではBドライブのディスクをセットしたり入れ替えたりが出来なそうだから厳しいかも。MSX0は2ドライブ構成の前提で起動するそうなのでこうなってしまう?


アタリ9ピンジョイスティックの信号を入力し、その内容に合わせてMSX0付属のFacesII Joypadと同じ値にしてI2Cマスターに返送するArduino UNO用のスケッチとシールドを作ってみた。MSX BASICのSTICK関数やSTRIG関数で値が取れたので基本の動作は大丈夫なようだ。

付属のFacesII JoyPadからの入力をArduinoで読み取らせたところ、
↑ 254 11111110
↓ 253 11111101
← 251 11111011
→ 247 11110111
A 239 11101111
B 223 11011111
SELECT 191 10111111
START 127 01111111
という感じになった。
押されたボタンに応じてビットを0にしている(同時押しは同時に複数ビットを0にする)ということのようだ。


i2c_aだったらIOTGETできたりしないかなと繋いでみたが状況変わらず。Arduinoからも試してみよう。
(ちなみに写真に写っているUNOは3.3V電源を取るためのもの)


Raspberry pi pico WとMSX0をI2C接続。
MicroPythonのI2Cライブラリってイベントハンドリング的なコード書かない感じなのかな?ある意味BASICっぽい

なんか弊ブログのアクセス数が激増したから何かバズったか?と期待したけど、単純にオランダ方面からBloggerに攻撃でもあったのかねこれ


喜びもつかの間、スタートするとマップがまっさらな空間で遊べないww
というオチがついてしまったww
まあ、実験だから、実験w
QT: fedibird.com/@mobileff/1112348
[参照]

MobileFF  
#msx #MSX0 クソダサバグにもめげず、実機で自作プログラムで吸い出しておいた初代ドラゴンスレイヤーをMSX0で起動できたよ。 ディスクに入ってるROMダンプの内容を1バイトずつWRSLTで書き出して、終わったらDEFUSR=0:A=USR(0)でソフトリセットで起動。書き込むのに10...


クソダサバグにもめげず、実機で自作プログラムで吸い出しておいた初代ドラゴンスレイヤーをMSX0で起動できたよ。
ディスクに入ってるROMダンプの内容を1バイトずつWRSLTで書き出して、終わったらDEFUSR=0:A=USR(0)でソフトリセットで起動。書き込むのに10分以上かかる、ROMのくせにテープ版なみのロード速度ww
あくまで実験なので、ソレで良いのです。

MobileFF  
#MSX0 WRSLTでスロット3-0の4000H〜に書き込みするとリセットかかるのなんでだろう


_IOTPUT("msx/u0/drive/a","DSKファイル名")でディスクの入れ替えができるかと思ったんだけど、ちょっと微妙な挙動をするのなんでだろう?

あ、ちなみに信号の位置はこれ。Faces Keyboardの裏面に書いてあるとおりなんだけどw

QT: fedibird.com/@mobileff/1112131
[参照]

MobileFF  
#msx #MSX0 配線の道具が揃ってないので、かなり見た目は酷い感じになってしまったが、FacesからI2C信号(SDA,SCL,GND)を直接取ったらI2CデバイスとしてIoT BASICからノードパス"device/i2c_i/xx"としてArduinoのI2Cスレーブを認識できた。...


配線の道具が揃ってないので、かなり見た目は酷い感じになってしまったが、FacesからI2C信号(SDA,SCL,GND)を直接取ったらI2CデバイスとしてIoT BASICからノードパス"device/i2c_i/xx"としてArduinoのI2Cスレーブを認識できた。
keyboardやjoypadのデバイスIDは0x08だが、それ以外のIDでも大丈夫なようだ。


qiita.com/ht_deko/items/b284cb
教えていただいたこちらの記事のとおりにしたら、MSX用のジョイスティックが使えた!
ザナックもまともなコントローラで遊べる!
リモートコントロールパネル(リモデアプリ)の追従性も意外に良いので、画面も普通サイズで見れるので、夢が広がるー


この間投稿した、ポケコンからESP8266経由でMSX0のリモートコンソールに入力する実験、あれ実はMSX0側からの応答を無視して受信していなかった手抜きverだった。なのでちゃんと受信も実装してみた。


リモートコンソール経由でテキストコピペでBASICプログラムを送る場合、最後にSAVEコマンドと改行のみの行を入れておき、まるっとコピペすると、転送と同時にMSX0側のディスクに保存もできて手間いらず。アナログなTIPSですがw
なんなら先頭行にnewコマンド入れておいたら既存のソースも混ざらないし尚良しかな?


_SYSTEMでエラーになる!これはもしや噂のmicroSDの相性問題・・・と一瞬思ったが、SAMPLE.DSKにMSXDOS.SYSがないだけだよねw


準備は万端。ATARI9ピンオスコネクタはジャンクのFC互換機から取り外した。タクトスイッチ類はついでに取っておいたもので今回の件にはあまり関係ないw


さっそくきた!
これでMSX汎用入出力ポート(いわゆるジョイスティック端子)の挙動が実験できる!


ヤマハのFM音源を実装したYMF825board(SPIでデータ送信して演奏)にMSX0から演奏データを送ってドレミファソの音出し。Arduinoが仲介してI2C→SPIに変換している。


MSX0=I2Cで送信
→ArduinoMiniPro=I2Cで受信+SPIで送信
→ArduinoUno=SPIで受信
の図。とりあえずうまくいっているようだ。SPIスレーブを別のデバイスにしていろいろ試したい。

古いものを表示
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。