古いCPUの話題が多いです

写真付きで日記や趣味を書くならgooブログ

MZ-80Bのゲームを作る(3D編)

2016-10-16 02:30:58 | デジタル・インターネット
みなさんこんにちは。
今回は1980年代のパソコン「SHARP MZ-80B」の自作ゲームについて説明します。
   
このゲームは管理者の私が1991年に自作し、お蔵入りになっていたものです。
内容はシューティングをやりながら、背景の床を3Dスクロールさせるという技術を示しています
1991年当時MZ-80Bはすでに時代遅れのパソコンでしたが、世間に出回っているいわゆる「ちょっとした3Dゲーム」であれば、まだMZ-80Bが使えるのではないかとよく思ったものです。(このことは現在でも言える)
しかし80286が安く買えるようになったため、その誘惑に負けてPC-98をやっていたのを思い出します。
このソフトを実行するには、MZ-80Bの付属品として「グラフィックRAM1」および「MONITOR 1520」が必要です。
具体的には下記のソースコードをご覧ください。(コード専用のページに移動します)
    
MZ-80B用ゲーム「game3」
http://sourcecode0001.seesaa.net/article/442838354.html
   
アセンブラをお持ちでない方は、下記のダンプリストをご利用ください。(コード専用のページに移動します)
MZ-80B用ゲーム「game3」(ダンプリスト)
http://sourcecode0001.seesaa.net/article/442838486.html
    
エミュレータ「Emuz2000」に於けるゲームの画面を下記に示します。
    
いまのところ現存するどのゲームにも似ていないように思います。
もし何らかの著作権の問題があれば、内容を訂正します。
簡単なソリッド3DがMZ-80Bでもできるということを見せたいだけなので、はっきり言ってキャラデザインはどうでもいいです。
以上読者の皆さん何かの参考にしてください。
 
2016年11月8日補足:
「MZ-80B用のアセンブラがほしい」とおっしゃる方がおられますが、私の大昔のプログラムは基本的に、PC-9801F(古いFタイプです)のMS-DOSで動くクロスアセンブラ(自作)で作成しました。
カセットの信号は、RS-232Cの信号線(TXとかRXなど適当に1本を選ぶ)をトランジスタ、抵抗、コンデンサなどを使って適当にレベル変換し、録音したものをMZ-80Bに読み込ませてやっていました。
PC-98はタイマ―割込みが存在するため、カセットの信号は自由に作れます。
ところが時がたち、2000年ぐらいになってお蔵入りのフロッピーを出してくると、フロッピーの表面がツルピカではなく、挿入するとザラザラ言ってアクセスできません。一部の自作ゲームなどは読み込みましたが、クロスアセンブラとテープ変換プログラムは全滅していました。
そこでクロスアセンブラとテープ変換はWindows XPのVC++6.0で作り直したものを使っています。ただし私は古いプログラマであり、クラスライブラリなんぞは理解できませんので、ソースコードのどこが公開できるのか、自分では判断できません。
そういうわけで、自作ゲームのソースコードは公開しますが、アセンブラは皆さんが自作に挑戦してみてください。
またテープ変換の一部は完全に自分で入力したコードですので、このブログで公開しています。
「最新のWindowsパソコンから1980年の古いパソコンにファイルを転送する」を検索していただけば、出てくると思います。
 
『ソフトウェア』 ジャンルのランキング
この記事についてブログを書く
« T2の懲りない面々 | トップ | Windows10 Home 試用記 »