#--------------------------------------------------------------------------
#  pic14devices.txt - 14 bit 16Fxxx / 16Cxxx / 12Fxxx series device file
#  for SDCC
#
#  Copyright (C) 2006, Zik Saleeba <zik at zikzak.net>
#
#  This library is free software; you can redistribute it and/or modify it
#  under the terms of the GNU General Public License as published by the
#  Free Software Foundation; either version 2, or (at your option) any
#  later version.
#
#  This library is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License 
#  along with this library; see the file COPYING. If not, write to the
#  Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
#   MA 02110-1301, USA.
#--------------------------------------------------------------------------

#
# dev = device name
# program = program memory in 14 bit words
# data = data memory in bytes
# eeprom = eeprom storage
# enhanced = 0 | 1
#   0: regular device (default)
#   1: indicate that this is an enhanced core (automatic context saving on IRQ)
# io = io lines
# maxram = maximum memmap address for unique general purpose registers
# bankmsk = mask for memmap bank selecting. 0x80 for two banks usable, 
#           0x180 for four.
# config = white-space separated list of config word addresses
# regmap = registers duplicated in multiple banks. First value is a bank bitmask,
#          following values are register addresses
# memmap <start> <end> <alias>
#	<start> - <end> mirrored in all banks set in <alias>
#	<alias> is a bitmask of bank bits (0x80, 0x100, 0x180)
#	Make sure to always provide at least one non-full (<alias> = <bankmsk>)
#	record or SDCC will assume that all usable memory is shared across all
#	banks!
#
#

processor m8r622
	program		2K
	data		  128
	eeprom		0
	io			  26
	maxram		0x1ff
	config		0x8000
	
processor m8r621,qr8s73
	program		2K
	data		  128
	eeprom		0
	io			  18
	maxram		0x1ff
	config		0x8000
	
processor qt8s736,qt8s737
	program		2K
	data		  128
	eeprom		0
	io			  18
	maxram		0x0ff
	config		0x8000	
	
processor m8p623
	program		2K
	data		  256
	eeprom		0
	io			  18
	maxram		0x1ff
	config		0x8000

processor m8e521
	program		2K
	data		  128
	eeprom		0
	io			  14
	maxram		0x0ff
	config		0x8000
	
processor qt8s743,m8r63,cm9r021
	program		4K
	data		  256
	eeprom		0
	io			  18
	maxram		0x1ff
	config		0x8000	
	
processor qt8s745, m8p635, n6p042a, n6p043a, ma003e, ma004e, qt8s05e, qt8s06e, qt8s09e, ma010e, m8e634, ma009e
	program		4K
	data		  256
	eeprom		0
	io			  30
	maxram		0x1ff
	config		0x8000
	
processor m8r612, qt8s724, m8p613a, qt8s726, n5p011a, n6p011a,c9p13
	program		1K
	data		  64
	eeprom		0
	io			  14
	maxram		0x0ff
	config		0x8000
	
processor qt8s626,m8p516
	program		1K
	data		  64
	eeprom		0
	io			  6
	maxram		0x0ff
	config		0x8000
	
processor m8r512
	program		1K
	data		  64
	eeprom		0
	io			  18
	maxram		0x0ff
	config		0x8000	
	
processor m8r513
	program		1K
	data		  64
	eeprom		0
	io			  12
	maxram		0x0ff
	config		0x8000	
	
processor m8p631, m8p830, n8p041a
	program		4K
	data		  128
	eeprom		0
	io			  48
	maxram		0x1ff
	config		0x8000
	memmap		0x0080 0x00ff 0x000
	
processor m8r82
	program		2K
	data		  128
	eeprom		0
	io			  48
	maxram		0x1ff
	config		0x8000
	
processor m8r511
	program		1K
	data		  32
	eeprom		0
	io			  8
	maxram		0x0ff
	config		0x8000	

processor m8p831
	program		4K
	data		  512
	eeprom		0
	io			  47
	maxram		0x1ff
	config		0x8000	

processor m8p832
	program		4K
	data		  512
	eeprom		0
	io			  27
	maxram		0x1ff
	config		0x8000
	
processor m8p840
	program		8K
	data		  256
	eeprom		0
	io			  63
	maxram		0x1ff
	config		0x8000

processor m8f5101
	program		16K
	data		  1920
	eeprom		0
	io			  48
	maxram		0x13ff
	bankmsk		0x1200
	config		0x8000
	memmap		0x0000 0x00ff 0x0000
	memmap		0x0100 0x017f 0x1200
	memmap		0x0200 0x02ff 0x0000
	memmap		0x0400 0x04ff 0x0000
	memmap		0x0600 0x06ff 0x0000
	memmap		0x0800 0x08ff 0x0000
	memmap		0x0a00 0x0aff 0x0000
	memmap		0x0c00 0x0cff 0x0000
	memmap		0x0e00 0x0e7f 0x0000
	memmap		0x1000 0x10ff 0x0000
	memmap		0x1200 0x12ff 0x0000