プチコン3号&BIGまとめWiki

投稿プログラム : PC8001EMU

パンくずリスト

2016年7月7日投稿 / 投稿者 : つかさ / タグ : 投稿プログラム エミュレータ Z80

概要

このプログラムは,Z80エミュレータに,CRTCやキーボードなどを付加して,日本電気殿が発売していたパソコン,PC8001っぽいような感じの動きをするプログラムです。実行には,N-BASICのROMデータが必要ですが,同梱されておりません。各自で用意して下さい。 ROMのテープからの読み出しプログラム,CMTファイル作成プログラムを更新し,新たに公開しました。

  • 2016-08-21 CRTCカラーモード更新時のバグを修正。
  • 2017-05-16 使い勝手向上
  • 2017-05-25 フォントの誤り修正(Xの位置にSが入っていた)
  • 2017-05-27 ブリンキングをサポート,20行モードでの行間サイズを調整

動作環境

高度サウンドユニット必須です。モータON/OFF音の生成や、BEEP音の再生に使用しています。また、ROMファイルの作成や、CMTファイルの作成用のプログラムでも,バンドパスフィルタを用いています。また、これらのプログラムはnew 3DS以外での動作確認は行っておりません。

遊び方

  1. 同梱のREADMEに従って,プロジェクト内にファイル名「N80BASIC.ROM」でROMデータを置きます。
  2. PC8001_V70.PRGを実行してください。

操作方法

  • L,Rボタン SHIFTキー
  • ZL グラフキー
  • ZR リターンキー
  • 十字ボタン カーソル
  • スティック テンキーの2,4,6,8
  • X 簡易ローダ呼び出し
  • X+L モニタ機能呼び出し
  • X+R ボタン設定変更機能
  • X+ZL 画面モード切り替え(カラー,グリーン) ※画面モードを切り替えると,PCGのキャラクタは元に戻ります。 画面の切替は,PCGの設定前に済ませましょう。
  • A リターンキー
  • B スペースキー
  • Y デリートキー
  • キーボードパネル
    • SHIFTキー、カナ、GRAPHは一度タップするとロックし、もう一度タップするとロック解除されます。
    • CTRLキーは、キーが押されるまではロックされ,キーが押されるとロックが解除されます。

