ROMライタ完成

http://ntus.net/j/i2clpt/index.htm
を参考にして2線式シリアルEEPROMのROMライタを作った。一応データシートに合わせてSCLもプルアップするように変更しておいた。
家にあったものだけで作ったので製作費0円。


パラレルポートの配線は

  • D0〜D1は適当なデータピン
  • ACKはACK等の適当なステータスピン
  • GNDはパラレルポートのGNDピン

に。
それから、当然書き込みソフトが無いので作った。
http://mad-projects.iobb.net/svn/misc/hardware/rom_writer.hpp
まだすごくシンプルだけど、次の様に使う。ROMに"Hello World\0"というデータを書き込んで、次にそれを読み込んでみた。

#include "rom_writer.hpp"
#include <iostream>

using namespace std;

int main(){
  // コンストラクタでピンの配置を指定
  mad::rom_writer writer("/dev/parport0", 3, 2, 1, 6);

  const unsigned char* data = (const unsigned char*)"Hello World";

  cout << "Writing \"Hello World\" ... " << endl;
  writer.write(0, data, strlen((const char*)data)+1);
  cout << "End." << endl;

  unsigned char buf[50];

  cout << "Reading ... ";
  writer.read(0, buf, 50);
  cout << '"' <<  buf << '"' << endl;
  cout << "End." << endl;

  return 0;
}

実行結果。ハードウェアで初めてHello Worldできて感動したので写真で(笑)

データシート通り作れば結構簡単に出来るもんだと思った。