Gigamix Online

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

Webアプリ多め!ネットで見つけたMSX向け画像編集ツールまとめ

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

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

 Z80アセンブラC言語等の開発関連ツールは別ページにてまとめています。

gigamix.hatenablog.com

閲覧系アプリ

MSX BASIC Viewer(オンライン BASICプログラムビュアー)

@nf_ban 拙作「MSX VIEWer」のマルチプラットフォーム化の一環でWeb(HTML5)版とAndroid版をリリースしました。https://t.co/onpfSjqyMPで掲載していますので、お試しいただければ幸いです。 — みなしん (@shingo_minagi) 2016年11月20日

 Webブラウザ上でMSX BASIC形式のファイルを閲覧できる、Webアプリ。MSXのフォントがWebフォント化されていて、本来は表示できないGRAPH文字も読める!

www.minagi.jp

MSX BASIC VIEWER(オンライン BASICプログラムビュアー, jig.jp版)

MSX BASICのファイルをブラウザにドロップすると読めるツールを作成 MSX-FANという熱い雑誌が数多くのプログラマーを育てた この意思は継がねばなるまいhttp://t.co/NO7RPnqkF3 http://t.co/E2AmdgAaGs — 福野泰介 (@taisukef) 2013年12月23日

 Webブラウザ上でMSX BASIC形式のファイルを閲覧できる、Webアプリ。IchigoJamで知られる株式会社jig.jp 創業者&会長・福野泰介さんが開発。

fukuno.jig.jp

DumpListEditor(ダンプリストのOCR支援ほか)

#DumpListEditor Ver0.55公開しました。X1ユーザー皆さまの情報のおかげでX1対応が完了しました 同梱のX1フォント2種類をWindowsにインストールしてから使って下さい モデル切替をお忘れなく。iniファイルで設定可能です 他モデルのバグ修正なんぞもひっそり行ってますhttps://t.co/iT7WCNP7fm pic.twitter.com/Hgsi77keyP — bugfire2009 (@bugfire01) 2022年7月10日

 元々は各種レトロPCの雑誌に掲載されたダンプリストのOCR(スキャナによる文字認識)の結果を補正しやすくする、Windows用のアプリ。最新版はBASICプログラムの閲覧(MSXにも対応)やテープイメージの補正など、多様な機能が追加されています。

bugfire2009.ojaru.jp

MSX Graphic Viewer(オンライン BSAVE画像ビュアー)

MSX Graphic Viewerをアップデートしました。https://t.co/vLKq4XyF4m#MSX #Webアプリケーション — みなしん (@shingo_minagi) 2021年7月22日

 Webブラウザ上でMSXの画像ファイルを閲覧できる、Webアプリ。BSAVE形式・COPY形式に対応。

www.minagi.jp

COLCOMBG(スプライトの重ね合わせによる組み合わせ色の一覧表示)

twitter.com

 違う色のスプライト2枚をORで重ねると3色目が出るという、スプライトモード2のCCビット使用時のカラー組み合わせリストを表示する、MSX実機用のアプリ。

画像作成・画像変換系アプリ

SCREEN2 画像変換 for MSX(オンライン SCREEN2変換ツール)

ディザパターン変換のサンプル。いつもの人のアップ。輪郭を赤にしています。 島村卯月 【ステージオブマジック】 BANDAI NAMCO Entertainment Inc.#デレステ #TMS9918 #16色グラフィック #MSX1画像 pic.twitter.com/uzWriJ5e5D — なぞの📛まひな (@myna_nazo) 2022年3月6日

 Webブラウザ上で任意の画像ファイルをSCREEN2の画像データへコンバートできる、Webアプリ。変換に用いるデフォルトカラーをMSX1(TMS9918)または MSX2(V9938)のどちらかを選択できます。

nazo.main.jp

SCREEN4 画像変換 for MSX(オンライン SCREEN4変換ツール)

先日MSX2のSCREEN4を教えて頂きました。SCREEN2の仕様で512色中16色だそうで、「SCREEN4とやらが、どこまでやれるか見てみるとしようぞ。」少し色強調してあります。比較用にSCREEN5。 島村卯月 【ステージオブマジック】 BANDAI NAMCO Entertainment Inc.#デレステ #16色グラフィック #MSX2 https://t.co/vnXKn0vdaC pic.twitter.com/eYGFQMCMU2 — なぞの📛まひな (@myna_nazo) 2022年3月8日

 Webブラウザ上で任意の画像ファイルをMSX2用SCREEN4の画像データへコンバートできる、Webアプリ。上のSCREEN2画像変換との違いは、SCREEN2の場合はデフォルトカラーで色変換するのに対し、SCREEN4は元画像の使用色から取捨選択された16色で変換されることです。

nazo.main.jp

MSX Screen Converter(オンライン MSX向け各種画像コンバータ)

 任意の画像データをSCREEN 2・5・6・7・8・12の画像データへコンバートできる、Webアプリ。プレビュー画像(PNG形式)のほか、BSAVE画像がそのまま出力できるのが便利。

 注意点としては、アップロードできる画像のデータ容量は400kBytesと少なめなのと、BSAVE形式で出力した画像ファイルにはパレットテーブルの情報が保存されないので出力時に生成されるBASICプログラムも保存してそれを実行する必要があります。

msx.jannone.org

Dithertron(オンライン 汎用レトロPC向け画像コンバータ)