簡易ローダ

  • (X)ボタンを単体で押すと,簡易ローダが呼びだされ,ファイルの読み込み,生成のメニューが出てきます。
  • (B)ボタンを押すと,簡易ローダから抜けます
  • サポートしているファイルは以下のとおり。
    • N80ファイル (読み込みのみ
    • CMTファイル (読み書き可)
      • テープのセーブデータをそのまま保存する形式。 CLOADやMONコマンドのLで読み込む。 CMTファイルを選択した場合、ファイルに含まれるプログラムの頭出しが可能。CMTファイルを指定するだけでは読み込みは行われません。プログラムの読み込みは,CLOAD や MONコマンドのLなどで自分で行う必要があります。
      • また,CSAVEやMONのWコマンドでファイルを追記することができます。デフォルトでは,00MY_TAPE.CMT というファイルに追記されます。 いったんCMTファイルを読み込み指定すると,次からそのファイルの後ろに追記されます。セーブするCMTファイルを変えたい場合は、簡易ローダから追記したいCMTファイルを指定してください。新たなCMTファイルに保存したい場合は「新規テープの作成」を選んで下さい。
      • セーブ時は,必ず追記の形で保存されます。同梱されている MAKE_CMT5.PRG を使うことで, new 3DS のマイクからテープの音声を取り込み,CMT ファイルを作成することが可能です。プログラムを起動し,プログラムをセーブした テープをの音を取り込んだ後、(X)ボタンを押してください。
    • 独自のIMGファイル (読み込み・生成)
      • &H8000~&HFFFFのRAMのデータの後ろに,レジスタの値を格納した形式。簡易ローダを呼び出した時点での状態を、新規イメージの作成」で保存することができます。
      • 詳細は、README.TXTをご参照下さい。

モニタ

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

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

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

公開キー

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

プチコン3号/BIG 公開キー
AEDE32QV

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

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

  • PetitPocky : なんてこった。 (2016/07/08 (金) 00:06:53)
  • SquidSky : やばう。まさか本格的エミュレータが登場するとは (2016/07/08 (金) 16:31:40)
  • おちゃん : 動かん! (2016/07/10 (日) 14:43:55)
  • つかさ : ROMデータがないと動きません。それを含めたセットアップ方法の動画を載せました。 (2016/07/10 (日) 16:25:03)
  • デスソード : ニコ動見れませんROMデータの公開キー教えてください (2016/07/13 (水) 18:47:57)
  • 名無しさん : ROMデータは自分で用意しろと書かれていますよ (2016/07/27 (水) 11:29:14)
  • WAN : 実機がない時はどうするんですか (2016/08/13 (土) 18:33:52)
  • 名無しさん : 建前論から言えば、ヤフオフとから落札かな。おおよそ数千円で落札できる。ググるとネット上にROMデータを違法にアップしているところもあるけど、ウイルスソフトをインストールさせようとするところもあるので、お勧めしません。違法にアップされているファイルをダウンロードすること自体も犯罪になるし。X68000みたいに、メーカーさんがBIOSとかROMとかを公開してくれるといいんだけどなぁ。PC8001は、BASICはマイクロソフト社製だったりするから、同様のことを行うのは難しいんだろうなぁ。 (2016/08/18 (木) 02:51:30)
  • 名無しさん : http://www.famitsu.com/news/201608/27113960.html で、公式がこのエミュの存在を知っていましたよ (2016/09/15 (木) 01:15:34)
  • ピコピコ : 動きました!!P8が持ち運べるってスゴ。高機能なプチコンもいいけどN-Basic楽しい。 (2017/05/21 (日) 07:03:16)
  • ピコピコ : Shiftを押してからのXがSと入力されるのは自分だけかな?? (2017/05/21 (日) 18:00:26)
  • ZAXUS : cmtファイルだけではくD88ファイルも読めるようにしてほしい。 (2017/05/24 (水) 23:36:05)
  • hagetixyan719 : おぉ・・・流石ですねぇ・・・ここまでやるとは。ROMの入れるのは音でも使えば誰でも出来ます。使い方は分からなければググるのが基本ですよ?特にエミュ系は。 (2017/05/25 (木) 21:47:50)
  • つかさ : >>ぴこぴこさん。バグです。40文字モードのフォントのXの位置にSの文字を入れてました。修正しました。 (2017/05/25 (木) 23:10:49)
  • ピコピコ : 対応ありがとうございます。確認できました!キーコンフィグに設定されているゲームはツボを押さえてあっていいっすね (2017/05/27 (土) 09:49:48)
  • New2DS LL : ROM_MKR5.PRGを選択しても、エラーになるんですけど、分かる方教えてください。 (2017/07/16 (日) 17:22:33)
  • New2DS LL : 続きです。エラーの内容は「DLC not found in 0:32(BQPARAM)です。 (2017/07/17 (月) 15:20:45)
  • 名無しさん : 『動作環境 高度サウンドユニット必須です。』 ちゃんと説明読もうよ (2017/07/17 (月) 19:46:35)
  • New2DS LL : ありがとうございました。PC8001EMUが起動できました。もう1つだけ教えてください。N80ファイルはどのように簡易ローダに載せるのでしょうか (2017/07/17 (月) 22:56:16)
  • New2DS LL : お騒がせいたしました。READMEのツールを使用したらできました。 (2017/07/24 (月) 20:17:26)
  • 名無しさん : PC8001EMUにバグがあるのではないかと師匠が申していましたので、ご確認をお願いいたします。のとして出力しています。 原因としてSP(StackPointer)が0000の時に値を1つ引くと-1になってしまっていると推測します。 (正しい動作は、0002→0001→0000→FFFF→FFFEと、FFFFに戻るのが正解です) (2017/08/15 (火) 21:34:56)
  • SEKI22 : 著作権フリーROMイメージならPDromsにありそう (2017/08/15 (火) 22:31:59)
  • 名無しさん : 名無しさん。SPレジスタ、0を跨いだ変化はないものとして組んでました。プログラムカウンタも同様のはず。AND 65535 みたいなコードをSP,PC周りのコードに入れる必要があります。もともとは、メモリアクセスは1個の関数に集約されていたのですが、高速化のための全部ハンドインライン展開してしまったので、修正が面倒そう。 (2017/10/26 (木) 02:13:06)
  • 名無しさん : ご回答ありがとうございました。とりあえず、下記の修正で、手持ちのゲームは動くようになりました。(修正内容)2327行目に、「 (2017/11/23 (木) 20:22:45)
  • 名無しさん : ご回答ありがとうございました。とりあえず、下記の修正で、手持ちのゲームは動くようになりました。(修正内容)2327行目に、「IF Z80_SP==0 THEN Z80_SP=65536 ENDIF」を挿入。 (2017/11/23 (木) 20:25:10)
  • ossan : ここが生きているか自信がないのですが、このプログラムの公開は2018年までで終了したようですね。かなり残念です。手元にやっとPC-8001の実機を (2019/02/12 (火) 12:30:46)
  • ossan : (つづき)用意できたのですが。ちなみにROMイメージの吸い出しは、やはりモニターからW0,5FFF という感じでやるんでしょうか? (2019/02/12 (火) 12:32:47)
  • ossan : (つづき)用意できたのですが。ちなみにROMイメージの吸い出しは、やはりモニターからW0,5FFF という感じでやるんでしょうか? (2019/02/12 (火) 17:31:55)
  • マツコウ : ソースコード拝見しました。 (2021/05/09 (日) 11:13:42)
  • マツコウ : (続き)誤送信しました、すみません。演算方式は直接演算(A=A+~)ではなく、配列に結果を予め書いて参照させる事で、オーバーフローを回避しているようですね。 (2021/05/09 (日) 11:17:40)

メニュー 【3号】

ヘルプ

リンク

最近の更新

最近の人気ページ

オンライン情報

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

ページの先頭に戻る

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