MOS 6502シミュレータは、6502チップ用のエミュレータのようなものです。何は、CPU(マイナスBCD演算)から離れて事実上ありません。また、命令のタイミングへの注意を負いません。
(離れて、これらの二つのものから)が正常にCPUをシミュレートしながら、それを継続していない私を導いた、いくつかの設計上の欠陥、ありました。
- 私はC ++でそれを書きました。
6502には、専用のIOバスを持っていたように、すべてがメモリを介して行われていました。私は一般的なインタフェースを提供し、純粋仮想クラスを持っていることのアイデアを持っていたし、私はメモリ空間に座ってデバイスを書いたように、彼らはそれの一部を上書きするか、書き込みか何かの罠でした。
これを書いながら、私はフラグや回転やものを操作するための代わりに、特にASMでそれを書かれている必要があります感じを取得保管しました。私はALを回転させている可能性があるので(例えば、むしろ混乱よりも、私はC ++コードを持っています。
- ずさんな命令デコード。
私はもともと正しく命令をデコードするために着手したが、使用されるシステムには例外がたくさんありました(特には。私は例えば65C02をサポートすることを目的としている場合)。これは、大規模なswitch文にdecended。私はほとんどの小さなファイルにそれを分割すると考えられており、ただ単にそれをより管理しやすいように、途中でそれらを#include。
彼らは番号順になっていないようにも、それがジャンプテーブルにコンパイルされないでしょう(ATMを覚えていないことができ、型、またはアドレッシングモードに応じてグループ化されました)。しかし上の最適化を行います。
これを書くために私を促した主なものは、私はロフトで私のBBC-Bを見つけ、最低解像度のテキストモード(ラムを保存するIIRCモード7)で覆いかぶさる無駄な時間懐かしの痛みを感じました。しかし私はそれがはるかに取得していない、NESやBBCエミュレータを書くのアイデアを持っていました。
それはかなり単純な画像フォーマットを持っています。ファイルは> = 65536バイト(64K)でなければならず、それは単にシステム(16ビットアドレスバス)のためのメモリイメージです。に文字列を吐き出すための十分OKですが0x200でASCIIテキスト表示の奇妙なソートは、あります。それはちょうどので、6時間以上の空間で一緒に投げられたように、それは非常にthouroughly文書化されますが、ありません(switch文を実行するのに長い時間がかかりました)ちょっとます。
カテゴリから探す
人気のソフトウェア
-
Ubuntu MATE 16 Aug 18
-
Android-x86 22 Jun 18
-
Slax 20 Feb 15
-
Tor Browser 20 Jan 18
-
LaTeX::BibTeX 14 Apr 15
-
LinuxTLE 11 May 15
-
PyVISA 3 Jun 15
MOS 6502 Simulator
開発者の他のソフトウェア Richard Whitty
BashBot
2 Jun 15
へのコメント MOS 6502 Simulator
カテゴリから探す
人気のソフトウェア
-
Cactus McCoy 2 20 Feb 15
-
Kali Linux 22 Jun 18
-
Slax 20 Feb 15
-
Puppy Linux 19 Feb 15
-
Puppy Linux "Slacko" 28 Apr 17
-
Puppy Linux "Slacko" 14 Jul 16
-
ALT Linux (School Junior) 2 Jun 15
コメントが見つかりません