今更、雑誌の打ち込み 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 へ戻る