####################
# クラックスもどき #
####################

クラックス（アタリ・1990）(https://ja.wikipedia.org/wiki/クラックス)に良く似たゲームです。

================
インストール方法
================

「klax.pex」をP/ECEに転送してください。

======
遊び方
======

・転がって来るタイルを、パドルで受け取って下さい。
　上ボタンを押すと、タイルを投げ返します。
　下ボタンを押すと、タイルの転がるスピードが速くなります。
・Ａ又はＢボタンを押すと、箱にタイルを落とします。
　同色のタイルを縦・横・斜めに３個以上揃えると得点となり、タイルは消えます。
　各ラウンドスタート時に表示される条件を満たすと、ラウンドクリアとなります。
・パドルには、５個までタイルを載せる事が出来ます。
　箱には、５列５段までタイルを積む事が出来ます。
・タイルを受け取り損なうと、ドロップメーターが点灯します。
　３回タイルを受け取り損なうと、ゲームオーバーとなります。

========
操作方法
========

------------
タイトル画面
------------

ＡまたはＢボタン　　　ゲームを開始します。
上下左右ボタン　　　　開始ステージと、タイルの色数を選択します。
ＳＥＬＥＣＴボタン　　プログラムを終了します。

----------
ゲーム画面
----------

左右ボタン　　　　　　パドルを左右に移動します。
上ボタン　　　　　　　タイルを投げ返します。
下ボタン　　　　　　　タイルをスピードアップします。
ＡまたはＢボタン　　　タイルを落とします。
ＳＥＬＥＣＴボタン　　タイトル画面に戻ります。

--------
いつでも
--------

ＳＴＡＲＴボタン　　　一時停止／再開します。

========
あとがき
========

アタリの業務用パズルゲーム、クラックスです。
1990年当時で、アクティブ連鎖が出来た落ち物パズルゲームは、結構珍しいのではないかと思います。
コラムスやハットリスと同時期に発売されて、僕はクラックスが一番人気が出ると予想したのですが、結果はコラムスが一番人気になりましたね。

クラックスは、たくさんのコンピュータや家庭用ゲーム機に移植されているようです。(https://youtu.be/c4CL2RgBNLg)
僕はもっぱらゲームセンターで遊んでいましたが、海外ではMSX版も出ていたのですか。知りませんでした…
動画で見る限り、どの機種も良移植のようです。中でも、Atari 2600版(https://youtu.be/c4CL2RgBNLg?t=97s)が出色の出来栄えだと思いました。

クラックスは擬似3Dのグラフィックなので、タイルのスプライトパターンが多くなり、昔の機種では容量節約に苦労したのではないかと思います。
２列ごとに同じスプライトパターンを使い回したり、レーンの傾き自体を無くしたり、いろいろ節約されてるようです。
それらに比べればP/ECEはまだメモリが潤沢で、今回のクラックスもどきでは、タイルやパドルの全ての位置のパターンをベタ持ちしました。(^^;

もう一点、今回のプログラムで工夫した点は、「割り込みスタック」の仕組みを実装して、タスク毎に割り当てるスタック容量を節約した事です。
RXマイコンのISPレジスタ(http://tool-support.renesas.com/autoupdate/support/onlinehelp/ja-JP/csp/V4.01.00/CS+.chm/Compiler-CCRX.chm/Output/ccrx05c0602y.html)や、ARMマイコンのMSPレジスタ(http://www.cqpub.co.jp/hanbai/books/36/36491/36491_3syo.pdf)を参考にしました。
RXやARMはCPUのハードで割り込みスタックをサポートしていますが、P/ECEのS1C33には無いので、ソフトで全ての割り込みをフックしてスタックを切り替えるようにしました。
今回のクラックスもどきは、多くのタスクを使っていないので、さほど恩恵が有る訳ではないのですけれど、今後役に立つと良いな、と思います。

==================
Sun Jul 29 2018
Naoyuki Sawa
nsawa@piece-me.org
==================
