Gigamix Online

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

MGSDRV:楽曲データ置き場まとめ

随時更新中。見つかり次第随時追加してゆきます。

 PCやスマホで聴くもよし、MSXの実機で聴くもよし。MGSDRV形式の楽曲データをインターネットで配信しているクリエイターさんの配信先URLをまとめました。楽曲の提供に深く感謝します。

https://p.gigamix.jp/mgsdrv/cg/music-resource.png

 ちなみにMGSDRVの概要・ダウンロードは、こちらのリンクからどうぞ。 www.gigamix.jp

らいきんぐ!さん

MSXplay作品集 (by らいきんぐ!) min.togetter.com

aro(aro.hiro74)さん

MSX作品集(SCC音源によるWSG音源再現集) twitter.com

うにスキーさん

githubのMuSICA & MGSDRVファイル置き場 github.com

ぎゃぶねこ(gyabuneko)さん

www.nicovideo.jp

コイチロ(Koichiro)さん

Koichiro's MSX works xirco.html.xdomain.jp

ぱるぷさん

parupu.hatenablog.com

Pt.Macumbaさん

K.H.(焼飯太郎)さん

DSAさん

github.com

drmDRM Soundwork)さん

www.youtube.com

特定のWebページが存在しないけどtwitterで楽曲を公開されている方々

楽曲データをネットでシェアしてみませんか?

 2021年の今ならWebブラウザhttps://msxplay.com/ へアクセスしてデータファイルをドロップしたりMMLを貼り付けるだけで楽曲が演奏できる・シェアできるいい時代になりました。

 1990年代のパソコン通信全盛期に作ったデータをお持ちの方、久しぶりにMMLを書きたい・最近MMLを書いたという方…ぜひ MSXplay.com でお手持ちのMGSデータを使ってみてください。

 識者のみなさま、情報をありがとうございます。

MGSDRVのトップページ → https://www.gigamix.jp/mgsdrv/

MSXPenで半角ひらがなやGRAPH文字などの特殊文字を入力する方法

 PCやスマホでは文字として存在しないMSXの「半角ひらがな」や「GRAPH文字」を、MSXPenの入力フォームでどうやったら入力できるのか?

https://p.gigamix.jp/devmsx/cg/msxpen-special-codes.png

 実は全角文字で入力するとMSXの半角文字へ自動的に変換されます。記事の後半に、コピペ用文字列があります。

MSXPen とは

 MSX BASICによるプログラムおよびZ80アセンブラコードをWebブラウザ上で作成および実行できる、仮想プログラミング環境です。ソースコードをWebの入力フォームに入れるだけ!スマホでも動きます!

msxpen.com

 Webデザイナー界隈でよく使われる「CodePen」というHTML・CSSJavaScriptのコーディングシェアサイトがあるんですが、私はMSXPenはWebブラウザで動作するMSXエミュレータ「WebMSX」の実行環境をカスタマイズしてコーディングシェアできるようにしたWebサービスという認識です。

https://codepen.io/

webmsx.org

日本語の特殊文字

 MSXの仕様上、基本的にシフトJISコードで入力できる文字はそのまま利用可能です。つまり「半角カタカナ」や「カナ記号」は半角文字のまま入力できます。

 Webブラウザ上から入力できないMSXの「半角ひらがな」と「GRAPH文字」は、全角文字で入力するとMSXの半角文字へ自動的に変換されます。全角カタカナも半角文字へ置換されます。

Here it is @nf_ban , half-width characters 🙌https://t.co/SLnwWIOYHw — jannone (@jannone) 2020年8月24日

 ちなみに濁音・半濁音の文字は2文字に分解されて置換されます(「ガ」→「ガ」)。

入力できる特殊文字

  • 【GRAPH文字】♠♥♣♦○●月火水木金土日年円時分秒百千万大中小π┴┬┤├┼│─┌┐└┘╳
  • 【半角ひらがな】をぁぃぅぇぉゃゅょっあいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわん
  • 【半角カタカナ】ヲァィゥェォャュョッアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン
  • 【半角カタカナ】ヲァィゥェォャュョッアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマ"ミムメモヤユヨラリルレロワン
  • 【カナ記号】。「」、・ー゛゜
  • 【カナ記号(半角文字)】。「」、・ー゙゚
  • 【半角ひらがな(濁音・半濁音)】がぎぐげござじずぜぞだぢづでどばびぶべぼぱぴぷぺぽ
  • 【半角カタカナ(濁音・半濁音)】ガギグゲゴザジズゼゾダヂヅデドバビブベボパピプペポ

入力できない文字

MSXPenでGRAPH文字や半角ひらがな等の特殊文字を入力する説明として全ての文字を全角文字にしてBASICリスト化したのだけれど、全角英数字を半角文字へ置換する処理を作者さんへ依頼するのを忘れていて、現状エラーが出ちゃう。うっかりしてた。https://msxpen.com/codes/-MUCFjmMgHLjdD-CEzwd #MSXPen #MSX - Takashi Kobayashi (@nf_ban) 2021年2月23日

 全角英数字は正常に入力できません。半角文字への置換処理が無いため。

コピペ用文字列

100 REM Japanese codes for MSXPen
110 REM " 月火水木金土日年円時分秒百千万"
120 REM "π┴┬┤├┼│─┌┐└┘╳大中小"
130 REM " !”#$%&’()*+,-./"
140 REM "0123456789:;<=>?"
150 REM "@ABCDEFGHIJKLMNO"
160 REM "PQRSTUVWXYZ[¥]^_"
170 REM "`abcdefghijklmno"
180 REM "pqrstuvwxyz{|}~"
190 REM "♠♥♣♦○●をぁぃぅぇぉゃゅょっ"
200 REM " あいうえおかきくけこさしすせそ"
210 REM " 。「」、・ヲァィゥェォャュョッ"
220 REM "ーアイウエオカキクケコサシスセソ"
230 REM "タチツテトナニヌネノハヒフヘホマ"
240 REM "ミムメモヤユヨラリルレロワン゛゜"
250 REM "たちつてとなにぬねのはひふへほま"
260 REM "みむめもやゆよらりるれろわん"
270 END

