私はこの6502エミュレータでしばらくの間作業していますが、私は単純なエンハンスドBASIC ROMを動作させるために取り組んでいます。正確なクロックタイミングがないにもかかわらず、エミュレータはAllSuiteA.asmを通過しました。 EhBASICでは、そのアドレスに読み込みが行われたときに、$ F001の値を出力することによって出力を得ることができました。EhBASIC入力で6502エミュレータ
しかし、入力プロセスをエミュレートする方法はわかりません。 This postは、EhBASICが入力を望むときはいつでも$ F004をポーリングすると述べています。しかし、私の現在のコードは2つの問題を抱えているようだ:
while(1)
{
decodeandexecute();
if(lastread == 0xF004)
{
inputchar = getchar();
CPUMEM[0xF004] = inputchar;
}
if(lastwrite == 0xF001)
{
printf("%c",CPUMEM[0xF001]);
}
}
- 入力は、プログラムがメモリサイズを要求した後、任意の入力を与えることがちょうど読書のループを引き起こします
- (予定)個々の文字を通じてのみ可能です$ F004(LDA $ F004)から - つまり、入力を止める時間をEhBASICに知らせることはできません。
文字列を入力して「メモリサイズ? 。
さらに、EhBASICにメモリサイズを自動的に計算させたい場合は、$ F004に何を入力する必要がありますか?
私は(誰かがいくつかのキーを押すまでは待機します)あなたはコードでgetchar
を使用して、私の記憶が正しけれ場合には、ブロッキング・コールでご覧かなりこの分野で初心者....