029 FM−7、PC−8801、mz−2000、X1 C−GRACE

*eFM−7等を使用
640×200で8色でドット単位に色が打てる機種なら 同じデータで絵が表示される、そんなシステムです それまでは各機種のBASICでDATA文の山 方眼紙で描いた絵から座標を取った場合 1:1の比率なのでモニタの4:3では少しおかしくなるので LINEやPESTで描く時に少し補正したりする そしてDATAに打ち込みミスがあると それ以降、画面がおかしくなる DATA文の山からミスをみつけるにはもー大変   ↑こんなDATAをチェックする(更に雑誌の印字が見にづらい場合も)     そこでデータはマシン語データとしてやれば 打ち込みやデバグはものすごく楽(チェックサムもあるし) 描画ルーチンはマシン語なので今までより速く 絵を見るだけでも結構良いシステム ただ〇学館が特定のキャラクタの囲い込みが... FM−7、PC88、mz−2000、X1の4機種が対応となっていて タイルペイントを自作でなんとかしないといけないFM スローすぎてあくびがでるぜPC CGプログラムがほとんどないmz Hu−BASIC自体でメモリをほとんどもっていかれるX1 全ての機種の不満がある程度解消されている 4機種の中で操作というか使い勝手が良いのはFM−7かなぁ ↑描画途中です念の為 で、徳間書店のテクノポリス誌で発表されたC−GRACE 最初はGRACEだったけど すでに日立さんが持っていたのでC−GRACEと改名される さて、EXECUTERでPC88版とX1版で SYMBOLの文字が反転されるバグが2機種だけあった でばぐのコーナーに無かったので逆アセンブルして修正 後で分かったのは、でばぐのコーナでなくて C−GRACEのコーナー内で 訂正記事があったけど、それも間違っていて 翌月に訂正されている ほとんど使われないので、それほど困るわけではないがスッキリしない   <PC88版>  7331:0E → 06   <X1版>  72EA:0E → 06   ↑パッと見たらシンボル文字の逆が分からない     データ自体は共フォーマットだけどメディアは共通でない そこでテープコンバータが発表されたけど少し困る 何故なら共通テープフォーマットはPC88に合わせる形になる PC88のCMT周りはハード依存度が高い為 テキストのDMA転送でCPUが一時停止... ソフトウェアでタイミングを取るというのは... どのみち8251の制御内で... と、PC88版は専用モニタを拡張して共通化するのだけれど 拡張ルーチンへの移行するパッチの書き換えデータが無いのである 書き換え前のデータだけある どーも訂正記事はなさそうである(自信はない!) で、毎度おなじみの逆アセンブラとなる 専用モニタのライト、リード、ベリファイコマンドのアドレスを 書き換えるのは間違いなく、書き換えるアドレスは間違い無い ソコのジャンプアドレスを書き換えれば良き哉、良き哉となる 幸い拡張ルーチンのメッセージからたどって実行アドレスはすぐに分かる     C054:35 C1→00 C4   C059:DE C1→12 C5   C05E:F8 C1→0A C5   と、コレでOK さてエミュレータでテープデータのやり取りはPC88、FM7間で出来る 一旦WAVファイルに変換したりと少し面倒なのですが 出来ない事はなかったので動作はOKとなる ただ動作確認したい為に色々と時間を取られたのがなんとも で、FM7のテープコンバータのサンプルプログラムで ファイルネーム部分がセーブされないのに気づいた これはファイルネームをワークエリアに転送する部分の アドレスが正しく+1されないのが原因    350 …AD=AD+1:NEXT→350 …Y=Y+1:NEXT   まぁ修正しなくてもファイルネームが無いだけで データはセーブされるし、PC88でデータロード出来たので 実害は無いです、ハイ 後はX1とMZのテープコンバータは動作確認が面倒というか、 BASIC部分が壊されるので モニタ上でパラメータを送って実行しないといけないので チト、面倒なのである と、こんなもんかなぁ ただただ制作サイドの苦労が色々と感じられる そんなシステムだなぁと 後はDISKシステムでの運用でX1はturboのみとなっているケド JODAN−DOSで観覧ならX1でもOKというか一番操作が楽になる   ------------------------------------------------------------------------------ おまけ   BASICで書かれたミュージック、CGプログラムはデバグしづらい 大体はDATA文の山から読んでコマンドを実行するので どこのデータを読んだのか判りづらい そこで、テクノポリス’83年11月号の『須和野ちび猫』の打ち込みでの様子 まぁ、打ち込みつーかOCRを使用しているつーか 最終的には打ち込んでいるんだから打ち込みつーことで 使用しているスキャナーだと雑誌の閉じているのが きれいスキャンしてくれないのが不満もある つーかパーツがボロボロと落ちたりして だましだましに使用しているいるのもある(あー幸せになりたい) とりあえず全部打ち込み、 プログラム部分だけはチェックをしたら実行をする 何故なら、だんだんと完成に近づく状態が楽しいからなのである   ↑まずは初めて実行したモノ(かなりヒドイ)   今回は印字がまだイイほーで 文字がかすれて判断しづらいとか 緑のページが個人的にみづらいとか それでDATA文の山となっているのだから 結構体力(?)がいる作業なのです まぁ数値とにらめっこしても面白くもないし ある程度修正したらキリのイイ行番号でやめて実行して 変化を楽しむ(?)とかして、とりあえず全部を見直す   ↑一旦、全部リストを見直して修正したモノ(まだヒドイ)   全部を見直しても、髪の毛の描画辺りからおかしくなっている 見落とした数値は中々見つけづらいもので 何回も見直したのに...ってハマりやすくなる 体力を戻してからチェックするという手もあるけど ベイビー時代は待っちゃくれねーぜ ただ、せっかちというのもあるかも そこであえてエラーを出して、ソコまでの状態で判断するというもの リストでREM文のコメントで “カミ”となっている2160行からチェックするんだけど 結構の量があるので怪しい所をチェックしたい まずは2200行のデータの最初の“,”を“*”にする 実行すると描画途中でエラー音と共にプログラム停止となる つまり2200行手前のデータまで読み込んだ事になる 描画をチェックして個人判断でOKなら2200行を元に戻し +50行できざんでおかしくなる所、またはおかしくなる少し前でいったら その行辺りをチェックするの繰り返し で、2450行辺りから描画がおかしいのでチェック   ↑ミスがあるのが、お解りいただけたでょうか?   2460行の下の真ん中の“0,0”の後がスペースになっている これが”0,0208”となり、以降のデータがずれている状態となる そして画面はグチャグチャになるってわけ 2450行を元に戻し、2460行を修正 これでかなりマシになるハズ   ↑結果かなりマシになった...   パッとみてもおかしい所がある(髪の毛、肩部分等) コレもエラーを出して場所を探る方法で見つけて、修正 こーして掲載誌と見比べて同じだったら良しとする 気が向いた時に全チェックしてもいい ただ掲載誌とプログラムが違う場合もあったりする ↑一応完成(頭のテッペンが白いのは掲載誌と同じ)   わざとエラーを出す方法で注意する事は ON ERROR命令がある場合は止めておくこと Hu−BASICはDATA文のチェックが甘いので “999999999”を入れたりしてエラーを出すようにします って今時こんな事しないよーな気がする それでC−GRACEではこーゆデバグの楽しみが出来ないのが 唯一の欠点かもしれない(強引なシメ)     おまけのおまけ   テクノポリス’83年5月号のPC−9801用水中ラムちゃんで 脇辺りの肌色のペイントがされていないので勝手に追加    1325 PAINT(110,170),HADA1$,C   ↑掲載誌ではキチンと塗られているんだけど...     前に戻る Homeに戻る