forked from Ports/goldeneye-pc-port
Update to support shifting, JP, ai macro work and more.
This commit is contained in:
1 parent
3516197a71
commit
c09009d3f4
217 files changed
+90964
-41500
No files matched your search
@@ -1,15 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
MAPFILE="./build/ge007."$2".map"
|
||||
#this script is a hacky mess that can most definately be improved
|
||||
#fixme as I will fail if vaddr of data gets moved!!!
|
||||
#DATASEG_START=$(printf "%d\n" 0x$(grep './build/ge007.u.map' -e '.data 0x0000000080020d90' | cut -d "x" -f 4 ))
|
||||
#DATASEG_LEN=$(printf "%d\n" 0x$(grep './build/ge007.u.map' -e '.data 0x0000000080020d90' | cut -d "x" -f 3 | cut -d " " -f 1))
|
||||
DATASEG_START=12582912
|
||||
DATASEG_LEN=247120
|
||||
DATASEG_START=$(printf "%d\n" 0x$(grep ${MAPFILE} -e '__csegtempPos =' | cut -d "x" -f3))
|
||||
DATASEG_LEN=$(printf "%d\n" 0x$(grep ${MAPFILE} -e 'load address 0x0000000000c00000' | cut -d "x" -f3 | cut -d " " -f1))
|
||||
|
||||
|
||||
echo "patching $1"
|
||||
echo "extract data segment"
|
||||
echo "one byte at a time is slow, sorry"
|
||||
echo "if you changed size of data segment, change count here"
|
||||
dd skip=${DATASEG_START} count=${DATASEG_LEN} if=$1 of=data_seg bs=1
|
||||
|
||||
echo "truncate $1 to 0x$(printf "%x\n" ${DATASEG_START})"
|
||||
@@ -24,8 +23,8 @@ RZSIZE=$(stat -c%s "data_seg.rz")
|
||||
echo "size=${RZSIZE}"
|
||||
|
||||
#fixme as I will fail if position of c_data gets moved!!!
|
||||
CDATA_POS=$(printf "%d\n" 0x$(grep './build/ge007.u.map' -e 'c_data_array' | cut -d "x" -f 2 | cut -d " " -f 1 ))
|
||||
#CDATA_MAX_SIZE=$(printf "%d\n" 0x$(grep './build/ge007.u.map' -e '.c_data 0x0000000000021990' | cut -d "x" -f 2 ))
|
||||
CDATA_POS=$(printf "%d\n" 0x$(grep ${MAPFILE} -e 'c_data_array' | cut -d "x" -f 2 | cut -d " " -f 1 ))
|
||||
#CDATA_MAX_SIZE=$(printf "%d\n" 0x$(grep '${MAPFILE}' -e '.c_data 0x0000000000021990' | cut -d "x" -f 2 ))
|
||||
#CDATA_POS=137616
|
||||
CDATA_MAX_SIZE=72704
|
||||
|
||||
@@ -33,7 +32,7 @@ echo "maxsize=${CDATA_MAX_SIZE}"
|
||||
|
||||
echo "one byte at a time is slow, sorry"
|
||||
dd if=data_seg.rz of=$1.tmp obs=1 seek=${CDATA_POS} conv=notrunc
|
||||
rm data_seg data_seg.rz
|
||||
#rm data_seg data_seg.rz
|
||||
|
||||
mv $1.tmp $1
|
||||
|
||||
Reference in new issue
Block a user