プチコン4 まとめWiki

投稿プログラム : PC8001_エミュ for プチコン4号

パンくずリスト

2019年8月16日投稿 / 2019年11月09日更新 / 投稿者 : つかさ / タグ : 投稿プログラム エミュレータ Z80 PC8001

概要

このプログラムは,Z80エミュレータに,CRTCやキーボードなどを付加して,日本電気殿が発売していたパソコン,PC8001っぽいような感じの動きをするプログラムです。実行には,N-BASICのROMデータが必要ですが,同梱されておりません。各自で用意して下さい。ROMデータがない場合には、Petit4Sendが起動します(無料体験版用にダウンロードが1回で済むように同梱しました)。また,このプログラムはプチコン4号専用となっており,プチコン3号やBIGでは動作いたしません。ほぼ実機と同じ速度で動作いたします。40周年に、間に合いました。

  • 2019.08.17 RTC(リアルタイムクロック)の設定機能を実装。これまでは、times$はプチコンの時刻を返し、変更出来なかった。
  • 2019.08.19 仮想キーボードの見てくれを格好良くしました。また、キーストロークも深くしました。
  • 2019.08.20 スプライトを用いたCRTCを実装。グラフィック画面とスプライトを選択できるようにした。Beep音周りの実装を改良した。
  • 2019.08.22 CRTCコントローラの処理に実行時間制限のオプションを設けた。Onにすると、負荷が100%を超えなくなる。ただし、描画が間に合わなかった分の画面更新については、次フレームに更新が持ち越される。デフォルトでは、その機能はOffになっている。
  • 2019.08.24 T88フォーマット読み込み機能追加
  • 2019.08.26 Beep音関連バグ修正
  • 2019.08.31 BEEP音の処理を完全に見直し,BEEP音モードの時により実機に近い音になるようにした。(S36RC)
  • 2019.09.09 USBキーボードのテンキー周りのバグや使い勝手の向上。(S39)
  • 2019.09.29 ディスクシステム(PC8031-2W相当)をエミュレートし、D88ファイルが扱えるようになりました。(S45)
  • 2019.09.29 白黒カラーモードを追加。(S46)
  • 2019.10.06 Z80のエミュレータのバグを修正。(S47)
  • 2019.10.19 キートップの表示を修正(STOP, GRPH,CTRL)。(S48)
  • 2019.10.21 FDD2のライトプロテクトのバグを修正。(S49)
  • 2019.11.02 RTCの秒の更新の制度を向上。INC,DECの処理をX±n に変更。(S50)
  • 2019.11.07 サブシステム側のINDRのバグ修正、速度調整。(S51)
  • 2019.11.08 ROMデータが無いときは、Petit4Sendを起動するようにした。(S52)

動作環境

プチコン4号専用です。USBキーボードでの入力も対応しています。ゲームプレイにもそこそ使用できます。プログラムのロードや、ちょっとした操作には便利に使えると思います。カーソルキーもバッチリです。