追記)DHITHERTRON 8bit系への画像変換ページ。効果をリアルタイム表示という凄いツール!https://t.co/DPD4lAYydl — 1re1 (@1re1) 2021年9月22日

 任意の画像データをMSX1(TMS9918)用カラーや他のレトロPC向けへコンバートできる、Webアプリ。これホントにSCREEN2の画像?と二度目してしまうくらい高品質なディザリング処理が魅力。出力されるデータは「PNG形式」と「バイナリデータ」の2種類。「バイナリデータ」はMSXのBSAVEヘッダが付加されないので注意。

8bitworkshop.com

BMP to MSXBMP→SCREEN2~12画像変換)

BMPtoMSXでSCREEN2用画像を作成する。色はカラー0(黒)と15(白)しか利用しない。「指定色ゼロ化」で黒をカラー0へ割り当てる。 pic.twitter.com/Pca1zWdNyK — Takashi Kobayashi (@nf_ban) 2021年4月10日

 BMP形式画像データをMSXのSCREEN2・3・4・5・6・7・8・10(11)・12へ変換できる、Windowsアプリ。個人的に大変お世話になっている、定番のツール。

www5d.biglobe.ne.jp

 元のBMPデータの解像度は、予め256×212(192)ピクセルまたは512×424(384)ピクセルに整形しておくことをおすすめします。

TINY Bitmap Converter(各種画像形式→SCREEN1~12画像変換)

TINY Bitmap Converter。水色成分を増したほうがスナッチャー味がある… #8色写真 pic.twitter.com/nbeNkjQpBV — Takashi Kobayashi (@nf_ban) 2022年7月18日

 各種画像ファイルをMSXまたはPC-6001の画像へ変換できる、Windows用アプリ。入力画像の色補正機能やSCREEN1用画像が作成できるのが他とは無い特徴。

www.tiny-yarou.com

BMP → YJK変換(BMP→SCREEN10・12画像変換)

YJK変換の研究は大分しましたが滲みはどうにもなりませんでした。誰かが新たに作ってくれるのを願うばかりです。※ちなみに私が作った変換ツールはこれですhttps://t.co/Z4KNUWcNc7 — MSX研鑚推進委員会 (@mdpc___) 2022年6月23日

 BMP形式画像データをMSX2+のSCREEN10(11)・12へ変換できる、Windowsアプリ。上記のBMP to MSXと変換アルゴリズムが違うので、仕上がり結果も変わります。

mdpc.dousetsu.com

SCREEN10+SCREEN5合成ツール

白猫アップローダーへ、手製のMSX-DOSの実用ツールをアップしました。内容はこのプレイヤーとSC10とSC5の合成ツール、各SC画像をロードして表示、画像データ変換等、4種類が入っています。よろしければDLしてみてください。 後にMRCの方へ置きます。https://t.co/5K6X22KFFJ password: djkqdsfjobgd pic.twitter.com/6GxuHpGxYL — Mstz80ax (@mstz80ax) 2019年8月13日

 MSX2+の自然画モードであるSCREEN10の画像とSCREEN5の画像を合成して、1つのデータで保存できる、MSX-DOS用アプリ。

猫をアニメ絵風に差し替えてSCREEN10で合成した結果 https://t.co/DR6murgLd6 pic.twitter.com/aiWb3xJDy5 — Takashi Kobayashi (@nf_ban) 2019年10月27日

convert9918

github.com

harmlesslion.com

GSRLE(グラフサウルス圧縮形式への圧縮ツール)

 MSXの定番ペイントツール「グラフサウルス」専用圧縮データを実機無しに作成できる、Windowsアプリ。いわゆるBSAVE画像ファイルからグラフサウルス専用圧縮形式ファイルへ変換します。

github.com

LOADSRD(グラフサウルス圧縮形式への展開ツール)

 MSX実機で動作する「グラフサウルス」専用圧縮データのビュアー(展開ツール)はこちら。BSAVE形式画像への出力も可能。

github.com

エディタ

TinySprite(オンライン スプライトエディタ)

Did you know you can draw sprites on the go? #MSX #Tinysprite pic.twitter.com/X6Z7ZCazE2 — jannone (@jannone) 2022年3月16日

 Webブラウザ上でMSX用スプライトデータをデザイン・出力できる、Webアプリ。スプライトデータはDATA文で出力されます。

msx.jannone.org

うちの子から「Appleの林檎の絵を描いて」と言うのでドット絵でポチポチ描いてみたけど、意外と難しいんだな…。TinySpriteはそのままMSXPenへスプライトデータを持って来れるのがいいね!(スプライト定義・表示プログラムを書く必要あり) pic.twitter.com/kwUIPm8dwY — Takashi Kobayashi (@nf_ban) 2020年8月29日

S・S・T(MSX2用スプライトエディタ)

長々と仕込んでいたネタがようやく完成。拙サイトに「PSYZANSの間」こと、創作物置き場を設けました。第一弾はここでも何度かおひろめしている荒井兄弟謹製MSX2用スプライトツール「SST」です。https://t.co/4KrGtslCMb pic.twitter.com/6l4v4S7zqn — 本名荒井 (@psyzans) 2018年6月14日

 MSXのスプライトデータを編集・出力できる、MSX BASIC用アプリ。MSX2以降に登場した「スプライトモード2(2枚重ねのOR演算で3色表示)」に対応するデータを作成できるのが特徴。MSX・FANの「ファンダム」で採用された逸品が、作者本人より直接ネットで配布中。

