blurose

dism.sh

May 22nd, 2021 (edited)
276
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.76 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. i=${1:-0}
  4. MODNO=$(printf "%02d" $i)
  5. ROM=${ROM:-base1.nds}
  6. DEST=${DEST:-modules_jp}; mkdir -p $DEST
  7. prefix=$DEST/module_${MODNO}
  8.  
  9. while true; do
  10.   echo "../ndsdisasm/ndsdisasm $ROM -c $prefix.cfg -m $i > $prefix.s"
  11.   (echo -e '\t.include "asm/macros.inc"\n\t.include "global.inc"\n\t.section .text\n\t.balign 4, 0';
  12.     ./ndsdisasm/ndsdisasm $ROM -c $prefix.cfg -m $i | \
  13.     sed -r 's/\.4byte/.word/g' | \
  14.     sed -r 's/\.2byte/.short/g' | \
  15.     sed -r 's/@/;/g') > $prefix.s
  16.   if [ -n "$2" ]; then break; fi
  17.   l=$(wc -l $prefix.cfg)
  18.   grep -B1 -w "byte" $prefix.s | grep ":" | sed -r 's/^_(\w{8}):/thumb_func 0x\1/g' >> $prefix.cfg
  19.   sort -u -t' ' -k2,2 -o $prefix.cfg $prefix.cfg
  20.   m=$(wc -l $prefix.cfg)
  21.   if [ "$l" == "$m" ]; then break; fi
  22. done
Add Comment
Please, Sign In to add comment