英語版の特殊文字

@jannone Hi, I tried input the international codes 0x80-0x9F on #MSXPen refer to https://t.co/8UNdk2bAX8 , but i could't print.🤔 Please how to input these codes? https://t.co/Ur65yZbOaD — Takashi Kobayashi (@nf_ban) 2021年2月16日
I checked it. It's going to need a special converter just like I did last time for Japanese characters. It will take some time, because I still have some other tasks for MSXPen. But we'll get there eventually 💪 — jannone (@jannone) 2021年2月16日

 英語版の特殊文字はまだ入力できないようで、対応予定とのこと。

コピペ用文字列

100 REM ÇüéâäàåçêëèïîìÄÅ
110 REM ÉæÆôöòûùÿÖÜ¢£¥₧ƒ
120 REM áíóúñѪº¿⌐¬½¼¡«»
130 REM ÃãĨĩÕõŨũIJij¾∽◊‰¶§
140 REM ▂▚▆🮂▬🮅▎▞▊🮇🮊🮙🮘🭭🭯🭬
150 REM 🭮🮚🮛▘▗▝▖🮖Δ‡ω█▄▌▐▀
160 REM αßΓπΣσµτΦΘΩδ∞φε∩
170 REM ≡±≥≤⌠⌡÷≈°∙·√ⁿ²■

ソースコードが含まれる画像をOCRで入力する方法

#MSX #DumpListEditor の暫定MSX対応版を作ってみました。現在は、BASICプログラムの入力&表示しかできません。プログラムはMSXPenに張り付けて実行して下さい。↓下記ページからダウンロードして下さい。BASICプログラムの作業方法も簡単にまとめてあります。https://t.co/Rg4MyeqidK pic.twitter.com/PYhLqFkZD0 — bugfire2009 (@bugfire01) 2021年2月20日

 MSXでの用途では今までありそうで無かった!画像のOCRでテキストデータ化する、twitter@bugfire01さん開発のアプリ。プログラミング雑誌に掲載されたプログラムをスキャンした画像をこのアプリに放り込むと…!?

MSX文字コード一覧

 Wikipedia および MSX Resource Centerの情報を参考にしています。

MSX character set - Wikipedia

MSX Characters and Control Codes - MSX Wiki

 他にも便利な入力方法がありましたら情報をお待ちしております。→ twitter@nf_ban

MSXのソフトを今から開発するのに便利なデータ圧縮・展開ルーチンまとめ

【2021.3.1更新】Exomizer3 リンク先URL間違いのお詫び を掲載しました。LZ4DMVはBSDライセンスである旨を追記しました。

 MSXZ80 CPU)向けでゲームソフトなどの組み込みに利用可能な、データ圧縮・展開ルーチンをまとめてみました。他にも見つかり次第追加してゆきます。

https://p.gigamix.jp/devmsx/cg/data-compress.png

Exomizer3

とは言え1990年代ならそれで十分だったんですけどデータ圧縮のアルゴリズムは進化していて、1994年のBPEで22196バイトだったものが2020年のExomizerなら18020バイトですよ。MSXで4KBも空くのは大きい。DMシステム2にBPEの展開機能は入っていますが、今ならExomizerや他のものを採用すべきでしょうね。pic.twitter.com/mVkKDmLH4U — Takashi Kobayashi (@nf_ban) 2021年1月2日

Exomizer3 リンク先URL間違いのお詫び(2021.3.1)

当ブログで紹介させていただいたZ80CPU向け圧縮アルゴリズム・Exomizer3のリンク先URLがzlibライセンスでないもので紹介してしまいました。正しくは内藤さんご指摘のURLです。お詫びして訂正させていただきます。申し訳ありませんでした。 — Takashi Kobayashi (@nf_ban) 2021年3月1日
 当ブログで当初紹介させていただいたExomizer3のリンク先URLがzlibライセンスでないもので紹介してしまいました。正しくは内藤さんご指摘のURLです。お詫びして訂正させていただきます。申し訳ありませんでした。

LZEe - LZE enhancement for Z80

@gorry5 さん作の -lze圧縮展開プログラムをC#にベタ移植した lze.cs -lze展開ルーチンをZ80で記述した lzdec.mac http://akiba.geocities.jp/cibi4wm5/lze_cs_z80.zip としてアップロードしました。Z80で軽い展開プログラムが欲しい方は試してみてください。 lzeについては http://gorry.haun.org/pw/?lze をご参照ください。 — Kei Moroboshi(諸星圭) (@kmoroboshi) 2019年3月11日

LZ4DMV by ipheion78(LZ4)

ROMまたはRAMにあるLZ4圧縮データをMSX2のVRAMへ直接展開するやつを作りました。ソースコードの需要があるかどうかわかりませんが上げときます。ご査収くださいませ。https://t.co/FiFwxE7Ozt #MSX pic.twitter.com/WfPIqQgGWy — むらかたとうじ/村方凍二 (@ipheion78) 2021年1月24日

BARGAIN

#MSX BARGAIN 14.23: MSX impage compression suite BARGAIN has received yet another series of optimizations. r... http://t.co/9lhLlQKVmF — MSX Resource Center (@msxorg) 2013年4月18日

MAGフォーマット(MAG形式)

MA5(孫, まご)・MA7(愛, まな)

  • 作者:夢神楽遊睡さん(Genuine Network)
  • 配布先:http://sakuramail.net/fswold/graphic.html
  • 動作環境:MSX2 以降, MSX-BASIC, MSX-DOS(2)/Nextor
  • データ圧縮環境:MSX-DOS(2)/Nextor, MAGセーバの動作する機種
  • データの配置先と展開先:RAM(ROM) → VRAM
  • 組み込みライセンス:提示条件に準拠すること