psyzans.com

EDIO2(オンライン PCGエディタ)

自作のMSX1 PCGエディタのEDIO2は、ギリギリスマホでも使えそう^ ^ 保存は文字データとしてメモ帳にでもコピペしてください(´・Д・)」 まだ作りかけのツールです^_^https://t.co/dcArcA9dPJ — nao (@nyaonyao21) 2020年10月18日

 Webブラウザ上でMSX1用多色刷り(いわゆるSCREEN1.5モード)の ドット絵を作成できる、Webアプリ。

www.nyaonyao21.com

piroPAINT 9918(SCREEN2ペイントツール)

twitter.com

piroPAINTいじり2日目。MSXのSCREEN2では輪郭を描かないほうが仕上がりが面白くなると思う。 pic.twitter.com/xyaSZaGcQz — Takashi Kobayashi (@nf_ban) 2013年7月2日

 横8px毎2色の厳しい制限を求められるMSXのSCREEN2画像を描ける、Windows用のTMS9918風ペイントツール。2色を混色した中間色(タイルパターン)にも対応。

wiki.piroyan.com

99x8Edit(SCREEN2 PCG・スプライト・マップエディタ)

 小説家の宮内悠介さんが文筆活動の合間にMSX向けの画像を制作できるWindows用アプリを作ってしまわれた!

 PCGエディタ・スプライトエディタ・マップエディタが付属。MSX(BSAVE形式)へのエクスポートにも対応。

SZMFE(鈴見咲フォントエディタ。SCREEN 2/4 タイルマップエディタ)

 SCREEN2/4に対応するマップチップ(いわゆるPCG)とマップがエディットできる、鈴見咲君高さん制作の実機用アプリ。

hp.vector.co.jp

D2E・E2D(DD倶楽部←→SZMFE 相互変換ツール)

~需要があるかわからないが上げておくシリーズ~ DD倶楽部の.DAT(SC5用)をSZMFEの.EPG(SC2/4用)に変換するツールD2E、その逆変換 E2D。※秘伝のタレことMSX-DOS1は添付されないので各自で味付けしてください。#MSX #indiedevhttps://t.co/fjhn4J5VTr https://t.co/QchtmcaNbn pic.twitter.com/aWs06Na74S — むらかたとうじ/村方凍二💾 (@ipheion78) 2021年8月29日

 前述「SZMFE」とT&Eソフトのペイントツール「DD倶楽部」のスプライトエディタ SPE5用データを相互にデータ変換する、MSX-DOS用アプリ。DD倶楽部のアニメーション機能でゲームキャラの動きを確認するために作られた、という。

 DD倶楽部→SZMFEが「D2E」、その逆変換が「E2D」。

 SZMFEのパターンデータをBMP形式に変換する「E2B」というMSX実機用アプリもあります。

 SZMFE作者の鈴見咲君高さんもビックリ。

nMSXtiles(SCREEN 2/4 タイルマップ・スプライトエディタ)

 SCREEN2/4に対応するマップチップ(いわゆるPCG)やスプライトがエディットできる、macOSWindows用のツール。

github.com

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

maple4estry.netlify.app

フォント

Image To Font for MSX(オンライン フォントコンバータ)

「Image To Font for MSX」を公開しました。フォントの画像を読み込んで(BSAVE形式の)フォントファイルに変換します。#MSXhttps://t.co/X7pNWMTn4t — なぞの📛まひな (@myna_nazo) 2022年1月29日

 Webブラウザ上で任意のフォント画像からMSX用フォントファイル(BSAVE形式のバイナリーデータ)を作成できる、Webアプリ。

nazo.main.jp

特設:Webブラウザで動く「オンラインMAGローダー」

 個人的に思い入れがあるのでコーナー化。MSXのBSAVE画像を2DDのフロッピーへ大量に保存するため、私は何らかのデータ圧縮をかけていました。特にMAGフォーマットは可逆圧縮が可能だしMSXにも対応していたので'90年代当時は大変重宝していました。

 MAG形式画像ファイルのサンプル(MSX SCREEN7)はこちら → https://p.gigamix.jp/devmsx/cg/MSXUTILS.MAG

RECOIL - Retro Computer Image Library(オンライン 各種レトロPC用画像ビュアー)

Tip: RECOIL also has web, desktop and even smartphone versions. It can view files from a lot of classic platforms. For the MSX, it can even view .SCx, Graph Saurus and Makichan files.https://t.co/sHAa01vPEW — SD-Snatcher (@SnatcherAlpha) 2020年1月6日

 Webブラウザ上でMSXを含む465種類もの各種レトロPC用画像ファイルを閲覧できる、Webアプリ。MSX向けとしてはBSAVE形式・グラフサウルス形式のほか、MAG・MAKI・PI・PICといった'90年代の日本のパソコン通信で流通したファイル形式にも対応しているのが凄い!

recoil.sourceforge.net

RECOIL - Retro Computer Image Library というWebサイトでパソコン通信の頃の画像がブラウザ上で閲覧できるらしく、思わずMSXのSCREEN7画像をMAGセーブしてRECOILで読み込ませてみたらちゃんと縦倍角(200ラインフラグ有効)で表示できた凄い!MAKI形式もいける!🤣https://t.co/umzVHfmZZ5 pic.twitter.com/UZ5cVTG5br — Takashi Kobayashi (@nf_ban) 2022年5月16日

