Nebula Audio Jukebox               (C) 2004 ElSemi
htp://nebula.emulatronia.com		NebulaEmu@myrealbox.com

This program emulates:
	- QSound hardware of CPS2 and ZN games. 
	- YM2151+ADPCM of CPS1 games
	- YM2610 of Neogeo games
	- YM2151+ADPCM of Konami games
	- ICS2115 of PolyGameMaster games.
	- 1 SCSP of Sega Model 2A/2B/2C games and 2 SCSPs of Sega Model 3
	- MultiPCM in Model 2 games (by R. Belmont)
	- DSB-1 in Sega Touring Car Championship and Scud Race
	- DSB-2 in Top Skater and Sega Rally 2

It allows you to hear the music and sound effects of these games.

It needs Nebula datfiles to recognize the romset and rom names, so it is a good idea to put 
this player in the same directory as Nebula.

v2.9
    - Added Digital Sound Borad 2 emulation for Top skater and Sega Rally 2
    - Added all dumped model3 games. Some have changed the rom name, so check the
      included romcenter dat.
    - Fixed indy 500 noises and other SCSP bugs.
    - Fixed virtua cop crashing.
    - A lot of other fixes that I don't remember...

v2.8
    - Added Digital Sound Board emulation for Sega Touring Car Championship

