【はじめに】 アクセスありがとうございます。WindowsやMacなどのいわゆるパソコン向け の間違いナイ!ボタンは、ヨシナガさんの 僕の見た秩序。 にて配布しています。ここで配布するのは1985年頃に普及した MSXパソコン向け の間違いナイ!ボタンです。MSXパソコンについては こちら をご覧下さい。
【2024.09.07更新】 ver.1.02をリリースしました。
【2024.08.15更新】 ver.1.01をリリースしました。ROM版も用意しました!
【2003.05.27】 このページを公開しました。
お笑い芸人の長井秀和さんの決め台詞「間違いナイ!」を喋る怪しいボタンがインターネットで話題騒然(なのか?)なので、MSXでも作ってみました。今回は頑張って喋らせてみました。それも、 ひどいガラガラ声 で。
いますぐ試す(WebMSX)
↓ PC・スマホのWebブラウザで当コンテンツが動きます。こちらをクリック ↓
いますぐダウンロード
ソフト名 | 間違いナイ!ボタン for MSX2 ver.1.02 |
---|---|
ハード | MSX2(VRAM 128KB)、MSX2+、MSX turbo R |
対応OS | MSX-BASIC ver.2.0 以降 |
作者 | nf_ban(Gigamix) |
リソース | ディスクイメージ NAGAIMSX_DSK.zip 2024.09.07, 72739 Bytes ROMイメージ NAGAIMSX_ROM.zip 2024.09.07, 56479 Bytes |
SPACEバーで「間違いナイ!」、ESCキーで終了。
※事務所に怒られたらきっとすぐ消します。
ROM版もあります
Gakuさんの便利なディスクイメージ→ROMイメージ変換ツール「Tablacus DISK ROM Lite」が無ければ当コンテンツをROM化することはできなかったでしょう。本当にありがとうございました。
↓ Tablacus DISK ROM LiteのGitHubはこちらをクリック ↓ github.com
フロッピーディスクの生産中止に伴い、コンテンツのROMイメージ化をおすすめしています。ROM化に関する特集記事を書きましたので、興味ある方はぜひ御覧ください。
↓ 特集記事はこちらをクリック ↓ gigamix.hatenablog.com
ROM版のご注意
- ROM版は1Mbit メガROMのROMイメージが動作可能な各種ハードウェア及び動作環境をご用意ください。
- 各種エミュレータでは自動認識すると思いますが、必要であればメガROMタイプを「ASCII 8K」または「KONAMI SCC」に指定してください。
- 仮想FD・ROM環境の「Sofarun」では当コンテンツを起動できませんので予めご了承ください。
- ROM版は開発時に用いた各種素材データ(ディスクイメージ内のMAKINGフォルダ)が含まれていません。
VDPマクロを活用しましょう
当クラブで使用しているMSXの開発環境 DMシステム2 の紹介がてら、タイマー割り込みでVDPコマンドを発行する「VDPマクロ」というDMシステム2の機能をご紹介します(ダウンロードのディスクイメージ版では開発素材も入れておきました)。
MSXのVDPコマンドは本来タイマー割り込み中に発行してはならないとされていますが、それはHMMMやLMMMなど、I/Oにドカドカと数値を出力してVDPのレジスタをオートインクリメントするコマンドの発行中にタイマー割り込みでまったく新しいコマンドを発行したらVDPが暴走→CPUも暴走してしまうからで、要はオートインクリメントしない処理の軽いVDPコマンドに関してはタイマー割り込み内でも発行できる(と私は解釈しています)、わけです。
今回作ったVDPマクロは凄く単純です。内訳はこちら。
- 212ラインモードから192ラインモードに切り替える
- SCREEN 3に切り替える
- SCREEN 3のパターンジェネレータテーブルを1ブロックずつ増やす→コマを切り替えるようにアニメーションする
- すべてのコマを表示し終えたら、212ラインモードに戻す
- SCREEN 5に切り替える
- 終了
VDPマクロのソースコードはこちら。コンパイラは Mマガ1号 にも同梱されていた MSX-DOS TOOLS の ASM.COM です。ご覧の通り、マクロは基本的に DEFB や DEFS の羅列です。
chgplt EQU 0 ;0+n(0~63) vdp EQU 40h ;40h+n(0~46), xx loop EQU 70h ;70h+n(0~14) looped EQU 7Fh lgwait EQU 0C0h ;long wait (256 counts) wait EQU 0C1h ;0C0h+n(0~59) newmcr EQU 0FDh ;0FDh,xx,xx mcrend EQU 0FFh ORG 0C000h ;blackout palette plt0: DEFS 32 ;screen 5 palette plt1: DEFB 000h,000h,011h,001h,012h,001h,022h,001h DEFB 032h,002h,043h,003h,053h,003h,064h,003h DEFB 044h,004h,054h,004h,055h,005h,064h,004h DEFB 064h,005h,074h,005h,075h,006h,076h,007h ;screen 3 palette plt2: DEFB 000h,000h,011h,001h,021h,001h,022h,001h DEFB 022h,002h,032h,002h,043h,003h,053h,003h DEFB 054h,004h,064h,004h,065h,005h,074h,005h DEFB 075h,005h,075h,006h,076h,006h,077h,007h ;blank palette plt3: DEFS 32 ;macro start DEFB chgplt+128 ;chgplt(128+0) ;screen 3 DEFB vdp+9, 0 ;192 lines DEFB vdp+0, 0 DEFB vdp+1, 68h ;screen 3 DEFB vdp+2, 58 ;pattern name table (E800h) DEFB vdp+4, 16 ;pattern generator table (8000h) DEFB chgplt+128+2 ;chgplt(128+2) ;animation DEFB vdp+4, 16 ;frame 1 DEFB wait+3 ;wait 3/60sec. DEFB vdp+4, 17 ;frame 2 DEFB wait+3 DEFB vdp+4, 18 ;frame 3 DEFB wait+3 DEFB vdp+4, 19 ;frame 4 DEFB wait+2 DEFB vdp+4, 20 ;frame 5 DEFB wait+2 DEFB vdp+4, 21 ;frame 6 DEFB wait+2 DEFB vdp+4, 22 ;frame 7 DEFB wait+2 DEFB vdp+4, 23 ;frame 8 DEFB wait+2 DEFB vdp+4, 24 ;frame 9 DEFB wait+2 DEFB vdp+4, 25 ;frame 10 DEFB wait+2 DEFB vdp+4, 26 ;frame 11 DEFB wait+2 DEFB vdp+4, 27 ;frame 12 DEFB wait+2 DEFB vdp+4, 28 ;frame 13 DEFB wait+10 ;wait 10/60sec. ;screen 5 DEFB vdp+9 ,80h ;212 lines DEFB vdp+0, 06h DEFB vdp+1, 60h ;screen 5 DEFB vdp+2, 1fh ;pattern name table (0000h) DEFB chgplt+128+1 ;chgplt(128+1) ;macro end DEFB mcrend END
MSX BASIC上でまず画像データをVRAMに配置。このとき、スクリーンモードは SCREEN 5 にしておきます。SCREEN 3のアニメーション用データはVRAMのページ1(8000h)、PCMデータはVRAMのページ2(10000h=@65536!)に配置。
このバイナリデータを0c000hに配置します。最初の128バイトはパレットデータで、実際のマクロはその後(0c080h)になります。そして
CALL VMON(&HC080)
…という命令を実行すると、上から順に勝手にアニメーションしてくれます。勝手にアニメーションする間、予めVRAM上(SCREEN 5のページ2)に配置しておいたPCMデータを
CALL PCMON(@65536!,@65535!+10933,0)
…という命令で再生します。これで、SCREEN 3のアニメーションしている裏で「間違いナイ!」と喋らせることが可能になります。
MSX版を作るのに頭を使うのはPCMやCGなどの素材をいかにMSX用に作り込むかということで、はっきり言ってプログラミングにはぜんぜん頭を使ってません。(^^;
開発の経緯
2003年9月頃、僕の見た秩序。 のヨシナガさんが リアルへぇボタン という一発ネタのFlash作品を発表したところ、なぜかいろんなプラットフォームでへぇボタンを再現するプログラムが次々と作られ、当時はちょっとしたインターネットムーヴメントとして話題になりました。私もせっかくだから MSX版のへぇボタンを即興で作って、そのブームに乗っかりました。
原作者・ヨシナガさんのWebページにて紹介されていたMSX版とは、私(nf_ban)が製作したものです。
その後、リアルへぇボタンに続き 長井秀和 間違いナイ!ボタン が発表され、またもやなぜかいろんなプラットフォームでリリースされていたので、今回もMSX版を作ってみました。
謝辞
「僕の見た秩序。」のヨシナガさん、面白いFlashを創作してくださり有難うございます。MSXの間違いナイ!ボタンを作る原動力になりました。