今更、雑誌の打ち込み PC−8001系


(注)このページは、いまだに雑誌のプログラムを打ちこんだ事を記すだけの なーんの意味の無いコーナー(中島みゆき調)です。
2024年02月の打ち込み  ’83/09 BASICマガジン HELICOPTER SCRAMBLE PC−8001mkII用 OK       2023年12月の打ち込み  ’86/04 PiO THE COCKPIT PC−8001mkII用 OK      ’84/04 アスキー Dog Fight PC−8001用 OK       2023年11月の打ち込み  ’82/07 アスキー タクシードライバー PC−8001 TL/1・PC用 OK    ’81/03 アスキー 浅野オセロ PC−8001用 OK       2023年10月の打ち込み  ’82/08 アスキー HALLOWEEN PC−8001(+PCG)用 OK      ’81/09 アスキー アステロイド PC−8001 GAME−PC用 OK      ’81/08 アスキー ギャラクシアン PC−8001 TL/1・PC用 OK    以前ディスクベースのTL−1・PCで打ち込んでたのですが  当時MHの2HDドライブでソース作成したので  あまり使わない2HD用2D作業ディスクを紛失してしまい  新たに打ち込みとなります  機種によっては実行後すぐにIllegal function call が出ます  原因はマシン語サブルーチンで使用する  ワークデータ0FFC0H〜(本体イニシャライズ後空き領域)が  PC−8001のように00Hでクリアされておらず  PC−8801では20Hや80Hとなっており  そこを利用するマシン語サブルーチン内が  使用するワークデータ範囲外となってエラーが出ます  訂正記事ではなく読者投稿欄(DMA)で“あるバグとの戦い”として  それぞれ違う読者が2回PC−8801で動作するまでの過程が載っています  ただし、’83/12月号のソースは間違っているので  説明通りのソース修正します  またデモを長く続けているとエラーがでるそうです    <’83/9月号のあるバグとの戦いの場合>    C7F0:21 C0 FF 06 21 36 00 23 10 FB C3 00 C8   を追加、実行アドレスは0C7F0H    <’83/12月号の続・あるバグとの戦いの場合>   ソース    1585 ' FOR I:=$C0 TO $DE DO MOM($FF,I):=0   を追加、実行アドレスは0C800H    ’82/08 アスキー SKY SHOOING PC−8001用 OK       2023年09月の打ち込み  ’82/09 アスキー 新森田オセロ PC−8001用 OK    通称、森田オセロ V3.7  マシン語が間違って別のダンプになっています  10月号に正しいマシン語のダンプが掲載されています     2023年06月の打ち込み  ’85/02 PiO CAVERNOUS PC−8001用 OK    途中まで打ち込んでそのままだったモノを今になって完了  1周(20面)クリア確認済み     2023年05月の打ち込み  ’84/07 POPCOM バブルゲーム PC−8001mkII用 OK       2023年02月の打ち込み  ’83/10 I/O Ade PC−8001用 OK    サンプルのセーブ、ロード、コンパイルではOKです  ’84/10 POPCOM フィールドオリンピック PC−8001用 OK    途中まで打ち込んでそのままだったモノを今になって完了  またタイトル、パワーゲージ、地面(200行)等で  [GRPH]+[L]のキャラクタが潰れてしまい  合わせた方が良いと思われます(プログラムには影響はありません)     2023年01月の打ち込み  ’84/06 マイコン フルーツパーラー PC−8001mkII用 OK    以前打ち込んだものの無くしてしまい再度の打ち込みです  1周クリア確認済み    ’85/01 PiO ミサイル&ボール PC−8001用 OK       2022年12月の打ち込み  ’86/08 BASICマガジン The bad man PC−8001用 OK    1面クリアした時にラウンド数が+1されて表示されるのですが  表示位置がずれてしまいます   540行のLOCATE文の73→75  クリア確認済み    ’84/09 BASICマガジン モグラの反乱 PC−8001mkII用 OK       2022年10月の打ち込み  ’83/06 テクノポリス ICE CRASHER PC−8001用 OK       環境によっては2番目(下側)の様に画面がおかしくなります  訂正記事はプログラムスペースが少し詰められいるだけなので関係ありません  原因は1220行の画面作成で1キャラ消去(12×12ドット)A=USR(0)で  1キャラ表示ルーチンでA=USR(n)のnは1〜26までで  0のデータ(消去)は無く、かつキャラクタデータは1から収納されており  インデックスも1から始まるように合わせています(元々用意されていない)  0のキャラクタデータは255番目の次となり(B=00、DJNZで制御の為)  プログラム、データ範囲外で環境によっては空きエリアは不確定なので  誤動作を起こす可能性があります  解決方法は0C3D7H〜0C3E8Hを全て000Hにする  DOSを使用しない場合05000Hをコールして  32KRAMを全て000HにしてからN−BASIC起動、実行    ’83/04 テクノポリス メテオ ファイト PC−8001用 OK     破損したテープから一部取り出し、残りを打ち直し     Home へ戻る