Gigamix Online

懐かしの8bitおもちゃPC「MSX」を骨までしゃぶり尽くそう。MSXの最新ニュース、ブログ、自作ソフトの配布など。

Webアプリ多め!ネットで見つけたMSX向け開発関連ツールまとめ

【2022.07.30更新】画像作成・画像変換系アプリを別ページへ移動しました。

【2022.07.30更新】開発・プログラミング系アプリ を追加しました。

 ネットで見つけたMSX向け開発関連ツールをまとめました。嬉しいことに最近どんどん増えてきました。WebアプリでリリースされているツールはPCだけでなくスマホでも動くかもしれませんね!?

https://p.gigamix.jp/devmsx/cg/msx-utils_title.png

 画像変換・スプライトエディタ等の画像編集ツールは別ページにてまとめています。

gigamix.hatenablog.com

音系アプリ

MGSDRV関連アプリ

 ミュージックドライバ「MGSDRV」に関連する各種アプリはMGSDRVのページにてまとめています。

gigamix.hatenablog.com

PSG Pad(オンライン PSGエミュレータ

自作のPSG&MMLエミュレータ「PSG for Web」のポータルページを作りました。作例動画もありますので、ぜひご覧ください。https://t.co/l46snOOu3v BASICのPLAY文のMMLに対応しているのがhttps://t.co/ljk6PlX0Dzにはない特徴です。ブラウザで簡単に試せるツールもあります。#PSG #MSX #エミュレータ — みなしん (@shingo_minagi) 2021年7月29日

 Webブラウザ上でMSX BASICのPLAY文で用いるMMLを記述してPSGをエミュレートして発音する、Webアプリ。MSXマガジン「究極のPSGシステム」のMMLにも対応しているのが芸が細かい!

www.minagi.jp

lc2msxmml(LovelyComposer→MMLコンバータ)

LovelyComposerからMSX basic mmlファイルへの変換を整えたのでようやっと公開です ターミナルから直接呼び出せるwin用のビルドのリンクも載せてます 使い方はhttps://t.co/FRTOrvkseRを一読下さいhttps://t.co/VfYDtEmXmW — FuBuKi (@Van0fon) 2022年5月8日

 LovelyComposerで作成した楽曲データ(拡張子 .jsonl)を、MSX BASICのPLAY文で用いるMMLへ変換する、Windowsアプリ(Python実行環境も可)。

とは言え1/2程度の時間で起動してくるおで、お試しでひとまずアップ 次回更新時にリンクも追加しとこう 最適化もlevel1まで実施済み、2はシンボル削り過ぎで起動せず cx_Freeze版、起動速度1/2, exeサイズ3倍 通常の3倍・・・https://t.co/eipy4oPqar#lc2msxmml — FuBuKi (@Van0fon) 2022年5月19日

MML2SMF(オンライン MML→SMFコンバータ)

twitter.com

 MMLからMIDI(SMF)ファイルを生成できる、Webアプリ。

KansasEncoder for MSX(オンライン テープ音シミュレータ)

33年前できなかったテープからのLOADコマンド、CLOADに初成功! Macを使った #MSX 実機クロス開発環境が整った#CMTケーブル はMIDIケーブルと簡単な電子工作で代用可!https://t.co/0Okc5rmkid — 福野泰介 (@taisukef) 2019年4月7日

 Webブラウザ上でBASICプログラムをCLOAD音へ変換できる、Webアプリ。"PLAY"ボタンを押すと、ピーーーー、ギョロギョロギョロっと懐かしの音がします。

fukuno.jig.jp

Waveファイルのフォーマット変換(オンライン MSX turbo R向けPCMデータ作成)

WindowsのPCM(WAVE)データのフォーマット変換はこちらのWebサービスで行いました。https://t.co/r4OEvJqyGK MSX(turboR)互換のデータにするには ①ビット「符号なし8bit(PCM)」、②周波数はL側に3875 or 5250 or 7875 or 15750のいずれか、③チャンネル「モノラル(1チャンネル)」を指定して出力。— Takashi Kobayashi (@nf_ban) 2020年9月4日

 各種WAVEデータ(拡張子 .WAV)の相互変換・周波数・チャンネルの変更が可能なWebアプリ。MSX turbo R規格で採用されたPCMデータをWindows PC等で作成する際に便利です。

www.petitmonte.com

 MSXのPCMデータは以下の仕様となっていますので、それに合わせて変換しましょう。

  • ビットは、符号なし8bit(PCM)
  • 周波数は、4種類のいずれか。3.875kHz、5.25kHz、7.875kHz、15.75kHz
  • チャンネル数は、1(モノラル)

 変換したWAVEデータをMSXで使用する場合は、WAVEデータのヘッダ情報を削除する必要がありますMSX BASIC上で読み込む(ロードする)にはBSAVEヘッダを付与する必要もあるかもしれません。

WAVEデータ形式のフォーマットは以下のWebページが参考になりました。https://t.co/pHzWZfcn5d 先頭40バイトは _LOAD にオフセット付けて読み飛ばし、dataチャンクの波形バイト数の2バイトだけ _PEEKW で把握して(MSXだから2バイトで十分)、データの4バイト目から波形バイト数分をPCM再生。お手軽! — Takashi Kobayashi (@nf_ban) 2020年9月4日

 なお拙作ミドルウェア「DMシステム2」https://gigamix.jp/ds2/ では、BSAVEヘッダの有無問わずMSX BASIC上でロードすることができます。

gigamix.jp

WebAssembly VGM Player(オンライン VGMデータ再生)

MSX系の音源(YM2413 Y8950)もWebブラウザ上で再生できるらしい!?おれVGMデータは持ってないので試せないけど、お持ちの方はぜひお試しあれ… https://t.co/qJEXFs3SeS — Takashi Kobayashi (@nf_ban) 2022年6月23日

 各種レトロゲーム・レトロPCのVGM形式音楽データをWebブラウザ上で再生できる、Webアプリ。MSXにゆかりのあるFM音源(YM2413、Y8950)にも対応している!!

chipstream.netlify.app

開発・プログラミング系アプリ

MSXPen(オンライン MSX向けプログラミング環境)

88ユーザーの友達が見せびらかすオープニングの星の流れを指を加えて見ているしかなかったMSXユーザーだった俺は仕方なく自分で星が流れるプログラムを作って自分で慰めていたのだけれど、その後TAKERUから発売されたんだ… https://t.co/uMHwLgpUao #MSXPen #MSX #ソーサリアン #ソーサリアン33周年 — Takashi Kobayashi (@nf_ban) 2020年12月20日

 言わずと知れた、Webブラウザ上でMSX向けプログラミング(MSX BASIC・Z80アセンブラ)が行える、Webアプリ。行番号の自動入力、予測変換可能。URLのシェアリングもできる!

msxpen.com

MSXのスクリーンモードとスプライト定義(カラーパレット)の違いを見るプログラム https://t.co/3Q2a1H0HX7 #MSXPen #MSX スプライト4枚ORの重ね合わせで16色出す。自然画モードもパレット変更可能。SCREEN8だけがパレット変更できず固定色。SCREEN6はパレット変更できるけどスプライト表示が崩れる。 — Takashi Kobayashi (@nf_ban) 2021年1月25日

8bitworkshop IDE(オンライン レトロPC向けIDE

追記)こちら「8bitworkshop」版で虹(一部)URLシェア機能こそ無いものの、アセンブラ、メモリ、VRAM、Z80&VDPレジスタ、スタックまで表示!単純逆アセ、ステップ実行も「全部ブラウザで出来る」超絶物凄いページ!ASMはC-BIOS絶対なのでROM化前提のヘッダ記述に注意 #MSXhttps://t.co/zanoj7Clhz pic.twitter.com/rzcyNqPQlT — 1re1 (@1re1) 2021年9月22日

 Webブラウザ上でMSXを含む各種レトロPC向けプログラミングが行える、Webアプリ。ROMイメージをZ80アセンブラC言語で作成できる!

8bitworkshop.com

追記)しかも 8bitworkshop IDE は、ですね?「何と!「C言語で」MSXのプログラミングが出来ちゃうのですよ!しかもこれもブラウザで!!!」 環境揃える必要無し!うむ。わけがわからない。素晴らしい! #MSXhttps://t.co/qD0wWd4V4w pic.twitter.com/ovsKbXHQ9U — 1re1 (@1re1) 2021年9月22日

