[General]
ChipName=SN8F2283
Description=8 Bit MCU - SN8F2283


[Register]
;Item# = Index, Name, Address, Size, FormatMask, DefaultValue, ReadMask, WriteMask, CanDisplay
;if Address == NULL, means general register, none-addressable
;Address, FormatMask, DefaultValue, also can be presented by hexadecimal style, ie. 0xffff
Count=63
Item0=0, A, NULL, 8, 0xff, 0, 0xff, 0xff, 1
Item1=1, L, 0x80, 8, 0xff, 0, 0xff, 0xff, 1
Item2=2, H, 0x81, 8, 0xff, 0, 0xff, 0xff, 1
Item3=3, R, 0x82, 8, 0xff, 0, 0xff, 0xff, 1
Item4=4, Z, 0x83, 8, 0xff, 0, 0xff, 0xff, 1
Item5=5, Y, 0x84, 8, 0xff, 0, 0xff, 0xff, 1
Item6=6, PFLAG, 0x86, 8, 0xc7, 0, 0xc7, 0xc7, 1     
Item7=7, RBANK, 0x87, 2, 0x03, 0, 0x03, 0x03, 1
Item8=8, @HL, 0x90, 8, 0xff, 0, 0xff, 0xff, 1
Item9=9, @YZ, 0x91, 8, 0xff, 0, 0xff, 0xff, 1
Item10=10, P_CTRL, 0x92, 8, 0xff, 0, 0xff, 0xff, 1
Item11=11, PCL, 0x93, 8, 0xff, 0, 0xff, 0xe7, 1
Item12=12, PCH, 0x94, 5, 0x1f, 0, 0x1f, 0x1f, 1
Item13=13, OSCM, 0x95, 8, 0xef, 0x80, 0xef, 0xef, 1
Item14=14, WDTR, 0x96, 4, 0x0f, 0, 0x0f, 0x0f, 1
Item15=15, INTRQ, 0x97, 4, 0x0f, 0, 0x0f, 0x0f, 1
Item16=16, INTEN, 0X99, 7, 0x6f, 0,0x6f, 0x6f, 1
Item17=17, REM_REG, 0X9A, 8, 0xe0, 0, 0xe0, 0xe0, 1
Item18=18, P0W, 0X9B, 7, 0x3f, 0, 0x3f, 0x3f, 1
Item19=19, P1W, 0x9C, 8, 0xe0, 0, 0xe0, 0xe0, 1
Item20=20, PEDGE, 0x9F, 8, 0xe0, 0, 0xe0, 0xe0, 1
Item21=21, P0M0, 0xA0, 7, 0x3f, 0, 0x3f, 0x3f, 1
Item22=22, P1P0, 0xA1, 8, 0xe0, 0, 0xe0, 0xe0, 1
Item23=23, P5M0, 0xA4, 7, 0x3f, 0, 0x3f, 0x3f, 1
Item24=24, P0, 0xA5, 8, 0xe0, 0, 0xe0, 0xe0, 1
Item25=25, P1, 0xA6, 7, 0x3f, 0, 0x3f, 0x3f, 1
Item26=26, P5, 0xA9, 8, 0xff, 0, 0xff, 0xff, 1
Item27=27, P0M1, 0xAA, 8, 0xff, 0, 0xff, 0xff, 1 
Item28=28, P1M1, 0xAB, 8, 0xff, 0, 0xff, 0xff, 1   
Item29=29, P5M1, 0xAE, 8, 0xff, 0, 0xff, 0xff, 1   
Item30=30, T1M, 0xB5, 8, 0xff, 0, 0xff, 0xff, 1
Item31=31, T1CL, 0xB6, 8, 0xff, 0, 0xff, 0xff, 1 
Item32=32, T1CH, 0xB7, 8, 0xff, 0, 0xff, 0xff, 1                            
Item33=33, TC0M, 0xB8, 3, 0x07, 0, 0x07, 0x07, 1             
Item34=34, TC0C, 0xB9, 4, 0x0f, 0x0f, 0x0f, 0x0f, 1
Item35=35, TC0R, 0xBA, 8, 0x9e, 0, 0x9e, 0x9e, 1
Item36=36, TC0D, 0xBB, 8, 0xfe, 0, 0xfe, 0xfe, 1
Item37=37, PWM0DL, 0xC0, 8, 0xff, 0xd5, 0xff, 0xff, 1
Item38=38, PWM0DH, 0xC1, 8, 0xff, 0, 0xff, 0xff, 1
Item39=39, PWM0PL, 0xC2, 8, 0xff, 0, 0xff, 0xff, 1            
Item40=40, PWM0PH, 0xC3, 8, 0xff, 0, 0xff, 0xff, 1
Item41=41, PWM0EN, 0xC4, 8, 0xff, 0, 0xff, 0xff, 1
Item42=42, PWM0C, 0xC5, 8, 0xff, 0, 0xff, 0xff, 1                
Item43=43, PWM0TL, 0xC6, 8, 0xff, 0, 0, 0xff, 1                  
Item44=44, PWM0TH, 0xC7, 8, 0xff, 0, 0xff, 0xff, 1               
Item45=45, PWM0DTL, 0xC8, 8, 0xff, 0, 0xff, 0xff, 1 
Item46=46, PWM0DTH, 0xC9, 8, 0xff, 0, 0xff, 0xff, 1
Item47=47, PWMPSCON, 0xCA, 8, 0xff, 0, 0xff, 0, 1
Item48=48, OPTION, 0xCC, 8, 0xff, 0, 0xff, 0xf0, 1
Item49=49, PWM1DL, 0xD0, 8, 0xff, 0, 0, 0xff, 1
Item50=50, PWM1DH, 0xD1, 8, 0xff, 0, 0, 0xff, 1   
Item51=51, MTPQ, 0xD6, 8, 0xff, 0, 0xff, 0xff, 1
Item52=52, MTPEN, 0xD8, 8, 0xff, 0, 0xff, 0xff, 1 
Item53=53, MTPAH, 0xDA, 8, 0xff, 0, 0xff, 0xff, 1
Item54=54, MTPC, 0xDB, 8, 0xfb, 0, 0xfb, 0xfb, 1          
Item55=55, MTPAL, 0xDC, 4, 0x0f, 0x0a, 0x0f, 0x0f, 1     
Item56=56, MTPD, 0xDE, 4, 0x0f, 0x0a, 0x0f, 0x0f, 1            
Item57=57, T1M1, 0xE9, 8, 0xff, 0, 0xff, 0xff, 1                
Item58=58, REV0T0L, 0xEA, 8, 0xff, 0, 0xff, 0xff, 1 
Item59=59, REV0T0H, 0xEB, 8, 0xff, 0, 0xff, 0xff, 1
Item60=60, REV1T0L, 0xEC, 8, 0xff, 0, 0xff, 0xff, 1                       
Item61=61, REV1T0H, 0xED, 6, 0x3f, 0, 0x3f, 0x3f, 1                             
Item62=62, STKP, 0xEF, 8, 0xff, 0, 0xff, 0xff, 1      
    
    
[RegisterBit]
;RegName = LowIndex[:HighIndex], Name [,LowIndex[:HighIndex], Name]
R=0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7
Z=0, 0, 1, 1, 2, 2, 3, 3, 4, 3, 5, 5, 6, 6, 7, 7
Y=0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7