遊び方

  1. 同梱のREADMEに従って,プロジェクト内にファイル名「N80BASIC.ROM」でROMデータを置きます。 Petit4Send(http://rei.to/petit4send.html)等でPCからSwitchにファイルを転送できます。 もしくは、プチコン3号、プチコンBig等でROMを音声で読み出し、サーバ経由で読み込んでください。
  2. FDDを使用するためには、ディスクサブシステムのROMがあると,互換性が向上します。ROMイメージをお持ちの方は、"N88SUB.ROM"と言う名前でプロジェクトフォルダに保存して下さい。 無い場合は、pbios の DISK.ROMで代用されます。
  3. プロジェクトを選択すると、PC8001_S52.PRGが実行されます。

操作方法

  • X 簡易ローダ呼び出し (F12)
  • A リターンキー
  • B スペースキー
  • Y デリートキー
  • L1,R1 SHIFTキー
  • L1+X モニタ機能呼び出し(デフォルトではディスエーブル)
  • L1+Y コンフィグ画面表示 (F8)
  • R1+X ボタン設定変更機能
  • R2 リターンキー(FANFANでのゲームスタートに利用することを想定)
  • R2+X ディスク操作画面表示
  • L2 Graphキー。(Luna City SOSでバリアを張り直すことを想定)
  • L2+X 画面モード切り替え(カラー,グリーン)
  • L2+Y サウンド方式切り替え (F8)
  • L2+右スティック押込 リセット (Home + End)
  • 右スティック押込 画面のズーム機能のON/OFF

キーボードパネル

SHIFTキー、カナ、GRAPHは一度タップするとロックし、もう一度タップするとロック 解除されます。CTRLキーは、キーが押されるまではロックされ,キーが押されるとロックが解除されます。

DISKの取り扱い

簡易ローダーで(X)で .D88 ファイルを選択する
  • 簡易ローダーを使って D88ファイルを選択すると,と、ドライブ1にディスクを挿入し、リセットがかかります。ゲームが自動起動するよう .D88 フォーマットにコンバートしたファイルを実行する際には,ディスクの取り出し操作無しに利用可能なこの手順が便利です。
DISK選択メニュー(L2+X)で.D88ファイルを選択。
  • 選択するとドライブ1から順にディスクが挿入されます。ドライブを選択して(A)ボタンを押すと、ディスクが挿入されます。ドライブにディスクが挿入されると、ライトプロテクトされているディスクイメージは、 「🔑」のマークが前につきます。
  • (X)ボタンもしくは,キーボードの["Scroll Lock"]をディスクが挿入されているドライブで押すと,挿入中のディスクイメージのプロテクト状態を切替られます。物理的には、5インチフロッピーでは銀色のシールのを春貼付たりはがしたりすることに相当します。
  • 既にディスクが挿入されているドライブで(A)ボタンを押すと、ディスクが取り出せます。ディスクを取りだす際に,セクタ書き込みが行われていた場合,イメージ ファイルを保存するか尋ねられます。保存しない場合,変更は捨て去れれます。
  • ブランクディスクは,FDDドライブが空の状態で(A)ボタンを押すと作成できます。作成終了時にファイルに保存するかの確認がでますが,保存しないとディスク作成が無かった事になります。作成されたディスクは,N-Disk BASICのデータディスクとしてフォーマットされています。
  • リセットを選択すると、リセットがかかります。
  • ディスクサブシステムが有効な場合、キーボードのエンブレムの左側にFDDのアクセスランプが表示されます。
  • アクセスランプの色は,通常は緑色ですがディスクへの書き込みが行われると,以降は赤で表示されます。書き込み結果を残すには、明示的にDISK選択メニューから[取出]を選択し,変更の保存を行って下さい。
  • ディスクサブシステムが無効な場合、FDDランプは表示されません。また、簡易ファイル選択に.D88ファイルが現れず、DISK選択メニューも利用できません。
  • ディスクサブシステムを有効にするためには、サブシステムROMデータがプロジェクト内に"N88SUB.ROM"という名前で保存しておく必要があります。pbiosの代用"DISK.ROM"を同梱しているため、単純な読込み&起動は動きますが、EMMYなどは、動作しませんでした。

簡易ローダ

  • (X)ボタンを単体で押すと,簡易ローダが呼びだされ,ファイルの読み込み,生成のメニューが出てきます。
  • (B)ボタンを押すと,簡易ローダから抜けます
  • サポートしているファイルは以下のとおり。
    • N80ファイル (読み込みのみ)
    • T88ファイル (読み込みのみ)
    • D88フォーマット(読み書き可能,要サブシステムROM)
      • D88フロッピーイメージファイルが使用できます。内部的には、複数イメージを含むファイルもサポートしているのですが、GUIができていません。もっとも, PC8001で複数イメージを含んだ D88 ファイルは見たことないです。
      • https://github.com/jpzm/wii88/blob/master/document/FORMAT.TXT
    • CMTファイル (読み書き可)
      • テープのセーブデータをそのまま保存する形式。 CLOADやMONコマンドのLで読み込む。 CMTファイルを選択した場合、ファイルに含まれるプログラムの頭出しが可能。CMTファイルを指定するだけでは読み込みは行われません。プログラムの読み込みは,CLOAD や MONコマンドのLなどで自分で行う必要があります。
      • また,CSAVEやMONのWコマンドでファイルを追記することができます。デフォルトでは,00MY_TAPE.CMT というファイルに追記されます。 いったんCMTファイルを読み込み指定すると,次からそのファイルの後ろに追記されます。セーブするCMTファイルを変えたい場合は、簡易ローダから追記したいCMTファイルを指定してください。新たなCMTファイルに保存したい場合は「新規テープの作成」を選んで下さい。
      • セーブ時は,必ず追記の形で保存されます。
    • 独自のIMGファイル (読み込み・生成)
      • &H8000〜&HFFFFのRAMのデータの後ろに,レジスタの値を格納した形式。簡易ローダを呼び出した時点での状態を、新規イメージの作成」で保存することができます。
      • 詳細は、README.TXTをご参照下さい。

USBキーボード

PC8001とUSBキーボードでは違いがあります。

カナカタカナひらがな, ALTキー
GraphWindowsキー
StopPause Breakキー
CLSNumロックキー
Ins・DelDeleteキー

モニタ

X+L を押し,離すとモニタに入れます。モニタは,メモリのダンプ,逆アセンブル,メモリの書き換えができます。

モニタから抜け、エミュレータに戻る
Dnnnn逆アセンブル (B)で抜ける
Mnnnnメモリダンプ (B)で抜ける
Ennnnメモリのエディット
16進以外の入力で抜ける
R    レジスタの値を表示

スクリーンショット・動画

公開キー

プチコン4用の公開キーです。トップメニューの「作品を見る」から公開キーを入力すると、作品をダウンロードできます。

プチコン4 公開キー
4NK3N3EBX

CHECKER FLAG (ひとことコメント)

この作品に対するコメントがあれば一言どうぞ。(作品に直接関係ない質問や雑談は掲示板へ)

  • Ryou Tanpo : 更新日が全角になっていたため勝手ながら修正させていただきました (2019/08/28 (水) 20:34:18)
  • Kazusoft : はじめまして!プチコン4やってます! (2019/09/29 (日) 17:02:23)

メニュー 【4】

過去シリーズWiki

ヘルプ

リンク

最近の更新

最近の人気ページ

オンライン情報

  • 現在同時に 2 人がこのサイトを見ています
  • このページはこれまでに 724 回、本日は 11 回、昨日は 3 回閲覧されました

ページの先頭に戻る

表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.044 秒 | このページの最終更新 : 2019/11/09 (土) 18:34:16 (3d) | ログイン
Copyright(C) 2011-2019 プチコンまとめWiki