CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

設定ファイル

統合環境の中でターゲットCPUごとに異なる作業フォルダ、処理系・モニタの仕様の違いなどをまとめたDEVICE構造体を定義しました

f:id:O3I:20220110105123j:plain

 

これにCPUごとに編集可能なテキストで記述した設定ファイルを読み込むようにします。元プログラムでコードに埋め込まれていた設定値や文字列リテラルを抜き出したようなものです。たとえばNSC800ボード用の設定ファイルは以下のようになっています

f:id:O3I:20220110105255j:plain

これを1行づつDEVICE構造体の要素に読み込もうとしたのですがファイルパスやコマンド文字列のようにエスケープ文字「\」がはいっているとうまくいきません。エスケープシーケンスは引用符でくくられコードに埋込まれた文字列リテラルの中では使えるのですがこうして文字列データとして読み込むと「ただの文字」になってしまいます。

ファイルパスは「D:\USR\ASM\NSC800\src\」のように「\」を1個にすれば直ります。ですが制御文字「\x0d」は本来は0x0Dになってほしいのですが読み込むと見た目そのまま0x5C,0x78,0x30,0x64と展開されてしまいます。制御文字はなにか代替のキャラクタを当てるしかなさそうです