JavaScript PIC/Pi/MAG/MAKIファイルローダー(オンライン 各種画像ローダー)

PIC/Pi/MAG/MAKIファイルローダーをちょい更新。添付は当時驚愕した超絶技巧16色画像ファイル。 http://t.co/4XPnbCfV67 pic.twitter.com/Ae0pWh4XGs — ばに (@raimeiji) 2014年5月19日

 Webブラウザ上で動作する、PIC/Pi/MAG/MAKIファイルローダー。

http://raimeiji.s1006.xrea.com/labo/pmloader.htmlraimeiji.s1006.xrea.com

HTML5 まぐろーだー(オンライン MAGローダー)

で、さっそくGoogleドライブから適当にMAGファイルを探してきて、Webページへドロップする。あぁ、これはMファン「ほほ梅麿のCGコンテスト」のお題画像だ。しかしMSXのSCREEN7のMAGデータは縦2倍で拡大表示しないと正しく見られないんだよな(MAGフォーマットの実装としては正しいのだろうけど)。 pic.twitter.com/9JWk6EvzeI — Takashi Kobayashi (@nf_ban) 2020年8月30日

 Webブラウザ上で動作する、MAGローダー。MSXのSCREEN7画像は縦方向が半分に潰れます。

emk.name

タイトル画像の原画は、Free PhotosによるPixabayからの画像

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

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

MSXのBSAVE形式バイナリデータの読み書きにバグ発見!?BSAVE・BLOAD命令の挙動を検証

 MSX BASICのBSAVE命令はメモリの内容をバイナリーデータで保存する命令、BLOAD命令はバイナリーデータをメモリへ転送する命令ですが、一体どのくらいのメモリ容量が扱えるのか、知らなかったので調べてみました…と思ったらバグかもしれない場面に遭遇しました。

https://p.gigamix.jp/devmsx/cg/bload-bsave_title.png

結論

  • BLOAD命令・BSAVE命令ともども、メモリの最大容量は65535バイトまで扱えます。
  • メインRAMの最大容量である64kB(65536バイト)以上のデータには対応しません。誤動作が発生します。
  • そういう動作をするのは仕様でした。

BSAVE形式ファイルの仕様

 今一度MSXのBSAVE形式ファイルの仕様を確認します。

オフセット 容量 内訳
+0 1 BSAVE形式の明示(0xFEが必ず入る)
+1~+2 2 開始アドレス
+3~+4 2 終了アドレス
+5~+6 2 実行アドレス
+7~ n 実際のバイナリデータ

 先頭7バイトがいわゆる「BSAVEヘッダ」と呼ばれるヘッダデータ、以後は実際のバイナリデータが連結されます。MSXZ80 CPUなので、アドレス指定はリトルエンディアン(下位アドレスから先に記述する方式)となります。

 例えばメインRAMのC000hからC00Fhまでの16バイトをBSAVE命令で保存する場合、以下の通りになります。

  • BASICコマンドは「BSAVE "(ファイル名)",&HC000,&HC00F」
  • 保存されるファイルのBSAVEヘッダは「FE 00 C0 0F C0 00 C0」
  • 保存されるファイルのデータ容量は 7+16=23バイト

 なおBLOAD・BSAVEともにBSAVEコマンドの末尾に「,S」を記述すると、対象がVRAMになります。

  • 「BSAVE"(ファイル名),0,256*212-1,S」← SCREEN8の1画面を保存する
  • 「BLOAD"(ファイル名),S」← VRAMへバイナリデータを転送する

BSAVE命令のテスト

SAVEヘッダのテストプログラムを作る(2回目)。65536.SC8…BSAVEヘッダのみ7バイト(FE 00 00 FF FF 00 00)で保存される。65535.SC8…0から始まって256バイトごとに1増える、65535バイトのバイナリデータで保存される。※1回目のプログラムは失敗だったのでツイート消しました pic.twitter.com/NYNeFmmn8h — Takashi Kobayashi (@nf_ban) 2022年5月25日

↓↓↓ 皆さんも今すぐブラウザ上で動作テスト!

結果

結果 65535.SC8…正常表示。1バイト欠けてるのが見える。65536A.SC8…96ライン目の途中から最後までバグってる。フリーズはしない。なんで途中からバグるのか。32768.SC8…最大量が65536でなければFFFFhまで正常に保存できるらしい。MSX BASICではBLOAD・BSAVEの最大量は65535バイトのようです。 — Takashi Kobayashi (@nf_ban) 2022年5月26日

  • 0000~FFFFh(65536バイト)を保存すると、BSAVEヘッダのみ7バイト(FE 00 00 FF FF 00 00)で保存される。これはバグなのか仕様なのか…
  • 0000~FFFEh(65535バイト)の保存は、正常に動作する。
  • 保存するデータ容量が65536バイト未満であれば、FFFFhの値は保存できる。「FFFFhが保存できない」というわけではない。

 つまり、64kBの1バイト少ない65535バイトがBSAVE命令で保存できる最大データ容量となります。

 もしかしてFFFFhが保存できないのでは?と一時期思ったので念のためFFFFhだけを保存するテストを行ったところ、これは正常に動作しました。

BLOAD命令のテスト