XMGS・BAMP・護送バス

  • 作者:たろさん
  • 配布先:http://sakuramail.net/fswold/basic.html
  • 動作環境:MSX2 以降, MSX-BASIC
  • データ圧縮環境:MSX-DOS(2)/Nextor, MAGセーバの動作する機種
  • データの配置先と展開先:RAM(ROM) → RAMまたはVRAM
  • 組み込みライセンス:提示条件に準拠すること

EDCOM3+MA57

  • 作者:杉山夏樹 さん
  • 配布先:https://www.vector.co.jp/vpack/filearea/other/msx/edcom
  • 動作環境:MSX2 以降, MSX-BASIC
  • データ圧縮環境:MSX-DOS(2)/Nextor, MAGセーバの動作する機種
  • データの配置先と展開先:RAM(ROM) → RAMまたはVRAM
  • 組み込みライセンス:プログラムの転載・再配布は自由。連絡不要

BPE(Byte Pair Encoding)

実機(FS-A1ST)でフロッピーディスクからデータ読み込み+BPE展開する動画。やっぱりR800モードは速いです。 pic.twitter.com/BC16fDNIA7 — Takashi Kobayashi (@nf_ban) 2021年1月2日

BPE圧縮は「辞書のバッファサイズ」を可変できます。デフォルトは4096バイトで、最適なサイズは実際に圧縮しないと分かりません。調べるのが面倒なら -aオプション(自動判別)もあります。SCREEN8画像は、54279バイト 辞書 4096 → 23307バイト 自動判別 → 23436バイト …っておい!(たまにあります) pic.twitter.com/O3TvXTYwI7 — Takashi Kobayashi (@nf_ban) 2021年1月2日

 他にも便利なルーチンがありましたら情報をお待ちしております。→ twitter@nf_ban

あとがき

1990年代は「MAGフォーマット(MAG形式)」が望まれていた件

 MAGフォーマットについては別記事にするかもしれませんが、とりあえずここに入れておきます。

 当クラブで採用していた圧縮アルゴリズムの「BPE(Byte Pair Encoding)」は画像だけでなくBGMデータやマシン語プログラムなど画像以外のデータ圧縮用途も想定していて当時はそこそこ高性能なものであったと自負していたのでしたが、MSXの同人ソフトを開発する個人・サークル(いわゆる「現場」)の方々にはあまり良い顔をされませんでした

www.gigamix.jp

それと、BPEというデータ圧縮のアルゴリズムを採用したことについては当時のサークルさんに色々言われた。「圧縮が遅い」…ごもっともですすみません。一番多かった要望は「MAG形式で展開したい」データファイルをMAG形式で保存して、他機種(98や68等)でも閲覧できるようにしたかったらしいです。んー — Takashi Kobayashi (@nf_ban) 2021年2月16日

 パソコン通信全盛の時代、画像のデータ圧縮と言えば「MAGフォーマット(MAG形式)」が当時のデファクトスタンダードでした。MSX・FANの付録ディスクにはMERONさん開発のMSX版MAGローダー・MAGセーバーが収録され、パソコン通信で公開された他機種のMAG形式CGも度々転載されていましたから、MAG形式はパソコン通信を利用していないMSXユーザーにも馴染みがありました。

MAG形式が好まれた主な理由(諸説あり):

  • 【相性の良さ】MAG形式は16色ないし256色の「手描きCG」に最適と言われており、色数が少ないMSXと相性が良いアルゴリズムだった(MAGフォーマットはPC-9801が発祥のコミュニティでしたがMSXからの利用も想定された仕様になっている)。
  • 【クロス開発】他機種(主にPC-9801)からMSXへ画像データを持ってくる等、他機種とのクロス開発に便利だった。
  • 【露出の拡大】MSX用のCGを他機種でも観られるように、データ形式をMAGにしておきたい。
  • 【開発の効率化】MSX用の同人ソフト(CG集や画像表示が主体のミニゲーム集)がリリースしやすい開発環境を他機種のコミュニティが欲しがった。

 ですので、一サークルの独自形式ではなくMAG形式をMSX-BASICでも利用したいというニーズが当時のMSXの同人ソフトコミュニティに現れていたと思っています。

だからさぁ…読んでもいいけど読みっぱなしはあかんよ。息子「マグロの本かと思った」いやどうみてもマグロだろう?「俺の知りたいマグロじゃなかったんだよ!」父ちゃんが昔知りたかったマグロ(MAGローダー)なんだよ!まぁいいから書棚から出したらしまってよ…という会話。 pic.twitter.com/24SuLQVYsQ — Takashi Kobayashi (@nf_ban) 2021年2月20日

 MSXの同人ソフトにおけるMAG形式の採用においては、福岡の「G-NET(Genuine Network)」主宰・夢神楽遊睡さん開発のMAGデコードプログラム「孫(まご, MA5, SCREEN5用)」「愛(まな, MA7, SCREEN7用)」の存在が大きいです。そのデコードプログラムを包括した拡張BASICシステム(いわゆるミドルウェア)も開発されていて、BASICプログラム上でMAG形式画像表示が可能になっています。

 2021年現在は圧縮率の高さで「Exomizer3」、展開速度の速さで「LZe」が優位のようです。当時の「MAG」は圧縮率の優位性と言うよりは利用シーンの多様さ、そして先行きが暗いMSXシーンからの緩やかなデータ移行手段として選ばれていた印象です。

HTML5版・MAGローダー(MAGフォーマットビュアー)

PCやクラウドストレージに溜まってる太古のMAGフォーマット画像データを見たいと思ったら、さあこのWebページへMAGファイルをドロップするのだ!助かる。 / “HTML5 まぐろーだー” https://t.co/fS4UNqplHA — Takashi Kobayashi (@nf_ban) 2020年8月30日

 今やWebブラウザ上でMAG画像が閲覧できる時代です。MAGフォーマットの画像データをお持ちの方はぜひ!

Multi Mente(通称MM) MSXの定番ファイルマネージャ(作者捜索&ビルド模索編)

