26
26
#include < adplug/emuopl.h>
27
27
#include < adplug/kemuopl.h>
28
28
#include < adplug/wemuopl.h>
29
+ #include < adplug/diskopl.h>
29
30
30
31
/*
31
32
* Sun systems declare getopt in unistd.h,
@@ -79,6 +80,7 @@ typedef enum {
79
80
#ifdef HAVE_ADPLUG_NUKEDOPL
80
81
Emu_Nuked,
81
82
#endif
83
+ Emu_Rawout,
82
84
} EmuType;
83
85
84
86
/* **** Global variables *****/
@@ -184,11 +186,11 @@ static void usage()
184
186
program_name);
185
187
186
188
// Print list of available output mechanisms
187
- printf (" Available emulators: satoh ken woody " );
189
+ printf (" Available emulators: satoh ken woody" );
188
190
#ifdef HAVE_ADPLUG_NUKEDOPL
189
- printf (" nuked" );
191
+ printf (" nuked" );
190
192
#endif
191
- printf (" \n " );
193
+ printf (" rawout \n " );
192
194
printf (" Available output mechanisms: "
193
195
#ifdef DRIVER_OSS
194
196
" oss "
@@ -320,6 +322,12 @@ static int decode_switches(int argc, char **argv)
320
322
#ifdef HAVE_ADPLUG_NUKEDOPL
321
323
else if (!strcmp (optarg, " nuked" )) cfg.emutype = Emu_Nuked;
322
324
#endif
325
+ else if (!strcmp (optarg, " rawout" )) {
326
+ cfg.emutype = Emu_Rawout;
327
+ cfg.output = null;
328
+ cfg.endless = false ;
329
+ }
330
+
323
331
else {
324
332
message (MSG_ERROR, " unknown emulator -- %s" , optarg);
325
333
exit (EXIT_FAILURE);
@@ -540,6 +548,8 @@ int main(int argc, char **argv)
540
548
}
541
549
break ;
542
550
#endif
551
+ case Emu_Rawout:
552
+ opl = new CDiskopl (cfg.device );
543
553
}
544
554
545
555
// init player
@@ -555,7 +565,7 @@ int main(int argc, char **argv)
555
565
#endif
556
566
#ifdef DRIVER_NULL
557
567
case null:
558
- player = new NullOutput ();
568
+ player = new NullOutput (opl );
559
569
break ;
560
570
#endif
561
571
#ifdef DRIVER_DISK
0 commit comments