バイナリエディタで 65535.SC8 を改造。BSAVEヘッダは終了アドレス FFFFh に変更、データの終端に 45h(SCREEN8の01001001b=灰色)を1バイト追加して、65536A.SC8(65536バイトの嘘データ)を作成。さて、どうなるのか… pic.twitter.com/laauhYGrAx — Takashi Kobayashi (@nf_ban) 2022年5月25日

 Windowsバイナリエディタを用いてデータ加工し、BSAVEヘッダが付いた65536バイトの偽バイナリデータを作成しました。その際、BSAVEヘッダの終了アドレスがFFFEhでなくFFFFhで終了するよう偽装してあります。

 また、BSAVEヘッダの定義内容と実際のバイナリデータの量が違う偽のバイナリデータも作成し、テストしてみました。

結果

  • 強引に作成した65536バイトの読み込みは、正常に読み込めない。フリーズはしないが途中で関係の無いデータが勝手に読み込まれる。
  • 65535バイトまでのデータ容量であれば、正常に読み込める。
  • BSAVEヘッダの定義よりも実際のデータ量が多い場合は、余分なデータは無視される(読み込まれない)。
  • BSAVEヘッダの定義よりも実際のデータ量が少ない場合は、関係の無いデータが勝手に追加される(不定値)。

オマケ BSAVEヘッダで定義している以上のデータが実際に含まれている場合は無視される。0000~000Fhの16バイトが45h(灰色)で、その後にFFh(白)を16バイト埋めてみたら、灰色しか表示されない。なるほど…これだと開発者にしか分からない暗号データやメッセージ等をファイルに埋め込めるかもなぁ。 pic.twitter.com/N9VXtbhQ8K — Takashi Kobayashi (@nf_ban) 2022年5月25日
オマケ② BSAVEヘッダの定義よりも実際のデータが少ない場合は、何かのデータが勝手に追加される。色づかいに見覚えがあるから前回ロードしたバッファのような何かなのかな? pic.twitter.com/q5ZKNBsE4Q — Takashi Kobayashi (@nf_ban) 2022年5月25日

 よって、MSX BASICではBLOAD・BSAVE命令で扱える最大データ量は65535バイトでファイナルアンサーのようです。

バグではなく仕様でした

 アドレスに入る値の有効範囲は0~65534(&HFFFE)である旨は、テクハン(アスキー刊「MSX2 テクニカル・ハンドブック」)に記載されていました。実際にはエラーは出力されず命令は実行されるので、「有効範囲」という言い方になっているのですね。

なぜそうなるのか仮説

BASIC内部でBSAVEの長さ計算が16bitなんでしょうなぁ。17ビットになる65536=10000hだと0000hに化けると😅 ファイル形式的には65536バイト保存を許容するものの、BASICの仕様(というかほぼバグ)により65536バイト保存されたは扱えない(多分BLOADでも0バイト読み込み)だろうなと。 https://t.co/7YNX5joJk0 — ごりぽん (@goripon_tw) 2022年5月25日

 この頃はまだ何も分かっていなかった。

今ざっとOpenMSX上のFS-A1STで試したんですが、7バイトのファイルをVRAMに読むとゴミ書き込まれますね…。BSAVEは65536バイト書けないのに、BLOADは65536バイト読めるっぽい? — ごりぽん (@goripon_tw) 2022年5月25日
SCREEN8:BSAVE

 実データが無いBSAVEヘッダのみのファイルの読み込みでゴミ(不定なデータ)が追加されるのは、BSAVEヘッダの定義よりも実際のデータ量が少ない場合は何かのデータが勝手に追加される(不定値)条件だったことが、実験で判明する。

バグはBSAVE側(64KB保存されない)で、BLOADは想定されない壊れたデータ(ヘッダに64KBの情報があるのに本体が0バイト)のロードによる症状で、ある意味正常…かなぁ。たぶん64KBのBLOADはイケるかなと。 — ごりぽん (@goripon_tw) 2022年5月25日
BLOAD側がバグっているなら多分…①BSAVE同様に0バイト読み込み(VRAMは書き換わらない)②64KBのファイルだと読み込みが終わらず無限ループ(VRAMには本来のデータに続けてゴミが上書き)…のどちらかになると思うんですよね。どちらでもないので多分イケてるかなーと。 — ごりぽん (@goripon_tw) 2022年5月25日

 テストしてみたら64kB(65536バイト)のファイルは正常に読めないというオチに…

ちなみに「メインROMの内容をVRAMに書き込んだ場合の画面」は見る人が見れば判ります(少なくとも私は判った😅🤣)。 — ごりぽん (@goripon_tw) 2022年5月25日

 特殊スキルすぎる!!

MSX版「へぇボタン」ver.2.0 Flash黄金時代を懐かしみつつ19年ぶりにバージョンアップ

【はじめに】 アクセスありがとうございます。WindowsMacなどのいわゆるパソコン向け の「へぇ」ボタンは、ヨシナガさんの 僕の見た秩序。 にて配布しています。ここで配布するのは1985年頃に普及した MSXパソコン向け の「へぇ」ボタンです。MSXパソコンについては こちら をご覧下さい。

【2022.05.07更新】 ver.2.0をリリースしました。

【2022.02.09更新】 当コンテンツ配布ページをはてなブログへ移転しました。

【2003.12.11更新】 2003年11月30日に秋葉原で開催された「MSXわくわくパーク」というイベントにて「ATARI端子化1/1へぇボタン」と一緒に展示しました。

