Mednafen Members Members   Search Search   Help Help   Register Register   Login Login   Home Home
Home » Site » News » Mednafen 0.9.12-wip
Show: Today's Messages  :: Show Polls :: Message Navigator
Switch to threaded view of this topic Create a new topic Submit Reply
Mednafen 0.9.12-wip [message #1789] Sat, 14 August 2010 15:08 Go to next message
Administrator  [PM]
This WIP release is a major bug fix release compared to the last WIP release.

New features since the last WIP include(but not limited to) 2xSaI and related filters, RTC support for GBA(requires a "type" file), and selecting the PSG revision for PC Engine emulation.

Build related changes include the new configure options "--without-libcdio" and "--without-libsndfile".

The Win32 build is now built using a new toolchain based on mingw w64, using gcc 4.4.5-prerelease instead of gcc 3.4.5 as before. libcdio and zlib are now dynamically-linked(DLLs) instead of statically-linked. SDL_net, zlib, and libsndfile DLLs are no longer manually compiled, but are copies of the vendor-provided DLLs.

More up-to-date and modularized documentation is now present, though it is still lacking in many areas. (Contrary to implications of the documentation, Sega CD and the Genesis 4-player adapters aren't supported yet Wink).

Note to frontend authors: The <system>.vblur* settings have been renamed to <system>.tblur*. Also, as it may have been missed in the earlier WIP, the interpretation of the <system>.scanline setting value has been changed to be less convoluted than in 0.8.x and earlier.

-- 0.9.12-WIP: --
August 13, 2010:
	Updated internal copy of "libmpcdec" library from 1.2.5 to 1.2.6.

	Updated internal copy of "trio" library to 1.14(I believe the previous version was a pull from CVS between the 1.10
	and 1.11 releases).

August 12, 2010:
	PCE_FAST: Added setting "pce.correct_aspect", default value of 1.  When disabled(value of 0), no aspect correction
	will take place(other than in the 10MHz dot clock mode to halve its width), and overscan color will be used to
	fill in the empty space when in 5MHz/10MHz dot clock modes.

	PCE_FAST: Corrected aspect ratio when playing HES files.

	PC-FX, VB: Fixed CPU operand order for FPU subops in the disassembler.

	VB: Hooked up more debugger functionality.

	PC-FX, VB: Fixed V810 read/write breakpoints in "fast" V810 emulation mode.

August 9, 2010:
	Mednafen's now compiled with -Wempty-body and -Wignored-qualifiers.

	NES: Removed a typoed semicolon in sound.cpp.

August 8, 2010:
	Added "math.h" header order inclusion check to "types.h", and fixed a few instances of incorrect #include order.

	Fixed C68K code generator dependency when building on/for a platform that has an extension for executables(AKA MS Windows).

	Fixed a structure initialization problem in the input setting generation code that could cause crashing under
	certain circumstances.

	Fixed Makefile.am to actually link against SDL(somehow it was working anyway on Linux, probably through
	an indirect linkage through SDL_net).

August 5, 2010:
	Debugger settings *.debugger.disfontsize and *.debugger.memcharenc are now automatically generated, the latter based on the system's DebuggerInfoStruct.

	Renamed *.debugger.memcharset settings to *.debugger.memcharenc

	PC-FX: Added settings "pcfx.input.port1.multitap" and "pcfx.input.port2.multitap".  These settings shouldn't be enabled by average users.

August 4, 2010:
	PC-FX:	Added RAINBOW buffer data to save states.

		Added a variable to save states whose absence was breaking save states made in the middle of a CD-ROM transfer.

        Switched to using the internal copy of Tremor to decode Ogg Vorbis files during CD emulation preferentially over libsndfile, as libsndfile has
        an unacceptably slow seek implementation for Ogg Vorbis.

August 3, 2010:
	PC-FX: 	Added emulation of the 2 gamepad switches.
	
		Fixed a bug that caused a crash if input type of "none" was selected for a virtual input port.

		Input device state is now saved in save states(missing a call before).

		Fixed mouse emulation(previously, cursor movement was totally broken).

		Disabled various debug printf statements.

		Removed "bios.fastboot" setting and the HuEXE loading code(both of which have been broken for a while).  The fastboot code likely
		won't return(it'd be better as an external patch to the BIOS ROM image), and the HuEXE loading may return when PIO emulation is added(requiring
		the use of the PC-FXGA BIOS most likely).

August 2, 2010:
	PC-FX: Fixed the horizontal position of the VDC layers vs KING BG and RAINBOW layers when VDC is in 7MHz dot clock mode.

	PC-FX: Disabled a few unknown memory address read/write debug printf()s.

August 1, 2010:
	PC-FX: Writing 0 to D0 of KING register 0x40 while a RAINBOW transfer is in process will now abort it.  Fixes background flickering in "Tonari
	no Princess Rolfee".

	PC-FX, VB: Values written to system registers EIPSW, FEPSW, EIPC, and FEPC by instruction "ldsr" are now masked properly.

	PC-FX: Added emulation of the TIMER TIREQ bit.

	PC-FX: Interrupt controller level/priority register writes are now ignored unless all 7 bits in the interrupt mask register are set.  This matches
	tests done on a real system(done by writing the priority registers, and then reading back the values; wouldn't catch the case of there being shadow
	registers, however, given that this ignoring behavior is documented in the hardware documentation, this seems highly unlikely).  This *finally* fixes
	the PC-FX BIOS PhotoCD player!

	PC-FX: Fixed interrupt controller register value masks.

July 31, 2010:
	PCE: Removed a (mostly benign) debug addition left in the extended SF2 mapper size calculation code.

July 30, 2010:
	NES: Removed/Disabled some debug(not debugger :b) code.

	NES: Fixed the FDS written-disk shadow copy code.  Previously, the FDS loading code was updating the MD5 hash improperly, causing
	the filename of the shadow copy to be different when it was written than it was when a shadow copy was to be opened.

	NES: Altered FDS IRQ emulation to fix "Druid".

	NES: Fixed a bug that caused the entire file pathname to be evaluated when determining system type, now only the filename is examined.

	NES: Added strings "(Europe)", "(Germany)", "(USA)", and "(Japan)" to the filename scanning code for system determination.

	NES: Prettified the NES filter.cpp debug printf()s a little.

	PCE: Fixed HES player screen dimensions.

	PCE: Removed debug printf on bad opcode execution.

	PCE: HES playback code now initializes the VDC horizontal and vertical timing registers before calling the song initialization routine.  Interestingly,
	this seems to have broken the Cosmic Fantasy IV HES, but that it even sort-of worked in the first place was probably a fluke given the quality of the rip...

	PCE: Altered HuC6270 reset code to reset the horizontal and vertical timing registers to 0(which is closer to the real system than setting them to 0xFF, but
	real reset values are unknown, though they might just be 0).

	PCE: When in LFO(FM) mode, excessive playback frequency for channel 0(carrier) is handled more gracefully(but still not "correct",
	as it would be too CPU intensive).

	PCE: Rolled the LFO counter into the normal channel counter.  On a real system, the LFO counter(pre-divider) and the normal channel counter may be
	resetable independently, however, rolling them into one shouldn't cause any audible differences and simplifies the code(and fixes a bug due to how
	it was implemented before in that if the modulator channel's volume was in the audible range, the waveform would have been distorted for larger LFO pre-divider
	reload values).

