mz-80B CMT


0E0H:8255 PA(出力)  d7:LED カナ       1=オン    、0=オフ  d6:LED GRFH     1=オン    、0=オフ  d5:LED SFT LOCK 1=オン    、0=オフ  d4:CRT VID      1=ノーマル  、0=リバース  d3:CMT STOP     1=STOP  、0=何もしない  d2:CMT PNL      1=PLAY  、0=何もしない  d1:CMT BLK1     1=FF状態  、0=REW状態  d0:CMT BLK2     1=モーターオン、0=モーターオフ   0E1H:8255 PB(入力)  d7:KEY BRK     PIO B7の内容(キーデータd7)  d6:CMT RDATA   CMT入力データ  d5:CMT TREADY  1=テープなし  、0=テープあり  d4:CMT WREADY  1=書き込み禁止 、0=書き込み可能  d3:P3  未使用     1  d2:P2  未使用     1  d1:P1  未使用     1  d0:CRT BLANK   1=ブランキング中、0=ブランキング外   0E2H:8255 PC(出力)  d7:CMT WDATA   CMT出力データ  d6:CMT WRITE   1=リード状態   、0=ライト状態  d5:CMT REW     1=FF状態ラッチ 、0=REW状態ラッチ  d4:CMT OPEN    1=何もしない   、0=EJECT  d3:BST ブートリセット 1=何もしない   、0=IPLリセット  d2:サウンド出力  d1:NST リセット    1=ノーマルリセット、0=何もしない  d0:CRT VGATE   1=画面の表示オフ 、0=画面の表示オン   0E3H:8255 コントロールワード   イジェクト  OPEN=0 (PC4=0)  ディレイ  OPEN=1 (PC4=1)     OPENを0から1にするとカセットの蓋が開きます     プレイ(モーターオン)  BLK=1  ディレイ  REW 1−>0    (PC5 1−>0)  PNL=1、BLK=1 (PLAY、FF)  PNL=0     PNLを1から0にする事によってプレイ   前もってWRITE=1 (PC6=1)にする     モータストップ  STOP=1 (PA3=1)  ディレイ  STOP=0 (PA3=0)  ディレイ     STOPを1から0にするとカセット停止     インフォメーションブロック(FCB)  無音 8秒         APSS用  ”0”*10000  ”1”*40+”0”*40 テープマーク  ”1”  インフォメーション1    128バイト  チェックサム1         2バイト  ”1”  ”0”*256  インフォメーション2    128バイト(インフォメーション1と同じ)  チェックサム2         2バイト(チェックサム1と同じ)  ”1”     データブロック  ”0”*11000  ”1”*20+”0”*20 テープマーク  ”1”  データブロック1      nnmmバイト  チェックサム1          2バイト  ”1”  ”0”*128  データブロック2      nnmmバイト(データブロック1と同じ)  チェックサム2          2バイト(チェックサム1と同じ)  ”1”   (注)チェックサムは単純にデータを足したものではなくビット内容”1”の総合計になります    データが0FFHなら11111111Bで”1”が8つなので+8        0C0Hなら11000000Bで”1”が2つなので+2        000Hなら00000000Bで”1”が0 なので+0      1バイトデータの内容   ”1”、d7、d6、d5、d4、d3、d2、d1、d0     <インフォメーションブロックの内容>  ファイルタイプ     1バイト 01=OBJ、02=BTX  ファイルネーム     16バイト 16文字以下なら最後に00DHが入る  予備          1バイト ファイルネームが16文字なら00DH  長さ          2バイト 下位、上位の順  ロードアドレス     2バイト 下位、上位の順  実行アドレス      2バイト 下位、上位の順  コメント        104バイト     ----------------------------------------------------------- 市販のソフトについて   通常のテープフォーマットがオートスタートをサポートしているので 他機種の様に工夫してオートスタートする必要がありませんが コピープロテクトを施していたり通常と違うソフトがあります     <多段プログラム> mz−80B/2000の仕様上で IPLロードはRAMブロック1内32KB(システムワーク含み)しか 出来ません そこで短いプログラム(ローダ)を実行して 2本目の32KB以上のプログラムをロードするようになっています     <mz LOGOの場合>   シャープ純正フォーマットはインフォメーション部、データ部を それぞれ2回セーブされています mz LOGO(2000用ソフトバンク製)では 1本目のローダが実行されるとFF(先送り)されてから 2本目の本体がロード、実行、REW(先戻し)となります 本来2回セーブされているので 仮に1回目のプログラムロードが失敗しても 2回目がロード成功すれば大丈夫なハズが FFを実行されるので2本目のプログラムがスキップしていまいます ただmzはテープファイルのロードエラーが滅多に起こらないので 誤動作の心配はありません またエミュレータ用に単純にmztファイルにすると インフォメーション1回、プログラム1回で格納されているので 2本目のプログラムがスキップされ同じ理由で動作しません     <ハドソン系>   カセットケースで販売されいたソフト インフォメーション部、データ部を それぞれ1回だけでセーブされています     <キャリーラボ系> 通常フォーマットはソフトウェアディレイによって 波形の長さを決めています 1本目のローダは通常フォーマットで 2本目のメインは少し短い(または長い)ソフトウェアディレイで セーブされたファイルになります IOCS、WICSのモニタで読めないようになります    
Home へ戻る