ZX Spectrumのシステムモニタヌはどこにありたすか Riddle PC Duet

Duet PCは、Lianozovsky Electromechanical PlantLEMZが補造したZX Spectrum 48kのロシア補クロヌンです。 これは私の最初のコンピュヌタヌであり、ただ私ず䞀緒です。 若い頃から、プログラミング、マむクロプロセッサアヌキテクチャ、およびその䞊でのデゞタル回路の蚭蚈の基瀎を孊び始めたした。 しかし、それ以来、システムモニタヌはどこにあるのかずいう質問に悩たされおいたす。 結局のずころ、それはドキュメントに蚘茉されおいたす。 暙準のZX Spectrumでは、システムモニタヌの存圚を思い出せたせん。 たた、システムモニタヌに関するドキュメントでは、詳现は説明しおいたせん。 1990幎のROMバヌゞョンには 48kのモニタヌがありたす。 ただし、オンにするず、Duet PCは暙準の挚拶の代わりに「c1982 sinclair research ltd」ずいう別の挚拶 「cDUET」を衚瀺したす。 これは、ROMがただ倉曎されおいるこずを意味したす。 それずも、ハヌドりェア監芖機胜がありたすか たずえば、クロヌンOrel BK-08には、シャドりRAM、NMIボタン、MZ80モニタヌなどの倚くの改善点がありたす。 長い幎月を経お、あなたの鉄片の隠された胜力を芋぀けるこずは非垞に興味深いでしょう。



最埌に、私はこの数幎間、定期的に私を心配させおいた質問に察する答えを芋぀けたした。



画像



どうしお今



ご存知のように、spektrumizm-ほずんど䞍治。 そしお、寛解の長い期間は、倖郚芁因の圱響䞋での悪化に眮き換えるこずができたすいく぀かの蚘事、 Spectrumの蚘念日、そしおここであなたは再びフォヌラムにいたす  そしお、埐々に手攟したす。 しかし、いく぀かの疑問は未解決のたたであり、朜圚意識のどこかに深くぶら䞋がっおいたす。 原則ずしお、プラットフォヌムのハヌドりェアが無関係であるため、実際には解決されおいたせん実際には議論の䜙地がありたす。 しかし、長幎の問題、問題、たたは欲求の解決が、今では関係なくおも、珟圚を喜ばせるこずができるずしたらどうでしょうか 実際、今は簡単です。 詊しおみる䟡倀があるず思いたす



モニタヌの次の問題



初めお賌入埌すぐにモニタヌに぀いお質問したしたが、答えが芋぀かりたせんでした。 すでに私たちの時代、2016幎の初めに、私はフォヌラムで調べようずしたしたが、再び答えは芋぀かりたせんでした。 質問は忘れられおいたでしょうが、偶然スペクトルクロヌンの販売広告「Nafanya」に出䌚い、「 ROMにはBASICむンタヌプリタヌずシステムモニタヌが含たれおいたす」ずいうドキュメントペヌゞの写真がありたした。 たあ、私たちはただそれを理解し、この問題に終止笊を打぀こずにしたした



画像



フォヌラムの仲間はアドバむスを䞎えたした

ほずんどの堎合、システムモニタヌは䞀連の暙準ROMルヌチンを指したす。 詊しおください

1.ボヌドにむンストヌルされおいるROMを確認したす。各8Kが2個あるようです。これは16Kです。远加のROMがない堎合は、䜿甚可胜な16Kを調べる必芁がありたす。

2. ROMダンプをマヌゞし、暙準のSinclairダンプず比范したす。通垞、クロヌンの碑文のみが倉曎されたす。 違いによるず、䜕か面癜いものがあるかどうかを刀断できたす。
たあ、それは簡単なこずではありたせん 回路を調べるず、远加のROMがないこずがわかりたした。2぀の8Kb ROM暙準の16kB BAS ROMを構成しおいたす。 私の暙本の内郚の写真から刀断するず、私のバヌゞョンはサむト䞊のスキヌムず違いはありたせん実際、マむナヌな改善/倉曎がありたすが、おそらく別の機䌚に。 したがっお、モニタヌの存圚に関するハヌドりェア機胜は芋぀かりたせんでした。



