− JR−100 ぎゃらりぃ その2 −

私もひそかにJR100のエミュレータを作成しております。
(もうほとんどが完成しているのですがまだBEEPが不完全なのとカセットテープ処理が未処理なのです)

そうすると動かすネタがほしくなるわけですが、残ってるテープはほとんどなく
わずかにプログラムコーディングノートが残ってるだけの始末。

そのノートと当時の記憶、そしてエミュを作成したときのハードのノウハウを融合させて
いくつかのソフトを復元や再現、また新たにJR100用のゲームを作成してみました。そのスクリーンショットをご紹介。

これは前ページのCGだけとは違う、ちゃんと動いてる物のスクリーンショットです。ただし、自分のエミュ上で、ですがw

※コメント中のjr100v2.jarとはけむしろうさん作のJR-100エミュレータのことです。

ルナシティSOS

キャラデザインが4ドット移動の肝です。

「Lunar City SOS!!」

これも芸夢狂人氏の代表作です。
これはスペースマウスを作り上げてから作り始めました。
結構早かったな。

キャラ定義を工夫してキャラの移動を
横のみ4ドット単位で行っています。

シティの爆発やバリア、敵の投下弾には
セミグラフィックを使用しています。

4ドット単位でキャラがすれ違うのを強調したかったので
自機の弾のみ重ねあわせ処理を行っています。

jr100v2.jarでも問題なく動作しました。

動画はニコ動にアップしています。(sm18007473)
(コメが1つもつかない…。スペースマウスよりマイナー?)

キョウジンではなくキヨトと読むらしい。本人がインタビューで答えてました。

PCG版を参考にしています。

「Space Mouse」

あの芸夢狂人氏の代表作です。
二コ動に本人のインタビューがアップされ、
そういや作りかけで放置してたなと思い出して
遊べるところまで作成しました。

意外にもJR-100に移植されたという情報を見ないのだけど、
されてなかったのかな?

jr100v2.jarでも問題なく動作しました。

動画はニコ動にアップしています。(sm17923309)

(C)表示漏れがあったので修正

ビームを飛ばしてBoxの位置を掴め

「The White Box」

元は「TheYellowBox」という二コ動にあったゲームです。
ミゾグチ氏が23年前にPC-88で作ったのだそうです。
(元動画→sm5973948)
動画見てておもしろそうなので作ってみました。
モノクロなのでTheWhiteBoxです。

10x10のマスに隠された10個のBoxを見つけ出す
いわゆるマインスイーパー系のゲームです。

見つけ出す手段が面白く、フィールドにBoxに反応して
屈折するビームを飛ばして位置を推理します。

作ってみると、動画には入っていない状況とかもありまして
その辺は自己解釈でやっています。

1.完成チェックは1回のみとし、間違った場合は正解と
間違い部分を表示して終了します。
2.ビームは基本枠外へ出るまで飛び続けますが
同一軌跡に入った場合はそこで停止します。(ループ対策)
3.Boxが無い位置へ■を置き、それにビームを当てると
■を消します。そのときペナルティとしてSTEP+1されます。

Boxで囲まれた中にBoxがあるとビームが届かず
判断できなくなることがあるのでBoxの位置は
決まった面を多数用意するのが良いかと思いました。
(本作ではランダムで配置しています)

jr100v2.jarでも問題なく動作しました。

動画はニコ動にアップしています。(sm17432321)

Ys3

「Wanderers From Ys」

まあ、オープニングだけですよね。
勢いでプログラムしちまったぜいw

コウモリはテロップの奥へはいかないけどまあいいしょ。
32キャラぎりぎりまで使用しているのでコウモリの
書き換えの同期がいまいちだなあ。どうしようもないけど。

もうひとつ、実機に持っていったとき低音が鳴っているか?
JR-100のビープ音て低音になるほどデューティ比が
小さくなるから音にならなくなるんじゃないかと思ってる。
(本体付属のテストデモの音階テーブルがほぼ限界?)

jr100v2.jarでも問題なく動作しました。

BreakOutはアタリが発売したブロック崩しのことだよ。

「BREAK OUT」

ぱっと見ナ●コの「B●MB BEE」ですが
狙い目はそこではなく、BONUSの文字付近にあるゴミのようなもの。
'O'の文字に■が重なって表示されています。

これはPCGを使用してソフトウェアスプライトを
実装してみたものです。
ドット単位移動とテキストとの重ね合わせが可能です。

たかが■しかも4x4ドットでたった1枚ですがこれを実現するのに
PCGを8個も使用しています。(2x2xダブルバッファ)
8ドットのキャラまで拡張は可能ですが、
処理が複雑になる&データが多くなるため限定しました。

問題であったボールの動きですが、1dot/frameを基準でつくり、
スピードを変える場合は一度に複数回呼び出すことで
整数倍縛りではありますがなかなかいい動きが実現できました。

jr100v2.jarで動かない問題ですがスタックポインタの保存を
$100以降のアドレスで行っていたため動かなかったようです。
(たぶんエミュ特有のバグだと思うんですが)
ダイレクトページに変更したら正常に動作しました。
追記:原因はjr100v2.jarがsts(ext)をstx(ext)で実行していたそうです。

