JEmu2 SCC-Konami music player with enhanced sound

Страница 1/3
| 2 | 3

By erikd

Master (255)

Аватар пользователя erikd

13-02-2015, 22:18

http://www.gaga-play.com/test/JEmu2-KonamiSCC-native.zip

A version of JEmu2 running *that* DSK image that could play lots of original Konami SCC tunes and sounds.
The emulator adds stereo sound, drum samples, and some other sound enhancements.
It also displays a little GUI where you can play around with various audio enhancement settings (or you can just disable them if you want).

Just unzip and run the .exe

Для того, чтобы оставить комментарий, необходимо регистрация или !login

By Manuel

Ascended (19691)

Аватар пользователя Manuel

13-02-2015, 22:30

Is there version that runs on Linux?

By erikd

Master (255)

Аватар пользователя erikd

13-02-2015, 22:40

Sorry, not right now.
If you really want, I can create a cross-platform build. You'll have to do some testing though, because I'm (sadly) not running Linux right now.
The native Windows-only build was just a few clicks away, and I figured that would be good enough for now.

By erikd

Master (255)

Аватар пользователя erikd

13-02-2015, 23:41

@Manuel
I've put a java-version here: http://www.gaga-play.com/test/JEmu2-KonamiSCC-java.zip
There's an .sh file that might work on Linux (not tested, but you need to have java6 or higher installed. I'm not sure if openjdk still works here, but last time I checked it did, otherwise install a JVM from Oracle)

By Manuel

Ascended (19691)

Аватар пользователя Manuel

14-02-2015, 17:20

Thanks!

I get only some sound settings pop up when starting it and also this:

$ sh jemu2.sh 
JEmu2 v5.0
Running stand-alone
Initializing cache...
Trying to select driver 'msx2_dsk_60Hz_scckonami'...sound.freq=44100
sound.stereo=true
sound.stereodelay=true
Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl64 in java.library.path
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1886)
	at java.lang.Runtime.loadLibrary0(Runtime.java:849)
	at java.lang.System.loadLibrary(System.java:1088)
	at org.lwjgl.Sys$1.run(Sys.java:72)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.lwjgl.Sys.doLoadLibrary(Sys.java:66)
	at org.lwjgl.Sys.loadLibrary(Sys.java:87)
	at org.lwjgl.Sys.(Sys.java:117)
	at jef.util.time.TimeLWJGLImpl.(TimeLWJGLImpl.java:17)
	at jef.util.time.Time.init(Time.java:31)
	at jef.util.time.Time.(Time.java:22)
	at jef.sound.Settings.(Settings.java:28)
	at jef.sound.SoundChip.(SoundChip.java:31)
	at jef.sound.SoundChip.(SoundChip.java:54)
	at jef.sound.chip.SamplePlayerChip.(SamplePlayerChip.java:211)
	at net.movegaga.jemu2.driver.msx.MSX.(MSX.java:144)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:191)
	at net.movegaga.jemu2.EmulatorFactory.createEmulator(EmulatorFactory.java:260)
	at net.movegaga.jemu2.JEmu2.main(JEmu2.java:137)

That's odd, as the library seems to be in the current path and the shell script sets the library path to .

By erikd

Master (255)

Аватар пользователя erikd

14-02-2015, 18:09

Thanks for testing!
Sorry, I made an error in the .sh script:
-Dlibrary.path=. should be -Djava.library.path=.

By Manuel

Ascended (19691)

Аватар пользователя Manuel

14-02-2015, 19:49

ah, indeed, I should have known that Smile

Anyway, it runs fine, but I hear no sound at all...

Everything seems to be OK otherwise:

JEmu2 v5.0
Running stand-alone
Initializing cache...
Trying to select driver 'msx2_dsk_60Hz_scckonami'...sound.freq=44100
sound.stereo=true
sound.stereodelay=true
LWJGL Timer selected, timer resolution=1000
JRE supports Nano Timer
kick.wav -> format=PCM_SIGNED 44100.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endian
snare.wav -> format=PCM_SIGNED 44100.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endian
hihat.wav -> format=PCM_SIGNED 44100.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endian
Low-Tom-2.wav -> format=PCM_SIGNED 44100.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endian
Open-Hi-Hat-3.wav -> format=PCM_SIGNED 44100.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endian
Ok!
INFO: net.movegaga.jemu2.driver.msx.MSX is a JEmu2 driver.
int[].ADDRESS_STACK, type : class [I
Component type : int
adding
boolean.IRQ_SELF_ACK, type : boolean
adding
int.addressStackPointer, type : int
adding
boolean.irq, type : boolean
adding
boolean.m_3F, type : boolean
adding
boolean.m_5F, type : boolean
adding
int.m_a8, type : int
adding
boolean.m_addsubtractF, type : boolean
adding
int.m_af16alt, type : int
adding
int.m_b8, type : int
adding
int.m_bc16alt, type : int
adding
int.m_c8, type : int
adding
boolean.m_carryF, type : boolean
adding
int.m_d8, type : int
adding
int.m_de16alt, type : int
adding
int.m_e8, type : int
adding
int.m_f8, type : int
adding
int.m_h8, type : int
adding
boolean.m_halfcarryF, type : boolean
adding
boolean[].m_halfcarryTable, type : class [Z
Component type : boolean
adding
int.m_hl16alt, type : int
adding
int.m_i8, type : int
adding
int.m_iff1a, type : int
adding
int.m_iff1b, type : int
adding
int.m_im2, type : int
adding
int.m_ix16, type : int
adding
int.m_iy16, type : int
adding
int.m_l8, type : int
adding
boolean[].m_overflowTable, type : class [Z
Component type : boolean
adding
boolean.m_parityoverflowF, type : boolean
adding
boolean.m_pause, type : boolean
adding
int.m_pc16, type : int
adding
int.m_r8, type : int
adding
boolean.m_signF, type : boolean
adding
int.m_sp16, type : int
adding
boolean.m_stop, type : boolean
adding
boolean[].m_subhalfcarryTable, type : class [Z
Component type : boolean
adding
boolean[].m_suboverflowTable, type : class [Z
Component type : boolean
adding
int.m_tstates, type : int
adding
int.m_x8, type : int
adding
int.m_xx16, type : int
adding
boolean.m_zeroF, type : boolean
adding
boolean.nmi, type : boolean
adding
boolean.tracing, type : boolean
adding
int.IRQPending, type : int
adding
int[].RGB, type : class [I
Component type : int
adding
int.addrChrPatterns, type : int
adding
int.addrChrTable, type : int
adding
int.addrColorTable, type : int
adding
int.addrSpriteColor, type : int
adding
int.addrSpritePatterns, type : int
adding
int.addrSpriteTable, type : int
adding
int.adjustHOR, type : int
adding
int.adjustVER, type : int
adding
int.colBackGround, type : int
adding
int.colForeGround, type : int
adding
int.cycles, type : int
adding
int.displayStart, type : int
adding
int.displayStartOffset, type : int
adding
boolean.executeCPU, type : boolean
adding
int.frame, type : int
adding
int.framesPerSec, type : int
adding
boolean.incPort3, type : boolean
adding
int.ioState, type : int
adding
int.irqLine, type : int
adding
int.linesPerField, type : int
adding
int.linesPerFrame, type : int
adding
int[].pixels, type : class [I
Component type : int
adding
int[].regControl, type : class [I
Component type : int
adding
int[].regStatus, type : class [I
Component type : int
adding
int.rwAddress, type : int
adding
int.scrMode, type : int
adding
ScreenMode[].screenMode, type : class [Lnet.movegaga.jemu2.driver.msx.v9938.ScreenMode;
boolean.skipSprites, type : boolean
adding
int.vBlankIRQ, type : int
adding
int[].vram, type : class [I
Component type : int
adding
int.writeBuffer, type : int
adding
int.r44_ex, type : int
adding
int.r44_ey, type : int
adding
int.r44_sx, type : int
adding
int.r44_sy, type : int
adding
int.r44_x, type : int
adding
int.r44_xsize, type : int
adding
int.r44_y, type : int
adding
int.v_lop, type : int
adding
int.v_xbytes, type : int
adding
int.v_xmask, type : int
adding
int.v_xshift, type : int
adding
int.v_ymask, type : int
adding
int.v_yshift, type : int
adding
int.xdir, type : int
adding
int.ydir, type : int
adding
Start loading from msx2_dsk_60Hz_scckonami.zip
Checking classpath for 'msx2_dsk_60Hz_scckonami.zip'
msx2_dsk_60Hz_scckonami.zip found at file:/tmp/release/rom/msx2_dsk_60Hz_scckonami.zip
Loading 'scckonami.dsk' (eb2a4f7)...
Finished loading from msx2_dsk_60Hz_scckonami.zip
Checking results...
Checking classpath for 'msx2.zip'
msx2.zip found at file:/tmp/release/rom/msx2.zip
Loading msx2.rom(6cdaf3a5)...Ok!
Loading msx2ext.rom(66237ecf)...Ok!
Checking classpath for 'msxdisk.zip'
msxdisk.zip found at file:/tmp/release/rom/msxdisk.zip
Loading disk.rom(721f61df)...Ok!
Checking classpath for 'fmpac.zip'
fmpac.zip found at file:/tmp/release/rom/fmpac.zip
Loading fmpac.rom(e84505d)...Ok!
Sound initializing...
SoundChip emulators found:4
SoundChip jef.sound.chip.AY8910@691a0175 initialized.
AY8910_init 0
SoundChip jef.sound.chip.k051649.K051649@2a55de3b initialized.
SoundChip jef.sound.chip.k051649.K051649@6b710933 initialized.
SoundChip jef.sound.chip.SamplePlayerChip@4a132a60 initialized.
Audio line size 4096
interface SourceDataLine supporting format PCM_SIGNED 44100.0 Hz, 16 bit, stereo, 4 bytes/frame, big-endian, and buffers of 4096 to 4096 bytes
buffer    : 50000
Sound initialized successfully.
SoundChip jef.sound.Mixer@574a5754 initialized.
Video initializing...
Generating palette...
Starting video emulation...
Video initialized successfully.
Machine initializing...
Machine initialized successfully.
18071120
controls.left=KEY_LEFT
controls.right=KEY_RIGHT
controls.up=KEY_UP
controls.down=KEY_DOWN
controls.button1=KEY_LCONTROL
controls.button2=KEY_SPACE
controls.button3=KEY_LSHIFT
controls.button4=KEY_Z
controls.button5=KEY_X
controls.button6=KEY_C
Renderer = DEFAULT
FPS:50 LPF:192
Screen dimensions 272x212
Texture dimensions 512x256
Current bits per pixel = 24
Failed to choose preferred display mode, falling back to any mode:640 x 480 x 24 @59Hz
Setting display mode 640 x 480 x 24 @59Hz...
OK. Mode chosen:640 x 480 x 24 @59Hz
VSync:false
Throttle:true
Fullscreen:false
Aspect ratio:1.6
OK. Setting up keyboard/mouse...
OK. Initialization seems to be ok.
font.png
FPS:50 LPF:192
FPS:50 LPF:192
FPS:50 LPF:192
FPS:50 LPF:192
FPS:50 LPF:192
FPS:50 LPF:192
FPS:50 LPF:192
FPS:50 LPF:192

By erikd

Master (255)

Аватар пользователя erikd

14-02-2015, 20:18

Hm, that's strange.
Is it OpenJDK you're using? Because that's sometimes a bit finicky with JavaSound (iirc selecting the right mixer requires some extra work there).
I'll check what I can do to make it more compatible.

By Manuel

Ascended (19691)

Аватар пользователя Manuel

14-02-2015, 21:31

$ java -version
java version "1.7.0_65"
OpenJDK Runtime Environment (IcedTea 2.5.3) (7u71-2.5.3-2)
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)

By erikd

Master (255)

Аватар пользователя erikd

14-02-2015, 21:51

Thanks, I'll see what what i can do.
I'm guessing OpenJDK doesn't select the right audio driver, since I depend on whatever JavaSound selects as the 'default' mixer (which is often wrong on Linux).

Anyway, your feedback is really appreciated.

By Manuel

Ascended (19691)

Аватар пользователя Manuel

14-02-2015, 22:43

Your efforts are also really appreciated Smile

Страница 1/3
| 2 | 3