ROMダンプを比范する



ダンプをマヌゞしお元のダンプず比范するには、次の手順を実行する必芁がありたす。



1PC DuetのROMからデヌタを取埗したす。 ROMをボヌドから取り倖しおプログラマヌを䜿甚するこずはたったく必芁ありたせん。 48kバヌゞョンのROMが0..16383アドレスのアドレス空間に完党にマップされるずいう単玔な理由によりたす 。 これは、アドレス空間の最䞋郚です。 プログラムで読み取るか、BASICコマンドSAVE "ROM" CODE 0, 16384



を䜿甚しおテヌプ出力経由で保存できたす。



2PCのナヌティリティを䜿甚しお、サりンドファむルからTAPファむルにデヌタを倉換したす

3TAP圢匏からバむナリ圢匏にデヌタを抜出する

4Duetず元のSpectrumの2぀のバむナリファむルのバむトを比范するナヌティリティを䜜成たたは怜玢したす。



ラップトップにはリニア入力がなく、アダプタヌは、Duet PCの入力に接続するために、リニア出力を介しおPCたたはスマヌトフォンでサりンドを再生する方向にのみはんだ付けされおいるため、すでに最初の段階でこのアむデアを拒吊したした。 これは、珟圚99がDuetにデヌタをロヌドしおいるためです。逆の堎合も同様です。



したがっお、正反察のこずをするこずにしたした。 元のROMを取り出し、テヌプ入力を介しおDuetのRAMにロヌドしたす。 次に、メモリセルのデヌタず異なるセルの情報の出力を調敎するプログラムを䜜成したす。 元のROMのバむナリデヌタは、ほがすべおのZX Spectrum゚ミュレヌタヌにありたす。 しかし、それらを音声に倉換するために、その埌テヌプ入力を介しおダりンロヌドするために、少し手を加える必芁がありたした。 バむナリファむルからTAPファむルを䜜成する前に、3〜4぀のプログラムを詊したした。 その埌、簡単になりたした-ナヌティリティTape2WAVの助けを借りお、サりンドファむルを受け取りたした。



ZX Spectrum BASICのテヌプレコヌダヌからデヌタをロヌドするには、LOADコマンドを䜿甚したす。コヌドがロヌドされるこずを瀺すパラメヌタヌず、それをロヌドするメモリアドレス、それぞれLOAD "" CODE 40000



は、アドレス40000から元のROMのデヌタをメモリにロヌドしたす。



蚘憶を調和させるプログラムを曞く



ZX Spectrumの孊校での経隓ずプログラムを自分で芚えおおく必芁があるため、私は喜んで手をこすりたす しかし、ずころで、芚えおおくべきこずは䜕ですか 基本的なこずは忘れるこずができず、さらに簡単です。 各キヌストロヌクでコマンド党䜓がすぐに導入されるため、コマンドセットを間違えるこずは困難です。 T9のようなBASIC専甚の高速で䟿利な たた、゚ミュレヌタで48k BASICを䜿甚するこずは、BASICコマンドが最新のコンピュヌタヌで眲名されおいないずいう事実のため、単に䟿利ではないこずを蚀いたいず思いたす。 48kのような小さなマシンのもう1぀のプラススむッチを入れるずすぐに䜜業を開始できたす。 開発環境もコンパむラも必芁ありたせん。 䜜業に必芁なものはすべおROMにありたす。



ZX Spectrum内の基本が解釈されたす。 これにより、プログラムの速床が䜎䞋したす。 しかし、アセンブラヌでこのようなシンプルで速床が重芁なプログラムを䜜成するためには、これはすでにやり過ぎだず思いたす。 プログラムは5分で曞かれたす。 そしお、それが同じように機胜する堎合でも、それは私に合っおいたす。 しかし、5分もかからなかったこずがわかりたした。



画像



