ポケコンのエミュレータをみつけたので、試してみることにした。
Linux/Windows/MacOSX用ソフトウェアから「g800win32.0.10.14.zip」(エミュレータ)と「copyrom.zip」(ROM吸出し)でPC上で動かすことに成功。
各ページのROMのアドレス0xC000-0xFFFF内容を0x1000-0x4FFFに転送して、それをHEXファイル(拡張子はTXT)として吸い出してエミュレータで動かすものだが、HEXファイルをバイナリにして中身をざっと覗いたところ、どうやら「rom14.txt」にPICのINIファイルが存在してるようなので、ちょっと調べてみた。
もう10年以上前のポケコンで、わざわざ制限付きのアセンブラ環境でPICのプログラムなんてする人なんてもういないだろうけど、ネットで調べてもあまり情報がなく、なんとなく気になったので調べてみる。
0x208DのところからINCファイルの一覧がある。
INCファイル定義部分
00010203 04050607 08090A0B 0C0D0E0F 0123456789ABCDEF 02080 075049 .PI 02090 432E494E 433ED10B 50313646 3632372E C.INC>..P16F627. 020A0 494E43CB D10A5031 36463833 2E494E43 INC...P16F83.INC 020B0 F4D60A50 31364638 342E494E 43F4D60B ...P16F84.INC... 020C0 50313646 3834412E 494E43F4 D60B5031 P16F84A.INC...P1 020D0 36463632 382E494E 43CBD10B 50313646 6F628.INC...P16F 020E0 3837302E 494E43CB D80B5031 36463837 870.INC...P16F87 020F0 312E494E 4394DE0B 50313646 3837322E 1.INC...P16F872. 02100 494E43DF E40B5031 36463837 332E494E INC...P16F873.IN 02110 4334EB0B 50313646 3837342E 494E432D C4..P16F874.INC- 02120 F30B5031 36463837 362E494E 4334EB0B ..P16F876.INC4.. 02130 50313646 3837372E 494E432D F3 P16F877.INC-.
構成としては、
ファイル名長さ(1バイト)+ファイル名(可変長)+参照先ROMアドレス下上(2バイト)
となっているようなので、わかりやすく並べなおす。
長 P 1 6 F x x x . I N C 下上 ファイル名 参照先 転送後読み替え +- +-+-+-+- +-+-+- +-+-+-+- +-+- ------------ ---- ---- 07 504943 2E494E43 3ED1 PIC.INC D13E -> 213E 0B 50313646 363237 2E494E43 CBD1 P16F627.INC D1CB -> 21CB 0A 50313646 3833 2E494E43 F4D6 P16F83.INC D6F4 -> 26F4 0A 50313646 3834 2E494E43 F4D6 P16F84.INC D6F4 -> 26F4 0B 50313646 383441 2E494E43 F4D6 P16F84A.INC D6F4 -> 26F4 0B 50313646 363238 2E494E43 CBD1 P16F628.INC D1CB -> 21CB 0B 50313646 383730 2E494E43 CBD8 P16F870.INC D8CB -> 28CB 0B 50313646 383731 2E494E43 94DE P16F871.INC DE94 -> 2E94 0B 50313646 383732 2E494E43 DFE4 P16F872.INC E4DF -> 34DF 0B 50313646 383733 2E494E43 34EB P16F873.INC EB34 -> 3B34 0B 50313646 383734 2E494E43 2DF3 P16F874.INC F32D -> 432D 0B 50313646 383736 2E494E43 34EB P16F876.INC EB34 -> 3B34 0B 50313646 383737 2E494E43 2DF3 P16F877.INC F32D -> 432D
マニュアルに書かれている以外にも対応しているPICがあるようだ。
ROMの内容が0xC000-0xFFFF内容を0x1000-0x4FFFに転送されているため、参照先のアドレスも読み替えてPIC.INCの参照先(0x213E )を見てみる。
PIC.INCファイル
00010203 04050607 08090A0B 0C0D0E0F 0123456789ABCDEF 02130 0E57 .W 02140 00000000 00000000 00460000 00000000 .........F...... 02150 00010049 4E444600 00000000 00544D52 ...INDF......TMR 02160 30000000 00010050 434C0000 00000002 0......PCL...... 02170 00535441 54555300 00030046 53520000 .STATUS....FSR.. 02180 00000004 00504F52 54410000 00050050 .....PORTA.....P 02190 4F525442 00000006 0050434C 41544800 ORTB.....PCLATH. 021A0 000A0049 4E54434F 4E00000B 004F5054 ...INTCON....OPT 021B0 494F4E5F 52810054 52495341 00000085 ION_R..TRISA.... 021C0 00545249 53420000 008600 .TRISB.....
どうやら、
1個目:定義数(1バイト)+定数名(8バイト)+値(1バイト)
2個目以降:0x00 or 0x01(1バイト)+定数名(8バイト)+値(1バイト)
と10バイトの固定長になっているようだ。
一つ一つ手作業で変換するのも面倒なので、ポケコンでBASICでプログラムを組んでみる。
前提条件としては、copyromでAレジスタで0x14を指定した後、ROMの内容を0xC000-0xFFFFから0x1000-0x4FFFに転送済みになっていること。
PCとポケコンを通信ケーブルでつないでTeraTermなどでデータを受信できる状態であること。
定数定義吸出しプログラム
100OPEN "COM1:" 110INPUT "ADDRESS: ";AD$ 120IF AD$="END" OR AD$="EXIT" THEN PRINT "==END==":CLOSE :END 130DC= PEEK ( VAL ("&H"+AD$)) 140PRINT #1,"" 150PRINT #1,"ADD:"+AD$ 160PRINT #1,"CNT:"+ STR$ DC 170PRINT #1," LABEL VAL" 180PRINT #1,"---- -------- ----" 190FOR LC=1 TO DC 200PP$="" 210PB$="" 220PP$= RIGHT$ (" "+ STR$ ( PEEK ( VAL ("&H"+AD$)+(LC-1)*10)),4)+" " 230FOR C=1 TO 8 240 DT= PEEK ( VAL ("&H"+AD$)+(LC-1)*10+C) 250 IF DT>=&H30 AND DT <&H7F THEN PP$=PP$+ CHR$ DT ELSE PP$=PP$+ " " 260NEXT 270PB$= " &H"+ RIGHT$ ("0"+ HEX$ ( PEEK ( VAL ("&H"+AD$)+9+(LC-1)*10)),2) 280PRINT #1,PP$;PB$ 290NEXT 300PRINT #1,"==== ======== ====" 310PRINT #1,"" 320GOTO 110
実行した結果は以下の通り。
長いので、実行結果は次のページで。
ADD:213E CNT:14 LABEL VAL ---- -------- ---- 14 W 0x00 0 F 0x01 0 INDF 0x00 0 TMR0 0x01 0 PCL 0x02 0 STATUS 0x03 0 FSR 0x04 0 PORTA 0x05 0 PORTB 0x06 0 PCLATH 0x0A 0 INTCON 0x0B 0 OPTION_R 0x81 0 TRISA 0x85 0 TRISB 0x86 ==== ======== ==== ADD:21CB CNT:132 LABEL VAL ---- -------- ---- 132 W 0x00 0 F 0x01 0 INDF 0x00 0 TMR0 0x01 0 PCL 0x02 0 STATUS 0x03 0 FSR 0x04 0 PORTA 0x05 0 PORTB 0x06 0 PCLATH 0x0A 0 INTCON 0x0B 0 PIR1 0x0C 0 TMR1L 0x0E 0 TMR1H 0x0F 0 T1CON 0x10 0 TMR2 0x11 0 T2CON 0x12 0 CCPR1L 0x15 0 CCPR1H 0x16 0 CCP1CON 0x17 0 RCSTA 0x18 0 TXREG 0x19 0 RCREG 0x1A 0 CMCON 0x1F 0 OPTION_R 0x81 0 TRISA 0x85 0 TRISB 0x86 0 PIE1 0x8C 0 PCON 0x8E 0 PR2 0x92 0 TXSTA 0x98 0 RXSTA 0x99 0 EEDATA 0x9A 0 EEADR 0x9B 0 EECON1 0x9C 0 EECON2 0x9D 0 VRCON 0x9F 0 IRP 0x07 0 RP1 0x06 0 RP0 0x05 0 NOT_TO 0x04 0 NOT_PD 0x03 0 Z 0x02 0 DC 0x01 0 C 0x00 0 GIE 0x07 0 PEIE 0x06 0 T0IE 0x05 0 INTE 0x04 0 RBIE 0x03 0 T0IF 0x02 0 INTF 0x01 0 RBIF 0x00 0 EEIF 0x07 0 CMIF 0x06 0 RCIF 0x05 0 TXIF 0x04 0 CCP1IF 0x02 0 TMR2IF 0x01 0 TMR1IF 0x00 0 T1CKPS1 0x05 0 T1CKPS0 0x04 0 T1OSCEN 0x03 0 NOT_T1SY 0x02 0 TMR1CS 0x01 0 TMR1ON 0x00 0 TOUTPS3 0x06 0 TOUTPS2 0x05 0 TOUTPS1 0x04 0 TOUTPS0 0x03 0 TMR2ON 0x02 0 T2CKPS1 0x01 0 T2CKPS0 0x00 0 CCP1X 0x05 0 CCP1Y 0x04 0 CCP1M3 0x03 0 CCP1M2 0x02 0 CCP1M1 0x01 0 CCP1M0 0x00 0 SPEN 0x07 0 RX9 0x06 0 SREN 0x05 0 CREN 0x04 0 ADEN 0x03 0 FERR 0x02 0 OERR 0x01 0 RX9D 0x00 0 C2OUT 0x07 0 C1OUT 0x06 0 C2INV 0x05 0 C1INV 0x04 0 CIS 0x03 0 CM2 0x02 0 CM1 0x01 0 CM0 0x00 0 NOT_RBPU 0x07 0 INTEDG 0x06 0 T0CS 0x05 0 T0SE 0x04 0 PSA 0x03 0 PS2 0x02 0 PS1 0x01 0 PS0 0x00 0 EEIE 0x07 0 CMIE 0x06 0 RCIE 0x05 0 TXIE 0x04 0 CCP1IE 0x02 0 TMR2IE 0x01 0 TMR1IE 0x00 0 OSCF 0x03 0 NOT_POR 0x01 0 NOT_BO 0x00 0 NOT_BOR 0x00 0 CSRC 0x07 0 TX9 0x06 0 TXEN 0x05 0 SYNC 0x04 0 BRGH 0x02 0 TRMT 0x01 0 TX9D 0x00 0 WRERR 0x03 0 WREN 0x02 0 WR 0x01 0 RD 0x00 0 VREN 0x07 0 VROE 0x06 0 VRR 0x05 0 VR3 0x03 0 VR2 0x02 0 VR1 0x01 0 VR0 0x00 ==== ======== ==== ADD:26F4 CNT:47 LABEL VAL ---- -------- ---- 47 W 0x00 0 F 0x01 0 INDF 0x00 0 TMR0 0x01 0 PCL 0x02 0 STATUS 0x03 0 FSR 0x04 0 PORTA 0x05 0 PORTB 0x06 0 EEDATA 0x08 0 EEADR 0x09 0 PCLATH 0x0A 0 INTCON 0x0B 0 OPTION_R 0x81 0 TRISA 0x85 0 TRISB 0x86 0 EECON1 0x88 0 EECON2 0x89 0 IRP 0x07 0 RP1 0x06 0 RP0 0x05 0 NOT_TO 0x04 0 NOT_PD 0x03 0 Z 0x02 0 DC 0x01 0 C 0x00 0 GIE 0x07 0 EEIE 0x06 0 T0IE 0x05 0 INTE 0x04 0 RBIE 0x03 0 T0IF 0x02 0 INTF 0x01 0 RBIF 0x00 0 NOT_RBPU 0x07 0 INTEDG 0x06 0 T0CS 0x05 0 T0SE 0x04 0 PSA 0x03 0 PS2 0x02 0 PS1 0x01 0 PS0 0x00 0 EEIF 0x04 0 WRERR 0x03 0 WREN 0x02 0 WR 0x01 0 RD 0x00 ==== ======== ==== ADD:21CB CNT:132 LABEL VAL ---- -------- ---- 132 W 0x00 0 F 0x01 0 INDF 0x00 0 TMR0 0x01 0 PCL 0x02 0 STATUS 0x03 0 FSR 0x04 0 PORTA 0x05 0 PORTB 0x06 0 PCLATH 0x0A 0 INTCON 0x0B 0 PIR1 0x0C 0 TMR1L 0x0E 0 TMR1H 0x0F 0 T1CON 0x10 0 TMR2 0x11 0 T2CON 0x12 0 CCPR1L 0x15 0 CCPR1H 0x16 0 CCP1CON 0x17 0 RCSTA 0x18 0 TXREG 0x19 0 RCREG 0x1A 0 CMCON 0x1F 0 OPTION_R 0x81 0 TRISA 0x85 0 TRISB 0x86 0 PIE1 0x8C 0 PCON 0x8E 0 PR2 0x92 0 TXSTA 0x98 0 RXSTA 0x99 0 EEDATA 0x9A 0 EEADR 0x9B 0 EECON1 0x9C 0 EECON2 0x9D 0 VRCON 0x9F 0 IRP 0x07 0 RP1 0x06 0 RP0 0x05 0 NOT_TO 0x04 0 NOT_PD 0x03 0 Z 0x02 0 DC 0x01 0 C 0x00 0 GIE 0x07 0 PEIE 0x06 0 T0IE 0x05 0 INTE 0x04 0 RBIE 0x03 0 T0IF 0x02 0 INTF 0x01 0 RBIF 0x00 0 EEIF 0x07 0 CMIF 0x06 0 RCIF 0x05 0 TXIF 0x04 0 CCP1IF 0x02 0 TMR2IF 0x01 0 TMR1IF 0x00 0 T1CKPS1 0x05 0 T1CKPS0 0x04 0 T1OSCEN 0x03 0 NOT_T1SY 0x02 0 TMR1CS 0x01 0 TMR1ON 0x00 0 TOUTPS3 0x06 0 TOUTPS2 0x05 0 TOUTPS1 0x04 0 TOUTPS0 0x03 0 TMR2ON 0x02 0 T2CKPS1 0x01 0 T2CKPS0 0x00 0 CCP1X 0x05 0 CCP1Y 0x04 0 CCP1M3 0x03 0 CCP1M2 0x02 0 CCP1M1 0x01 0 CCP1M0 0x00 0 SPEN 0x07 0 RX9 0x06 0 SREN 0x05 0 CREN 0x04 0 ADEN 0x03 0 FERR 0x02 0 OERR 0x01 0 RX9D 0x00 0 C2OUT 0x07 0 C1OUT 0x06 0 C2INV 0x05 0 C1INV 0x04 0 CIS 0x03 0 CM2 0x02 0 CM1 0x01 0 CM0 0x00 0 NOT_RBPU 0x07 0 INTEDG 0x06 0 T0CS 0x05 0 T0SE 0x04 0 PSA 0x03 0 PS2 0x02 0 PS1 0x01 0 PS0 0x00 0 EEIE 0x07 0 CMIE 0x06 0 RCIE 0x05 0 TXIE 0x04 0 CCP1IE 0x02 0 TMR2IE 0x01 0 TMR1IE 0x00 0 OSCF 0x03 0 NOT_POR 0x01 0 NOT_BO 0x00 0 NOT_BOR 0x00 0 CSRC 0x07 0 TX9 0x06 0 TXEN 0x05 0 SYNC 0x04 0 BRGH 0x02 0 TRMT 0x01 0 TX9D 0x00 0 WRERR 0x03 0 WREN 0x02 0 WR 0x01 0 RD 0x00 0 VREN 0x07 0 VROE 0x06 0 VRR 0x05 0 VR3 0x03 0 VR2 0x02 0 VR1 0x01 0 VR0 0x00 ==== ======== ==== ADD:28CB CNT:148 LABEL VAL ---- -------- ---- 148 W 0x00 0 F 0x01 0 INDF 0x00 0 TMR0 0x01 0 PCL 0x02 0 STATUS 0x03 0 FSR 0x04 0 PORTA 0x05 0 PORTB 0x06 0 PORTC 0x07 0 PCLATH 0x0A 0 INTCON 0x0B 0 PIR1 0x0C 0 PIR2 0x0D 0 TMR1L 0x0E 0 TMR1H 0x0F 0 T1CON 0x10 0 TMR2 0x11 0 T2CON 0x12 0 CCPR1L 0x15 0 CCPR1H 0x16 0 CCP1CON 0x17 0 RCSTA 0x18 0 TXREG 0x19 0 RCREG 0x1A 0 ADRESH 0x1E 0 ADCON0 0x1F 0 OPTION_R 0x81 0 TRISA 0x85 0 TRISB 0x86 0 TRISC 0x87 0 PIE1 0x8C 0 PIE2 0x8D 0 PCON 0x8E 0 PR2 0x92 0 TXSTA 0x98 0 SPBRG 0x99 0 ADRESL 0x9E 0 ADCON1 0x9F 0 EEDATA 0x0C 1 EEADR 0x0D 1 EEDATH 0x0E 1 EEADRH 0x0F 1 EECON1 0x8C 1 EECON2 0x8D 1 IRP 0x07 0 RP1 0x06 0 RP0 0x05 0 NOT_TO 0x04 0 NOT_PD 0x03 0 Z 0x02 0 DC 0x01 0 C 0x00 0 NOT_RBPU 0x07 0 INTEDG 0x06 0 T0CS 0x05 0 T0SE 0x04 0 PSA 0x03 0 PS2 0x02 0 PS1 0x01 0 PS0 0x00 0 GIE 0x07 0 PEIE 0x06 0 T0IE 0x05 0 INTE 0x04 0 RBIE 0x03 0 T0IF 0x02 0 INTF 0x01 0 RBIF 0x00 0 ADIE 0x06 0 RCIE 0x05 0 TXIE 0x04 0 CCP1IE 0x02 0 TMR2IE 0x01 0 TMR1IE 0x00 0 ADIF 0x06 0 RCIF 0x05 0 TXIF 0x04 0 CCP1IF 0x02 0 TMR2IF 0x01 0 TMR1IF 0x00 0 EEIE 0x04 0 EEIF 0x04 0 NOT_POR 0x01 0 NOT_BO 0x00 0 NOT_BOR 0x00 0 EEPGD 0x07 0 WRERR 0x03 0 WREN 0x02 0 WR 0x01 0 RD 0x00 0 T1CKPS1 0x05 0 T1CKPS0 0x04 0 T1OSCEN 0x03 0 NOT_T1SY 0x02 0 T1INSYNC 0x02 0 T1SYNC 0x02 0 TMR1CS 0x01 0 TMR1ON 0x00 0 TOUTPS3 0x06 0 TOUTPS2 0x05 0 TOUTPS1 0x04 0 TOUTPS0 0x03 0 TMR2ON 0x02 0 T2CKPS1 0x01 0 T2CKPS0 0x00 0 CCP1X 0x05 0 CCP1Y 0x04 0 CCP1M3 0x03 0 CCP1M2 0x02 0 CCP1M1 0x01 0 CCP1M0 0x00 0 CSRC 0x07 0 TX9 0x06 0 NOT_TX8 0x06 0 TX8_9 0x06 0 TXEN 0x05 0 SYNC 0x04 0 BRGH 0x02 0 TRMT 0x01 0 TX9D 0x00 0 TXD8 0x00 0 SPEN 0x07 0 RX9 0x06 0 RC9 0x06 0 NOT_RC8 0x06 0 RC8_9 0x06 0 SREN 0x05 0 CREN 0x04 0 ADDEN 0x03 0 FERR 0x02 0 OERR 0x01 0 RX9D 0x00 0 RCD8 0x00 0 ADCS1 0x07 0 ADCS0 0x06 0 CHS2 0x05 0 CHS1 0x04 0 CHS0 0x03 0 GO 0x02 0 NOT_DONE 0x02 0 GO_DONE 0x02 0 ADON 0x00 0 ADFM 0x07 0 PCFG3 0x03 0 PCFG2 0x02 0 PCFG1 0x01 0 PCFG0 0x00 ==== ======== ==== ADD:2E94 CNT:161 LABEL VAL ---- -------- ---- 161 W 0x00 0 F 0x01 0 INDF 0x00 0 TMR0 0x01 0 PCL 0x02 0 STATUS 0x03 0 FSR 0x04 0 PORTA 0x05 0 PORTB 0x06 0 PORTC 0x07 0 PORTD 0x08 0 PORTE 0x09 0 PCLATH 0x0A 0 INTCON 0x0B 0 PIR1 0x0C 0 PIR2 0x0D 0 TMR1L 0x0E 0 TMR1H 0x0F 0 T1CON 0x10 0 TMR2 0x11 0 T2CON 0x12 0 CCPR1L 0x15 0 CCPR1H 0x16 0 CCP1CON 0x17 0 RCSTA 0x18 0 TXREG 0x19 0 RCREG 0x1A 0 ADRESH 0x1E 0 ADCON0 0x1F 0 OPTION_R 0x81 0 TRISA 0x85 0 TRISB 0x86 0 TRISC 0x87 0 TRISD 0x88 0 TRISE 0x89 0 PIE1 0x8C 0 PIE2 0x8D 0 PCON 0x8E 0 PR2 0x92 0 TXSTA 0x98 0 SPBRG 0x99 0 ADRESL 0x9E 0 ADCON1 0x9F 0 EEDATA 0x0C 1 EEADR 0x0D 1 EEDATH 0x0E 1 EEADRH 0x0F 1 EECON1 0x8C 1 EECON2 0x8D 1 IRP 0x07 0 RP1 0x06 0 RP0 0x05 0 NOT_TO 0x04 0 NOT_PD 0x03 0 Z 0x02 0 DC 0x01 0 C 0x00 0 NOT_RBPU 0x07 0 INTEDG 0x06 0 T0CS 0x05 0 T0SE 0x04 0 PSA 0x03 0 PS2 0x02 0 PS1 0x01 0 PS0 0x00 0 GIE 0x07 0 PEIE 0x06 0 T0IE 0x05 0 INTE 0x04 0 RBIE 0x03 0 T0IF 0x02 0 INTF 0x01 0 RBIF 0x00 0 PSPIE 0x07 0 ADIE 0x06 0 RCIE 0x05 0 TXIE 0x04 0 CCP1IE 0x02 0 TMR2IE 0x01 0 TMR1IE 0x00 0 PSPIF 0x07 0 ADIF 0x06 0 RCIF 0x05 0 TXIF 0x04 0 CCP1IF 0x02 0 TMR2IF 0x01 0 TMR1IF 0x00 0 EEIE 0x04 0 EEIF 0x04 0 NOT_POR 0x01 0 NOT_BO 0x00 0 NOT_BOR 0x00 0 IBF 0x07 0 OBF 0x06 0 IBOV 0x05 0 PSPMODE 0x04 0 TRISE2 0x02 0 TRISE1 0x01 0 TRISE0 0x00 0 EEPGD 0x07 0 WRERR 0x03 0 WREN 0x02 0 WR 0x01 0 RD 0x00 0 T1CKPS1 0x05 0 T1CKPS0 0x04 0 T1OSCEN 0x03 0 NOT_T1SY 0x02 0 T1INSYNC 0x02 0 T1SYNC 0x02 0 TMR1CS 0x01 0 TMR1ON 0x00 0 TOUTPS3 0x06 0 TOUTPS2 0x05 0 TOUTPS1 0x04 0 TOUTPS0 0x03 0 TMR2ON 0x02 0 T2CKPS1 0x01 0 T2CKPS0 0x00 0 CCP1X 0x05 0 CCP1Y 0x04 0 CCP1M3 0x03 0 CCP1M2 0x02 0 CCP1M1 0x01 0 CCP1M0 0x00 0 CSRC 0x07 0 TX9 0x06 0 NOT_TX8 0x06 0 TX8_9 0x06 0 TXEN 0x05 0 SYNC 0x04 0 BRGH 0x02 0 TRMT 0x01 0 TX9D 0x00 0 TXD8 0x00 0 SPEN 0x07 0 RX9 0x06 0 RC9 0x06 0 NOT_RC8 0x06 0 RC8_9 0x06 0 SREN 0x05 0 CREN 0x04 0 ADDEN 0x03 0 FERR 0x02 0 OERR 0x01 0 RX9D 0x00 0 RCD8 0x00 0 ADCS1 0x07 0 ADCS0 0x06 0 CHS2 0x05 0 CHS1 0x04 0 CHS0 0x03 0 GO 0x02 0 NOT_DONE 0x02 0 GO_DONE 0x02 0 ADON 0x00 0 ADFM 0x07 0 PCFG3 0x03 0 PCFG2 0x02 0 PCFG1 0x01 0 PCFG0 0x00 ==== ======== ==== ADD:34DF CNT:162 LABEL VAL ---- -------- ---- 162 W 0x00 0 F 0x01 0 INDF 0x00 0 TMR0 0x01 0 PCL 0x02 0 STATUS 0x03 0 FSR 0x04 0 PORTA 0x05 0 PORTB 0x06 0 PORTC 0x07 0 PCLATH 0x0A 0 INTCON 0x0B 0 PIR1 0x0C 0 PIR2 0x0D 0 TMR1L 0x0E 0 TMR1H 0x0F 0 T1CON 0x10 0 TMR2 0x11 0 T2CON 0x12 0 SSPBUF 0x13 0 SSPCON 0x14 0 CCPR1L 0x15 0 CCPR1H 0x16 0 CCP1CON 0x17 0 ADRESH 0x1E 0 ADCON0 0x1F 0 OPTION_R 0x81 0 TRISA 0x85 0 TRISB 0x86 0 TRISC 0x87 0 PIE1 0x8C 0 PIE2 0x8D 0 PCON 0x8E 0 SSPCON2 0x91 0 PR2 0x92 0 SSPADD 0x93 0 SSPSTAT 0x94 0 ADRESL 0x9E 0 ADCON1 0x9F 0 EEDATA 0x0C 1 EEADR 0x0D 1 EEDATH 0x0E 1 EEADRH 0x0F 1 EECON1 0x8C 1 EECON2 0x8D 1 IRP 0x07 0 RP1 0x06 0 RP0 0x05 0 NOT_TO 0x04 0 NOT_PD 0x03 0 Z 0x02 0 DC 0x01 0 C 0x00 0 GIE 0x07 0 PEIE 0x06 0 T0IE 0x05 0 INTE 0x04 0 RBIE 0x03 0 T0IF 0x02 0 INTF 0x01 0 RBIF 0x00 0 ADIF 0x06 0 SSPIF 0x03 0 CCP1IF 0x02 0 TMR2IF 0x01 0 TMR1IF 0x00 0 EEIF 0x04 0 BCLIF 0x03 0 T1CKPS1 0x05 0 T1CKPS0 0x04 0 T1OSCEN 0x03 0 NOT_T1SY 0x02 0 T1INSYNC 0x02 0 T1SYNC 0x02 0 TMR1CS 0x01 0 TMR1ON 0x00 0 TOUTPS3 0x06 0 TOUTPS2 0x05 0 TOUTPS1 0x04 0 TOUTPS0 0x03 0 TMR2ON 0x02 0 T2CKPS1 0x01 0 T2CKPS0 0x00 0 WCOL 0x07 0 SSPOV 0x06 0 SSPEN 0x05 0 CKP 0x04 0 SSPM3 0x03 0 SSPM2 0x02 0 SSPM1 0x01 0 SSPM0 0x00 0 CCP1X 0x05 0 CCP1Y 0x04 0 CCP1M3 0x03 0 CCP1M2 0x02 0 CCP1M1 0x01 0 CCP1M0 0x00 0 ADCS1 0x07 0 ADCS0 0x06 0 CHS2 0x05 0 CHS1 0x04 0 CHS0 0x03 0 GO 0x02 0 NOT_DONE 0x02 0 GO_DONE 0x02 0 ADON 0x00 0 NOT_RBPU 0x07 0 INTEDG 0x06 0 T0CS 0x05 0 T0SE 0x04 0 PSA 0x03 0 PS2 0x02 0 PS1 0x01 0 PS0 0x00 0 ADIE 0x06 0 SSPIE 0x03 0 CCP1IE 0x02 0 TMR2IE 0x01 0 TMR1IE 0x00 0 EEIE 0x04 0 BCLIE 0x03 0 NOT_POR 0x01 0 NOT_BO 0x00 0 NOT_BOR 0x00 0 GCEN 0x07 0 ACKSTAT 0x06 0 ACKDT 0x05 0 ACKEN 0x04 0 RCEN 0x03 0 PEN 0x02 0 RSEN 0x01 0 SEN 0x00 0 SMP 0x07 0 CKE 0x06 0 D 0x05 0 I2C_DATA 0x05 0 NOT_A 0x05 0 NOT_ADDR 0x05 0 D_A 0x05 0 DATA_ADD 0x05 0 P 0x04 0 I2C_STOP 0x04 0 S 0x03 0 I2C_STAR 0x03 0 R 0x02 0 I2C_READ 0x02 0 NOT_W 0x02 0 NOT_WRIT 0x02 0 R_W 0x02 0 READ_WRI 0x02 0 UA 0x01 0 BF 0x00 0 ADFM 0x07 0 PCFG3 0x03 0 PCFG2 0x02 0 PCFG1 0x01 0 PCFG0 0x00 0 EEPGD 0x07 0 WRERR 0x03 0 WREN 0x02 0 WR 0x01 0 RD 0x00 ==== ======== ==== ADD:3B34 CNT:204 LABEL VAL ---- -------- ---- 204 W 0x00 0 F 0x01 0 INDF 0x00 0 TMR0 0x01 0 PCL 0x02 0 STATUS 0x03 0 FSR 0x04 0 PORTA 0x05 0 PORTB 0x06 0 PORTC 0x07 0 PCLATH 0x0A 0 INTCON 0x0B 0 PIR1 0x0C 0 PIR2 0x0D 0 TMR1L 0x0E 0 TMR1H 0x0F 0 T1CON 0x10 0 TMR2 0x11 0 T2CON 0x12 0 SSPBUF 0x13 0 SSPCON 0x14 0 CCPR1L 0x15 0 CCPR1H 0x16 0 CCP1CON 0x17 0 RCSTA 0x18 0 TXREG 0x19 0 RCREG 0x1A 0 CCPR2L 0x1B 0 CCPR2H 0x1C 0 CCP2CON 0x1D 0 ADRESH 0x1E 0 ADCON0 0x1F 0 OPTION_R 0x81 0 TRISA 0x85 0 TRISB 0x86 0 TRISC 0x87 0 PIE1 0x8C 0 PIE2 0x8D 0 PCON 0x8E 0 SSPCON2 0x91 0 PR2 0x92 0 SSPADD 0x93 0 SSPSTAT 0x94 0 TXSTA 0x98 0 SPBRG 0x99 0 ADRESL 0x9E 0 ADCON1 0x9F 0 EEDATA 0x0C 1 EEADR 0x0D 1 EEDATH 0x0E 1 EEADRH 0x0F 1 EECON1 0x8C 1 EECON2 0x8D 1 IRP 0x07 0 RP1 0x06 0 RP0 0x05 0 NOT_TO 0x04 0 NOT_PD 0x03 0 Z 0x02 0 DC 0x01 0 C 0x00 0 GIE 0x07 0 PEIE 0x06 0 T0IE 0x05 0 INTE 0x04 0 RBIE 0x03 0 T0IF 0x02 0 INTF 0x01 0 RBIF 0x00 0 ADIF 0x06 0 RCIF 0x05 0 TXIF 0x04 0 SSPIF 0x03 0 CCP1IF 0x02 0 TMR2IF 0x01 0 TMR1IF 0x00 0 EEIF 0x04 0 BCLIF 0x03 0 CCP2IF 0x00 0 T1CKPS1 0x05 0 T1CKPS0 0x04 0 T1OSCEN 0x03 0 NOT_T1SY 0x02 0 T1INSYNC 0x02 0 T1SYNC 0x02 0 TMR1CS 0x01 0 TMR1ON 0x00 0 TOUTPS3 0x06 0 TOUTPS2 0x05 0 TOUTPS1 0x04 0 TOUTPS0 0x03 0 TMR2ON 0x02 0 T2CKPS1 0x01 0 T2CKPS0 0x00 0 WCOL 0x07 0 SSPOV 0x06 0 SSPEN 0x05 0 CKP 0x04 0 SSPM3 0x03 0 SSPM2 0x02 0 SSPM1 0x01 0 SSPM0 0x00 0 CCP1X 0x05 0 CCP1Y 0x04 0 CCP1M3 0x03 0 CCP1M2 0x02 0 CCP1M1 0x01 0 CCP1M0 0x00 0 SPEN 0x07 0 RX9 0x06 0 RC9 0x06 0 NOT_RC8 0x06 0 RC8_9 0x06 0 SREN 0x05 0 CREN 0x04 0 ADDEN 0x03 0 FERR 0x02 0 OERR 0x01 0 RX9D 0x00 0 RCD8 0x00 0 CCP2X 0x05 0 CCP2Y 0x04 0 CCP2M3 0x03 0 CCP2M2 0x02 0 CCP2M1 0x01 0 CCP2M0 0x00 0 ADCS1 0x07 0 ADCS0 0x06 0 CHS2 0x05 0 CHS1 0x04 0 CHS0 0x03 0 GO 0x02 0 NOT_DONE 0x02 0 GO_DONE 0x02 0 ADON 0x00 0 NOT_RBPU 0x07 0 INTEDG 0x06 0 T0CS 0x05 0 T0SE 0x04 0 PSA 0x03 0 PS2 0x02 0 PS1 0x01 0 PS0 0x00 0 ADIE 0x06 0 RCIE 0x05 0 TXIE 0x04 0 SSPIE 0x03 0 CCP1IE 0x02 0 TMR2IE 0x01 0 TMR1IE 0x00 0 EEIE 0x04 0 BCLIE 0x03 0 CCP2IE 0x00 0 NOT_POR 0x01 0 NOT_BO 0x00 0 NOT_BOR 0x00 0 GCEN 0x07 0 ACKSTAT 0x06 0 ACKDT 0x05 0 ACKEN 0x04 0 RCEN 0x03 0 PEN 0x02 0 RSEN 0x01 0 SEN 0x00 0 SMP 0x07 0 CKE 0x06 0 D 0x05 0 I2C_DATA 0x05 0 NOT_A 0x05 0 NOT_ADDR 0x05 0 D_A 0x05 0 DATA_ADD 0x05 0 P 0x04 0 I2C_STOP 0x04 0 S 0x03 0 I2C_STAR 0x03 0 R 0x02 0 I2C_READ 0x02 0 NOT_W 0x02 0 NOT_WRIT 0x02 0 R_W 0x02 0 READ_WRI 0x02 0 UA 0x01 0 BF 0x00 0 CSRC 0x07 0 TX9 0x06 0 NOT_TX8 0x06 0 TX8_9 0x06 0 TXEN 0x05 0 SYNC 0x04 0 BRGH 0x02 0 TRMT 0x01 0 TX9D 0x00 0 TXD8 0x00 0 ADFM 0x07 0 PCFG3 0x03 0 PCFG2 0x02 0 PCFG1 0x01 0 PCFG0 0x00 0 EEPGD 0x07 0 WRERR 0x03 0 WREN 0x02 0 WR 0x01 0 RD 0x00 ==== ======== ==== ADD:432D CNT:217 LABEL VAL ---- -------- ---- 217 W 0x00 0 F 0x01 0 INDF 0x00 0 TMR0 0x01 0 PCL 0x02 0 STATUS 0x03 0 FSR 0x04 0 PORTA 0x05 0 PORTB 0x06 0 PORTC 0x07 0 PORTD 0x08 0 PORTE 0x09 0 PCLATH 0x0A 0 INTCON 0x0B 0 PIR1 0x0C 0 PIR2 0x0D 0 TMR1L 0x0E 0 TMR1H 0x0F 0 T1CON 0x10 0 TMR2 0x11 0 T2CON 0x12 0 SSPBUF 0x13 0 SSPCON 0x14 0 CCPR1L 0x15 0 CCPR1H 0x16 0 CCP1CON 0x17 0 RCSTA 0x18 0 TXREG 0x19 0 RCREG 0x1A 0 CCPR2L 0x1B 0 CCPR2H 0x1C 0 CCP2CON 0x1D 0 ADRESH 0x1E 0 ADCON0 0x1F 0 OPTION_R 0x81 0 TRISA 0x85 0 TRISB 0x86 0 TRISC 0x87 0 TRISD 0x88 0 TRISE 0x89 0 PIE1 0x8C 0 PIE2 0x8D 0 PCON 0x8E 0 SSPCON2 0x91 0 PR2 0x92 0 SSPADD 0x93 0 SSPSTAT 0x94 0 TXSTA 0x98 0 SPBRG 0x99 0 ADRESL 0x9E 0 ADCON1 0x9F 0 EEDATA 0x0C 1 EEADR 0x0D 1 EEDATH 0x0E 1 EEADRH 0x0F 1 EECON1 0x8C 1 EECON2 0x8D 1 IRP 0x07 0 RP1 0x06 0 RP0 0x05 0 NOT_TO 0x04 0 NOT_PD 0x03 0 Z 0x02 0 DC 0x01 0 C 0x00 0 GIE 0x07 0 PEIE 0x06 0 T0IE 0x05 0 INTE 0x04 0 RBIE 0x03 0 T0IF 0x02 0 INTF 0x01 0 RBIF 0x00 0 PSPIF 0x07 0 ADIF 0x06 0 RCIF 0x05 0 TXIF 0x04 0 SSPIF 0x03 0 CCP1IF 0x02 0 TMR2IF 0x01 0 TMR1IF 0x00 0 EEIF 0x04 0 BCLIF 0x03 0 CCP2IF 0x00 0 T1CKPS1 0x05 0 T1CKPS0 0x04 0 T1OSCEN 0x03 0 NOT_T1SY 0x02 0 T1INSYNC 0x02 0 T1SYNC 0x02 0 TMR1CS 0x01 0 TMR1ON 0x00 0 TOUTPS3 0x06 0 TOUTPS2 0x05 0 TOUTPS1 0x04 0 TOUTPS0 0x03 0 TMR2ON 0x02 0 T2CKPS1 0x01 0 T2CKPS0 0x00 0 WCOL 0x07 0 SSPOV 0x06 0 SSPEN 0x05 0 CKP 0x04 0 SSPM3 0x03 0 SSPM2 0x02 0 SSPM1 0x01 0 SSPM0 0x00 0 CCP1X 0x05 0 CCP1Y 0x04 0 CCP1M3 0x03 0 CCP1M2 0x02 0 CCP1M1 0x01 0 CCP1M0 0x00 0 SPEN 0x07 0 RX9 0x06 0 RC9 0x06 0 NOT_RC8 0x06 0 RC8_9 0x06 0 SREN 0x05 0 CREN 0x04 0 ADDEN 0x03 0 FERR 0x02 0 OERR 0x01 0 RX9D 0x00 0 RCD8 0x00 0 CCP2X 0x05 0 CCP2Y 0x04 0 CCP2M3 0x03 0 CCP2M2 0x02 0 CCP2M1 0x01 0 CCP2M0 0x00 0 ADCS1 0x07 0 ADCS0 0x06 0 CHS2 0x05 0 CHS1 0x04 0 CHS0 0x03 0 GO 0x02 0 NOT_DONE 0x02 0 GO_DONE 0x02 0 ADON 0x00 0 NOT_RBPU 0x07 0 INTEDG 0x06 0 T0CS 0x05 0 T0SE 0x04 0 PSA 0x03 0 PS2 0x02 0 PS1 0x01 0 PS0 0x00 0 IBF 0x07 0 OBF 0x06 0 IBOV 0x05 0 PSPMODE 0x04 0 TRISE2 0x02 0 TRISE1 0x01 0 TRISE0 0x00 0 PSPIE 0x07 0 ADIE 0x06 0 RCIE 0x05 0 TXIE 0x04 0 SSPIE 0x03 0 CCP1IE 0x02 0 TMR2IE 0x01 0 TMR1IE 0x00 0 EEIE 0x04 0 BCLIE 0x03 0 CCP2IE 0x00 0 NOT_POR 0x01 0 NOT_BO 0x00 0 NOT_BOR 0x00 0 GCEN 0x07 0 ACKSTAT 0x06 0 ACKDT 0x05 0 ACKEN 0x04 0 RCEN 0x03 0 PEN 0x02 0 RSEN 0x01 0 SEN 0x00 0 SMP 0x07 0 CKE 0x06 0 D 0x05 0 I2C_DATA 0x05 0 NOT_A 0x05 0 NOT_ADDR 0x05 0 D_A 0x05 0 DATA_ADD 0x05 0 P 0x04 0 I2C_STOP 0x04 0 S 0x03 0 I2C_STAR 0x03 0 R 0x02 0 I2C_READ 0x02 0 NOT_W 0x02 0 NOT_WRIT 0x02 0 R_W 0x02 0 READ_WRI 0x02 0 UA 0x01 0 BF 0x00 0 CSRC 0x07 0 TX9 0x06 0 NOT_TX8 0x06 0 TX8_9 0x06 0 TXEN 0x05 0 SYNC 0x04 0 BRGH 0x02 0 TRMT 0x01 0 TX9D 0x00 0 TXD8 0x00 0 ADFM 0x07 0 PCFG3 0x03 0 PCFG2 0x02 0 PCFG1 0x01 0 PCFG0 0x00 0 EEPGD 0x07 0 WRERR 0x03 0 WREN 0x02 0 WR 0x01 0 RD 0x00 ==== ======== ====