[Rom]
;Measurement = size
Measurement=16
;EntireSize = size, can use 'k', 'K', 'm', 'M', 'g', 'G' to represent measurement
EntireSize=4K

ForbiddenCount=0
;Forbidden = start address, end address
Forbidden0=0, 0

;Banked = 0/1 means false/true
Banked=1
BankStartAddr=0
;BankSize = size, can use 'k', 'K', 'm', 'M', 'g', 'G' to represent measurement
BankSize=16K


[Ram]
;Measurement = size
Measurement=8
;EntireSize = size, can use 'k', 'K', 'm', 'M', 'g', 'G' to represent measurement
EntireSize=640

ForbiddenCount=0
;Forbidden# = start address, end address
Forbidden0=0, 0

;Banked = 0/1 means false/true
Banked=1
BankStartAddr=0
;BankSize = size, can use 'k', 'K', 'm', 'M', 'g', 'G' to represent measurement
BankSize=256

[PC]
;Name=PC
;if Address == NULL, means none-addressable
Address=0x93
Size=10

[Stack]
;Name=STKP
;if Address == NULL, means none-addressable
Address=0xef
;if size == 0, means no limitation
Size=8
IsIncrease=1

[I/O Port]
;Item# = Name, Size, Bit Mask, Input Bit Mask, Output Bit Mask
Count=3
Item0=P0, 8, 0xff, 0xff, 0xff
Item1=P1, 8, 0xff, 0xff, 0xff
Item2=P5, 6, 0x3f, 0x3f, 0x3f
                 
[Timer]
Count=6
Item0=WDT
Item1=T0
Item2=T1
Item3=TC0
Item4=TC1
Item5=TC2


[Interrupt]
;Item# = Source Name, Priority, ISR Entry
Count=15
Item0=INT0, 1, 0x08
Item1=INT1, 1, 0x08
Item2=P0, 1, 0x08
Item3=P1, 1, 0x08
Item4=T0, 1, 0x08
Item5=T1, 1, 0x08
Item6=TC0, 1, 0x08
Item7=TC1, 1, 0x08
Item8=TC2, 1, 0x08
Item9=USB, 1, 0x08
Item10=WAKEUP, 1, 0x08
Item11=SIO, 1, 0x08
Item12=MSP, 1, 0x08
Item13=UART, 1, 0x08
Item14=AD, 1, 0x08