JatoBAS(オンライン MSX BASICシミュレータ)

Webブラウザ上からBASIC言語でコーディングするとJavaScriptに変換されて結果がわかる「JatoBAS」というWebアプリがなぜかMSXのSCREEN2に対応していて、思わず声が出た。🤣MSXPenの @jannone さんが作成。どういう仕掛けなのだろうか。凄!https://t.co/3OFjPtZ7w6 pic.twitter.com/uo6gy4OgiU — Takashi Kobayashi (@nf_ban) 2022年5月15日

 Webブラウザ上でMSX BASICのプログラムをJavaScriptへ変換し実行できる、Webアプリ。いわゆるMSXエミュレータではありませんが…どういう仕掛けで動くの!?

msx.jannone.org

ASM80.com(オンライン Z80クロスアセンブラ

 Webブラウザ上で稼働する、オンラインZ80 ASMエディタ。Z80のほか、8080・8008、6502等のCPUにも対応。出力がintel HEX形式のテキスト。

www.asm80.com

BiT =](オンライン Z80クロスアセンブラ

 Webブラウザ上で稼働する、オンラインZ80 ASMエディタ。ニーモニック、待機状態/クロックサイクル、ラベルに関する情報をリアルタイムで表示可能。

msx.jannone.org

Tonyu System 2(オンライン ゲームプログラミング環境)

 Webブラウザで動くHTML5のゲームをWebブラウザ上で開発できるというゲームプログラミング環境の「Tonyu System 2(通称「Tonyu 2」)」が、なんとMSXのバイナリ出力に対応。

www.tonyu.jp

 Tonyu 2のプログラミング言語JavaScriptライクの独自言語で、Tonyu 2が提供するゲーム用ライブラリとリンクしてHTML5対応Webブラウザ上で動作します。ほぼJavaScriptで組んだプログラムが、MSXマシン語コンパイルできる、って…凄くないですか?

Z88DK(Z80向けクロス開発キット)

 Z80 CPUに特化した、最近人気のCおよびアセンブラ開発キット。世界各国で発売された100種類以上のZ80を用いたコンピュータに対応しており、MSX向けバイナリも出力可能。

www.z88dk.org

 導入事例はこちらのブログが参考になります。

another.maple4ever.net

qiita.com

SDCC(Small Device C Compiler)

 Z80ほか小規模マイコンに対応する、定番のクロスC言語コンパイラ

sdcc.sourceforge.net

 導入事例はこちらのブログが参考になります。

aburi6800.hatenablog.com

PasmoZ80用 クロスアセンブラ

 Z80 CPUを用いた複数のプラットフォームに対応する、クロスコンパイラ。MSX用バイナリの出力も可能。

pasmo.speccy.org

zma(Z80R800用クロスアセンブラ

github.com

 いわゆるZ80アセンブラに独自機能を追加し、R800 CPUにも対応した、クロスアセンブラ。Zilogニーモニックとzmaで表記が少し違うところがありますが、慣れの問題かも。

hra1129.github.io

 zmaを用いたサンプルプログラムもあります。

asMSX(MSXに特化したZ80クロスアセンブラ

メモ)よし決めた。方向性はSDCC(sdasz80)とasMSX。pasmoは楽だったけど64K以上非対応。asMSXは標準で疑似命令&メガロム対応なのが良い点で、そもそもMSX用特化Z80 ASM。更新止まっていなければ今頃MSX最強アセンブラだったのかなぁ。 — 1re1 (@1re1) 2018年4月19日

 MSX向けZ80クロスアセンブラメガロム形式のバイナリを作成できることが特徴

github.com

XSM(Z80用 クロスアセンブラ

github.com

 いわゆるZ80アセンブラではなく、既存のC言語Javascriptライクな文法を使えるようにしたアセンブリ言語。今どきはこちらのほうが組みやすいという人も居るかもしれません。

asm8(Z80用 クロスアセンブラ

普段使っている自作アセンブラ(Z80)を公開してみました。https://t.co/90re12dveJ GitHubには4CPU分あります。(説明書を書くのがつらい)https://t.co/BwFr9txWeK — いぬふと(ステマニP) (@mxb03523) 2021年11月21日

 国内外問わずありとあらゆるレトロPC向けゲームソフトを開発する、いぬふと(ステマニP)さんのクロスアセンブラ。自身のゲーム開発で実際に用いているもので、Z80のほか6800、6809、6502、TMS9900にも対応。

Sjasm(Z80用 クロスアセンブラ

 MSX-DOS2の後継OS「Nextor」を開発する、KonamimanさんのZ80用クロスアセンブラ

github.com

Visual Studio CodeMSXアセンブラ拡張機能

 Z80アセンブリソースコードからクロックサイクルおよびバイトコードサイズを表示する、 Visual Studio Codeの機能拡張。Z80 CPUを採用するMSXではいわゆるM1待ち時間が必要なので、この拡張機能はM1待ち時間も測定できます。

github.com

hoja(ほおじゃあ, Z80アセンブラ

 '90年代のパソコン通信時代にフリーウェアとして公開されてから今もなお愛される、大場正輝さんが開発するZ80アセンブラの定番ツール。2017年にアップデートし、WindowsmacOSUNIXなどMSX実機以外のプラットフォームにも対応。

www.nabeta.tk

BDS C(8080/Z80 C言語コンパイラ

 CP/MまたはMSX-DOSのような8080/Z80を用いる8bit OS向けの老舗C言語コンパイラ。当時38,000円で販売されていたそうですが、2002年にパブリックドメインとされ現在は無料で使用可能。

www.bdsoft.com

 BDS Cは古いK&R Cのサブセットであり新しいANSI Cではありません。前述hojaの大場正輝さんのWebサイトでBDS Cを補完するツールが発表されていました。

www.nabeta.tk

asu ihex2bin(インテルHEX→バイナリ変換ツール)

 インテルHEXファイルからバイナリファイルへ変換する、Windows用のアプリ。

www.nabeta.tk

asu bloadmake(MSX BSAVEヘッダ付加ツール)

 MSXのバイナリファイルにMSXのBSAVEヘッダを付加する、Windows用のアプリ。通常のバイナリファイルはMSX BASICでデータを読み込むことができませんが、バイナリデータにBSAVEヘッダを付与することで、BASICのBLOAD命令で読み込むことができます。

www.nabeta.tk

MSXBas2Asm(MSX BASIC→Pasmo ASM変換ツール)

#MSX)関連)MSXBas2ASM、どうも姉妹ツールらしい。こちらは Z80 アセンブラの pasmo 併用。途中でASMファイルを出力してくれる。https://t.co/3DLwn4Ey4B — 1re1 (@1re1) 2020年11月24日

 詳細不明。どういうこと!?

launchpad.net