スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

5月6日 シンクレアZX81自由研究その2


先週に引き続きいて、ZX81のお話。




まだあるんですか。




今回はエミュレーターで遊んでみました。




ZX81にもエミュがあるんですね。




向こうじゃメジャーなマシンだからね。EightyOneというのを今回使ってますが、ブラウザから使えるものもあります。




初めて使ってみたけど、かなり特殊。プログラムリストの入力はこんな感じで下の二行を使い、上は表示するだけ。



ZX81リスト入力


スクリーンエディットじゃないんですね。ポケコンみたい。




入力自体も変則的。これ、ZX81のキーボードなんだけど……



ZX81キーボード


なんだかワンキー入力が便利そうな。いっぱいありますね。




最初そう思ったんだけど、これって「入力を便利にする」んじゃなくて、「これで入力しなければならない」んだよ。




どゆこと?




例えば 10 PRINT AT 2,3; は、行番号はそのままだけど、PRINTは[P]キー、ATは[SHIFT]+[NEWLINE]で入力モードを変え、[C]キー。あとはそのまま、という感じで、こういう入力の仕方のみ。




P R I N T とか A T とか一文字ずつ入力する事はできないんですか。




そうそう。つまり、BASICコマンドの全てがワンキーで入力できる、っていうかそれしか許されない。




キーボードに書いてあるコマンドがすべてなんですね。




入力される状況によってモードは自動的に変わったりするので慣れると結構楽ではありますが。ちなみに、赤色の文字はシフトキーと、上のコマンドはそのままで、下のは先ほどの[SHIFT]+[NEWLINE]で。これは主に関数を入力するモードです。




ということで、わたしもひとつゲームを作ってみました。



ZX81 スマイルプリキュアゲーム


なにこれ……




え~っと、スマイルプリキュアゲーム……。Aがアカンベー、Hがキュアハッピーです……移動は[G][H]キーで左右。あと、これがリスト。



ZX81 スマイルプリキュアゲームリスト


まず最初は気合いを溜めます。[KIAI TAME..]と表示されている間はひたすら逃げて下さい。アカンベーとX座標が合うとダメージを受け、2回くらうとゲームオーバーです。




しばらくすると、[HAPPYSHOWER]表示に変わります。今度は攻撃できるので、アカンベーとX座標を合わせるようにして下さい。一発当てるだけでいいです。倒すとクリアです。




時間がかかると再び気合い溜めモードに戻ってしまいます。そうなったらまたやり直して下さい。




まあ確かにスマプリの戦闘っぽくはありますが……ランダム性が強すぎますねえ。




作ってみて、メモリの少なさを痛感したよ。最初は5人出そうと思ったんだけど……




29行できついの?しかもZX81はマルチステートメント不可なのに。




入力してるとわかるんだよ、メモリの天井が迫ってくるのが。








リストが長くなってくると、画面に表示されるリストの行数が少なくなってくる。これってたぶん、もうVRAMに容量が割けないからだと思うんだけど、わりとさっくり制限がかかってくる。




そうなんですか。まあわかりやすくて親切とも言えるかも。




確かにこれだと似たようなゲームばっかりになるよなあと思った。Dr.Dは厳しいな。




麻倉友美

スポンサーサイト

4月29日 シンクレアZX81自由研究

シンクレアZX81広告


なんだか唐突なような。今週ZX81に関するネタでもあったの?




いや特に。ただやりたかっただけで……




ベーマガには初期の頃からプログラムが載ってましたよね。




確か「ラジオの製作」の付録の頃からだったかな?ジャンケンゲームが載ってた様な気がする。




でも、ちっちゃいプログラムばっかりだったような。標準で1KBでしたっけ。




にしてもやたら小規模だったんだよな。印象に残ってるのはこの檄文。



マイコンBASICマガジン1983年8月号


厳しいですねえ……




確かにひねりがない作品が多い印象があった。逆に言うと、ベーマガに掲載されるにはそれがすごく重要だったんだろうな。




基本的にはモグラ叩きだったり、シューティングだったり、何かを避けるというゲームがほとんどでしたけど、味付け次第でかなり変わりましたからね。




でも、1KBってそこまで小容量でもないような。だいたいそれぐらいのポケコンなんかでも面白そうなゲームが結構あったし。なんでだろうと調べてみたら……




どうもこの1KBからVRAMも取ってるそうで。




え~っ、そうなの?ZX81って32桁×24行だから768バイトで……ということは空きは256バイトしかないの?




そう単純でもなくて、VRAMは可変式だそうな。表示している内容が少なければそれだけメモリを食わないらしい。




なるほど。妙に画面が寂しかったのはそのせいだったんですか。




可変なので、キャラクタ同士の衝突判定によく使われる、VRAMの内容を見て判定、というテクニックもちょっと変わった感じになっています。




まず、PRINT AT (Y座標),(X座標);で何も表示させずにカーソルだけを移動させます。




16398(400EH)番地と16399(400FH)番地には、現在のカーソル位置のVRAMアドレスが格納されているので、




PEEK(PEEK 16398+PEEK 16399*256) とするとそこにあるキャラクタのコードが読める、という流れです。公式みたいに頻出してたコードでした。




へ~。VRAM固定の他機種とはかなり違うやり方ですね。少ないメモリをやりくりする工夫が面白いです。




ZX81は、そもそも1981年発売だし、さらに破格の値段だったのでスペックが低くなってしまうのは致し方ないところ。廉価に抑えるための工夫がいろいろ見られて興味深いマシンでした。




麻倉友美

カレンダー
05 | 2017/06 | 07
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -
twitterでひとこと
最新記事
リンク
カテゴリ
最新コメント
最新トラックバック
検索フォーム
RSSリンクの表示
ブロとも申請フォーム

この人とブロともになる

QRコード
QRコード
来訪者数
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。