【2003.11.08更新】 バンダイから発売された「1/1へぇボタン」にATARI端子出力の改造を施した ATARI端子化1/1へぇボタン 第1号が完成しました!→ ローブリ国王さんのWebサイトはこちら。「ATARI端子化1/1へぇボタン」をMSXパソコンのジョイスティックポート1へ接続して当ソフトをご利用いただくとより臨場感あふれること間違いナシです!ぜひお試しください。

【2003.09.07】 このページを公開しました。

https://p.gigamix.jp/he-button-msx/cg/screenshot_he-msx.png

MSX版「へぇボタン」ver.2.0 初出は2003年ですが2022年になってまさかの音声合成が実現した喜びに感謝、19年ぶりにバージョンアップ。FM音源(MSX-MUSIC) or SCC音源をご用意ください! ダウンロード👉https://t.co/6zNXMkFdX8 ブラウザ(WebMSX)で遊ぶ👉https://t.co/1o6wFPJEyB#MSX #MSXplay #MGSDRV pic.twitter.com/aAHykozPOh — Takashi Kobayashi (@nf_ban) 2022年5月7日

あの番組でお馴染みの「へぇ」ボタンを、MSXで!

 「トリビアの泉」で使われている「へぇ」ボタンをPC上で再現するのが2003年頃のインターネットで話題騒然なので、流行に乗っかりたくて当時MSXで作ったものです。

ダウンロード

ソフト名MSX版「へぇボタン」ver.2.0
ハードMSX2(VRAM 128KB)、MSX2+MSX turbo R
推奨・MSX-MUSIC(FM音源 YM2413, OPLL)及び相当品、またはSCC音源(コナミの「スナッチャーサウンドカートリッジ)及び相当品
対応OSMSX-BASIC ver.2.0 以降
作者nf_ban(Gigamix)
リソース ディスクイメージ HE-MSX_2.DSK 2022.05.07, 737280 Bytes

マニュアル

  1. SPACEバーかジョイパッドのトリガAを押すと「へぇ」音でカウントします。
  2. カウントは20以上進みませんので、ESCキーかトリガBでリセットしてください。
  3. プログラムを止めるには、CtrlキーとSTOPキーを同時に押してください。

ver.2より:

「へぇ」と叫ぶ音声合成データの出力先音源を任意に決定できるようにしました。

  • FM音源とSCC音源の両方が利用可能な場合、利用する音源を選択できます。
  • FM音源またはSCC音源のどちらかが存在する場合、それぞれを利用します。なお、SPACEキーを押しながら起動すると、PSG音源を利用します。
  • FM音源とSCC音源のどちらも存在しない場合は、PSG音源を利用します。

謝辞

 「僕の見た秩序。」のヨシナガさん、面白いもの(へぇFlash)を創作してくださり有難うございます。MSXのへぇボタンを作る原動力になりました。他のプラットフォーム向け「へぇボタン」アプリは「僕の見た秩序。」で紹介されています。

www.dfnt.net

ATARI端子化1/1へぇボタン

 「1/1へぇボタン」というジョークグッズがバンダイから2003年に発売される程度には、「トリビアの泉」は当時大人気のテレビ番組でした。

これはバンダイから2003年に発売された「1/1へぇボタン」というおもちゃです。元々は電池駆動なのですが、MSXのATARI端子から電源を摂ってへぇボタンをトリガーA、カウントリセットボタン(前面の小さい青のポッチ)をトリガーBに割り当てた改造品を或る方からいただきました。 pic.twitter.com/RkmwMzeAGu — Takashi Kobayashi (@nf_ban) 2022年2月9日

 で、この「1/1へぇボタン」をATARI端子(=MSXジョイスティックポート)へ接続できる改造を施したブツをローブリ国王さんに作っていただきました。これをMSX版「へぇボタン」で使うと、雰囲気出ますね!!

MSXturboR専用の「へぇボタン」もある(へぇ)

 MSXパソコン向け「へぇボタン」は、K-ichiさんの作成によるMSXturboR専用の「へぇボタン」もあります。

k-ichi.blogspot.com

 納期優先(乗るしかない、このビッグウェーブに…状態)で私(nf_ban)が素早く作ったものと違い、こちらは高品質です!

2022年現在の心境

 ここ以降の文章は、2022年2月9日以降に書いています。

 各種デバイス上で動作する「へぇボタン」アプリのムーブメントは2003年8月頃に発生し、当時の2ちゃんねるや各メディアを通じて「ネットのお祭り騒ぎ」と化しました。「へぇボタン」アプリの始祖であるFlash版へぇボタンはまさに当時のFlash黄金時代の申し子でありました。

 そんなFlashAdobeが2020年にクローズすることになろうとは当時夢にも思いませんでした。Flashはあれはあれで当時のマルチプラットフォーム環境の理想郷でありました。FlashAdobeの寡占を嫌ったWeb業界(主にAppleiPhone非対応)によって終息しましたが、2022年現在Appleのやっていることはある意味AdobeFlash)よりも独善的かもしれません。

www.nicovideo.jp