July 25, 2010:
	Fixed Ogg Vorbis playback when libsndfile doesn't support it(I'd accidentally inverted the ov_open() success test during the change to AudioReader()).

	PCE: PSG channel numbering in the debugger's memory editor is now from 0 instead of 1.

July 24, 2010:
	Fixed libsndfile linkage with mingw32 target(it was broken when we added --with(out)-libsndfile configure option).

July 22, 2010:
	PCE: The 2MiB of arcade card RAM is now defined as an array that's allocated along with the ArcadeCard object, rather than a pointer that's manually
	allocated off the heap.

	PCE: Added support for HES files that load data into banks 0x80-0x87.

	PCE: Fixed HES controls(song increment/decrement) to not lose responsiveness if the frame is being skipped.

July 21, 2010:
	PCE: Added a setting to select the PSG revision, "pce.psgrevision".

	PCE, PCE_FAST, PC-FX: Added revision selection functionality(only supporting HuC6280 and HuC6280A revisions currently) to the PSG emulation code, and
	altered the volume table slightly to mimic the PCE's actual volume reduction limits.  Also, hooked up the PSG register setting code for the debugger.

July 17, 2010:
	PCE: Fixed inconsistencies in how an emulated "power toggle" affects timestamps, correcting a failed assert in the CD-ROM emulation code if the user
	tries to reset/power in the debugger under certain conditions. (TODO: Make similar fixes to PC-FX emulation code)

	PCE, PCE_FAST, PC-FX: Revamped and refactored PCE PSG core code to implement new details obtained through tests on a real SuperGrafx(HuC6280A)
	and on a PC Engine(HuC6280).  However, the emulation is closer to the HuC6280A revision.  It may be necessary in the future to run tests on a PC-FX
	to determine what differences, if any, are in its PSG core vs the HuC6280A's sound core.

July 10, 2010:
	PC-FX, PCE: SCSI CD-ROM emulation code cleanup and minor tweaks.

July 7, 2010:
	PCE: Improved mouse emulation greatly; previously, emulation of two buttons was missing.  The two newly-emulated buttons "Select" and "Run" are mapped to
	keyboard keys "Tab" and "Enter" by default.  However, the L/R mapping may be backwards, and there are still problems with using the mouse with at least
	one game("Lemmings").

July 5, 2010:
	Fixed a temporal blur code bug that was causing an unblurred section of the screen on PCE games.

	Renamed the <system>.vblur* settings to <system>.tblur* (for temporal blur) to reduce confusion.