スクリヌンショットでは、゚ミュレヌタに入力したプログラム゜ヌスコヌドを含むスクリヌンショットを撮る堎合のみ。 Duetでも同じプログラムを入手したした。 スクリヌンショットの䞊に、メモリセルで芋぀かった違いに関するデヌタに眲名したした。 さお、それほど倚くの倉曎はありたせん。 次に、これらの倉曎がどのような圱響を䞎えたかを理解する必芁がありたす。 これを行うには、芋぀かったアドレスのROMの内容を知る必芁がありたす。 幞いなこずに、すべおの情報はロシア語の本「Full ZX-Spectrum ROM Disassembler」にありたす。



セル109-32d Duoの元の40d ROM内

006d 40の代わりに32。したがっお、28hJR z、*の代わりに20hJR nz、*、そしお本jr nzに。



画像



刀明したように、82歳からのROMのオリゞナルバヌゞョンでは、この堎所に間違いがありたした。 これは、マスク䞍胜割り蟌みを凊理するためのコヌドです。 この゚ラヌなしで、 NMIADD倉数をプロセッサぞの遷移のアドレスたずえば、同じモニタヌに蚭定できたす。 たた、NMI信号 Orel BK-08のようにNMIボタンを䜿甚に埓っお、コンピュヌタヌはこのプロセッサヌに切り替わりたす。 このアドレスでの修正は、Duetでこの゚ラヌが修正され、NMI信号を完党に䜿甚できるこずを瀺しおいたす。 たあ、それはもう悪くありたせんが、ROMに残っおいる倉曎の数から刀断するず、モニタヌコヌドはそれに瞫い蟌たれおいたせん:(



C1982 Sinclair Research Ltdの代わりに4バむトが「DUET」になるず予想されたす

1539 (C)

153A " "

153B 68 "D"

153C 85 "U"

153D 69 "E"

153E 212 . . 212d + 80h = 54h - "T"








メッセヌゞ-各メッセヌゞは、最埌の文字を反転しお衚瀺されたす+80、16進数。



モニタヌはありたせん、私たちは同意したせんか



残念ながら、システムモニタヌデバッガヌは芋぀かりたせんでしたが、䞀生懞呜努力したした。 しかし、私は自分で芋぀けるこずができたこずを非垞にうれしく思いたす...しかし。 しかし、「システムモニタヌ」ずは正確には䜕ですか DuetずNathanのドキュメントに圌に぀いお曞かれおいるのはなぜですか 前述のように、 「ほずんどの堎合、システムモニタヌずは暙準ROMルヌチンのセットを指したす 。 」 たた、完党なZX Spectrum ROM逆アセンブラヌを含む本では、次の蚘事を読むこずができたす。



...

ZX SPECTRUM

...



Spectrum, 16K,

Z80. :

. /.

. BASIC.

. .

, ,

10 . .








近幎、誰かがZX Spectrumに぀いお曞くずき、ROMの内容をOS ZX Spectrumず呌ぶでしょう。これは組み蟌みのBASICです。 しかし、圓時、明らかに、そのような抂念はただ圢成されおいたせん。 小さなプログラムがありたした-HEX圢匏のメモリセルの内容を衚瀺および倉曎するためのモニタヌ。 マシンコヌド内のプログラムをデバッグするために䜿甚されたす。 それらず比范しお、Spectrumの「モニタヌ」はずおもクヌルでした。 そしお、珟圚「モニタヌ」ず呌ばれおいるものは、より頻繁に「ディスプレむ」ず呌ばれおいたした。



したがっお、抂念の意味に䞀定の倉化が生じたした。 モニタヌずモニタヌは今や異なる抂念です。 だから、モニタヌがただ芋぀かっおいるず仮定するこずができたす:)それずも誰かがより倚くの情報を持っおいたすか



参照資料

ナヌザヌずプログラマヌ向けのZX Spectrum-システム倉数 -NMIADD

ZX-Review 1991№1-ROMの秘密 -NMIADDずROMの゚ラヌ

マむクロプロセッサキットZ80。 Book 1. 6.システムの䞭断。 -NMIに぀いお

ロシア語の「完党な逆アセンブラROM ZX-Spectrum」

Z80呜什衚



All Articles