nlab.itmedia.co.jp

 まさか私(nf_ban)が作ったMSX版へぇボタンが由来であると思われるコンテンツが トリビアの泉のWikipedia に載ることになろうことなど勿論予想だにしませんでした。(念のためお伝えしますが、私はWikipediaの編集をしていません!)

 ネットのムーブメントは鮮度が命です。iPhoneビッグウェーブさんの如く、このビッグウェーブに乗るためには1秒でも速くコンテンツを完成させる必要がありました

 なので、まずはミドルウェアとしてDMシステム2を採用し、そこからすぐに実現できることを目指しました。ドット絵を描く工数を短縮するためにあえてSCREEN3を採用し、「へぇ」と喋るPCMデータの加工と実装の手間を省くため、音声ではなくMGSDRVのBGMデータで代用してみたり…と今見ると荒削り以外の何者でもありませんが、2003年当時のベストを尽くした結果がああいう形となりました。

 2022年の今はあの頃よりやれることが増えていますから、リベンジしたらクオリティは多少上がるとは思うんですけどね…と思っていたら(後述)

2022年5月7日:ver.2.0のリリース

 音声は…当初(2003年, ver.1.0)はPSGで適当に作りました(すいません全然似てませんでした)。その後2022年にMDPCさん制作の「MGSDRV MSXplay 音声合成データ変換ツール」が公開され、非力なMSXでもBGMドライバ(MGSDRV)経由でサンプリング出力が可能らしいとの話を聞きつけ軽い気持ちで試してみたら「へぇ」が喋るように聴こえてきて表現力が格段にアップしました!

MDPCさんの「MGSDRV MSXplay 用の音声合成データ変換ツール」を使って、昔作ったMSX版「へぇボタン」に「へぇ」の音声データを組み込んでみたら技術の進化を感じずにはいられなかった!これ凄すぎ!turboRでもZ80モードで動いているからMSX2はもとよりMSX1でもいけるかも?#MSX #MSXplay #MGSDRV pic.twitter.com/z7SQIwx4ge — Takashi Kobayashi (@nf_ban) 2022年5月5日

 上の動画、「HE.MGS(ver.1の音声データ)」を「HEE.MGS(音声合成の仮データ)」へ入れ替えただけで、もう全然違う!!

 2003年当時はブラウザでMGSDRVのMMLを手軽に制作する環境(MSXplay)も存在していませんでしたし、SNStwitter)で気軽に発表する場も存在していません。2003年当時やりたかったことが技術の進化により実現に至ったことを嬉しく思い、2022年、実に19年ぶりにバージョンアップすることにしました。制作環境や発表の場を提供してくださる皆様に感謝申し上げます。

 「MGSDRV MSXplay 音声合成データ変換ツール」のダウンロードは こちら

製品情報

  • 初出:2003年
  • 対応ハードウェア:MSX2(VRAM 128KB)、MSX2+MSX turbo R
  • メディア:2DDフロッピーディスク 1枚
  • コピーライト表記:© 2003,2022 Gigamix, All rights reserved. DM-SYSTEM2 © Gigamix All rights reserved. MGSDRV © Ain./Gigamix

千葉日報ニュースっぽく見せる、MSX版「千葉の某ニュース」

【2022.05.04 22:00更新】 ver.2.0をリリースしました。

 ウン十年前にチバテレ(千葉テレビ)で放映されていた夕方のニュース番組「千葉日報ニュース」のオープニング(ジングル)があまりにも恐怖過ぎることで今でもテレビやネットで度々話題になるため、当時の雰囲気を味わえるジョークプログラムにしてみました。

https://p.gigamix.jp/chiba-no-bou-news/cg/chiba-no-bou-news_title.png

千葉日報ニュースっぽく見せる、MSX版「千葉の某ニュース」https://t.co/l0XOCbHZop pic.twitter.com/n6qsgSl1cm — Takashi Kobayashi (@nf_ban) 2022年5月4日

ダウンロード

ソフト名MSX版「千葉の某ニュース」ver.2.0
ハードMSX2(VRAM 128KB)、MSX2+MSX turbo R
要:MSX-MUSIC及びその互換品、MSX標準漢字ROM及びその互換品
対応OSMSX-BASIC ver.2.0 以降
作者プログラミング・グラフィック:nf_ban(Gigamix)
BGMデータ作成:焼飯太郎
BGMデータ制作環境(MSXplay)提供:DSA
協力:ものすごく沢山
(敬称略)
リソース ディスクイメージ CHIBNOBO.DSK 2022.05.04, 737280 Bytes

バージョンアップ履歴

  • 2022.05.04 22:00:ver.2をリリース。
  • 2022.05.04 12:00:ver.1をリリース。

マニュアル

  • MSXにまつわる千葉のローカル嘘ニュースがランダムで表示されます。
  • スペースキー または ジョイパッドのAボタン…次のニュースを表示します。
  • ESCキー または ジョイパッドのBボタン…ニュースを終了します。

千葉日報ニュースとは

 作者(nf_ban)の幼少期には夕方18時から千葉テレビで放送されていた、千葉日報社を情報源とするニュース番組です。当時の「千葉日報ニュース」は、文字とアナウンサーの音声のみで伝えるシンプルな番組でした。

youtu.be

 今でもテレビやネットで度々話題となっているのが、このオープニングジングル…とにかくなぜか怖い曲調なんですよ。未だ脳裏に焼き付いているんですよ。

#昭和生まれっぽい発言をしろ 「千葉日報ニュース」怖さは抜群?ねとらぼさんでも話題!オープニング曲怖すぎだろ伝説のローカル番組「千葉日報ニュース」がYouTubeで復活 - ねとらぼ https://t.co/PMlMegMEVB @itm_nlabさんから #チバテレ — チバテレ【公式】 (@chiba3ch) 2016年4月27日

 近年はマツコ・デラックスさん(千葉県出身)出演のテレビ番組「月曜から夜ふかし」で千葉日報ニュースが取り上げられたことで、全国的に知ってる人は知っている状態になっています。