jr100v2-2.4.0ではこの不具合が修正されています。

♪あ、らっつぁっつぁ〜やりびだびりん らばりったんりんだんれんだんどぅ〜

「はちゅねミクがJR100でネギをふってみた」

ユーザー定義文字(PCG)を仕様を超えて使用してみました。

JR100ユーザーならご存知のとおり、
PCGは実は128文字まで定義が可能です。
ただ32文字目以降のRAMがテキストVRAMと
かぶってしまっているのでせっかく定義したPCGが
表示のためのテキスト配置で壊れてしまうのです。

このアプリではPCG領域を壊さないようにテキスト配置を限定し、
32キャラをこえるPCG表示をおこなっています。

動き自体は2パターンのパタパタアニメですが、それだけでは
寂しいのでBGMとして「Ievan Polkka」の一部をBeep音で、
SHIFTキーを押すと任意でネギを振れる機能をつけました。
(キーを押さないでいるとまたオートで振り始めます)

jr100v2-2.4.0において正常動作を確認しました。

タイトル画面。コンシューマっぽいでしょ?

ゲームオーバー。窒息すると下からブロックが固まっていく演出もそのまんま。

「テトリス」

あの有名なテトリスをJR100に移植してみました。

20Gや壁蹴り、設置0.5秒ルールなど、かなりコンシューマを
意識したつくりになっています。

乱数があまりいいとはいえず、結構かたよりますなあ。

このソフトはゲームメインがマシン語、起動用Basicの
2本から成り立っています。

jr100v2.jarでも問題なく動作しました。
下の核分裂やベジタブルクラッシュも動くでしょう。たぶんw

ゲーム中。ギャラクシアンのSEを若干使用しています。

敵は芋虫も投下してきます。あたらないけど。

「ベジタブル・クラッシュ」

現バージョンではニンジンだけは飛んできませんし
敵に当たっても自機は爆発しませんが
トマト、ナスは飛んでくるし弾も撃てるし敵も破壊できます。
全滅させれば次のステージに進みます。
(難易度変わりませんが)

バックに流れる星はちょっと細工をして
ドットスクロールを実現しています。

またサウンドドライバも搭載していて、
単音ながらメイントラック、サブトラックの演奏が可能。
ゲーム中はギャラクシアンのSEをいくつか鳴らしています。

最大の特徴はVIAのタイマー2を使用するようにしたので
敵の数でテンポが変わることがありません。

ここが問題点でもありまして、実機で試してないため
この部分がエミュと実機が同じ挙動になっているかが未確認w
実機で短いプログラムを走らせたときにはそれっぽい挙動を
していたのでたぶん合ってると思うのですが…。

しかし最近ではこのタイマー2が手放せなくなりまして
上のNuclearでも下のTetrisでも愛用していますw。

このソフトはゲームメインがマシン語、起動用Basicの
2本から成り立っています。

タイトル画面

ゲーム中。SEなし!

「核分裂」

 このソフトはマイコンBASICマガジン1983年6月号の
ベーシックマスターL2(以後BML2と表記)用に
カークスパン氏によって投稿されました。

  ゲーム進行の主要部分がマシン語になっており、
当時のマシン語の勉強としてこのソフトをJR100に移植しました。
実際に動かしてみて無数のキャラが高速に動き回るこの作品に
いたく感激した記憶があります。

BML2のCPUとJR100のCPUは6800コンパチな部分と、
表示周りもほぼ同じな部分からマシン語部を含め
移植しやすい関係にありました。
それでもJR100にアセンブラはありませんでしたからソースを
ハンド逆アセンブルして解析した後
再度ハンドアセンブルという作業でした。

しかし今日、セーブしたテープも失い、
残ったのはハンドアセンブル時にノートに記述した
アセンブラのソースコードのみでした。

当時のものはそのまま移殖だったんですが、
表示にもバグが出ていた記憶があったので
きれいに作り直すかということでリメイクと相成りました。

このソフトはゲームメインがマシン語、タイトルがBasicの
2本から成り立っています。

これもマイコンBASICマガジンに投稿して没った作品です。

エミュの機能、グリーンモニタモードでSSw

タイトル画面。シナリオ1?他にもシナリオが?あるわけありませんw

この迷路描画ルーチンにはバグがありました。

戦闘画面。1対1で戦います。

「DUNGEON」

昔マイコンBASICマガジンに投稿してあえなく没った作品です。

3DMazeの一応RPGです。迷路を探索し武器と装備を探しながら
Lvを上げてボスを倒すとエンディングという割と単純なものでした。
もちろんストーリーなんてありませんし迷路も1階のみw。

最大の特徴は当時PC88で出たWizardlyの
画面をパクったところでしょうか(爆
迷路内にはダークゾーンもあったりかなり意識してつくりました。
Wizardly大好きだったものでw

このソフトはマシン語、PCG転送用とシナリオ用の
2本のBasicプログラムから成り立っています。

唯一テープが残っていて、友人のテープコンバータにより
復活しました。このプログラムは実機でちゃんと動くはずですw。

 

 


[戻る]