PICSim  0.8.1
PICsim - PIC Simulator
p18fxxx_defs.h
1 /* //########################################################################
2 
3  PICsim - PIC simulator
4 
5  //########################################################################
6 
7  Copyright (c) : 2008-2020 Luis Claudio Gambôa Lopes
8 
9  This program is free software; you can redistribute it and/or modify
10  it under the terms of the GNU General Public License as published by
11  the Free Software Foundation; either version 2, or (at your option)
12  any later version.
13 
14  This program is distributed in the hope that it will be useful,
15  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  GNU General Public License for more details.
18 
19  You should have received a copy of the GNU General Public License
20  along with this program; if not, write to the Free Software
21  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22 
23  For e-mail suggestions : lcgamboa@yahoo.com
24  //######################################################################## */
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
35  typedef struct {
36  //shadow stack
37  unsigned char WS;
38  unsigned char STATUSS;
39  unsigned char BSRS;
40 
41  //not mapped
42 #ifdef ICSPDBG
43  unsigned char * DEBUG;
44  unsigned char * BDMSR2;
45  unsigned char * BDMSR1;
46  unsigned char * BDMSR0;
47 #endif
48 
49  //maped
50  unsigned char * STATUS;
51  unsigned char * PLUSW2;
52  unsigned char * PREINC2;
53  unsigned char * POSTDEC2;
54  unsigned char * POSTINC2;
55  unsigned char * INDF2;
56  unsigned char * BSR;
57  unsigned char * PLUSW1;
58  unsigned char * PREINC1;
59  unsigned char * POSTDEC1;
60  unsigned char * POSTINC1;
61  unsigned char * INDF1;
62  unsigned char * WREG;
63  unsigned char * PLUSW0;
64  unsigned char * PREINC0;
65  unsigned char * POSTDEC0;
66  unsigned char * POSTINC0;
67  unsigned char * INDF0;
68  unsigned char * INTCON3;
69  unsigned char * INTCON2;
70  unsigned char * INTCON;
71  unsigned char * TABLAT;
72  unsigned char * STKPTR;
73  unsigned char * FSR2L;
74  unsigned char * FSR2H;
75  unsigned char * FSR1L;
76  unsigned char * FSR1H;
77  unsigned char * FSR0L;
78  unsigned char * FSR0H;
79  unsigned char * PRODL;
80  unsigned char * PRODH;
81  unsigned char * TBLPTRL;
82  unsigned char * TBLPTRH;
83  unsigned char * TBLPTRU;
84  unsigned char * PCL;
85  unsigned char * PCLATH;
86  unsigned char * PCLATU;
87  unsigned char * TOSL;
88  unsigned char * TOSH;
89  unsigned char * TOSU;
90  unsigned char * RCON;
91 
92  unsigned char * PIE0;
93  unsigned char * PIR0;
94  unsigned char * IPR0;
95  unsigned char * PIE1;
96  unsigned char * PIR1;
97  unsigned char * IPR1;
98  unsigned char * PIE2;
99  unsigned char * PIR2;
100  unsigned char * IPR2;
101  unsigned char * PIE3;
102  unsigned char * PIR3;
103  unsigned char * IPR3;
104  unsigned char * PIE4;
105  unsigned char * PIR4;
106  unsigned char * IPR4;
107 
108  unsigned char * PORTA;
109  unsigned char * PORTB;
110  unsigned char * PORTC;
111  unsigned char * PORTD;
112  unsigned char * PORTE;
113  unsigned char * LATA;
114  unsigned char * LATB;
115  unsigned char * LATC;
116  unsigned char * LATD;
117  unsigned char * LATE;
118  unsigned char * TRISA;
119  unsigned char * TRISB;
120  unsigned char * TRISC;
121  unsigned char * TRISD;
122  unsigned char * TRISE;
123  unsigned char * ANSELA;
124  unsigned char * ANSELB;
125  unsigned char * ANSELC;
126  unsigned char * ANSELD;
127  unsigned char * ANSELE;
128 
129  unsigned char * IOCBF;
130  unsigned char * IOCBN;
131  unsigned char * IOCBP;
132 
133  unsigned char * ADCON2;
134  unsigned char * ADCON1;
135  unsigned char * ADCON0;
136  unsigned char * ADRESL;
137  unsigned char * ADRESH;
138  unsigned char * ADCON3;
139  unsigned char * ADPCH;
140 
141  unsigned char * T0CON;
142  unsigned char * TMR0L;
143  unsigned char * TMR0H;
144  unsigned char * T0CON0;
145  unsigned char * T0CON1;
146 
147  unsigned char * T1CON;
148  unsigned char * TMR1L;
149  unsigned char * TMR1H;
150  unsigned char * T1CLK;
151 
152  unsigned char * T3CON;
153  unsigned char * TMR3L;
154  unsigned char * TMR3H;
155 
156  unsigned char * CCP2CON;
157  unsigned char * CCP1CON;
158  unsigned char * CCPR2L;
159  unsigned char * CCPR2H;
160  unsigned char * CCPR1L;
161  unsigned char * CCPR1H;
162 
163  unsigned char * SSPCON1;
164  unsigned char * SSPCON2;
165  unsigned char * SSPSTAT;
166  unsigned char * SSPADD;
167  unsigned char * SSPBUF;
168 
169  unsigned char * SSP1CON1;
170  unsigned char * SSP1CON2;
171  unsigned char * SSP1STAT;
172  unsigned char * SSP1ADD;
173  unsigned char * SSP1BUF;
174 
175  unsigned char * EECON1;
176  unsigned char * EECON2;
177  unsigned char * EEDATA;
178  unsigned char * EEADR;
179  unsigned char * EEADRH;
180 
181  unsigned char * NVMCON1;
182  unsigned char * NVMCON2;
183  unsigned char * NVMDAT;
184  unsigned char * NVMADRL;
185  unsigned char * NVMADRH;
186 
187 
188  unsigned char * RCREG;
189  unsigned char * TXREG;
190  unsigned char * SPBRG;
191  unsigned char * SPBRGH;
192  unsigned char * RCSTA;
193  unsigned char * TXSTA;
194 
195  unsigned char * RC1REG;
196  unsigned char * TX1REG;
197  unsigned char * SP1BRGL;
198  unsigned char * SP1BRGH;
199  unsigned char * RC1STA;
200  unsigned char * TX1STA;
201 
202  unsigned char * RC2REG;
203  unsigned char * TX2REG;
204  unsigned char * SP2BRGL;
205  unsigned char * SP2BRGH;
206  unsigned char * RC2STA;
207  unsigned char * TX2STA;
208 
209 
210  unsigned char * T2CON;
211  unsigned char * PR2;
212  unsigned char * TMR2;
213 
214  unsigned char * T2TMR;
215  unsigned char * T2PR;
216 
217  unsigned char * WDTCON;
218 
219  unsigned char * WDTCON0;
220 
221  //PPS OUT
222  unsigned char *RA0PPS;
223  unsigned char *RA1PPS;
224  unsigned char *RA2PPS;
225  unsigned char *RA3PPS;
226  unsigned char *RA4PPS;
227  unsigned char *RA5PPS;
228  unsigned char *RA6PPS;
229  unsigned char *RA7PPS;
230  unsigned char *RB0PPS;
231  unsigned char *RB1PPS;
232  unsigned char *RB2PPS;
233  unsigned char *RB3PPS;
234  unsigned char *RB4PPS;
235  unsigned char *RB5PPS;
236  unsigned char *RB6PPS;
237  unsigned char *RB7PPS;
238  unsigned char *RC0PPS;
239  unsigned char *RC1PPS;
240  unsigned char *RC2PPS;
241  unsigned char *RC3PPS;
242  unsigned char *RC4PPS;
243  unsigned char *RC5PPS;
244  unsigned char *RC6PPS;
245  unsigned char *RC7PPS;
246  unsigned char *RD0PPS;
247  unsigned char *RD1PPS;
248  unsigned char *RD2PPS;
249  unsigned char *RD3PPS;
250  unsigned char *RD4PPS;
251  unsigned char *RD5PPS;
252  unsigned char *RD6PPS;
253  unsigned char *RD7PPS;
254  unsigned char *RE0PPS;
255  unsigned char *RE1PPS;
256  unsigned char *RE2PPS;
257 
258  /*
259  unsigned char * TXREG1;
260  unsigned char * RCREG1;
261  unsigned char * SPBRG1;
262  unsigned char * SPBRGH1;
263  unsigned char * RCSTA1;
264  unsigned char * TXSTA1;
265 
266  unsigned char * UFRML;
267  unsigned char * UFRMH;
268  *
269  unsigned char * SPPCON;
270  unsigned char * SPPDATA;
271  unsigned char * SPPCFG;
272  unsigned char * SPPEPS;
273  unsigned char * SRCON1;
274  unsigned char * SRCON0;
275  unsigned char * CCPTMRS;
276  unsigned char * VREGCON;
277  unsigned char * UIR;
278  unsigned char * UIE;
279  unsigned char * UEIR;
280  unsigned char * UEIE;
281  unsigned char * USTAT;
282  unsigned char * UCON;
283  unsigned char * UADDR;
284  unsigned char * UCFG;
285  unsigned char * UEP0;
286  unsigned char * UEP1;
287  unsigned char * UEP2;
288  unsigned char * UEP3;
289  unsigned char * UEP4;
290  unsigned char * UEP5;
291  unsigned char * UEP6;
292  unsigned char * UEP7;
293  unsigned char * UEP8;
294  unsigned char * UEP9;
295  unsigned char * UEP10;
296  unsigned char * UEP11;
297  unsigned char * UEP12;
298  unsigned char * UEP13;
299  unsigned char * UEP14;
300  unsigned char * UEP15;
301  unsigned char * SLRCON;
302  unsigned char * VREFCON2;
303  unsigned char * VREFCON1;
304  unsigned char * VREFCON0;
305  unsigned char * PMD0;
306  unsigned char * PMD1;
307  unsigned char * WPUB;
308  unsigned char * IOCB;
309  unsigned char * IOCC;
310  unsigned char * CTMUICON;
311  unsigned char * CTMUCONL;
312  unsigned char * CTMUCONH;
313  unsigned char * CM1CON0;
314  unsigned char * CM2CON0;
315  unsigned char * CM2CON1;
316  unsigned char * OSCTUNE;
317  unsigned char * T3GCON;
318  unsigned char * ACTCON;
319  unsigned char * CMCON;
320  unsigned char * CVRCON;
321  unsigned char * ECCP1AS;
322  unsigned char * ECCP1DEL;
323  unsigned char * BAUDCON;
324  unsigned char * PWM1CON;
325  unsigned char * BAUDCON1;
326  unsigned char * PSTR1CON;
327  unsigned char * SSP1CON2;
328  unsigned char * SSP1CON1;
329  unsigned char * SSP1STAT;
330  unsigned char * SSP1ADD;
331  unsigned char * SSP1BUF;
332  unsigned char * SSP1MSK;
333  unsigned char * SSP1CON3;
334  unsigned char * T1GCON;
335  unsigned char * LVDCON;
336  unsigned char * HLVDCON;
337  unsigned char * OSCCON2;
338  unsigned char * OSCCON;
339  */
340  } P18map_t;
341 
342 #ifdef __cplusplus
343 }
344 #endif
345 
P18map_t
PICsim P18 memory map structure.
Definition: p18fxxx_defs.h:35