rmenu.sh 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #!/bin/bash
  2. set -u -e
  3. if [ x"$1" = 'x013' ]; then
  4. ZEROBIN='RMENU_013.BIN'
  5. elif [ x"$1" = 'x020' ]; then
  6. ZEROBIN='RMENU_020.BIN'
  7. elif [ x"$1" = 'xkai' ] || [ x"$1" = 'xpsk' ]; then
  8. ZEROBIN='RMENU_KAI_6314.BIN'
  9. else
  10. echo 'you must choose which version of RMENU you want and provide it as the only arguement'
  11. echo 'options are 013 or 020 or kai or psk'
  12. echo 'example: ./rmenu.sh kai'
  13. exit 1
  14. fi
  15. [ -f out.iso ] && rm out.iso
  16. [ -f RMENU/LIST.INI ] && rm RMENU/LIST.INI
  17. [ -f RMENU/0.BIN ] && rm RMENU/0.BIN
  18. cp RMENU/$ZEROBIN RMENU/0.BIN
  19. echo "01.title=RMENU" > RMENU/LIST.INI
  20. echo "01.disc=1/1" >> RMENU/LIST.INI
  21. echo "01.region=JTUE" >> RMENU/LIST.INI
  22. echo "01.version=V0.0.0" >> RMENU/LIST.INI
  23. echo "01.date=00000000" >> RMENU/LIST.INI
  24. for i in $(find ../ -maxdepth 1 -type d -name "[0-9][0-9]" -o -name "[0-9][0-9][0-9]"| awk -F'/' '{print $NF}' | sort -n | egrep -v '^1$|^01$|^001$'); do
  25. IMG="../$i/out.img"
  26. if [ -f "$IMG" ]; then
  27. if [ -f "../$i/ofn.txt" ]; then
  28. source "../$i/ofn.txt"
  29. TITLE="$(echo "$ORIGINAL_DIRECTORY_NAME" | cut -c 1-111)"
  30. else
  31. TITLE="$(head -c 224 "$IMG" | cut -c 113-225 | LANG=C sed 's/ *$//g')"
  32. fi
  33. DISC="$(head -c 224 "$IMG" | cut -b 76-78)"
  34. REGION="$(head -c 224 "$IMG" | cut -b 81)"
  35. VERSION="$(head -c 224 "$IMG" | cut -b 59-64)"
  36. DATE="$(head -c 224 "$IMG" | cut -b 65-72)"
  37. echo "$i.img=$IMG"
  38. echo "$i.title=$TITLE"
  39. echo "$i.disc=$DISC"
  40. echo "$i.region=$REGION"
  41. echo "$i.version=$VERSION"
  42. echo "$i.date=$DATE"
  43. echo "$i.title=$TITLE" >> RMENU/LIST.INI
  44. echo "$i.disc=$DISC" >> RMENU/LIST.INI
  45. echo "$i.region=$REGION" >> RMENU/LIST.INI
  46. echo "$i.version=$VERSION" >> RMENU/LIST.INI
  47. echo "$i.date=$DATE" >> RMENU/LIST.INI
  48. fi
  49. done
  50. echo
  51. echo "press y key to edit RMENU/LIST.INI, or any other key to skip editing names"
  52. echo
  53. read -n 1 YNVAR
  54. if [ x"$YNVAR" == 'xy' ]; then
  55. vim RMENU/LIST.INI
  56. fi
  57. mkisofs -sysid "SEGA SATURN" -volid "SaturnApp" -volset "SaturnApp" -publisher "SEGA ENTERPRISES, LTD." -preparer "SEGA ENTERPRISES, LTD." -appid "SaturnApp" -abstract "./RMENU/ABS.TXT" -copyright "./RMENU/CPY.TXT" -biblio "./RMENU/BIB.TXT" -generic-boot "./RMENU/IP.BIN" -full-iso9660-filenames -o out.iso ./RMENU/