50 lines
1.4 KiB
Text
50 lines
1.4 KiB
Text
$NetBSD: patch-ab,v 1.2 2003/09/01 10:17:37 cjep Exp $
|
|
--- bchunk.c.orig 2001-08-07 21:18:29.000000000 +1000
|
|
+++ bchunk.c 2003-07-18 23:56:09.000000000 +1000
|
|
@@ -25,10 +25,11 @@
|
|
#include <unistd.h>
|
|
|
|
#define VERSION "1.1.1"
|
|
-#define USAGE "Usage: bchunk [-v] [-p (PSX)] [-w (wav)] [-s (swabaudio)]\n" \
|
|
+#define USAGE "Usage: bchunk [-v] [-r] [-p (PSX)] [-w (wav)] [-s (swabaudio)]\n" \
|
|
" <image.bin> <image.cue> <basename>\n" \
|
|
"Example: bchunk foo.bin foo.cue foo\n" \
|
|
" -v Verbose mode\n" \
|
|
+ " -r Raw mode\n" \
|
|
" -p PSX mode: truncate MODE2/2352 to 2336 bytes instead of normal 2048\n" \
|
|
" -w Output audio files in WAV format\n" \
|
|
" -s swabaudio: swap byte order in audio tracks\n"
|
|
@@ -88,6 +89,7 @@
|
|
char *cuefile = NULL;
|
|
int verbose = 0;
|
|
int psxtruncate = 0;
|
|
+int raw = 0;
|
|
int swabaudio = 0;
|
|
int towav = 0;
|
|
|
|
@@ -99,8 +101,11 @@
|
|
{
|
|
int s;
|
|
|
|
- while ((s = getopt(argc, argv, "swvp?h")) != -1) {
|
|
+ while ((s = getopt(argc, argv, "swvp?hr")) != -1) {
|
|
switch (s) {
|
|
+ case 'r':
|
|
+ raw = 1;
|
|
+ break;
|
|
case 'v':
|
|
verbose = 1;
|
|
break;
|
|
@@ -190,7 +195,11 @@
|
|
|
|
} else if (!strcasecmp(modes, "MODE2/2352")) {
|
|
track->extension = ext_iso;
|
|
- if (psxtruncate) {
|
|
+ if (raw) {
|
|
+ /* Raw MODE2/2352 */
|
|
+ track->bstart = 0;
|
|
+ track->bsize = 2352;
|
|
+ } else if (psxtruncate) {
|
|
/* PSX: truncate from 2352 to 2336 byte tracks */
|
|
track->bstart = 0;
|
|
track->bsize = 2336;
|