[INI]
VERSION=1.60
BytesPerAddressUnit=2

; category = 1 --> sn8
Category=1
LibPath=..\..\Lib\MCU\SN8P2700A\
SharedPath=..\..\Lib\MCU\SN8P2700A\Shared\
Entry=0
Lib=
; Set Target Chip as 
; 0	DSP
; 1 MCU
Grammar = 1

[C]
LIBPATH=..\..\C\LIB\
INCLUDEPATH=..\..\C\include

Entry=_main
CLib=
CLk=crt0_sn8pc.lk


[SN8P1702A]
OBJ_DIR=
Lib=
CLib=c_stdlib_100.lib
CRT0=crt0_SN8P1702A.o
C_Command_Option=-NoMUL -PUSH0 -NoCALLHL -NoHL -NoX

MemoryBlockCount=1
;Item# = Type(ID:4, ED:4, IP:8, EP:16), Header_Size, End_Size, EnableDummyCode, Fill_Pattern, FileName(* out file name)
Item0=0x0001, 128, 0, 1, 0x0, *.sn8

ModeCount=1
;Item# = Type, MaxSize, StartAddress
Mode0_Item0=0x0001, 1k, 0x0

DecoratorCount=1
;Decorator# = Name, Owner
Decorator0=SN8Decorator,0x0001

;fill_pattern=5
ROM_SIZE=1k
;CODE_SIZE=1k
;SN8 C Compiler demand RAM_SIZE data
RAM_SIZE=128
STACK_SIZE=8

ID=0xE12A
mother=0xDBE0
SegClass=SegSn8
Relocator=RelSn8

[SN8P1703A]
OBJ_DIR=
Lib=
CLib=c_stdlib_100.lib
CRT0=crt0_SN8P1703A.o
C_Command_Option=-NoMUL -PUSH0 -NoCALLHL -NoHL -NoX

MemoryBlockCount=1
;Item# = Type(ID:4, ED:4, IP:8, EP:16), Header_Size, End_Size, EnableDummyCode, Fill_Pattern, FileName(* out file name)
Item0=0x0001, 128, 0, 1, 0x0, *.sn8

ModeCount=1
;Item# = Type, MaxSize, StartAddress
Mode0_Item0=0x0001, 1k, 0x0

DecoratorCount=1
;Decorator# = Name, Owner
Decorator0=SN8Decorator,0x0001

;fill_pattern=5
ROM_SIZE=1k
;CODE_SIZE=1k
;SN8 C Compiler demand RAM_SIZE data
RAM_SIZE=128
STACK_SIZE=8

ID=0xE13A
mother=0xDBE0
SegClass=SegSn8
Relocator=RelSn8

[RelSn8]
;
;COMM_R_FIELD_NONE		0
;COMM_R_FIELD_DWORD32	1
;SN8_R_FIELD_HALF8		2
;SN8_R_FIELD_TARG9		3
;SN8_R_FIELD_TARG14		4
;SN8_R_FIELD_WORD16		5
;SN8_R_FIELD_TARG24		6
;SN8_R_FIELD_HALFHI8            7

BitLen=32, 32, 8, 9, 14, 16, 24, 8
MaskLen=0, 0x0, 0xffffff00, 0xfffffe00, 0xffffc000, 0xffff0000, 0xff000000, 0xffffff00
MaskHiBit=0, 0x80000000, 0x80, 0x100, 0x2000, 0x8000, 0x800000, 0x80
AddEnd=AddEndSn8
Fix=FixSn8
Calculation=CalcSn8

[CalcSn8]
;R_CALC_NONE	0  // S
;R_CALC_ADD	1  // S   + A
;R_CALC_HIGH	2  // S$H + A
;R_CALC_MID	3  // S$M + A
;R_CALC_LOW	4  // S$L + A
;R_CALC_BANK	5  // BANK S

; mask, >>, addend flag
Calc0=0x0, 0, 0
Calc1=0xffffffff, 0, 1
Calc2=0xff0000, 16, 1
Calc3=0xff00, 8, 1
Calc4=0x00ff, 0, 1
Calc5=0xf000, 12, 1
Calc6=0x100, 8, 1
Calc7=0xffffffff, 0, 1

[FixSn8]
; width, place, << mask, <<, >> mask, >>
Fix0=16, 0xffff, 0, 0, 0, 0
Fix1=32, 0x0, 0xffff, 16, 0xffff0000, 16
Fix2=16, 0xff00, 0xff, 0, 0, 0
Fix3=16, 0xfe00, 0x1ff, 0, 0, 0
Fix4=16, 0xc000, 0x3fff, 0, 0, 0
Fix5=16, 0x0, 0xffff, 0, 0xffff, 0
Fix6=32, 0xff000000, 0xffffff, 0, 0, 0
Fix7=16, 0x00ff, 0xff, 8, 0, 0
Fix8=16, 0xf800, 0x7, 8, 0xff, 0

[AddEndSn8]
; width, << mask, <<, >> mask, >>
AddEnd0=16, 0, 0, 0, 0
AddEnd1=32, 0xffff, 16, 0xffff0000, 16
AddEnd2=16, 0xff, 0, 0x0, 0
AddEnd3=16, 0x1ff, 0, 0, 0
AddEnd4=16, 0x3fff, 0, 0, 0
AddEnd5=16, 0xffff, 0, 0, 0
AddEnd6=32, 0xffffff, 0, 0, 0
AddEnd7=16, 0, 0, 0xff00, 8

[SegSn8]
PCWidth=24
DataWidth=8
rombk=14
rambk=8
rommask=0x3fff
rammask=0xff
romunitwidth=2
ramunitwidth=1

; segment blocks
code=1, 0x0, 0x2000
ncode=0, 0, 0
fcode=0, 0, 0
icode=1, 0, 0x2000
xcode=0, 0, 0
const=1, 0, 0x2000
iconst=0, 0, 0
xconst=0, 0, 0
data=1, 0, 0x80
ndata=0, 0, 0
idata=1, 0, 0x80
xdata=0, 0, 0
stack=0, 0, 0

;
CodeLengthMode = 2

[SegSn8_1]
PCWidth=24
DataWidth=8
rombk=14
rambk=8
rommask=0x3fff
rammask=0xff
romunitwidth=2
ramunitwidth=1

; segment blocks
code=1, 0x0, 0x2000
ncode=0, 0, 0
fcode=0, 0, 0
icode=1, 0, 0x2000
xcode=0, 0, 0
const=1, 0, 0x2000
iconst=0, 0, 0
xconst=0, 0, 0
data=2, 0, 0x80, 0x100, 0x180
ndata=0, 0, 0
idata=2, 0, 0x80, 0x100, 0x180
xdata=0, 0, 0
stack=0, 0, 0

;
CodeLengthMode = 2


