# configrange <first> <last>
# Configuration registers occupy addresses <first> to <last> (both
# included).
-# configword <address> <mask> <value>
+# configword <address> <mask> <value> [<and-mask>]
# The config word at address <address> only implements the bits
# indicated via <mask> (all others will be forced to 0 by the
# compiler).
# Unless overridden in C code, use the given default <value>.
+# The optional <and-mask> will be applied to the value just before
+# emitting it into the .asm file (used to disable XINST by default).
# idlocrange <first> <last>
# ID locations occupy addresses <first> to <last> (both included).
# idword <address> <value>
configword 0x300002 0x1f 0xff
configword 0x300003 0x1f 0xff
configword 0x300005 0x87 0xfb
-configword 0x300006 0xf5 0x8f
+configword 0x300006 0xf5 0x8f 0xbf
configword 0x300008 0x03 0xff
configword 0x300009 0xc0 0xff
configword 0x30000a 0x03 0xff
idlocrange 0x200000 0x200007
+name 18f2410
+ramsize 768
+split 0x80
+configrange 0x300001 0x30000d
+configword 0x300001 0xcf 0x37
+configword 0x300002 0x1f 0xff
+configword 0x300003 0x1f 0xfb
+configword 0x300005 0x87 0xfb
+configword 0x300006 0xc5 0xbf 0xbf
+configword 0x300008 0x0f 0xff
+configword 0x300009 0x40 0xff
+configword 0x30000a 0x0f 0xff
+configword 0x30000b 0x60 0xff
+configword 0x30000c 0x0f 0xff
+configword 0x30000d 0x40 0xff
+idlocrange 0x200000 0x200007
+
+
name 18f242
ramsize 768
split 0x80
configword 0x300002 0x1f 0xff
configword 0x300003 0x1f 0xff
configword 0x300005 0x87 0xfb
-configword 0x300006 0xc5 0xbf
+configword 0x300006 0xc5 0xbf 0xbf
configword 0x300008 0x0f 0xff
configword 0x300009 0xc0 0xff
configword 0x30000a 0x0f 0xff
configword 0x300002 0x1f 0xff
configword 0x300003 0x1f 0xff
configword 0x300005 0x87 0xfb
-configword 0x300006 0xc5 0xbf
+configword 0x300006 0xc5 0xbf 0xbf
configword 0x300008 0x0f 0xff
configword 0x300009 0xc0 0xff
configword 0x30000a 0x0f 0xff
using 18f2331
+name 18f2450
+# 0x200..0x3FF is not implemented, but we leave that to the linker ;-)
+ramsize 0x500
+split 0x60
+configrange 0x300000 0x30000d
+configword 0x300000 0x3f 0xc7
+configword 0x300001 0xcf 0x37
+configword 0x300002 0x3f 0xdf
+configword 0x300003 0x1f 0xff
+configword 0x300005 0x86 0xfb
+configword 0x300006 0xed 0x97 0xbf
+configword 0x300008 0x03 0xff
+configword 0x300009 0x40 0xff
+configword 0x30000a 0x03 0xff
+configword 0x30000b 0x60 0xff
+configword 0x30000c 0x03 0xff
+configword 0x30000d 0x40 0xff
+idlocrange 0x200000 0x200007
+
name 18f2455
ramsize 2048
split 0x60
configword 0x300002 0x3f 0xdf
configword 0x300003 0x1f 0xff
configword 0x300005 0x87 0xfb
-configword 0x300006 0xe5 0x9f
+configword 0x300006 0xe5 0x9f 0xbf
configword 0x300008 0x0f 0xff
configword 0x300009 0xc0 0xff
configword 0x30000a 0x0f 0xff
configword 0x300002 0x1f 0xff
configword 0x300003 0x1f 0xff
configword 0x300005 0x86 0xfb
-configword 0x300006 0xd5 0xaf
+configword 0x300006 0xd5 0xaf 0xbf
configword 0x300008 0x0f 0xff
configword 0x300009 0xc0 0xff
configword 0x30000a 0x0f 0xff
idlocrange 0x200000 0x200007
+name 18f2510
+using 18f2410
+ramsize 1536
+
+
+name 18f2515
+using 18f2410
+ramsize 4096
+
+
name 18f252
using 18f242
ramsize 1536
configword 0x300002 0x1f 0xff
configword 0x300003 0x1f 0xff
configword 0x300005 0x87 0xfb
-configword 0x300006 0xc5 0xbf
+configword 0x300006 0xc5 0xbf 0xbf
configword 0x300008 0x0f 0xff
configword 0x300009 0xc0 0xff
configword 0x30000a 0x0f 0xff
configword 0x300002 0x1f 0xff
configword 0x300003 0x1f 0xff
configword 0x300005 0x86 0xfb
-configword 0x300006 0xf5 0x8f
+configword 0x300006 0xf5 0x8f 0xbf
configword 0x300008 0x0f 0xff
configword 0x300009 0xc0 0xff
configword 0x30000a 0x0f 0xff
using 18f24j10
+name 18f2610
+using 18f2410
+ramsize 4096
+
+
name 18f2620
using 18f2525
configword 0x300002 0x1f 0xff
configword 0x300003 0x1f 0xff
configword 0x300005 0x86 0xfb
-configword 0x300006 0xf5 0x8f
+configword 0x300006 0xf5 0x8f 0xbf
configword 0x300008 0x3f 0xff
configword 0x300009 0xc0 0xff
configword 0x30000a 0x3f 0xff
using 18f2331
+name 18f4410
+using 18f2410
+ramsize 768
+
+
name 18f442
using 18f242
using 18f2331
+name 18f4450
+using 18f2450
+
name 18f4455
using 18f2455
using 18f24j10
+name 18f4510
+using 18f2410
+ramsize 1536
+
+
+name 18f4515
+using 18f2410
+ramsize 4096
+
+
name 18f452
using 18f242
ramsize 1536
using 18f24j10
+name 18f4610
+using 18f2410
+ramsize 4096
+
+
name 18f4620
using 18f2525