【2021年3月8日更新】OKEIさん提供の「Multi Menteパッチ」が3月6日に更新されました。
【2021年2月20日更新】最新版(ver.2.07)の配布を開始しました。また、MMのソースコードを発掘し、調査中です。

 言わずと知れた、MSXフリーク必携の多機能ファイラー(ファイルマネージャー)アプリ。

https://p.gigamix.jp/multimente/cg/mm207_k-1.png

ダウンロード

ソフト名MM version 2.07
概要Multi Mente の略であり、DISK上にある様々なファイルを快適に操作出来るように作られたツールです。
対応OSMSX-DOS2/Nextor
作者MOGU
リソース 再配布版 MM207_K.LZH 2021.02.20, 41526 Bytes
再配布版 MM207_K.ZIP 2021.02.20, 40869 Bytes

 MMの最新版は「ver.2.07(テストバージョン)」です。正式配布版(安定版)は、以下の ver.2.03 です。

ソフト名MM version 2.03
概要Multi Mente の略であり、DISK上にある様々なファイルを快適に操作出来るように作られたツールです。
対応OSMSX-DOS2/Nextor
作者MOGU
リソース 原版 MM203_K.PMA 1995.02.14, 25228 Bytes
再圧縮版 MM203_K.LZH 2021.02.04, 21913 Bytes
再圧縮版 MM203_K.ZIP 2021.02.04, 21751 Bytes

確認済みの不具合および仕様

https://p.gigamix.jp/multimente/cg/mm207_k_okei-patch.png

 以下に挙げるいくつかの不具合はOKEIさん提供のパッチを当てることで回避できます。OKEIさんのWebサイト → http://www.ucatv.ne.jp/~kmizuo/

と思っていたのだが、OKEIさんがMultiMenteパッチの内容を再検討してNextor対応を含む新しいMMパッチの情報を昨日付けで公開して下さったため、当方で記事化するよりこっちが早くて確実だった。助かる!MSX界のレジェンドパッチワーカーによるウン年ぶりの更新を見逃すな!!https://t.co/srWxeNZviW pic.twitter.com/4wMrJjFONr — Takashi Kobayashi (@nf_ban) 2021年3月7日

 OKEIさんありがとうございます!!