今さらですが、某「夜ふかし」な番組で、チバテレと千葉日報ニュースを取り上げて頂いてたんですね…しかもトレンド入り。ありがたや。割と社内でも「伝説の番組」となっています😅ねとらぼさんでも記事にしていただいてました♪#チバテレ #千葉日報ニュース #千葉日報 #月曜から夜ふかし https://t.co/YaymJAYrQt — チバテレ【公式】 (@chiba3ch) 2019年3月24日

【千葉の英雄】先日「ジャガー星に帰還した」と発表された千葉のご当地ミュージシャン #ジャガーさん 。実は #月曜から夜ふかし でのブレーク直前、キャスターとして「#千葉日報ニュースβ」という番組に出演してもらっていました。懐かしの映像と、当時の秘話をお伝えします。https://t.co/e7HbRQpFrB — 千葉日報 (@chibanippo) 2021年10月18日

 一時期YouTubeで「千葉日報ニュースβ」と称して復活の兆しがありましたが、2022年現在は放送されていません。

www.youtube.com

MSX版「千葉の某ニュース」制作の裏側

 なお、コンテンツ制作時に作成した各種素材データはディスクイメージの「MAKING」ディレクトリに保存してありますので、興味がある方はどうぞご確認ください。

ミドルウェア:DMシステム2

 MSX BASICに拡張命令を追加することでプログラミングしやすくなる、MSXパソコン用ミドルウェアです。今回は元々のBGMデータ(MSXplay=MGSDRV用楽曲データ)を再生するだけでなく、日本語表示、パレットアニメーション処理、キー入力機能(DMM)、圧縮データの展開(BPE)、BSAVEヘッダの付かないバイナリデータを直接メモリへ転送するなど多方面に活躍し、開発期間を大幅に短縮できました。

RAM メモリマップ(ver.2)

アドレス サイズ 用途
0000 - 2FFF 12288 DMシステム2本体(その1)
3000 - 307F 128 パレットデータ(CHIBNOBO.PL5)
3080 - 365F 1504 圧縮画像データ1(CHIBNOB1.BPE)
3660 - 383F 480 圧縮画像データ2(CHIBNOB2.BPE)
3840 - 397F 320 圧縮画像データ3(CHIBNOB3.BPE)
3980 - 3A2F 176 圧縮画像データ4(CHIBNOB4.BPE)
3A40 - 3CBF 640 音楽データ(CHIBANIP.MGS)
3CC0 - 3F7F 704 (未使用)
3F80 - 3FFF 128 ニュース既読フラグ 0:未読、1:既読)
4000 - 7FFF 16384 DMシステム2本体(その2)
8000 - BFFF 16384 MSX BASIC用フリーエリア
C000 - C53F 1344 フォントドライバインストーラ(FNT-NEKO.BIN)
C540 - D7FF 4800 テキストデータ(CHIBNEWS.TXT)
D800 - FFFF 10240 MSXシステムが使用

VRAM メモリマップ(ver.2)

SCREEN5を採用。

ページ 用途
ページ0 開始画面・終わりの画面
ページ1 ニュース画面
ページ2 12px角フォント「東雲ねこいらず」フォントデータ(その1)
ページ3 12px角フォント「東雲ねこいらず」フォントデータ(その2)

解説

 関連データは基本的にいわゆる裏RAMへ配置し、BASICフリーエリアの消費を抑えるようにしました。DMシステム2の場合、3000h~3FFFhまでの4KBに空きエリアがあります。

 当クラブ謹製のBPEデータ圧縮ツールを用いるとBSAVEヘッダが搭載された状態でファイルが保存されます。BLOAD命令でメモリへ転送する分には都合が良いのですが今回は裏RAMに転送するためBLOAD命令は利用できません。替わりにDMシステム2の「CALL LOAD」命令を利用するのですが、CALL LOAD命令はデータそのもの(BSAVEヘッダも含め)をメモリへ転送するため逆にBSAVEヘッダが余計なデータと化してしまいます。

 BSAVEヘッダをキャンセルして裏RAMへ転送するには _LOAD(<ファイル名>,<転送先アドレス>,,7) というように、先頭からのオフセット値を指定する(この場合は7バイト読み飛ばす)ことで解決できます。

 今回特徴的な機能として、最大64px角まで1px単位で縦横の文字サイズを変更できる「日本語表示機能」を使いました。MSXの場合日本語環境にシフトJISコードを採用しているので、Windowsでニュースのテキストデータを作成する際にシフトJISエンコードで保存しています。

 今回は拡大文字と太字装飾・文字間調整の機能を使いました。PUT KANJI命令や漢字BASICのPRINT命令では実現できない表現が可能となりました。また、漢字ROMが搭載されていない機種(主にMSX2)でもニュースが読めるようにJIS第1水準の12px角フォント(通称:「東雲ねこいらず」)をVRAMの10000h以降へ配置しフォントドライバを変更することで、MSX2以上のあらゆる機種でお楽しみいただけるよう配慮しています。

製品情報

  • 初出:2022年
  • 対応ハードウェア:MSX2(VRAM 128KB)、MSX2+MSX turbo R
  • メディア:2DDフロッピーディスク 1枚
  • コピーライト表記:DM-SYSTEM2 © Gigamix All rights reserved. MGSDRV © Ain./Gigamix