July 3, 2010:
	PCE: Adjusted DMA timing again to fix an extremely long delay at the beginning of Takeda Shingen(TODO: make sure the delay doesn't exist on a real PCE).

	The core CD reading functions now always put CD-DA data in the buffer in little-endian form.

	Separated and refactored the audio format decoding code out of cdromfile.cpp into audioreader.cpp

July 2, 2010:
	PCE_FAST: Scrapped the old arcade card code in favor of the modularized code from the "pce" emulation module.

	PCE: Moved arcade_card.* to hw_misc/arcade_card/arcade_card.*, and made its save state section names more verbose.

July 1, 2010:
	PCE_FAST: Corrected the aspect ratio.

	PCE_FAST: Scrapped the old PSG code in favor of the new modularized PSG code already being used by the regular "pce" module.

June 27, 2010:
	PCE: Fixed PRAM poking in the debugger to not allow unused bits to be set.

June 26, 2010:
	GBA: Including a line containing "rtc" in the save-game "type" file(refer to the GBA module documentation) will now enable realtime clock emulation for
	that game.

June 22, 2010:
	SNES: Hooked up backup memory loading.

	Fixed the "autosave" option to work instead of causing a crash on exit.

June 21, 2010:
	The IPS patch loading code now checks for file read errors, and is no longer tolerant of IPS patches that end without an "EOF" patch/chunk header.

	Removed support for automatically patching with compressed IPS patches, as it causes a problem with at least one patch that has semi-hidden 
	PKZIP-format data in it that was confusing the file loader.

June 20, 2010:
	SNES: Hooked up multitap and mouse input emulation code(you'll need to manually enable multitap by setting "snes.input.port2.multitap" to "1"
	because it can cause problems if it's enabled by default.

	SNES: Updated to bsnes v0.59(for SA-1 and SuperFX save state support).

June 17, 2010:
	NES: Added cart WRAM to mapper 18 emulation to fix "Jajamaru Gekimaden".

	PCE: Altered VRAM-to-VRAM DMA operation to fix Ankoku Densetsu/Legendary Axe II(and without breaking Langrisser), though stage 5 in LAII/AD may still
	randomly have graphics corruption in certain conditions.

June 11, 2010:
	PC-FX: Fixed a bug that caused only half of the VDC BG tiles to be displayed in the debugger's graphics viewer.

	Fixed segfault on 0-entry setting enum lists.

	Wrote some simple PHP scripts to automatically generate portions of the individual emulation module documentation based on templates and the
	settings definition file produced by -dump_settings_def.

	Added a command-line option "-dump_settings_def", which will dump definition data for all possible settings in Mednafen.

June 8, 2010:
	PCE: Adjusted VDC VDW start timing to fix vibrating screen in World Court Tennis.

June 7, 2010:
	PCE: Fixed "pce.h_overscan" setting to actually work right.

	PCE: Fixed screenshot width.

June 6, 2010:
	Finally got rid of the old FSettings global, moving SndRate to SoundRate of EmulateSpecStruct.

	Video frames are now recorded before temporal blur effect is applied(rationale: external movie encoders will have a wider variety of filters, whose
	quality and parameters are not constrained by being able to run in realtime).

June 5, 2010:
	CDPLAY: Fixed a crash if playback when past the last audio track, and the last audio track was not the last track of the disc.

	PCE: Added more missing data to save states.

June 2, 2010
	PCE: Altered vblank IRQ start timing to fix occasional massively-glitchy frames in Street Fighter II.

	PCE: Fixed a bug that could cause a crash(due to an incorrect parameter to memcpy()) if trying to load a large ROM image(>= 2MiB) that was
	not padded to the Street Fighter II mapper size.

	PCE: Fixed missing intialization of many VDC variables on reset.

	PCE: Added support for a hypothetical extended Street Fighter II mapper.

June 1, 2010:
	Revamped CD-ROM system determination code.

	PCE: Altered VDC BXR/BYR latch timing again to fix Seiya Monogatari, and probably breaking another game in exchange though. :/

	PC-FX: Fixed a problem caused by V810 optimization changes that broke CD ROM emulation in save states.

	Fixed loading of game cheats when loading a CD game(PCE CD, PC-FX).

May 31, 2010:
	PCE:  Added a few missing variables to save states.

May 29, 2010:

	Fixed a bug that could cause crashing on invalid save states(or with a state variable name >= 128 chars in length).

	NES:  Added a few missing sound variables to save states, and added a missing CPU state variable to save states that could cause netplay
	desync(unlikely, but still possible).

	PCE_FAST:  Fixed broken frameskip behavior in regards to sprite overflow IRQs(which caused netplay desyncs).

	PCE_FAST:  Added missing variables to save states(whose absence caused netplay desyncs).

May 26, 2010:
	Made an optimization to the V810 emulation code in order to improve performance on RISC CPUs(TODO: Make sure this didn't break anything).

	Fixed compiling when the configure script was passed "--disable-debugger".

May 25, 2010:
	Added support for compiling without libcdio and without libsndfile, by passing --without-libcdio and --without-libsndfile to the configure script,
	respectively.  Compiling without either is not recommended for general use of course, but may be of use to porters(especially compiling without libcdio).

May 23, 2010:
	Lynx: Fixed a few pieces of poorly-formed(and possibly undefined) code in the UART emulation code.

	Fixed an incorrect object creation bug in cdrom/pcecd.cpp

	SMS: Fixed a couple of strict aliasing violations.

	GBA: Fixed code causing gcc to issue warnings(listed here in the ChangeLog in the case I broke something, I'll know what did it) in the BIOS emulation code.

May 22, 2010:
	Moved MDFN_Rect typedef from types.h to video.h.

	Removed an extraneous semicolon after an if statement in the V810 save state code.

	Fixed a few code constructs causing compiler warnings.

	Added various macros(to force no inlining, force arbitrary alignment, etc.) to allow for an easier time getting the code to compile on
	non-gcc-compatible compilers.

May 21, 2010:
	NES: Fixed a bug that could cause Mednafen to crash if the game crashed or intentionally executed off the end of the 16-bit address space without an immediate
	absolute branch afterwards.

	VB: Hooked up settings "vb.disable_parallax", "vb.default_color", "vb.anaglyph.preset", "vb.anaglyph.lcolor", "vb.anaglyph.rcolor", and "vb.input.instant_read_hack"
	to a SettingChanged() notification function so that those settings can be changed during emulation runtime.  "vb.cpu_emulation" and "vb.3dmode"
	are not hooked up, and can not be due to current Mednafen architectural limitations(and even if those weren't present, "vb.cpu_emulation" would still
	require a virtual power toggle).

May 15, 2010:
	Began work on expanding the information in the setting definition structures, so that the documentation on settings can eventually be mostly auto-generated.

	Altered the help screen accessible via command-line option "-help" to not display any settings.  There are far too many settings to list all at once.
	Perhaps we'll add additional command-line options in the future to list settings according to a simple filter.

May 14, 2010:
	PC-FX:  Added setting "pcfx.disable_bram".  Only set this to 1 if you know what you're doing, as it's enabling an illegal/broken state.

	PCE:  Added setting "pce.disable_bram_cd" and "pce.disable_bram_hucard".  Only set "pce.disable_bram_cd" to 1 if you know what you're doing, as it's enabling
	an illegal/broken state.  pce.disable_bram_hucard is more useful, as it will make HuCard game run as if they're on a plain-Jane PC Engine/TurboGrafx without
	CD-style backup memory.

May 13, 2010:
	NES:  Moved read/write handler installation from the Power function to the Init function for input emulation, PPU emulation, and VS Unisystem emulation.

	NES:  Corrected the power-up state(values) of internal RAM.

	NES:  Fixed mapper 99 emulation(hopefully, I'm unable to test it currently).

	Fixed #include order(for config.h, basically) in many files.

May 7, 2010:
	Added a new fullscreen stretch mode that preserves the aspect ratio(at least in the same way that keeping xscalefs == yscalefs does), courtesy of donb04.

May 6, 2010:
	NES:  Fixed PPU rendering code to use the real pitch of the output surface, rather than the requested pitch as specified in the MDFNGameInfo struct.
	This should fix garbled video with "overlay" vdriver in some circumstances.

	NES:  Fixed clear color during PPU startup/reset, such that the screen will no longer be briefly green after a reset using the "overlay" vdriver.

	NES:  Added a (slow) kludge so that the output image is not totally wrong when NTSC blitter is enabled while using the "overlay" vdriver.

April 30, 2010:
	Altered the strerror_r() implementation detection preprocessor code to hopefully work correctly on non-GNU platforms.

April 29, 2010:
	GBA:  Fixed a small bug that totally broke GSF loading.

	PCE_FAST:  Added padding to memory mapped into the HuC6280 virtual address space to avoid potential emulator crashes if a game crashes.

	VB:  Implemented more of the debugger.

April 27, 2010:
	Added 2xSaI, Super 2xSai, and Super Eagle scaling filters courtesy of a code submission from "donb04".

	Fixed fatal bugs in the IPS patching code(the bugs were introduced from the refactoring of the file loading code).

	Genesis:  Removed various debug calls to exit() so that games crashing should no longer cause Mednafen to crash/exit.

	Genesis:  Fixed interlaced mode to not be totally broken.

April 23, 2010:
	VB: Fixed brightness calculation bug that resulted in very dark images instead of completely black images.

April 12, 2010:
	SMS: Encapsulated in a namespace.

	SMS: Added missing state to save states to fix netplay and movie desynchs.

April 11, 2010:
	VB:  Null-terminated the anaglyph preset list.

[Updated on: Fri, 14 November 2014 21:51]

Re: Mednafen 0.9.12-wip [message #1791 is a reply to message #1789 ] Mon, 16 August 2010 20:18 Go to previous messageGo to next message
Speedvicio  [PM]
Great work!
The autosave function work again, but the filter option in pce_fast mode still don't work.
The new implemented filter crash with any emulator, for example virtual boy crash with 2xsai, supereagle and super2xai filter activated.
Re: Mednafen 0.9.12-wip [message #1792 is a reply to message #1789 ] Mon, 16 August 2010 21:05 Go to previous messageGo to next message
Administrator  [PM]
Hm, the new 2xsai,etc. filter code is reading before the memory allocated for the video surface, hence why it's crashing in some cases.

I may just modify MDFN_Surface to allocate a few lines worth of memory to pad the pixel buffer on "top" and "bottom", although that would be somewhat of a hackish solution
Re: Mednafen 0.9.12-wip [message #1793 is a reply to message #1789 ] Tue, 17 August 2010 20:05 Go to previous messageGo to next message
sjyune  [PM]
Cx4 core fix (opcodes.cpp) from bsnes forum - odd behavior on Mega Man X2 weapon screen
http://board.byuu.org/viewtopic.php?f=3&t=881


Jonas Quinn sent a fix for this, because he is awesome like that.
Please be sure to give him your thanks.

In Cx4::op10(), change:

Code:
if(r1 & 0x8000)r1 |= ~0x7fff;

To:

Code:
if(r1 & 0x8000)r1 |= ~0x7fff;
else r1 &= 0x7fff;

  • Attachment: mmx2.png
    (Size: 15.30KB, Downloaded 410 time(s))

Re: Mednafen 0.9.12-wip [message #1799 is a reply to message #1793 ] Thu, 19 August 2010 00:41 Go to previous messageGo to next message
safaribans  [PM]
A great release!

EDIT: Bugs
Famicom:
Bird Week (Japan)
Flintstones, The - The Rescue of Dino & Hoppy (Japan)
Rokudenashi Blues (Japan)

Hangs, doesn't show the title screen.

Tested as working in MESS.

[Updated on: Wed, 25 August 2010 08:24]


I have never let my schooling interfere with my education.
-- Mark Twain
Re: Mednafen 0.9.12-wip [message #1815 is a reply to message #1799 ] Sat, 04 September 2010 00:53 Go to previous messageGo to next message
procyon  [PM]
Hey there. I've noticed a sound problem but am unable to diagnose it very well at the moment. I am getting a crash with the NES emulation if sound is enabled, but not if it's disabled. I do not have the same behavior with 0.8.D.2. Sound works fine in that version. When I run a NES game (in this case, Ice Hockey) with sound through 0.9.12, I get:

	Starting Mednafen 0.9.12
	 Internal emulation modules: nes snes gb gba pce pce_fast lynx md pcfx ngp vb wswan sms gg cdplay mmplay
	 External emulation modules: 
	 Loading settings from "/home/procyon/.mednafen/mednafen-09x.cfg"...
	 Compiled against SDL 1.2.14, running with SDL 1.2.14
	
	 Initializing joysticks...
	 Loading /home/roms/Nintendo - Nintendo Entertainment System/Ice Hockey (USA).zip...
	  Applying IPS file "/home/roms/Nintendo - Nintendo Entertainment System/Ice Hockey (USA).zip.ips"...
	  Failed: No such file or directory
	  Using module: nes(Nintendo Entertainment System/Famicom)
	
	   PRG ROM:    2 x 16KiB
	   CHR ROM:    1 x  8KiB
	   ROM CRC32:  0xae64ca77
	   ROM MD5:  0x51be3c0db685f71f4a69c573345310a2
	   Mapper:  0
	   Mirroring: Vertical
	
	   Loading cheats from /home/procyon/.mednafen/cheats/nes.cht...
	    Error opening file: No such file or directory
	
	 Initializing sound...
	  Using "ALSA" audio driver with device "default":
	   Bits: 16
	   Rate: 48000
	   Channels: 2
	   Byte order: CPU Native
	   Buffer size: 1536 sample frames(32.000000 ms)
	   Latency: 1536 sample frames(32.000000 ms)
	   Period size: 64 sample frames(1.333333 ms)
	 Initializing video...
	  Video Driver: OpenGL
	  Video Mode: 1024 x 672 x 32 bpp
	   Pixel shader: none
	  Fullscreen: No
	  Special Scaler: None
	  Scanlines: Off
	  Destination Rectangle: X=0, Y=0, W=1024, H=672
	  OpenGL Implementation: NVIDIA Corporation GeForce GTS 360M/PCI/SSE2 3.2.0 NVIDIA 195.36.24
	  Checking extensions:
	   GL_ARB_texture_non_power_of_two found.
	  Using non-power-of-2 sized textures.
	  Checking maximum texture size...
	   Apparently it is at least: 8192 x 8192
	 MMX
	 0.010284
	 Phases: 7, Output rate: 48001.567398, 261 7
	 Desired rate error: 0.0000400000, Actual rate error: 0.0000326541
	 Cutoff: 0.002362, 0.010284
	 FIR table memory usage: 21280 bytes
	 Phase 0: minimum=-1020.247854 maximum=8676.537916, mean=65529.625000
	 Phase 1: minimum=-1020.386039 maximum=8676.363966, mean=65530.000000
	 Phase 2: minimum=-1020.450210 maximum=8676.001413, mean=65530.375000
	 Phase 3: minimum=-1020.440905 maximum=8675.450272, mean=65527.750000
	 Phase 4: minimum=-1020.450210 maximum=8676.001413, mean=65530.375000
	 Phase 5: minimum=-1020.386039 maximum=8676.363966, mean=65530.000000
	 Phase 6: minimum=-1020.247854 maximum=8676.537916, mean=65529.625000

* Process error output:
	Illegal instruction


Any help would be appreciated. Likewise, any assistance I can provide is available. Thanks.
Re: Mednafen 0.9.12-wip [message #1816 is a reply to message #1789 ] Sat, 04 September 2010 07:43 Go to previous messageGo to next message
Administrator  [PM]
What are the outputs of:

gcc --version

and

cat /proc/cpuinfo
Re: Mednafen 0.9.12-wip [message #1817 is a reply to message #1816 ] Sat, 04 September 2010 08:27 Go to previous messageGo to next message
procyon  [PM]
Hi! For gcc --version:

gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3


For cat /proc/cpuinfo, I have a Core i7, so it was the following output eight times:

processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 30
model name	: Intel(R) Core(TM) i7 CPU       Q 740  @ 1.73GHz
stepping	: 5
cpu MHz		: 933.000
cache size	: 6144 KB
physical id	: 0
siblings	: 8
core id		: 0
cpu cores	: 4
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 11
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm ida tpr_shadow vnmi flexpriority ept vpid
bogomips	: 3457.51
clflush size	: 64
cache_alignment	: 64
address sizes	: 36 bits physical, 48 bits virtual
power management:
Re: Mednafen 0.9.12-wip [message #1818 is a reply to message #1789 ] Sat, 04 September 2010 09:08 Go to previous messageGo to next message
Administrator  [PM]
in src/nes/filter.cpp, line 305

replace

         #ifdef __x86_64__
         asm volatile("femms\n\t");
         #else
         asm volatile("emms\n\t");
         #endif


with

         asm volatile("emms\n\t");


Does it work ok after that?
Re: Mednafen 0.9.12-wip [message #1819 is a reply to message #1818 ] Sat, 04 September 2010 13:44 Go to previous messageGo to next message
procyon  [PM]
Yessir, it absolutely worked. Thanks very much!

Procyon
Re: Mednafen 0.9.12-wip [message #1824 is a reply to message #1819 ] Tue, 07 September 2010 01:43 Go to previous messageGo to next message
Dullaron  [PM]
Language for Neo Geo Pocket color can't be change to English. I don't why because Dark Arms - Beast Buster 1999 (World) (En,Ja) is playing in Japanese. Is the Language option broken?

Starting Mednafen 0.9.12
Internal emulation modules: nes snes gb gba pce pce_fast lynx md pcfx ngp vb wswan sms gg cdplay mmplay
External emulation modules:
Loading settings from "I:\Mednafen\mednafen-09x.cfg"...
Compiled against SDL 1.2.13, running with SDL 1.2.13

Initializing joysticks...
Loading I:\Roms\Neo Geo Pocket Color\Dark Arms - Beast Buster 1999 (World) (En,Ja).zip...
Applying IPS file "I:\Roms\Neo Geo Pocket Color\Dark Arms - Beast Buster 1999 (World) (En,Ja).zip.ips"...
Failed: No such file or directory
Using module: ngp(Neo Geo Pocket (Color))

Name: BEAST BUSTER
System: Color
Catalog: 69 (sub 20)
Starting PC: 0x200100
ROM: 2048KiB
ROM MD5: 0xfe0e58d34d650ae5174ca03d3efc67b0

Loading cheats from I:\Mednafen\cheats\ngp.cht...
Error opening file: No such file or directory

Initializing sound...
Using "DirectSound" audio driver with device "default":
Bits: 16
Rate: 48000
Channels: 2
Byte order: CPU Native
Buffer size: 2496 sample frames(52.000000 ms)
Latency: 2496 sample frames(52.000000 ms)
Initializing video...
Video Driver: OpenGL
Video Mode: 480 x 456 x 32 bpp
Pixel shader: none
Fullscreen: No
Special Scaler: None
Scanlines: Off
Destination Rectangle: X=0, Y=0, W=480, H=456
OpenGL Implementation: ATI Technologies Inc. ATI Radeon HD 4600 Series 3.3.10151 Compatibility Profile Context
Checking extensions:
GL_ARB_texture_non_power_of_two found.
Using non-power-of-2 sized textures.
Checking maximum texture size...
Apparently it is at least: 8192 x 8192

Re: Mednafen 0.9.12-wip [message #1825 is a reply to message #1824 ] Tue, 07 September 2010 02:57 Go to previous messageGo to next message
safaribans  [PM]
Dullaron:

That's odd, when I load it defaults to English for me...
http://img191.imageshack.us/img191/6610/screenshotdarkarmsbeast.th.png
You are certain you have edited mednafen-09x.cfg, not the old mednafen.cfg?

;Language games should display text in.
ngp.language 1

mednafen ~/Emulation/NGPC/Dark\ Arms\ -\ Beast\ Buster\ 1999\ \(World\)\ \(En\,Ja\).ngc.gz 
Starting Mednafen 0.9.12
 Internal emulation modules: nes snes gb gba pce pce_fast lynx md pcfx ngp vb wswan sms gg cdplay mmplay
 External emulation modules: 
 Loading settings from "/home/safaribans/.mednafen/mednafen-09x.cfg"...
 Compiled against SDL 1.2.14, running with SDL 1.2.14

 Initializing joysticks...
 Loading /home/safaribans/Emulation/NGPC/Dark Arms - Beast Buster 1999 (World) (En,Ja).ngc.gz...
  Applying IPS file "/home/safaribans/Emulation/NGPC/Dark Arms - Beast Buster 1999 (World) (En,Ja).ngc.gz.ips"...
  Failed: No such file or directory
  Using module: ngp(Neo Geo Pocket (Color))

   Name:    BEAST BUSTER
   System:  Color
   Catalog:  69 (sub 20)
   Starting PC:  0x200100
   ROM:       2048KiB
   ROM MD5:   0xfe0e58d34d650ae5174ca03d3efc67b0

   Loading cheats from /home/safaribans/.mednafen/cheats/ngp.cht...
    Error opening file: No such file or directory

 Initializing sound...
  Using "ALSA" audio driver with device "default":
   Bits: 16
   Rate: 48000
   Channels: 2
   Byte order: CPU Native
   Buffer size: 1536 sample frames(32.000000 ms)
   Latency: 1536 sample frames(32.000000 ms)
   Period size: 64 sample frames(1.333333 ms)
 Initializing video...
  Video Driver: OpenGL
  Video Mode: 640 x 608 x 32 bpp
   Pixel shader: none
  Fullscreen: No
  Special Scaler: None
  Scanlines: Off
  Destination Rectangle: X=0, Y=0, W=640, H=608
  OpenGL Implementation: Tungsten Graphics, Inc Mesa DRI Intel(R) 945GM GEM 20091221 2009Q4 x86/MMX/SSE2 1.4 Mesa 7.7.1
  Checking extensions:
   GL_ARB_texture_non_power_of_two found.
  Using non-power-of-2 sized textures.
  Checking maximum texture size...
   Apparently it is at least: 2048 x 2048

[Updated on: Tue, 07 September 2010 03:01]


I have never let my schooling interfere with my education.
-- Mark Twain
Re: Mednafen 0.9.12-wip [message #1826 is a reply to message #1789 ] Tue, 07 September 2010 10:34 Go to previous messageGo to next message
Dullaron  [PM]
Thanks for that info. It didn't added that command. So I copy it and then paste it at the bottom of the mednafen-09x.cfg. I don't know why it didn't have it before. Smile
Re: Mednafen 0.9.12-wip [message #1835 is a reply to message #1789 ] Thu, 23 September 2010 01:09 Go to previous messageGo to next message
nikdog  [PM]
I've been trying to make this build under osx 10.6.4 and I encounter the following error:
Making all in hw_sound
depbase=`echo pce_psg/pce_psg.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
	g++ -DLOCALEDIR=\"/usr/local/share/locale\" -DHAVE_CONFIG_H -ffast-math -I../../include -I../../intl -I../../include/blip -I../..   -I/opt/local/include   -I/opt/local/include    -fsigned-char  -Wall -Winline -Wshadow -Wempty-body  -fomit-frame-pointer -finline-limit=6000 --param large-function-growth=800 --param inline-unit-growth=175 --param max-inline-insns-single=10000 -fno-strict-overflow   -g -O2 -MT pce_psg/pce_psg.o -MD -MP -MF $depbase.Tpo -c -o pce_psg/pce_psg.o pce_psg/pce_psg.cpp &&\
	mv -f $depbase.Tpo $depbase.Po
pce_psg/pce_psg.cpp: In member function ‘void PCE_PSG::RunChannel(int, int32, bool)’:
pce_psg/pce_psg.cpp:578: error: ‘always_inline’ function could not be inlined in call to ‘void PCE_PSG::RunChannel(int, int32, bool)’: recursive inlining
pce_psg/pce_psg.cpp:648: error: called from here
make[2]: *** [pce_psg/pce_psg.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1

Any help would be greatly appreciated.
Re: Mednafen 0.9.12-wip [message #1836 is a reply to message #1789 ] Thu, 23 September 2010 12:25 Go to previous messageGo to next message
Administrator  [PM]
On line 578 of src/hw_sound/pce_psg/pce_psg.cpp try adding a "const" to bool LFO_On, so it looks like this:

INLINE void PCE_PSG::RunChannel(int chc, int32 timestamp, const bool LFO_On)

I don't know if that'll fix it or not, though. Which version of gcc are you using?
Re: Mednafen 0.9.12-wip [message #1837 is a reply to message #1789 ] Thu, 23 September 2010 12:32 Go to previous messageGo to next message
Administrator  [PM]
Nevermind, that doesn't fix it. You can just take out the INLINE for a quick fix.
Re: Mednafen 0.9.12-wip [message #1839 is a reply to message #1837 ] Thu, 23 September 2010 14:27 Go to previous messageGo to next message
nikdog  [PM]
I'm using i686-apple-darwin10-gcc-4.2.1

After removing inline I have a new problem:
Making all in sound
make[2]: Nothing to be done for `all'.
depbase=`echo error.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
	g++ -DLOCALEDIR=\"/usr/local/share/locale\" -DHAVE_CONFIG_H -ffast-math -I../include -I../include/blip -I../intl   -I/opt/local/include   -I/opt/local/include    -fsigned-char  -Wall -Winline -Wshadow -Wempty-body  -fomit-frame-pointer -finline-limit=6000 --param large-function-growth=800 --param inline-unit-growth=175 --param max-inline-insns-single=10000 -fno-strict-overflow   -g -O2 -MT error.o -MD -MP -MF $depbase.Tpo -c -o error.o error.cpp &&\
	mv -f $depbase.Tpo $depbase.Po
error.cpp: In member function ‘void ErrnoHolder::SetErrno(int)’:
error.cpp:104: error: invalid conversion from ‘int’ to ‘char*’
make[2]: *** [error.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
Re: Mednafen 0.9.12-wip [message #1855 is a reply to message #1789 ] Mon, 11 October 2010 19:41 Go to previous messageGo to next message
procyon  [PM]
Hey there. Just upgraded to Ubuntu 10.10. Seems to be a new g++ version which is causing some issues. Running g++ --version spits out

g++ (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5


Attempting to make mednafen bombs out in the middle of the SNES portion of the code. After a make clean, a new ./configure, and attempting a make, I get:

Making all in snes
make[2]: Entering directory `/usr/emus/mednafen 0.9.12/src/snes'
depbase=`echo src/cpu/scpu/scpu.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
    g++ -DLOCALEDIR=\"/usr/local/share/locale\" -DHAVE_CONFIG_H -ffast-math -DNOMINMAX -I../../include -I../../intl -I../../src/snes/src/lib   -fsigned-char  -Wall -Winline -Wshadow -Wempty-body -Wignored-qualifiers  -fomit-frame-pointer -finline-limit=6000 --param large-function-growth=800 --param inline-unit-growth=175 --param max-inline-insns-single=10000 -fno-strict-overflow -I -I -g -O2    -Wno-shadow -Wno-unused -Wno-sign-compare -Wno-inline -g -O2 -MT src/cpu/scpu/scpu.o -MD -MP -MF $depbase.Tpo -c -o src/cpu/scpu/scpu.o src/cpu/scpu/scpu.cpp &&\
    mv -f $depbase.Tpo $depbase.Po
In file included from ../../src/snes/src/lib/nall/any.hpp:5,
                 from ../../src/snes/src/lib/../base.hpp:18,
                 from src/cpu/scpu/scpu.cpp:1:
../../src/snes/src/lib/nall/static.hpp:5: warning: identifier ‘static_assert’ will become a keyword in C++0x
In file included from ../../src/snes/src/lib/../interface.hpp:12,
                 from ../../src/snes/src/lib/../base.hpp:46,
                 from src/cpu/scpu/scpu.cpp:1:
../../src/snes/src/lib/../memory/memory.hpp:51: warning: type qualifiers ignored on function return type
In file included from ../../src/snes/src/lib/../interface.hpp:34,
                 from ../../src/snes/src/lib/../base.hpp:46,
                 from src/cpu/scpu/scpu.cpp:1:
../../src/snes/src/lib/../memory/memory-inline.hpp:49: warning: type qualifiers ignored on function return type
In constructor ‘SNES::sCPU::sCPU()’:
cc1plus: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.4/README.Bugs> for instructions.
make[2]: *** [src/cpu/scpu/scpu.o] Error 1
make[2]: Leaving directory `/usr/emus/mednafen 0.9.12/src/snes'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/emus/mednafen 0.9.12/src'
make: *** [all-recursive] Error 1


What do you recommend? Thanks!
Re: Mednafen 0.9.12-wip [message #1856 is a reply to message #1855 ] Thu, 14 October 2010 20:35 Go to previous messageGo to next message
haikai  [PM]
It would be good of you to report that ICE. http://gcc.gnu.org/bugs/

In the meantime you could compile Mednafen without SNES and use the newest version of bsnes directly instead. Alternatively, try an earlier or later version of GCC. :)
icon7.gif  Re: Mednafen 0.9.12-wip [message #1863 is a reply to message #1789 ] Thu, 21 October 2010 22:10 Go to previous message
Tanuki  [PM]
Hi everyone,

First post but long time user and fan of Mednafen. Many thanks to 'Mednafen Author' for an amazing all-in-one, cross-platform emulator.

I have a question regarding the snes module, any chance the final 0.9.x will use byuu's lean performance core?

Good luck and keep up the good work!
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic:Mednafen 0.9.0 WIP
Next Topic:Mednafen 0.9.14-WIP
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ ]

Current Time: Fri Apr 26 07:02:07 CDT 2024
.:: Contact :: Home ::.

Powered by FUDforum.
Copyright © FUDforum Bulletin Board Software