ニャオニャオ21世紀

アイデア。レトロゲーム(MSX、PCエンジン、ファミコン、メガドライブセガサターン)と、MSXのゲーム開発と、最新ゲーム(PS4、SWITCH)、身体(身体意識など)、ライフハック、電子工作ほか雑記を綴っています

ゲーム制作-MSXマシン語講座

MSX BASICでゲームを作ろう!アクションゲーム編の同人誌(紙)をBEEPさんで販売します

MSX BASICでゲームを作ろう!アクションゲーム編の同人誌を販売します。 しばらくはBEEPさん専売となります。 電子書籍の、 ”MSX BASIC 大人の今ならできる!プログラム初心者のためのアクションゲームの作り方”を余熱さんに編集して頂き、読みやすくいたし…

MSXのVRAMの画面表示(1800H~)について

MSXでマシン語でプログラムをしていると、 画面表示が厄介ですよねぇ。 レイアウトというか... 例えば、STAGEとか、SCOREとか、そういうのを 表示するときに、 マシン語だとアドレスを指定しますが、 ちょっとややこしい... そこで、こんなのを作ってみまし…

MSX マシン語(アセンブラ)のスプライトの定義方法 初心者歓迎!

今まではBASICでスプライトを定義しておいて、 マシン語を呼び出して、 スプライトを動かす部分のみをマシン語かしていましたが、 今回はマシン語でスプライトの定義をします。 では例のごとく、MSXPENでやりたいと思います。 (MSXPEN.comは、ブラウザででき…

MSX マシン語・アセンブラ(MSX PEN)のSCREEN1などの画面設定方法

MSX PENでアセンブラを書いていくときに、 画面設定などをすると思いますが、 その例を書きます。 アセンブラソースコード ;ワークエリア RG0SAV:EQU 0xF3DF ;VDPレジスタR#0の値の入っているアドレス FORCLR:EQU 0xF3E9 ;前景色の入っているアドレス BAKCLR…

MSXマシン語 ゲーム制作 スプライトで歩行アニメーション

前回、マシン語でスプライトを動かすことができました。 今回はウォーキングのアニメーションをさせたいと思います。 カーソルキーの右を入れたら右を向き、そしてテクテクと歩く! というものです。 僕が持っているマシン語の本には、スプライトの移動は書…

MSX BASIC基礎 VRAMについて、やさしく説明します!

VRAMについて説明します。 MSXにはRAMとVRAMがついています。 普通にBASICを書いた場合、プログラムはRAMに入ります。 VRAMはどんなデータが入るのかといいますと、 画像についてのデータが入ります! 僕が小学生の頃は、恥ずかしながら、VRAMを知りませんで…

MSX基礎 RAMをめちゃくちゃ易しく説明します!初心者

今回は、MSXのRAMについて解説したいと思います。 僕は、数年前にMSXについてあれこれ調べ始めるまでは、 RAM? うーん、 プログラムが入っているんだよね? (僕が本格的なプログラムを書いたのはWindowsからでした。 最近のPCはメモリを意識しなくても書け…

第33回 マシン語でスプライトをカーソルキーで動かす!勉強レポート MSXマシン語入門(Z80 アセンブラ・機械語) 

MSXPenという、 MSX BASICとアセンブラの両方をテキスト画面に書けて、 隣のWebMSXで実行できるというサイトがあります。 そのサイトでマシン語が簡単に実行できます。 (前回の記事にMSXPenの書き方を書いています) MSXマシン語入門(Z80 アセンブラ・機械語)…

第32回 MSX PENでマシン語を書く!(使い方) MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート 

前回、pasmoでマシン語(アセンブリ)を書くようにしたいと 言っていましたが、 あれはやめました(~~;) macでpasmo入れるのって、なんか面倒( ・∇・) そこでマシン語を書く上で、今、一番お手軽な方法のひとつである、 MSX PENを使うことにしました。 前回の米…

第31回 カーソルキーで自由自在に動かす!! MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート 

今回はカーソルキーの入力です。 やっとゲームらしくなってきました^^ BASICでいうところのSTICK関数みたいなのがあるのかな? それでは始めます。 MSXマシン語では、BIOSでジョイスティック(カーソル移動キー)の状態が分かるそうです。 BIOS ------------…

第30回 I/Oポートについて(VDP) IN / OUT / OTIR MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート 

I / Oポートって何? よく聞くのですけど、いまいち分からなかったんです。 Windowsでもポートの何番をあけてどうのこうのというのをよく聞くのですが.... MSXのハードの構造を読んでよくわかりました^^ MSXハード構成: CPU ------ I/Oポート------ VDP | |…

第29回ビット操作について<シフトなど> RL / RR / SRL / SLA / SRA他 MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート 

今回は、ビット操作です。 今までは基本的には1バイト単位での操作でしたが、 これからやることは1ビット単位です。 これぞマシン語、ですね^^ 2進数のところが身についていないと少しやりずらいかも。 では、本を読んで勉強したいと思います。 まずビット操…

第28回 2進数でマイナスの値。2の補数 MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート

2進数でマイナスの値を表すのはどうすればいいのか? 今回は負の値について書きます。 本当は、2進数のことについて書いた時の書くべきでした(~~; 申し訳ないです。 10進数から2進数への変換は分かると思います。 25 ---> 00011001 となります。 まぁ計算を…

MSXマシン語入門(Z80 アセンブラ・機械語) 第27回 マシン語の計算 勉強レポート

今回はマシン語の計算です。 ゲームで計算というと座標とか、敵のダメージ量であったり まぁ何かと使いますね^^ これを学ぶと少しプログラムを組めるようになるのかな? 今回もこの本でお勉強です^^ MSXマシン語入門講座 posted with amazlet at 18.09.0…

MSXマシン語入門(Z80 アセンブラ・機械語)第26回 論理演算の働き マシンコードは? 勉強レポート

今回、本で勉強したのは、8ビットでの論理演算です。 僕は少しだけ知っています。国家資格の2種の勉強の時にやりました。 でもほとんど忘れてしまったなぁ~; でも前回の論理演算の基礎が分かればわかるはず! MSXマシン語入門(Z80 アセンブラ・機械語) 第2…

第25回 論理演算の基本 NOT / AND / OR / XOR MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート

今回は論理演算について。 論理演算はBASICでもよく使われますねぇ〜。 ANDとかORとかいうヤツです。 マシン語では、グラフィックとか掛け算、割り算に代わるような 計算をするのによく使われるそうです。 私は一応知っていますが、内容をすぐ忘れてしまうの…

MSX BASICでオリジナルゲームを!第19弾。BASIC中で使ったマシン語の解説 その3

マシン語の最後の部分の解説をします。 最後は、画面描画です。 画面の端にいったら、一瞬で画面を描き換えて 隣の面にいく処理です。 BASICだと、1画面すべてを描き換えると かなり遅くなるのですが、マシン語なら一瞬です。 (なお、このページだけでは理…

MSX BASICと機械語について 第18弾。 後半の機械語部分を解説。その2

前回は、MSX BASIC自作ゲーム作成のところで使った、 マシン語を2つ解説しました。 WebMSXでMSX BASICの自作ゲーム作成!第17弾。 マシン語部分を解説。その1 - ニャオニャオ21世紀 今回は後半の2つのマシン語の解説をしたいと思います。 (なお、このペ…

MSX BASICとマシン語について 第17弾。 マシン語部分を解説。その1

今回は一部に使用したマシン語部分の解説をします。 別のコーナーで、マシン語勉強レポートをやってきたのですが、 それがこのプログラムで使用しているマシンコードのところまで やれたので、やっと説明ができます。 こんなゲームを作ってきました。 www.ny…

第24回 ループを作る DJNZ MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート

やっと、ループを作るところにきました^^ 長かった〜。 これでやっとMSX BASICで使ったマシン語の説明ができます。 ループはとても大切。 それでは勉強して行きます! BASICだと、FOR~NEXTという命令があります。 MSX BASIC入門 初心者も中級者も歓迎です…

第23回 条件ジャンプ。これは大切! JP C / JP NC / JP Z / JP NZ など。MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート 

今回はジャンプ命令の続きです。 条件ジャンプというのをやります。 絶対アドレスジャンプと相対アドレスジャンプの両方にあります。 まず、絶対アドレスジャンプの方を。 JP C, LABEL2 JP NZ , LABEL2 などと書きます。 LABEL2はただのラベルということはわ…

第22回 ジャンプ命令 JP / JR MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート

今回はジャンプ命令です。 BASICではGOTOですね。 www.nyaonyao21.com 現代の言語には失われた命令ですw GOTOとかって評判悪いですからね〜。やっぱりややこしくなって しまうのが原因ですかね。 しかし大切な命令です。 ジャンプ命令には2種類あるそうです…

第21回 比較命令 CP MSXマシン語入門(Z80 アセンブラ・機械語)  勉強レポート

今回は比較命令です。 2つの数を比較します。 正攻法だと、 Aレジスタの内容とBレジスタの内容を比べる時は、 SUB B とします。(まだやっていませんが、Aレジスタ ー Bレジスタのことです。 引き算ですね。) すると、 2つのレジスタが同じ値ならゼロにな…

MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート 第20回 Fレジスタの使い方

今回はFレジスタ(フラグレジスタ)です。 レジスタなんですが、ちょっと変わったレジスタだそうです。 (いつものとおり、MSX マシン語入門講座という本で勉強します) データをロードしたり、他のレジスタとの間で 演算をすることは出来ないそうです。 名前の…

MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート 第19回 EX エクスチェンジ命令

EX(エクスチェンジ)命令です。 MSX FANに載っているマシン語を解析しているときに でてきました。 結構使うのでしょうか? 値を入れ替えるという命令です。 EX (SP) , HL これは、スタックトップの値と、HLレジスタの内容を入れ替えます。 うん?スタック…

MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート 第18回 PUSH / POP命令とスタック

前回はスタックについて説明しました。 CALL / RETの時のスタックは、一時的に戻るアドレスを入れておくメモリの場所 のことでした。 SP ( スタックポインタ) は、そのアドレスを指し示すレジスタでした。 今回の勉強は、PUSH / POP 。 PUSH / POP はスタッ…

MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート 第17回 CALL命令のメカニズム

今日勉強するところはなんかややこしそう! CALL命令っていったら、 CALL C120H とか書いて、その番地に飛んで、 RET があったら、また戻ってくるというやつでした。 BASICでいうGOSUB ~ RETURNみたいなの。 別にメカニズムといっても、不思議なところはない…

MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート 第16回 サブルーチンの作り方

今回はサブルーチンの呼び出し方と、戻り方です。 命令自体はとても簡単です。 CALL と RET です。 BIOSのところでも出て来ました! BASICでいうところの GOSUB ~ RETURN に当たります。 スポンサーリンク // サブルーチンを呼び出すのは、 マシン語からマシ…

MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート 第15回 レジスタの値を増減する命令 INC DEC

今回はとても簡単で、便利な命令です。 +1増加するのが、INC (インクリメント) -1減少するのが、 DEC (デクリメント) です。 例:ニーモニックは、 ① INC B レジスタBの中身を1増やします。 ② DEC (HL) HLレジスタでアドレスを指定されるメモリの内容を1減…

MSXマシン語入門(Z80 アセンブラ・機械語) 勉強レポート 第14回 前回とは逆の、VRAMからメモリへブロック転送 LDIRMV

// 今回はVRAMからメモリへのブロック転送です。 前回とは逆になります。 どんな時にこれらのBIOSルーチンを 使うのかと言いますと、 画面のデータをメモリへ写して、そこで改変して、再びVRAMへ 戻してやるような時です。 前回スクロールに使うと書きました…


「ニャオニャオ21世紀は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。」

当サイトは第三者配信の広告サービス「Google Adsense グーグルアドセンス」を利用しています。 広告配信事業者は、ユーザーの興味に応じた広告を表示するためにCookie(クッキー)を使用することがあります。 Cookie(クッキー)を無効にする設定およびGoogleアドセンスに関する詳細は「広告 – ポリシーと規約 – Google」をご覧ください