今更、雑誌の打ち込み 色々
(注)このページは、いまだに雑誌のプログラムを打ちこんだ事を記すだけの
なーんの意味の無いコーナー(中島みゆき調)です。
だいたいエミュレータで打ちこんでいるのですがエミュレータで動くとは限りません。
実機を出して、打ち込み、また吸い出すのが面倒ですしね。どうせ保存が目的なので...
AppleII用のソフトを打ち込む場合
DOS3.3の場合
まずはブランクディスクを作成(エミュレータによって違います)
Applewinだとドライブの所をクリックしてファイル名で好きな名前をつけて開く
プロンプトは’]’か’>’なのですがどちらでも構いません
ドライブ2にブランクディスクを作成したとして、フォーマット(イニシャライズ)を実行します
INIT HELLO,V254,S6,D2
と打ちこんだらドライブ2にDOS3.3のフォーマットされたイメージが作成されます。
ここで’HELLO’というのはグリーティングプログラム名(起動時に実行するファイル名)で
’V254’はボリュームナンバー(1〜254)
’S6'はディスクインターフェイスが刺さっているスロット番号、’D2’はドライブ番号
最低でもグリーティングプログラム名を指定しないといけません。(その他のパラメータは省略可、順番もありません)
又、DOS3.3は少し変った構造をしているので、マシン語モニタでも同じコマンドを受け付けます
ファイル名の表示
CATALOG,Sn,Dn
パラメータは省略可能、Snはスロット番号、Dnはドライブ番号、実行すると
A 002 HELLO
*I 003 APPLESOFT
*B 006 LOADER.OBJ0
等表示されます、’*’はライトプロテクトが掛かっていることを表し、
’A’は6K BASICファイル
’I’は10K BASICファイル
’T’はテキストファイル
’B’はバイナリファイル
次の数値は使用セクタ数で、次がファイルネームになります
プログラムのロード
LOAD file name,Vn,Sn,dn
BLOAD file name,An,Vn,Sn,dn
RUN file name,Vn,Sn,dn
BRUN file name,An,Vn,Sn,dn
EXEC file name,Rn,Sn,Dn,Vn
LOADはBASICプログラムをロードします。、BLOADはバイナリファイルをロードします。
ファイルネーム以外は省略可能です,Anはストアアドレス($で16進数指定可)、Rnは実行するn番目のフィールド、
Snはスロット番号、Dnはドライブ番号
RUNはBASICプログラムのオートラン、BRUNはバイナリファイル(機械語)のオートラン
EXECはシーケンシャルファイルを実行します。
プログラムのセーブ
SAVE file name,Vn,Sn,dn
BSAVE file name,An,Ln,Vn,Sn,dn
SAVEはプログラムをセーブします、ファイルネームはアルファベットから始まる30文字以内で','を含まない
BSAVEはバイナリファイルをセーブします。Anは先頭アドレス、Lnは長さです。(先頭に$をつけて16進数指定可)
ファイルネーム、An、Ln、以外は省略可能です。
ファイルの確認
VERIFY file name,Vn,Sn,Dn
ファイルのベリファイを行います。
ファイルネーム以外は省略可能です。
ファイルの削除
DELETE file name ,Vn,Sn,Dn
ファイルの削除をします。(ライトプロテクトが掛けられていると出来ません。)
ファイルネーム以外は省略可能です。
ライトプロテクト
LOCK file name ,Vn,Sn,Dn
UNLOCK file name ,Vn,Sn,Dn
LOCKはライトプロテクトを掛け、UNLOCKは解除です。
ファイルネーム以外は省略可能です。
2023年03月の打ち込み
’85/08 Oh!mz ZING S−OS用 OK
以前に貰ったのですがソースからアセンブルする為
S−OS SWORD、SOURCERYでソースジェネレート、
MACE、ZEDAでアセンブル
EDASMだと条件文等でエラーになるので
少し修正が必要になります
またX1、ZEDAでアセンブルする際
7行の;を外し、OFSET $C000−$4D00を
OFSET $D000−$4D00にした方が
ソースを壊さずに修正が出来るので楽になります
’85/07 Oh!mz ZAID S−OS用 OK
以前に貰ったのですがソースからアセンブルする為
S−OS SWORD、SOURCERYでソースジェネレート、
MACE、ZEDAでアセンブル
EDASMだと条件文IF PV=0〜でエラーになるので
少し修正が必要になります
’85/07 Oh!mz ZEDA S−OS用 OK
まずS−OS MACE VER0をVER1にします
<01F6AHの変更>
X1/C/D/turbo 00FF
MZ- 2000/2200(G-RAM 有) FFFF
MZ- 80B/2000(G-RAM 無) 00D0
MZ- 700 /1500 00D0
MZ- 80K /C/1200 00C0
<バージョンナンバー変更>
X1/C/D/turbo 154DH 00→01
MZ-80B/2000/2200 132AH 00→01
MZ-80K/C/1200/ 700/1500 123AH 00→01
以前に貰ったのですがソースからアセンブルする為
S−OS SWORD、SOURCERYでソースジェネレート、
COPYでディスクファイルを共通テープファイルへ変換
共通テープファイルをEDASM X1でアセンブルします
オブジェクトはX1テープフォーマットなのでS−OSではロード出来ません
S−OS MACE起動後NMIでモニタからロード
G1FFAでS−OSに戻りSコマンドでセーブ
MZ−80K用もMZ−700でMZ−700 S−OS MACE起動
リセットでモニタからロード、J1FFAでS−OSに戻りSコマンドでセーブ
訂正記事あり(DEFB)、DEFW)のデータのセパレータ
4910 1E FE 2D 28 23 FE 2A 28 :E4
4918 2B FE 2F 28 34 3A D6 4C :10
4920 B7 C0 CD A6 38 C8 FE 29 :11
4928 C8 FE 2C C8 23 18 F3 23 :0B
4930 D5 CD 94 49 E3 19 18 09 :9C
4938 23 D5 CD 94 49 E3 B7 ED :29
4940 52 E3 18 0A 23 D5 CD 94 :B0
--------------------------------
SUM: 12 3F CE A5 01 E9 8D 4A :85
’85/06 Oh!mz 新バージョンチェックサム プログラム S−OS用 OK
EDASMでアセンブル
訂正記事あり
<3000H〜>
(誤) 3072〜 0D 20 FA 0E
(正) 3072〜 2D 20 FA 2E
(誤) 30E8〜 CD B8 31 F5
(正) 30E8〜 F5 CD B8 31
<B000H〜>
(誤) B072〜 0D 20 FA 0E
(正) B072〜 2D 20 FA 2E
(誤) B0E8〜 CD B8 B1 F5
(正) B0E8〜 F5 CD B8 B1
ただしソースに対しての変更部分がないので下記の様にします
ソースの場合(共通部分のみの変更でOK)
78 DEC L
81 LD L,3
150 PUSH AF
151 CALL @PRNT
2023年02月の打ち込み
’89/05 Oh!X ソースジェネレータ RING S−OS SWORD用 OK
以前にダンプリストで打ち込んだのですが
SOURCERY変更プログラムをREDAでアセンブル
その変更プログラムでRINGにして
ダンプリストと同じになったのでOKとします
’89/06 Oh!X 超小型コンパイラTTC S−OS SWORD用 OK
以前に貰ったのですがソースからアセンブルする為
SOURCERYでソースジェネレート、ZEDA−3でアセンブルします
TTC自体にテキストエディタが無いためサンプルプログラムは
ZEDA−3のエディタを利用します
これはテキストソースが04E00Hから置かれるので
参考例と同じになり都合が良い為です
2022年11月の打ち込み
’83/11 テクノポリス GASHU m5 BASIC−I用 OK
’84/07 PiO THREE ALIEN m5+拡張RAM OK
2022年07月の打ち込み
’85/06 BASICマガジン Let’s窓ふき ぴゅう太 G−BASIC用 OK
グラフィック作画が写真を見ながらの作成になります
アニメの4すみにあるA〜Dは関係ありません
Aの部分8×8ドットで作成します
訂正記事あり
24 モシ J<>7ナラバ31 ニイケ
アニメ1,2のカラー設定はZでなく2
’84/07 BASICマガジン 移植版ハンバーガーショップ ぴゅう太 G−BASIC用 OK
グラフィック作画が写真を見ながらの作成になります
’86/01 BASICマガジン 移植版 つぐ美ちゃんの地下鉄ショック SC−3000 LEVELII用 OK
リスト通りに打ち込むにはキーバッファの都合上、
入力はLEVEL IIIでないと不可
ゲーム自体はLEVELIIで可
2022年06月の打ち込み
’84/02 BASICマガジン ROBBER ぴゅう太 G−BASIC用 OK
グラフィック作画が写真を見ながらの作成になります
またアニメ作成の時にはぴゅう太自体は
アニメ4から始まるのでアニメ1から作成しまわないように注意が必要です
2021年12月の打ち込み
’84/10 BASICマガジン JUMP JUMP ぴゅう太 G−BASIC用 OK
MESSで動作可で
シミュレータだとメモリオーバーとなります
実行は出来るが
パッド入力が行われないようです
デバッガで見る限り認識されているので
私のやり方が間違っているかもしれません
2021年10月の打ち込み
’85/01 BASICマガジン DEFEND SC−3000 LEVELIII用 OK
2021年03月の打ち込み
’89/02 Oh!X REDA S−OS SWORD用 OK
以前にダンプリストで打ち込んだのですが
RINGでソースジェネレート、REDA自身でアセンブルします
アセンブラ、エディタ部分は単独で使用可なので
それぞれ別でアセンブルします
’89/01 Oh!X FLICK S−OS SWORD用 OK
以前にダンプリストで打ち込んだのですが
RINGでソースジェネレート、ZEDA−3でアセンブルします
ただしソースは参考なのでまずZEDA−3用に修正します
EQU命令内の計算、INC H,H等は展開してINC H:INC H
[ニモニック]はオペコードに変換(BIT命令の所は若干違う)
メッセージはDMでDBを分ける
プログラム中のラベル+nn*mmの掛け算は計算してラベル+aaに変換等
なお訂正記事は標準以外のキャラクタを使用していたのを変更
5010:A5 A5 A5 A5 → 2E 2E 2E 2E
2021年02月の打ち込み
’88/09 Oh!X 超小型エディタ TED−750 S−OS SWORD用 OK
ソースからオブジェクト作成して手動でリロケータブルファイル作成しています
201行が途中で切れていますがADD A,’0’−’ ’
2020年07月の打ち込み
’85/10 LOGiN WATCH OUT Apple II用 一応OK
要10K BASIC(FP)
単純なチェックはOKでした
’84/07 テクノポリス GASHU m5 BASIC−G用 OK
キー入力ポートのミラーをサポートされていないと動作しません
更に左右SHIFTキーの判断ができない場合も弾が出ません
無理やり動作させるにはメインプログラム
440行 inp(62)→inp(54)
480行 inp(56)→inp(48)
490行 inp(56)→inp(48)
左SHIFTキーが動作しない場合
480行 =4→=12
2020年01月の打ち込み
’85/01 BASICマガジン BOY&GIRL m5 BASIC−G用 OK
このままでは若干グラフィックがおかしくなりますが
訂正記事はなさそうなので勝手に修正します
370 data 00080c0c0e0e0e0e
↓
370 data 0080c0c0e0e0e0e0
2019年11月の打ち込み
’85/08 I/O Small−Cコンパイラ[2] OK
2019年10月の打ち込み
’85/07 I/O Small−Cコンパイラ[1] OK
アセンブラ、リンカは含まれていないので実行は出来ませんが
きちんとプログラム(8080用)が出力されています
2019年09月の打ち込み
’85/01 BASICマガジン せんぷうき m5 BASIC−I用 OK
エミュレータによってはスタート出来ません
710行のpeek(&702A)<>4
で左SHIFTの判断を行なっていますが
eM5ではココの部分で誤動作が起きているようです
2019年04月の打ち込み
’87/04 Oh!mz TANGERINE S−OS SWORD用 OK
以前にもらったものですが
RINGでソースジェネレート、ZEDA−3でアセンブルします
メイン部分ダンプで08809H−08FFFHが余分に出力となっていますが
086C0H−08808Hもソースでは
DEFB、DEFS命令で000Hで埋まりますが
ダンプでは数値が入っています(ゲーム自体に問題はありません)
08809H−08FFFHはソースリストの一部です
’87/04 Oh!mz INVADER GAME S−OS SWORD用 OK
以前にダンプリストで打ち込んだのですが
RINGでソースジェネレート、ZEDA−3でアセンブルします
ここで注意するのは説明されている通りに
分割ではなく個別でアセンブルします
なお分割で行なおうとすると
ラベルの2重定義のエラーがでます
<MZ−80B/2000/2200 S−OS>
S−OS上でキー入力時にカーソルキャラクタの取り込み
1B61:20 → 1E
<PC−8801 S−OS>
ブロックが突き抜ける症状
1178:20 → 7B
’88/10 Oh!X MANKAI S−OS SWORD用 OK
以前にダンプリストで打ち込んだのですが
RINGでソースジェネレート、ZEDA−3で分割アセンブルします
ただ、このままではDEMO部分で1行抜けている為アセンブルできません
MANKAI DEMOソースリスト
309 PL1:
これでダンプリストと同じになります
2019年03月の打ち込み
’87/02 Oh!mz MARMALADE S−OS SWORD用 OK
以前にダンプリストで打ち込んだのですが
SOURCERYでソースジェネレート、ZEDA−3でアセンブルします
’86/04 Oh!mz LIFE GAME S−OS SWORD用 OK
以前にダンプリストで打ち込んだのですが
ソースリストからZEDA−3でアセンブルします
アセンブルでは2行のOFFSET $5000−$3000を
$8000−$3000に変更してアセンブルします
’88/02 Oh!mz ELFES S−OS SWORD用 一応OK
以前にダンプリストで打ち込んだのですが
SOURCERYでソースジェネレート、ZEDA−3でアセンブルします
ただORGが2つあり、8バイト隙間が出来るのですが
その中にソースリストが残ってしまいます
それが1バイトずれています(私自身のタイプミスの可能性有り)
作成したオブジェクト自体はOKなので
例えば+01Hを+1H等のタイプミスが考えられるのですが
何回見直してもありませんでした
そこでZEDA−3のテキストをディタコマンドX4E01を実行して
1つ後ろにずらしてからアセンブルで作成すればダンプリスト通りになります
<MZ−80K/700/1500>
ゲーム終了時の誤動作
8F6D:80
914A:00 00
9154:00 00
’86/08 Oh!mz 五目並べ S−OS SWORD用 OK
以前にダンプリストで打ち込んだのですが
SOURCERYでソースジェネレート、ZEDA−3でアセンブルします
プログラム本体は$3000からなので
O2000、X7000等の設定でソースジェネレートを行います
アセンブルでは58行のOFFSET $1D00を
$1E00に変更してからでないとZEDA−3ではアセンブル出来ません
なお訂正記事はLOCルーチンの動作関連です
<変更>
4751:CD 1E 20→CD B0 4A
475B:CD 1E 20→CD B0 4A
<追加>
4AB0:F5 CD 1E 20 F1 C9
’87/08 Oh!mz SOURCERY S−OS SWORD用 訂正記事あり
以前にダンプリストで打ち込んだのですが
SOURCERY自体をソースジェネレートしてテキストを抽出
テキストエディタで編集、イメージに書き直しました
ソースリストはZEDA−3で分割アセンブルします
また訂正記事があります
<マクロ関係の訂正>
38DD FE 40 DA DF 33 FE 70 D2 : 6A
38E5 DF 33 E6 07 FE 06 D2 DF : B4
38ED 33 4E 23 CD 58 40 CA DF : B2
38F5 33 7E A9 FE 09 C2 DF 33 : 35
38FD A1 28 05 FE 09 C2 DF 33 : A9
3905 CD 69 40 4C 44 20 20 20 : 66
390D 00 79 0F 0F 0F 0F E6 03 : 9E
3915 47 79 0F E6 03 4F C3 5D : 27
391D 3B : 3B
---------------------------------
SUM: 33 C2 EF F0 F1 46 93 76 3A06
’87/08 Oh!mz 碁石拾い S−OS SWORD用 OK
以前にダンプリストで打ち込んだのですが
ソースリストからZEDA−3でアセンブルします
’85/12 BASICマガジン BOUNCE SC−3000 LEVELIII用 OK
2019年02月の打ち込み
’86/09 BASICマガジン マネーパニック SC−3000 LEVELII用 一応OK
まずキャラクタ定義プログラムが無いので掲載通りの画面になりません
またゲームの説明を読むとメインプログラムも少しだけ変更が必要です
尚、何も変更しなくてもゲーム自体は遊べます
訂正記事は無いので出来るだけ掲載画面に近づけます
画面両端に行くとエラーが出ますが
ゲームの説明では行かないでくださいとなっているので
メモリ上の関係もあるのでこのままにします
<キャラクタ定義プログラム>
10 COLOR15,1
20 PATTERNC#248,"F8F8007C7C00F4F4"
30 PATTERNC#249,"00FC84B4B484FC00"
40 PATTERNC#250,"0400040004000400"
50 PATTERNC#253,"3434FCFCB0B078CC"
<メインプログラム>
メインプログラムの2行の画面作成で両端のスペースを
トーン:CHR$(&H90)にする
15行の三角みたいなのはスペース+円盤:CHR$(&HFA)にする
後はキャラクタ定義プログラムをロード、実行後
メインプログラムを実行すればOK
’85/11 BASICマガジン エキサイト・レース SC−3000 LEVELII用 OK
キーバッファの都合上、3行のPRINTを?として入力しないと
全部入力出来ません
2019年01月の打ち込み
’79/10 アスキー THE COMPUTER Apple II用 一応OK
SWEET16使用の為、要6K BASIC(INT)
単純なチェックはOKでした
’81/07 アスキー 窓拭き少年Eゲーム CBM3032+CB2サウンド用 OK
’81/04のチェックサムなどを参照となっていますが
掲載されていたのは標準BASIC用なのでこのままでは
ゲームプログラムとチェックサムプログラムの領域が重なってしまいます
BASICのチェックサムプログラムを起動する場合
BASIC開始アドレスを変更しないといけません
とりあえず$2000にBASICプログラムを置けるようにします
SYS64785でモニタ起動、メモリを下記に書き換える
0028:01 20
2000:00
XコマンドでBASICに戻りNEWを実行
これでBASICのチェックサムプログラムの動作は可能です
CBM3032用ですがPETではROM交換で動作可
N型のPETはそのままで可
2018年12月の打ち込み
’79/09 アスキー Space Invader Apple II用 OK
ダンプリストが細切れになって掲載されています
その際にインベーダのミサイルワーク領域$1800〜$180Fは
何も指示されていませんが
この領域を$00で埋めないとハングアップする可能性があります
これは$1800〜$180Fは$00になっているものと想定していますが
$FFがあるとハングアップするようです
また画面が縦長になっていますが
モニタ画面を縦にして使用する為です
2018年01月の打ち込み
’78/05 アスキー STAR WARS PET2001用 OK
’79/10 アスキー GAME65 PET2001用 一応OK
以前に打ち込んだのですがチェック、整理してOKとしました
PETのROMバージョンは8K用が2.0
16K、32K用が3.0用にるようです
エミュレータによっては動作しません
2017年11月の打ち込み
’80/04 アスキー スキースラローム・ゲーム PET2001+CB2サウンド用 OK
’80/01 アスキー GALAXY WAR PET2001−8+CB2サウンド用 OK
2017年10月の打ち込み
’86/11 Oh!mz MAZE IN MAZE S−OS SWORD用 一応OK
MZ−2000 S−OSなら完全に動作しますが
他の機種のS−OSでは動作しない場合が多いようです
ソースからのアセンブルもOK
SOURCERYでソースジェネレートする場合
DEFM(DM)を一気に指定するとバッファオーバーする場合があります(マップデータ)
X1で作成の場合マップデータ(BIN)だけセーブしてディスクBASIC上で
フリーアドレス内にロードしてアスキー変換をすれば楽にマップデータを作成できます
PC−8001 S−OS 画面が少しおかしい (プレイ可)
PC−8801 S−OS 画面が少しおかしい (プレイ可)
MZ−80B S−OS 画面が出ない (プレイ不可)
X1 S−OS 3D迷路表示がおかしい(プレイ不可)
2017年02月の打ち込み
’85/04 BASICマガジン 愛しのCHERRY m5 BASIC−I用 Ok
2017年01月の打ち込み
’85/03 BASICマガジン GHOST BANK ゲーム m5 BASIC−I用 要修正
まず、当たり判定のVRAMのアドレスが違います
300行の&3C00を&3800に変更
これで当たり判定が正しくなります
次に100個金を取らないと面クリアにならないようになっていますが
画面には99個しか書かれていません
画面に1つ金を余分に書くか、初期値NK=0を1にするか
取った金の判定を変更するかになります
金の判定を変更する場合
320 IF NK>=100…の100を99に変更
これでクリア可能になります
’84/05 テクノポリス KAKI KID m5 BASIC−G用 OK
2016年03月の打ち込み
’88/07 BASICマガジン Out of The FIRE SC−3000 LEVELIIIB用 OK
’86/03 PiO フルスロットル m5 BASIC−G用 一応OK
ごく稀にエラーが出ます
’87/12 BASICマガジン SPACE AGGRESSOR m5 BASIC−G用 一応OK
リスト4の200行にOが使われていますが
変数Oとしては他では使われていないので
0の間違いのようです
一応動作は同じにはなります
’84/03 BASICマガジン MOSQUITO m5 BASIC−I用 OK
’85/01 テクノポリス ワンダーバギー m5 BASIC−I用 OK
ただしエミュレータによっては操作が出来ない場合があります。
2015年11月の打ち込み
’85/09 PiO 独壇場 SC−3000 LEVELIII用 OK
2015年03月の打ち込み
’82/08 BASICマガジン カバトリ・ゲーム ベーシックマスタJr.用 Ok
*フォントが若干違います
2014年08月の打ち込み
’89/01 BASICマガジン SWAP FOOT SC−3000 LEVELII用 一応OK
説明通りの操作にはなりません
70行のX=X*−1を削除すれば説明通りになりますが
壁をすり抜けて端ませ行くとエラーが出てしまいます
おそらくこの不具合を解消する為に追加されたと思います
2014年03月の打ち込み
’85/06 PiO やきゅうけん m5 BASIC−G用 OK
2013年11月の打ち込み
’87/10 BASICマガジン BALLOON DREADFUL SC−3000 LEVELIII用
タイトル部分にリスト化け、また風船のルーチンでおかしい部分があります
1130〜1280行のメインループ3内のVXをBX、VYをBYに変更
1320〜1470行のメインループ4内のBXをVX、BYをVYに変更
’87/11 BASICマガジン ゲンダコ SC−3000 LEVELIII用 Ok
2013年06月の打ち込み
’86/12 BASICマガジン 移植版 FROG STEP JUMP SC−3000 LEVELIII用 一応OK
X1からの移植、タイムルーチンに気になる所があるのと、クリアをしていないので一応OKとしました
’86/12 BASICマガジン GUNMAN SC−3000 LEVELII用 OK
タイトルにリスト化けがあります
またリスト1キャラクタ定義の70行のDATA …61…は…64…
だと思われます
これは定義データは6×8ドットなので最下位2ビットは使用されません
説明にあるキャラクタ表をみる限り64が正しいデータだと
思われます
’85/05 BASICマガジン バクゲキキ SC−3000 LEVELII用 OK
2013年03月の打ち込み
’87/09 BASICマガジン FORMATION SC SC−3000 LEVELIIIB用 OK
2013年02月の打ち込み
’84/12 BASICマガジン 要塞 SC−3000 LEVELIII用 OK
’85/04 BASICマガジン EGUOUS SC−3000 LEVELII用 OK(リスト抜け有り)
次号にリスト抜けの部分が掲載されています
リスト2に下記を追加
1 COLOR15,12:GOTO170
5 SCREEN1,1
’86/02 BASICマガジン 橋掛人 SC−3000 LEVELII用 OK
’85/09 BASICマガジン METEOヤメテオ SC−3000 LEVELII用 OK
2012年12月の打ち込み
’84/02 BASICマガジン JUMPING CAR SC−3000 LEVELIII用 OK(リスト抜け有り)
次号にリスト抜けの部分が掲載されています
2011年05月の打ち込み
’79/07 アスキー フィッシング・ゲーム PET2001−8用 OK
キャラクタで少々おかしいようですがリストではOK
2009年11月の打ち込み
’79/10 アスキー アレンジ ボール PET2001用 OK
2009年 1月の打ち込み
’79/06 アスキー DRAGONMAZE PET2001用 OK
2002年 9月の打ち込み
’79/10 アスキー EXIT モニタ Apple II用 OK
Home へ戻る