v2.7
    - Added 2xSCSPs emulation for Model 3 sound board. Only the 2 good
      Model 3 dumps added: Virtual-ON 2 (von2snd) and Lost World (lostsnd).
    - Improved SCSP timers speed (but it's still too fast)
    - Added preliminary SCSP envelopes.
    - Added MultiPCM emulation. Thanks to R.Belmont
    for the MultiPCM emulation from M1.
    - Fixed Mega Twins music speed
    - Megaman (CPS1) sound codes are working now
    - Now jukebox will also search for .DAT files in
    subdirectories inside MUSICDAT dir.
    - ZN Games can be added using ROMDATA files.

v2.6
    Added the following SCSP features:
        - Panning
        - Pitch variation
        - Amplitude and Frequency modulation LFOs
    Various internal SCSP fixes.
    Added Model 2A games.
    
v2.5	Added preliminary SCSP emulation for Sega Model 2 games. No
	envelopes or modulation yet, but it sound quite well.
	Note that SCSP games will always run at 44100Hz, Directsound 2D
	and linear interpolation, despite the values you have selected
	Usually tunes for these system start at 
	codes 0100, 0101, 1000 or 1001, just try to find where
	they are. Sound effects start usually at 1100 or 1101.

v2.4	I don't know what happened with 2.4 :)

v2.3
	Added PGM sound emulation. PGM sound system is dynamic (that means
	that only the current playing song is uploaded to the Z80 program
	when needed (and the samples), so apart from the game ROM files, you'll
	need some files that Nebula can generate with the songs in the Z80
	memory in a given instant (PZM files). First load a game ROM and
	then load a PZM file, jukebox will show the songs in the file (some
	may be empty and may cause you have to press the RESET button or
	reload the file to make the Z80 work again). Sample codes start at
	101 (PGM intro music). usually the samples till 1A6 are the 
	samples stored in the BIOS ROM, above it, tye are samples stored
	in the game rom.

v2.2
	Added Kikaioh (ZN). Music codes start at 8001
	Fixed ZN bad sound. I forgot to byteswap the sample data
	Fixed Konami games always being selected.
	Added Nebula DSP plugins support (Plugins directory)

v2.1
	Added Konami games (moo and bucky)
	Switched to the new romdata format

v2.0
	New GUI design (by MHz), bigger list, more space
	New QSound code, better sound, less saturation, fixed
	xmcota high pitch sounds when using interpolation.
	Added an option to pre-amplify qsound output. (higher
	volume output)	
	Added 4 points interpolation for neogeo DeltaT channel.
	Added the new kof2k M rom dump.
	Added an option to sync recording start with the code
	send button. (mark Sync, then Record, and then send the
	code)
	More games filters.
	Sound code can be changed with Up/Down arrows and sent
	with Enter key (easier to browse songs)

v1.63
     Added the new redumped sets for mslug3 and kof2k
     Added channel control for all systems
     Improved CPS1 sound emulation, now it sounds
     without distortion.
     Fixed 0 sized music files
     Added 48000 Hz sampling rate

v.162c
     Added support for kof2k 256Kb M1 rom
     Fixed Directsound 3D bug
v1.62b
     Fixed 4 point interpolation equation.
     Added the new sound code to DirectSound 3d Modes.
v1.62
     Added NITD, Pisle2, Sengoku3 and Strikers 1945 +.
     Fixed system selection.
     Now Jukebox uses the new QSound engine of Nebula, faster and more
     accurate. It also has a 4 point interpolation for QSound games.
     Fixed kof2k and ms3 sound
v1.61
     Added Mslug3.
     Re-added ZN games that were accidentally removed from the previous version
     Fixed mp3 saving
     Now the selected games are remembered.
v1.6 Added Kof2k, v-liner and Ganryu
     New delta-t interpolation mode for neogeo games
     Fixed some neogeo games sound hangs
v1.5a	Fixed some wrong CRCs and sizes of sound roms.
v1.5	Added YM2610 sound emulation (that is NeoGeo games :) ).
	Neogeo sound codes usually start at 0721 (Mslug starts at 0021).
	Neogeo logo song is code 0002. Channels panel and position controls
	don't work with NeoGeo or CPS1 games.
	Added a system filter for the rom list.
v1.4	Fixed (again) the sound pitch and tempo.
	Rewritten all the sound code, it is now faster and better sounding.
	Interpolation is now less CPU intensive and works better.
v1.4   Added more CPS1 games
       Changed the buffer size to a more SBPCI friendly value
v1.2	  Added CPS1 YM+ADPCM games.
	  Added ZN1/2 games.
	  Added volume control.
v1.1      Fixed some rom loading problems.
          Added CPS1 qsound games
          Added multiple rom directories. See below to know how to configure them.
v1.0a	Added interpolation mode


USAGE

Put Jukebox in the same directory as Nebula, as it needs its romdata files to
identify the romsets.
The first time you execute jukebox, a jukebox.ini file will be created. You
must put your rom directories in that file.

Launch the executable and the main window will appear.

In the left panel, you'll see a list of the available games. Double click the game name
or hit Load to load the game. Once the game is loaded, the sound emulation will start working.
Only Parent games are shown.

Now to the bottom panel. Here are the controls of the sound you want to play:

	Sound code: Is the code of the sound/music that will be played. Usually the songs are
		in the lowest codes and the sound effects after them, but it depends on each
		particular game.

	Send:	Sends the selected code to start playing it. (Note that the send button is the
		default button, so it will be pressed when you hit Enter. It's useful combined with
		the up/Down buttons of the sound code to advance to search for a code (push the
		Up button with the mouse and then enter, up, enter, ... and you'll advance hearing
		the sounds).
	Stop:	Stops the current playing.
	Reset: 	Reset the CPU. Some codes cause the CPU to enter in a loop. If you are not
		getting sound when you send known codes, then the CPU must be reset.
	Show channels:	Show the channels panel, that shows the volume, position and activity
			of each channel. Also allows you to mute the channels you want.

	Mode:	QSound hardware allows some positioning and moving modes:
		0 - Normal. Speed parameters doesn't affect, only Position is used.
		1 - Pan (Pos). Moves the sound from left to right and back with the selected
			speed (Speed 1) starting in the position selected.		
		2 - Pan (Distance). Not sure what it does. it iuses also Distance and Speed 2 parameters
		3 - Pan to Right. Moves the sound from the starting position to the right with the
			selected speed 1.
		4 - Pan to Left. Same but to Left.
		5 - Pan to Right (distance). Not sure, moves the sound and uses the Distance and speed 2 param.
		6 - Pan to Left (distance). Same as above.
		7 - Echoed Pan. Creates 2 sound sources and moves them independently causing some echo effect.


OK, now that we know how to send codes and it starts sounding let's move to the top right
panel.

This panel allows you to give a name to the sound codes so you don't need to remember the code.
To add a new song/effect name you must write the name of the current code in the bottom part
of the panel, and then press the Add/Edit button. Do the same to change the name of a code. (for
example, you have found that code 0013 of SFA2 is the intro song, then set the 0013 code in 
the Sound Code box, and write in the bottom part of the song list the name, for example "Intro"
and then hit Add/Edit).
To delete a code name, select it and hit the Delete button.
To play a code, you can either double-click its name or select it and then hit the Send button.
These code names are stored in a per-game file in the MUSICDAT directory so you can share them
with other people.


Now the bottom left panel. It allows changing the sound quality.

	Sample Rate: 11025,22050,44100 (recommended: 22050).
	Sound Mode: Directsound 2D,Directsound 3D. Use directsound 3d only if you card supports
	hardware accelerated 3d sound and at least 16 hardware voices (ex. SBLive! but not SB PCI64/128)

The last panel, but not the least important, the bottom right panel. These are the recording
options. The recorded data is stored in the Shots directory. The name of the files is the code
that is currently shown in the Sound Code box (be careful with this). 
	Format: Allows you to select the ouput format of the recorded samples.
  	   Wave File - Creates a standard Windows .WAV file. Remember to push the Record/Stop button 
		to stop the wave writting before exiting the player, otherwise the wave header
		will not be written and the file will be unusable (for most players).
	    MP3 File - Creates a MP3 file. It requires the LAME dll (LAME_ENC.DLL) to work and also
		more CPU power, but the size of these files (as all you know) is much smaller.

	Bitrate: When using MP3 compression, selects the bitrate of the output file.
NOTE: Sound recording is only possible in Directsound 2D mode (have you ever seen MP3 or WAV
files with 16 channels?)




