53 lines
1.3 KiB
Batchfile
Executable File
53 lines
1.3 KiB
Batchfile
Executable File
MEMORY
|
|
{
|
|
out: org=0x7FF0, len=0xffffff
|
|
zero: org=0, len=0x0100
|
|
b0: org=0x8000, len=0x8000
|
|
b1: org=0x8000, len=0x8000
|
|
chr: org=0x0000, len=0x2000
|
|
ram: org=0x0300, len=0x0500
|
|
}
|
|
|
|
NESMAPPER = 0 ; /* mapper number */
|
|
NESPRG_BANKS = 2 ; /* number of 16K PRG banks, change to 2 for NROM256 */
|
|
NESCHR_BANKS = 1 ; /* number of 8K CHR banks */
|
|
NESMIRRORING = 1 ; /* 0 horizontal, 1 vertical, 8 four screen */
|
|
|
|
SECTIONS
|
|
{
|
|
header: {BYTE(0x4e);BYTE(0x45);BYTE(0x53);BYTE(0x1a);
|
|
BYTE(NESPRG_BANKS);
|
|
BYTE(NESCHR_BANKS);
|
|
BYTE(NESMIRRORING|(NESMAPPER<<4));
|
|
BYTE(NESMAPPER&0xf0);
|
|
LONG(0);LONG(0);
|
|
} >out
|
|
|
|
text: {*(text)} >b0 AT>out
|
|
.dtors: { *(.dtors) } >b0 AT>out
|
|
.ctors: { *(.ctors) } >b0 AT>out
|
|
rodata: {*(rodata)} >b0 AT>out
|
|
init: {*(init)} >b0 AT>out
|
|
data: {*(data)} >ram AT>out
|
|
/* fill program bank */
|
|
fill: { .=.+0x10000-6-ADDR(init)-SIZEOF(init)-SIZEOF(data);} >b0 AT>out
|
|
vectors:{ *(vectors)} >b0 AT>out
|
|
|
|
chars: {
|
|
*(chars);
|
|
RESERVE(8192-.-ADDR(chars));
|
|
} >chr AT>out
|
|
|
|
zpage (NOLOAD) : {*(zpage) *(zp1) *(zp2)} >zero
|
|
bss (NOLOAD): {*(bss)} >ram
|
|
|
|
__DS = ADDR(data);
|
|
__DE = ADDR(data) + SIZEOF(data);
|
|
__DC = LOADADDR(data);
|
|
|
|
__STACK = 0x800;
|
|
|
|
___heap = ADDR(bss) + SIZEOF(bss);
|
|
___heapend = __STACK;
|
|
}
|