2009-10-01から1ヶ月間の記事一覧

flash memory

MMC3, VRC6, VRC7 あたりは安定しているんだが、MMC5, VRC4 がだめ。 MMC5 erase command を打ち込むと erase 途中のデータは規則的に変化したものがでてくるが、これが8割ぐらいの確率でとれない。なので erase 完了のタイミングがわからずに、erase 途中に…

flash memory その2

Charcter ROM 領域の W29C040 の書き込みが安定しない 0x100 byte 書いた後に比較して、一致しなかったら書き込みし直す実装をいれたら大丈夫! Program ROM 領域はそんなんなかったんだけどなぁ... AM29F040B の erase がうまくいかない erase 中のデータ出…

flash memory

unagi に相当な手を入れて、Program ROM 領域の書き込みを確認。mmc5 だけうまくいってないけど、根が深そうなので後回し。Charcter ROM 領域も同様に実装したはずなのに、書き込みが実装できず。問題点はわかってるのだが、修正点が見つからん。phi2 関連で…

ほそく

ディスクに関しては詰まってるのでだめになるかも!

disk 進行状況

DRAM access は phi2 を定期的に更新するようにしたが、改善せず。もしかして DRAM enable flag でもあるのかもしれない。 disk が 1 seek でとまる原因は、motor を動かしてから $4032.bit1 == 0 になる直後。 head が外周→内周になった直後に停まるのでそ…

disk 進行状況

motor が動かなかったり、停まらなかったりする理由は write タイミングで wait をはさまないといけないため。 motor の制御は 1seek で停まるか、動き続けるか(強制的に停められる)のどっちかなんだが、よくわからず。 DRQ の発生は確認しているが 20 回程…

kazzo (試作品)が届いた

面倒くさい配線作業をばくてんさんにやっていただきました。ありがとう。Famicom で 14 + 13 + 8 のバスラインがあって面倒。 verilog でやってるのは 23 + 16 が大量にあるやつだから手作業でやったら狂気の沙汰というやつ。 read 現状のシーケンスは下記の…

verilog を書いてみた

ruby の言語仕様が HDL から取られたことに気づいた。 複数分岐 ruby case nantara when 0 iyan = 4 when 5 iyan = uhun else ahan = 4 end verilog case nantara 0: iyan = 4; 5: iyan = uhun; default: ahan = 5; endcase数値表現 ruby 0b1010_0101 0xffff…

とりあえず開発ソフトを触ってみる

いろいろな下調べから Altera の Cyclone II にすることにした。Quartus II をインストールして 1chip MSX のソースをコンパイルしたり、 opencores.org にあった 68000 コアをコンパイルしてみた。ハードウェア記述言語のソースってこーなってるのかと感動…

プロジェクトの説明 - (名称未定)

FPGA/CPLD で古いハードを作ってみようってやつ。MSX とかパックマン基板とかが有名。具体的なハードは現段階では上げないが、1980年台後半にメジャーになった 68000 と Z80 の構成のやつ。きっかけは入手困難な部品が多い箇所は 74IC が大量に組まれている…

プロジェクトの説明 - kazzo

AVR を利用して USB と FC 60pin edge connector を接続して、read 及び write を行うハードウェア。既存のハードウェアは read することに重みを置いているのに対して、 write と IRQ の活用を強化している。 write bank 切り替えと PPU 領域のメモリを RAM…