rem Revised and corrected 5 Feb 2009 const ioregs = $0000 ' start of io regs const porta = ioregs + $00 ' i/o port a const portb = ioregs + $01 ' i/o port b const ddra = ioregs + $02 ' data direction reg a const ddrb = ioregs + $03 ' data direction reg b const porte = ioregs + $08 ' i/o port e const ddre = ioregs + $09 ' data direction reg e rem const pear = ioregs + $0a ' pear (for expanded mode only) rem const mode = ioregs + $0b ' mode (for expanded mode only) const pucr = ioregs + $0c ' pucr const rdriv = ioregs + $0d ' rdriv rem const ebictl = ioregs + $0e ' ebictl(for expanded mode only) const initrm = ioregs + $10 ' init RAM const initrg = ioregs + $11 ' init REGs const initee = ioregs + $12 ' init EE const misc = ioregs + $13 ' misc const itcr = ioregs + $15 ' itcr const itest = ioregs + $16 ' itest rem const vregctrl = ioregs + $19 ' vregctrl rem const partidh = ioregs + $1a ' partidh rem const partidl = ioregs + $1b ' partidl rem const memsiz0 = ioregs + $1c ' memsiz0 rem const memsiz1 = ioregs + $1d ' memsiz1 rem const intcr = ioregs + $1e ' intcr (for expanded mode only) const hprio = ioregs + $1f ' hprio rem $20 - $2f are for dbg and brkpts (not needed) rem const ppage = ioregs + $30 ' ppage (not used by programmer) rem $32 - $33 are for emulation mode only (not needed) const synr = ioregs + $34 ' synr const refdv = ioregs + $35 ' refdv const crgflg = ioregs + $37 ' crgflg const crgint = ioregs + $38 ' crgint const clksel = ioregs + $39 ' clksel const pllctl = ioregs + $3a ' pllctl const rtictl = ioregs + $3b ' rtictl const copctl = ioregs + $3c ' copctl const armcop = ioregs + $3f ' armcop const tios = ioregs + $40 ' const cforc = ioregs + $41 ' const oc7m = ioregs + $42 ' const oc7d = ioregs + $43 ' const tcnthi = ioregs + $44 ' const tcntlo = ioregs + $45 ' const tscr1 = ioregs + $46 ' const ttov = ioregs + $47 ' const tctl1 = ioregs + $48 ' const tctl2 = ioregs + $49 ' const tctl3 = ioregs + $4a ' const tctl4 = ioregs + $4b ' const tie = ioregs + $4c ' const tscr2 = ioregs + $4d ' const tflg1 = ioregs + $4e ' const tflg2 = ioregs + $4f ' const tc0hi = ioregs + $50 ' const tc0lo = ioregs + $51 ' const tc1hi = ioregs + $52 ' const tc1lo = ioregs + $53 ' const tc2hi = ioregs + $54 ' const tc2lo = ioregs + $55 ' const tc3hi = ioregs + $56 ' const tc3lo = ioregs + $57 ' const tc4hi = ioregs + $58 ' const tc4lo = ioregs + $59 ' const tc5hi = ioregs + $5a ' const tc5lo = ioregs + $5b ' const tc6hi = ioregs + $5c ' const tc6lo = ioregs + $5d ' const tc7hi = ioregs + $5e ' const tc7lo = ioregs + $5f ' const pactl = ioregs + $60 ' const paflg = ioregs + $61 ' const pacnthi = ioregs + $62 ' const pacntlo = ioregs + $63 ' const atdctl0 = ioregs + $80 ' atdctl0 const atdctl1 = ioregs + $81 ' atdctl1 const atdctl2 = ioregs + $82 ' atdctl2 const atdctl3 = ioregs + $83 ' atdctl3 const atdctl4 = ioregs + $84 ' atdctl4 const atdctl5 = ioregs + $85 ' atdctl5 const atdstat0 = ioregs + $86 ' atdstat0 const atdtest0 = ioregs + $88 ' const atdtestl = ioregs + $89 ' const atdstat1 = ioregs + $8b ' const atddien = ioregs + $8d ' const portad = ioregs + $8f ' portad const atddr0h = ioregs + $90 ' adr0h (word) const atddr1h = ioregs + $92 ' adr1h (word) const atddr2h = ioregs + $94 ' adr2h (word) const atddr3h = ioregs + $96 ' adr3h (word) const atddr4h = ioregs + $98 ' adr4h (word) const atddr5h = ioregs + $9a ' adr5h (word) const atddr6h = ioregs + $9c ' adr6h (word) const atddr7h = ioregs + $9e ' adr7h (word) const atddr0l = ioregs + $91 ' adr0l (byte) const atddr1l = ioregs + $93 ' adr1l (byte) const atddr2l = ioregs + $95 ' adr2l (byte) const atddr3l = ioregs + $97 ' adr3l (byte) const atddr4l = ioregs + $99 ' adr4l (byte) const atddr5l = ioregs + $9b ' adr5l (byte) const atddr6l = ioregs + $9d ' adr6l (byte) const atddr7l = ioregs + $9f ' adr7l (byte) const scibdh = ioregs + $c8 ' const scibdl = ioregs + $c9 ' const scicr1 = ioregs + $ca ' const scicr2 = ioregs + $cb ' const scisr1 = ioregs + $cc ' const scisr2 = ioregs + $cd ' const scidrh = ioregs + $ce ' const scidrl = ioregs + $cf ' const spicr1 = ioregs + $d8 ' const spicr2 = ioregs + $d9 ' const spibr = ioregs + $da ' const spisr = ioregs + $db ' const spidr = ioregs + $dd ' const pwme = ioregs + $e0 ' const pwmpol = ioregs + $e1 ' const pwmclk = ioregs + $e2 ' const pwmprclk = ioregs + $e3 ' const pwmcae = ioregs + $e4 ' const pwmctl = ioregs + $e5 ' const pwmprsc = ioregs + $e7 ' const pwmscla = ioregs + $e8 ' const pwmsclb = ioregs + $e9 ' const pwmscnta = ioregs + $ea ' const pwmscntb = ioregs + $eb ' const pwmcnt0 = ioregs + $ec ' const pwmcnt1 = ioregs + $ed ' const pwmcnt2 = ioregs + $ee ' const pwmcnt3 = ioregs + $ef ' const pwmcnt4 = ioregs + $f0 ' const pwmcnt5 = ioregs + $f1 ' const pwmper0 = ioregs + $f2 ' const pwmper1 = ioregs + $f3 ' const pwmper2 = ioregs + $f4 ' const pwmper3 = ioregs + $f5 ' const pwmper4 = ioregs + $f4 ' const pwmper5 = ioregs + $f7 ' const pwmdty0 = ioregs + $f8 ' const pwmdty1 = ioregs + $f9 ' const pwmdty2 = ioregs + $fa ' const pwmdty3 = ioregs + $fb ' const pwmdty4 = ioregs + $fc ' const pwmdty5 = ioregs + $fd ' rem $0100 - 010f are for Flash programming (not needed) rem $0140 - $017f are for CAN modules (to be implemented later) const ptt = ioregs + $240 ' const ptit = ioregs + $241 ' const ddrt = ioregs + $242 ' const rdrt = ioregs + $243 ' const pert = ioregs + $244 ' const ppst = ioregs + $245 ' const modrr = ioregs + $247 ' const pts = ioregs + $248 ' const ptis = ioregs + $249 ' const ddrs = ioregs + $24a ' const rdrs = ioregs + $24b ' const pers = ioregs + $24c ' const ppss = ioregs + $24d ' const woms = ioregs + $24e ' const ptm = ioregs + $250 ' const ptim = ioregs + $251 ' const ddrm = ioregs + $252 ' const rdrm = ioregs + $253 ' const perm = ioregs + $254 ' const ppsm = ioregs + $255 ' const womm = ioregs + $256 ' const ptp = ioregs + $258 ' const ptip = ioregs + $259 ' const ddrp = ioregs + $25a ' const rdrp = ioregs + $25b ' const perp = ioregs + $25c ' const ppsp = ioregs + $25d ' const piep = ioregs + $25e ' const pifp = ioregs + $25f ' const ptj = ioregs + $268 ' const ptij = ioregs + $269 ' const ddrj = ioregs + $26a ' const rdrj = ioregs + $26b ' const perj = ioregs + $26c ' const ppsj = ioregs + $26d ' const piej = ioregs + $26e ' const pifj = ioregs + $26f ' const ptad = ioregs + $270 ' const ptiad = ioregs + $271 ' const ddrad = ioregs + $272 ' const rdrad = ioregs + $273 ' const perad = ioregs + $274 ' const ppsad = ioregs + $275 '