2000年以降の年表示が崩れる(2000年問題

 MMは画面右上に現在の日時が表示されていますが、2000年以降の年表示が崩れる不具合があります(ファイル管理には影響がありません)。パッチを当てることで回避できます。

FAT16のストレージへアクセスできない(MSX-DOS2)

https://p.gigamix.jp/multimente/cg/mm207_k_fat16.png

 MSX-DOS2環境にて対応できる最大ストレージ容量はFAT12の上限である32MBytesです。32MBを超えるFAT16のストレージは本来であれば認識できませんが、DOS2用FAT16.COM(OKEIさん提供のアプリ)とパッチの併用で回避できます。

FAT16のストレージへアクセスできない(Nextor)

 NextorはFAT16のストレージに標準対応するMSX-DOS2の上位互換OSですが、Nextor上のMMはFAT16のストレージを認識できません。Nextor用のパッチを当てることで回避できます(DOS2用のパッチでは回避できません)。パッチはDOS2用とNextor用の両方を適用しておいたほうが後々便利かと思います。

ソート結果が書き込めない(Nextor・FAT16のみ)

Nextorフォーマット対策済のMultiMente、Yキーでソート結果を書き込もうとしても書き込めないっぽい…これは地味不便だ…。 https://t.co/u6DXZRZPMk — 大槻真嗣 (@s_ohtsuki) 2020年8月27日

 MMには、ファイルの並び順を自由に入れ替えて保存できるという「ソート結果の書き込み機能」があるのですが、NextorではFAT16のストレージではソート結果が書き込めない(無視される)ようです。FAT12のストレージでは書き込めます。

https://p.gigamix.jp/multimente/cg/mm203_k_sort.png

ANKフォントが文字化けする

メモリフル実装した奴、こうなるんだよなー。DRAMのチェックは全部通ったんだけど… - applesorce (@applesorce) 2021年2月19日

 ゆうくんさんのサイトによると、Slot0にプライマリのマッパメモリが存在するとANKフォントの表示が崩れるようです。外部ANKフォントの設定によって文字化けの不具合が回避できます。→ http://miyako.asablo.jp/blog/2017/01/08/8311605

 フォントはMSX Resource Centerにて配布しているようです。→ https://www.msx.org/

認識できるファイル・ディレクトリ数が255の制限がある

MSX のファイラ MultiMente は 255以上のファイルやディレクトリは無視されるけど,sharksym氏の M File Manager はそれ以上も認識される+2画面で最高.それぞれ一長一短があるので,MM と M と SofaRun を使いわけるのがベストと思う. pic.twitter.com/8ZYvPjyhFJ
— tyr105店員 (@tyr105) 2021年3月8日

 1ディレクトリに255以上のファイル・ディレクトリが存在すると256番目以降を認識できません。

MMの配布条件

 当クラブで配布する各種アーカイブの転載、配布は自由に行なって構いませんが、アーカイブの内容は変更しないでください。

 不明な点があれば、下記WEBページ、またはメールアドレスまでお問い合わせください。

 過去に流通したMMのLZHアーカイブに作者MOGUさんに関する住所などの個人情報を記載したドキュメントファイルが含まれていましたが、2021年2月現在これらはアクセス不能となっておりますので、当サイトで配布するアーカイブではドキュメントを修正させていただきました。よろしくお願いします。

連絡先

MSX Club Gigamix
Website https://www.gigamix.jp/
Twitter @nf_ban (Takashi Kobayashi)
E-mail nf_ban@gigamix.jp (Takashi Kobayashi)

あとがき

配布条件の確認の経緯

 MMの配布条件は「同梱ファイルの内容を改変する事なく配布することによってのみ転載可(アーカイバの圧縮方式変更は可)」「転載先等を事後報告可」になっていますが、MMの最新版(ver.2.07)はテストバージョンであるので転載・配布は一切厳禁と指定されていました。

ファイラーMM(Multi Mente)の配布条件を改めて確認してみると、最新版のver.2.07はテストバージョンだから転載・配布禁止と書いてある。今使ってるMMはテストバージョンだったのか。正式版の2.03ではその文面が消えているから、つまりそういうことなんだろう。だから1chipMSX同梱のMMはv2.03なのか… pic.twitter.com/tJonVJfpxi — Takashi Kobayashi (@nf_ban) 2021年2月1日

 正式公開版(ver.2.03)は「テストバージョンである」「転載・配布は一切厳禁」の文言が記載されていないため転載・配布は可能なようですので、当初はver.2.03を配布していまました。残念ながら機能低下は致し方なし…

 ですがその後、2001年頃に私(nf_ban)が作者のMOGUさんからアーカイブの転載許諾を得ていたことが判明しました(ド忘れしていました)。

【朗報&悲報】2001年7月19日頃にMSXのファイラー「MM」ネット転載の件で作者のMOGUさんとメールで意見交換しているログファイルを発掘。20年前に転載許可をいただいていたらしい(ド忘れ…)。MOGUさんのメアドも見つかったがプロバイダがサービス終了。ドメインは生きているが、メアドはどうか…? — Takashi Kobayashi (@nf_ban) 2021年2月11日

MMのソースコードが発掘されました

 2010年頃にMOGUさん自身がMMのソースコードを限定的に配布していたことも判明しました。このソースコードは現在解析中です。

MMのソースコードらしいアーカイブが見つかる。C言語ではなくフルアセンブラっぽい。M80・L80かな?ただ、ファイルにダブりが見つかって、どれが正しいものなのか…? — Takashi Kobayashi (@nf_ban) 2021年2月13日

このMAKEEXEというバッチファイルっぽいのが見当たらない…。 - kansaizine (@kansaizine) 2021年2月17日

 2021年現在の開発環境でビルドできた暁には、作者のMOGUさんへ事後報告させていただきたいです。しかし何処へ…もしこれを見ていたらご連絡をお待ちしております。→ https://twitter.com/nf_ban or nf_ban@gigamix.jp

派生版もあります

 MSXのストレージドライブにSDカードを採用する2000年頃より、MSX-DOS2(FAT12)で管理できる最大容量の32MBをはるかに凌ぐ容量のストレージが市場に出回りました。また、FAT16に対応するNextor DOSの開発およびSDカードスロット搭載の「多機能カートリッジ」が多数発売されたため、2021年現在ではFAT16に対応するよう改造されたMMが流通するようになりました。私が知っているものは、以下のものです。

 出処不明で動作が無保証ですが、神経質でない人なら便利かもしれません。

DOS2・FAT16パッチの備忘録

 私は、実はDOS2環境でFAT16環境を構築できた実績がありません。何を実行すると正解なのかがよく分かってないからです。そんな状況において、DOS2のFAT16ストレージをMMで認識させる手順はちょっと分かりません。

 以下、私が試した結果を記します。

  • FAT16パッチ(FAT16.COM)は、Nextor環境ではインストールできません(元々FAT16に対応しているのでパッチが不要)。
  • MultiMenteパッチはMM ver.2.03には適用できません。ver.2.07専用です。
  • Nextor用のMultiMenteパッチは、DOS2では効果がありません。
  • COMMAND2.COMのdirコマンドをFAT16に対応させる「PATCHCOM」というパッチも存在しますが、Nextor環境(COMMAND2.COM ver.2.44)ではインストールできません。
  • 1chipMSXのCD-ROMに付属されていたMSX-DOS2はFAT16パッチ適用済みのものであるようです。

と思ったのだが、夕方に自力でFAT16パッチを当てたDOS2のシステムファイルとCD-ROMに入ってたものがタイムスタンプこそ違うものの中身の比較で全く同じの様子。んーこの内容だったら既にMegaSCSIに入ってるなぁ。念のため移し替えるかな? — Takashi Kobayashi (@nf_ban) 2020年6月21日

 詳しい方がいらっしゃいましたら、ぜひ教えてください。

MMと合わせて揃えたい!MSXView漢字カートリッジと対応アプリ(作者捜索編)

 意外と知られていない(どうでもいい)知識。「MSXView付属 漢字ROMカートリッジ」という便利なカートリッジがあるのをご存知でしょうか。

https://p.gigamix.jp/ds2/cg/msxview_cartridge_1280x960.jpg

MSXView付属 漢字ROMカートリッジとは

  • MSX turbo R専用GUI「MSXView」の画面表示に用いられる、専用の漢字フォントを搭載しているROMカートリッジです。
  • FS-A1GTにはこのROMが本体に内蔵されています。
  • 「横12×縦12px」と「横12×縦8px」の、2種類のフォントが含まれています。MSXの標準漢字ROM(16×16px)よりも面積が小さく、解像度の低いMSXの画面表示にもやさしい文字デザインです。
  • JIS規格(JIS X 0208:1983)の第1水準漢字に準拠しています。さらに12×12pxのフォントは第2水準漢字も搭載しています。
  • MSXView付属 漢字ROMカートリッジは、単なるASCII 8KタイプのメガROMカートリッジです。プログラムの類は入っていないため、MSXViewを利用しなくてもROMカートリッジ単体はMSX1から接続可能で、この漢字フォントに対応する各種アプリで日本語表示に活かすことができます。
  • MSXView付属 漢字ROMカートリッジは、MSXの標準漢字ROMとは全く違うものです。ハードウェアの互換性は全くありません。よって漢字BASIC(CALL KANJIで始めるMSX漢字ドライバ拡張BASIC)や「要・漢字ROM」を謳う各種アプリに対しては無効です。

SCREEN 5相当の解像度表示するテスト

 SCREEN 5相当の解像度で「MSXの標準漢字ROM」と「MSXView 専用漢字ROM(通称:Viewフォント)」を比較してみると、Viewフォントのほうが少ない面積でより多くの情報を表示できています。ViewフォントはまさにMSXで日本語の文字を大量に表示するために用意された便利なフォントなのです。

対応しているアプリ

 とりあえずまとめてはみたものの、1990年代のパソコン通信時代に公開されていた当該アプリのアーカイブを私は所有していますが、2021年現在インターネットでは入手できないものも含まれています。まずは対応アプリの紹介を優先します。他にもありましたらぜひ情報をお寄せください。

 アプリの配布については、当サイトで転載できるものは進め、転載条件を満たさないものを作者の意向を無視してまで転載することはしません。作者さんとの連絡手段構築と権利調整は並行して進めます。

MM

 言わずと知れた、MSXフリーク必携の多機能ファイラー(ファイルマネージャー)アプリ。UIやテキストファイルの表示に用いられます。

ソフト名MM version 2.07
概要はい、対応しています。Viewフォント有無のスクショを取りました(2枚目はスロット1にMSXViewのROMイメージを置いた状態)。FS-A1GTの場合はMSXViewのROMが積まれていますので、何もしなくてもフォントが使われていると思います。MM以外にも対応するアプリがあるようです。 pic.twitter.com/A124uGdVES — Takashi Kobayashi (@nf_ban) 2020年11月8日
対応OSMSX-DOS2/Nextor
対応フォント12×8px
作者MOGU
リソース 当クラブのMM配布ページ https://www.gigamix.jp/multimente/
MSX Resource Center https://www.msx.org/
MSX・FAN 付録ディスク
Networker's Gift Disk(NGD)

MMの配布条件の確認

 別ページにまとめました。

www.gigamix.jp

 とは言え事後報告はしたい。作者のMOGUさんは何処…もしこれを見ていたらご連絡をお待ちしております。→ https://twitter.com/nf_ban or nf_ban@gigamix.jp

PMM

 PMA・LZHアーカイブ管理アプリ。UIやテキストファイルの表示に用いられます。

ソフト名PMM version 2.00
概要MSX-DOS2用の圧縮ファイルメンテナンスツール「PMM」、Nextorでも動いた。PMA・LZHのアーカイブの任意のファイルだけ展開したり削除したりできる。ファイラーMMと組み合わせて使うと便利。日本語表示にMSXViewの12×8px漢字フォントを利用できる。 pic.twitter.com/q0RqQy4T59 — Takashi Kobayashi (@nf_ban) 2021年1月28日
対応OSMSX-DOS2/Nextor
対応フォント12×8px
作者いーた
リソース MSXフリーソフトウェア100選 http://msx.jpn.org/tagoo/s_check.cgi?LINE=1843 ※旧版(v1.09)
MSX・FAN 付録ディスク
Networker's Gift Disk(NGD)
【参考】いーたさんのWebページ http://www.ruiji.net/msx/ (Internet Archive)

PMMの配布条件の確認

 PMMの配布条件は「作者に無断でパソコン通信以外のメディアへの転載は禁止」とあります。過去にはいーたさん自身がWebでLZHアーカイブ(pmm200i.lzh)を配布していたようですが2021年現在は入手不能となっています。

PMMはファイラーMMと組み合わせて使うと便利なのだが、パソコン通信以外のメディアへの転載は禁止と書いてあるので自分のWebサイト含むインターネットへの転載はNGだよね…道理でWeb検索しても出てこないわけだ。ああ、作者のいーたさんは何処…もしこれ見ていたらご連絡をお待ちしております。🙏 pic.twitter.com/GaFLPOpKyQ — Takashi Kobayashi (@nf_ban) 2021年1月28日
 作者のいーたさんは何処…もしこれを見ていたらご連絡をお待ちしております。→ https://twitter.com/nf_ban or nf_ban@gigamix.jp

MGSEL

 MGSDRV公式の音楽再生アプリ。ROMカートリッジがスロット2にあると文字化けするバグが混入されているので要注意。

ソフト名MGSEL version 3.01v
概要実はMGSELのconfig設定(MGSEL.CNF)を yes に変えればMSXViewのフォントが利用できる(フォントが無い場合標準漢字ROMが使われる)のだがDIRファイルを作成しないとタイトル等の日本語が見える機会がないので多くの人は気付かないかもしれない。ちなみにMSXViewがスロット2だと文字化けのバグが…つらい。 pic.twitter.com/Wso10nNaLx — Takashi Kobayashi (@nf_ban) 2020年11月29日
対応OSMSX-DOS2/Nextor
対応フォント12×8px
作者Ain/Gigamix
リソース MGSDRVのページ https://www.gigamix.jp/mgsdrv/
MSX・FAN 付録ディスク

 MGSELは、MGSDRVのページよりダウンロードできます。→ https://www.gigamix.jp/mgsdrv/

KID(パッチを当てる)

 アスキーテキストエディタ「KID」をViewフォントに対応。かつ、ノンインターレース化や諸機能を追加するパッチプログラム。

ソフト名KIDpat version 2.10
概要MSXのテキストエディタ「KID」用のパッチプログラム「KIDpat」。MSXViewの12×8フォント対応&ノンインターレース化で編集作業(特に上下スクロール)を高速化。元々のインターレースの画面と見比べると画面の印象がかなり違う。 pic.twitter.com/PEm9te93Y1 — Takashi Kobayashi (@nf_ban) 2021年1月28日
対応OSMSX-DOS2/Nextor
対応フォント12×8px
作者なむ(Numsoft)
リソース なし

KIDpatの配布条件の確認

 KIDpatの配布条件は、「転載可(連絡してね)」とあります。ただ…転載したいんですが連絡先が分からないんですよ。

過去のフロッピーからNatsume-Netのログを発掘してみたら偶然 KIDpat v2.02 が公開されたときのログだった件。1995年3月4日だった。;PTMP がMSX系会話用のBBSで ;P;0;5 がフリーソフト配布場所…そうそうそんな名前だった。作者のなむさんは何処…もしこれを見ていたらご連絡をお待ちしております。😊 pic.twitter.com/6EnZbSXPpK — Takashi Kobayashi (@nf_ban) 2021年1月30日
 作者のなむさんは何処…もしこれを見ていたらご連絡をお待ちしております。→ https://twitter.com/nf_ban or nf_ban@gigamix.jp

ZeroType

 非常に高速に動作する、テキストビュアーです。にがさんの「電子工作室」WebページにViewフォント対応と書いてありましたので試してみたところ、/M0 オプションの適用でViewフォント対応となるようです。オプション無しでは通常の漢字ROMです。

ソフト名Zero Type version 0.50
概要A to Cさんのテキストビュアー「ZeroType(ZT)」が非常に高速なので長らくファイラーMMと連動させているのだが、コマンドに /M0 オプションを指定するとMSXViewの12×8フォントを適用+ノンインターレース化で高速化が増すことを今頃知る。くー、当時に知りたかった。MMの関連付け設定を変えておこう… pic.twitter.com/YcgTKRk0zq — Takashi Kobayashi (@nf_ban) 2021年1月30日
対応OSMSX-DOS2/Nextor
対応フォント12×8px
作者A to C
リソース A to Cさんのページ http://www.yo.rim.or.jp/~anaka/AtoC/programs/msx32.htm

 ZeroTypeははA to CさんのMSX資料室よりダウンロードできます。→ http://www.yo.rim.or.jp/~anaka/AtoC/programs/msx32.htm

DMシステム2

 MSX-BASIC上でViewフォントを表示できるシステムです。

 これだけ8×12pxフォントでなく、12×12pxフォントに対応。

対応していないアプリ

MPX

 MPXで利用できる漢字フォントはMSX標準漢字ROMのみ、となります。

だめかー pic.twitter.com/GDhqp59r1A — applesorce (@applesorce) 2021年1月21日

 もしかするとMSXViewではなくJIS第2水準の漢字ROMが表示されないことに対して、だったのかもしれないけど…

漢字ROMを搭載しないMSX2で特に便利に機能します

 かつてFS-A1やHB-F1などの低価格な機種を筆頭に「漢字ROMもFDDも搭載しないほぼゲーム用途専門のMSX2」が数多く普及しました。その後FDD搭載機やMSX2+→turbo R規格の機種が発売されたので利用頻度や存在価値がどんどん下がっていったのですが、近年発売された多機能カートリッジの登場により、当時は非力だの最低スペックだのと揶揄されていたこれらの機種が再活用される流れが生まれています。

 そういった非力な機種のオーナーさんへの補助機能としてMSXView付属 漢字カートリッジは便利です。本体に漢字ROMが搭載されていなくてもMSXViewのカートリッジがあればMMで日本語表示が可能になるので、ファイルの整理作業が捗るからです。

 そして今回取り上げた各種アプリはファイラーMMを主軸にして関連付けることで、ファイル管理、アーカイブ管理、テキストファイルの閲覧と編集といった処理が漢字ROMの非搭載機種でも可能になり、日本語に関しては割となんとかなるようになります(2021年現在、漢字ROMの機能を実装する多機能カートリッジは存在しません)。

漢字ROMの無いMSX2におけるMMのViewフォントで日本語表示。テキストファイルに対してRETURNキーで内蔵ビュアーで閲覧可能。デフォルト設定がANKモードだとトランプマークばかりになるのでそのときはAキーを押してANK/漢字モードを切り替えたあとHキーで先頭からリロードすれば日本語で表示されます。 pic.twitter.com/01eKKrkYox — Takashi Kobayashi (@nf_ban) 2020年11月13日

 なお2021年現在においては、当時発売されていた漢字ROMカートリッジを探すよりも似非RAMで互換カートリッジを自作するほうがてっとり早い場合があります。

カートリッジの互換品を自作する

 フリーフォントの「要町フォント」を採用した「MSXViewの漢字ROMカートリッジと互換性があるROMイメージ」が公開されています。「要町 as MSX-View」と言います。

フリーフォントの要町フォントを加工したMSXViewの漢字互換ROMイメージ「要町 as MSX-View」とMSXViewの文字を比較した。要町は12px角ギチギチに詰まってる感がある。1px空ける(実質11px角にする)近接対策は無く12px角フルにデザインしているからだと思う。12×8は12×12から縦に4px分圧縮したっぽい。 pic.twitter.com/2uI8afSNjw — Takashi Kobayashi (@nf_ban) 2021年1月31日

 「要町フォント」自体はX68000のディスクマガジン「満開倶楽部」で利用されていた12px角のビットマップフォントで、それをDOS/Vパソコンの日本語表示システム「FONTX」の仕様に変換されたフォントデータからMSXViewと互換性のある形へ加工されて「要町 as MSX-View」が製作されました。このROMイメージを各種MSXエミュレータのスロットへ配置することで、エミュレータ上でもViewフォント対応アプリが利用できるようになっていました。

 そして、その「要町 as MSX-View」のROMイメージを各種似非RAMカートリッジへインストールすることで、実機で利用できるMSXViewの互換カートリッジを自作することができます。

 似非RAMの技術が発表された90年代当時は市販のMSX用ゲームカートリッジを改造して製作するのが定番で、その電子工作に特化したミーティングも開催されていました。しかし、2021年現在ではアキバのお店で買うことができるようになりましたので、いい時代になりました。

akiba-pc.watch.impress.co.jp

gigamix.hatenablog.com

 「要町 as MSX-View」はA to CさんのMSX資料室よりダウンロードできます。→ http://www.yo.rim.or.jp/~anaka/AtoC/labo/labo32.htm

 「要町フォント」はVevtorよりダウンロードできます。→https://www.vector.co.jp/soft/data/writing/se002908.html

要町フォントで表示するテキストは詰まってる感がある。ただ、漢字ROM(16×16)から圧縮するより圧縮量が減ってるのが救い。元々DOS/V(FONTX)由来のフォントだから行間はシステムで自由に作れるのが前提のデザインなんだね(MSXでビットマップ表示するのと変わらない)。行間を作れば確かに見やすい。 pic.twitter.com/ictgZn1ULe — Takashi Kobayashi (@nf_ban) 2021年1月31日

 要町フォントの注意点として、文字のデザインが12px角ギチギチに詰まってる感があります。隣の文字と区別するために1px空ける(実質11px角にする)ようなケアはされていません。また、12×8フォントは12px角から縦に4px分圧縮して製作されたようで、標準漢字ROMから圧縮したような文字のデザインに近くなっています。

ドキュメント

A1GTに内蔵するMSXViewフォントの利用を提唱していたなむさんの技術資料が無ければ各種フリーソフトで対応するムーブが当時起きることは無かったんだよね。もろちんこの資料が無ければ当チームのDMシステム2でも対応することが出来なかったんだろうけど… pic.twitter.com/emCiLU82A3 — Takashi Kobayashi (@nf_ban) 2020年11月29日

 当時のパソコン通信でViewフォントの解析資料が公開されたことで、MSX系のフリーソフト作家がViewフォントに対応する動きにつながりました。MSXパソコン通信を行う多くがturbo R規格、とりわけFS-A1GTユーザーが多かったことも要因の一つかもしれません。

 2021年現在、「要町 as MSX-View」作者のAtoCさんによる技術資料「Let's use "MSX-View付属ROM" 第六版」がMSX資料室入手できます。→ http://www.yo.rim.or.jp/~anaka/AtoC/labo/labo32.htm

なぜ小さな文字フォントが作られたのか

 MSXの画面解像度は90年代当時の他機種と比較して決して広いとは言えないものでした。当時の一般的な日本語表示環境をMSXのような狭い解像度で実現するには、けっきょくのところ表示する文字の大きさを小さくしなければならないということが、小さなフォントが用意された経緯の結論でした。

 当時の一般的な漢字ROMは16px角、他機種の一般的な解像度は横640px×縦400px(PC-9801)や640×480px(いわゆるVGA)でしたので、全角文字で横40文字(縦は20~25行程度)という画面構成が当時の日本語表示環境の最低条件と考えられていました。ビジネスシーンは勿論のこと、パソコン通信においても全角横40文字のターミナル画面がデファクトスタンダードであり、横36~38文字付近で強制的に改行を入れて折り返すようなテキストコンテンツが多数ありました。

一太郎
NEC PC-9801用「一太郎」(画像引用元:Wikipedia)

 対してMSXは、MSX2の高解像度モード(SCREEN6・7)ですら横512×縦212pxであり、解像度が足りていません(インターレースモードは割愛します)。16px角の漢字ROMをそのまま使用すると以下のように画面を大きな文字で埋め尽くされてしまい、多くの文字情報を表示できません。

https://p.gigamix.jp/devmsx/cg/msxview_dos2_16x16.png

 文字を小さな面積で表示するには任意のドットラインを間引いたり2ラインを1ラインにOR合成したりしながら表示面積を縮小する(ドットを減らす)必要があります。そうすると文字が小さくなればなるほど文字の線があやふや・太くなりがちで、文字の可読性が下がってしまいます。下の画面は、16px角の漢字ROMをOR合成で12×8pxに縮小処理された文字を用いてテキスト表示したものです。

https://p.gigamix.jp/devmsx/cg/msxview_mm_16x16.png

 Viewフォントは機械的な合成処理がされていない文字デザインであるため、可読性が向上します。特に12×8pxのフォントはSCREEN0・WIDTH80の半角文字(6×8px)を横に2倍角した面積と同等です。つまり12×8pxのViewフォントは、WIDTH80の画質で全角横40文字×縦24行を実現できるポテンシャルがあり、本来の可読性は落としつつも他機種で標準的だった日本語表示環境とほぼ同等の文字数を実現できるメリットがありました。

 下の画面は、12×8pxのViewフォントを使用してテキスト表示したものです。

https://p.gigamix.jp/devmsx/cg/msxview_mm_12x08.png

 上の画面よりこちらのほうが文字の線が太くなく、文字と文字が詰まった感が少なくなり、すっきりしているように感じませんか?

MSX1の場合は8×8pxのフォントも有益

 令和の時代に入るとMSXシーンは「Carnivore2」「MegaFlashSCC+SD」「SD Mapper Megaram」「似非SDisk」といった多機能カートリッジの登場により、今になってMSX1の再活用の動きがにわかに活発化されてきています。

 MSX1の画面解像度は横256px×縦192px。MSX2以降のSCREEN5/8と同じ横幅ですがMSX1ではPCG(8×8px毎)によるグラフィック描画が前提なので、MSX1においてはPCG 1文字と同じ面積である8×8pxの日本語フォントが最適です。そう、ハイドライド3(MSX1版)のように…

@tamanegi_itame @Rai_ru493 @Hashi6001 MSX1/MSX2版ハイドライド3は、小さいながらも漢字も使われており、RGB接続以外の環境では潰れて難読なので、対応表を見ながら遊びました!www pic.twitter.com/qWvCTzIkRF — コウ@Xbox Game Passでゲーム三昧! (@Old_Gamer_JPN) 2016年10月2日

 2021年現在のMSX用途では、8×8pxのフリーフォント「美咲フォント」を採用するアプリケーションが増えています。

12/18 夜の作業 MGSP更新https://t.co/P2PpwxWX35 (1) MGSP.INI に PRELOAD_TRY_CNT を追加 (2) 再生開始時に PRELOAD_TRY_CNT の数だけプリロード試行する機能を追加 (省略時は 5) (3) 進捗表示バーの輝点が微妙にずれていたバグを修正#MSX #MGSP pic.twitter.com/R1lC3cUCxJ — HRA! (@thara1129) 2020年12月18日
お手持ちのMSX1でこのような表示なります、COMファイルに埋め込まれた美咲ゴシック第2を使うため漢字ROM不要、よかったのう pic.twitter.com/WggRTwSrGO — OCHIXN™ (@ochixn) 2019年9月12日

 MSXのような解像度の低いコンソールでは美咲フォントを利用するのもおすすめです。

 美咲フォントのダウンロードはこちら → https://littlelimit.net/misaki.htm