コード(16進表記) | 対応するデバイス | コード(16進表記) | 対応するデバイス |
00 | 未選択 | 10 | 28PIN EPROM (2764/27128) |
01 | シリアルEEPROM(SPI) | 11 | 28PIN EPROM (27256) |
02 | シリアルEEPROM(MicroWire) | 12 | 28PIN SRAM,EEPROM |
03 | シリアルEEPROM(I2C) | 13 | 28PIN EPROM (27512) |
04 | PIC16系 | 14 | 32PIN EPROM (27010/020/1001/2001) |
05 | GAL16V8 | 15 | 32PIN EPROM (27040/4001) |
06 | GAL20V8 | 16 | 32PIN SRAM,EEPROM |
07 | GAL22V10 | 17 | 32PIN EPROM (27080/8001) |
18 | 40PIN EPROM (271024/2048) | ||
19 | 40PIN EPROM (274096) | ||
08〜0F | 予約 | 1A | 40PIN SRAM,EEPROM |
1C〜1F | 予約 | 1B | 40PIN EPROM (278192) |
コード(16進表記) | コマンド名 | 引数の有無 | 動作 |
00 | NOP | × | なにもしない |
01 | INC | × | アドレスカウンタをインクリメントする |
02 | 予約 | × | |
03 | 予約 | × | |
04 | DLREAD | × | デバイスからデータ下位を読んで、シリアルパラレル変換回路にセットする |
05 | DHREAD | × | デバイスからデータ上位を読んで、シリアルパラレル変換回路にセットする |
06 | REVREAD | × | XMP1のリビジョンを読んで、シリアルパラレル変換回路にセットする |
07 | 予約 | × | |
08 | DLSEND | ○ | データ下位をレジスタにセットして、EPROM系デバイスに書きこむ |
09 | DHSEND | ○ | データ上位をレジスタにセットして、EPROM系デバイスに書きこむ |
0A | ALSET | ○ | アドレス下位レジスタに書きこむ |
0B | AHSET | ○ | アドレス上位レジスタに書きこむ |
0C | DLSET | ○ | データ下位レジスタに書きこむ |
0D | DHSET | ○ | データ上位レジスタに書きこむ |
0E | CSET | ○ | コントロールレジスタに書きこむ |
0F | DEVSET | ○ | デバイス識別内部コードをセットする |
10 | TIMLOSET | ○ | タイマー下位レジスタに書きこむ |
11 | TIMHISET | ○ | タイマー上位レジスタに書きこむ |
12 | OPORTSET | ○ | 汎用ポートレジスタに書きこむ |
13 | VOLTSET | ○ | 電圧設定レジスタに書きこむ |
14 | WAITTIM | × | 内蔵タイマーを動作させる |
1:TIMLOSET xx //タイマーレジスタをセット 2:TIMHISET xx //タイマーレジスタをセット 3:VOLTSET xx //電圧設定レジスタをセット 4:DEVMOD 18 //デバイスを271024にセット(デバイスに電圧印加) 5:ALSET 0 // 6:AHSET 0 // 7:CSET 0 //アドレスを00000番地にセット 8:do{ 9:DLSET 下位バイト //下位バイトをデバイスに印加 10:DHSET 上位バイト //上位バイトをデバイスに印加してライトパルス 11:タイマー待ちループ 12:INC //XMP2内のアドレスカウンタをインクリメント 13:}while(最終アドレスに書き込んだか?) 14:DEVMOD 0 //デバイスに印加していた電圧を落とす 15:終了