Mednafen Members Members   Search Search   Help Help   Register Register   Login Login   Home Home
Home » Site » News » Mednafen 0.9.14-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.14-WIP [message #1879] Sat, 06 November 2010 22:04 Go to next message
Administrator  [PM]
Important Virtual Boy note: Mednafen will no longer recognize files with a ".bin" extension as Virtual Boy ROM images. The extension should be ".vb" or ".vboy".


Virtual Boy emulation has a new 3D mode, "hli", and the old "pbarrier" 3D mode has been renamed to "vli". All new settings "vb.liprescale"(for the hli and vli 3D modes exclusively) and "vb.3dreverse"(reverses left/right) have been added.


Bug fixes include(but not limited to) making 2xSaI filters not crash, correcting the default L/R button assignments for PC Engine mouse(not done with PCE_FAST yet though), fixed PC Engine CD ADPCM IRQ generation(correcting Langrisser battle sounds), and a few PC Engine debugger-related fixes.


For porters, important changes include:
  • MDFNGI member "pitch"(in bytes) has been changed to "fb_width"(in pixels)
  • Added support for 16bpp render to the PCE_FAST emulation module(most core Mednafen code and emulation modules can't/don't handle 16bpp though).



Changes since 0.9.12 (0.9.13 was recalled due to defective brakes):
-- 0.9.14-WIP: --

November 6, 2010:
        Corrected the last updated dates in the auto-generated documentation files.

        VB: Uncommented out important save state code that was commented out for debugging purposes(and was accidentally left
        that way).

-- 0.9.13-WIP: --
November 5, 2010:
	PCE: The timestamp displayed in the debugger is now counted from when a virtual power off->on occurred, rather
	than the start of the Mednafen video frame.  However, the displayed value wrap when it reaches 2^32 due to limitations
	in the debugger code(TODO: fix in the future).

	PCE: Fixed default mouse L/R button assignments(they were reversed).  (You'll need to delete the Mednafen configuration
	file for the new defaults to take effect, or reconfigure the mouse in Mednafen, with the correct L/R button
	assignment)

	PCE: Fixed a bug that caused the debugger to corrupt Arcade Card state in certain common situations while the debugger
	was open or breakpoints were enabled.

	PCE, PCE_FAST: Reworked and fixed the ADPCM code to closer match a real system(based on hardware tests).  Previously,
	ADPCM playback IRQ generation was sooooo wrong.  These changes finally fix the broken battle voices in "Langrisser",
	yay.

October 17, 2010:
	Fixed 2xSaI family filters to not crash; the 2xSaI filter source image data is now from a temporary video buffer
	created from the original source video buffer, but with padding on all sides to handle 2xSaI's lack of source 
	video buffer coordinate bounds checking.

October 14, 2010:
	Re-disabled physical CD unreadable sector testing code, as it causes too long of a delay at startup.  A
	different solution will need to be found.

October 4, 2010:
	PCE: Optimized debugger PC and opcode breakpoint testing during emulation.

October 3, 2010:
	PCE: Fixed CD register reads with side effects when the debugger is open, and changed PCE_InDebug from bool to uint32,
	to allow for ++/-- pairs instead of = true, = false, to handle potential recursion.

September 30, 2010:
	PCE_FAST: Fixed a emulator crash in the case that a game didn't initialize MPRs properly.

	PCE_FAST: Made a small optimization to the HuC6280 core.

	PCE_FAST: Rewrote a bit of HES playback code so it works at a lower-level, allowing the removal/privatization of some
	HuC6280 state setting functions.

September 29, 2010:
	PCE_FAST:  Fixed a reversed-tile issue with BG drawing on big-endian platforms(thanks to Rakashazi for pointing it out).

	PCE_FAST:  Added 16bpp rendering support.

	NES:  Added 16bpp rendering support.

	Added 16bpp support to MDFN_Surface and MDFN_PixelFormat.  However, most internal components in Mednafen currently
	can't handle 16bpp, emulation modules included.

September 25, 2010:
	Altered the text for the "sound" setting to better match what it actually does.

September 19, 2010:
	The destination blit rectangle in the video output code now has the lowermost bits of the X and Y coordinates cleared,
	as a quick kludge to fix potential issues with the VB emulation's "hli" and "vli" video modes.  A cleaner
	solution may be prudent in the future.

	VB: Added setting "vb.liprescale".

	Optimized the "hli" video mode drawing code slightly.

September 18, 2010:
	VB: Added setting "vb.3dreverse".

	VB: Renamed "pbarrier" 3dmode to "vli".

	VB: Added 3dmode "hli".

September 16, 2010:
	When -force_module is used with an unknown/invalid system, Mednafen will print an error stating so, rather
	than stating that the file format is unrecognized.  If the system is recognized, but the system only supports CDs
	and the file being loaded is not a CD image, a message will be printed to that effect.

September 13, 2010:
	PCE_FAST: HDS is now used in calculating the screen viewable area position, fixing the "Final Blaster" intro
	sequence.

September 12, 2010:
	Fixed a significant memory leak in the video output code(the leak would increase every time fullscreen is toggled
	while Mednafen is running).

	PCE_FAST: Fixed a benign(in Mednafen as it is now) memory leak.

	PCE_FAST, PCE: IsSGX variable is now explicitly initialized to 0 correctly.

	Updated the AX_CFLAGS_GCC_OPTION autoconf macro.

	PCE_FAST: Renamed various identifiers in the HuC6280 emulator code to avoid conflicting with C reserved identifier
	conventions.

	PCE_FAST: Removed unused VDC debug code.

	NES: An error while attempting to open the file specified by setting "nes.cpalette" will no longer cause Mednafen
	to crash.

	SCSI CD:
		Refactoring and code cleanups.

		Added various command error condition checks, and corrected various error codes(NEC uses a few
		nonstandard ASC values). (INCOMPLETE)

		Specific command fixes for PCE CD:
		 Command 0xD8:  If the command is executed with the same address as when it was previously executed,
		 		and the previous execution was < 190ms ago, then the new execution
				is ignored(this occurs regardless if the previous command was ignored).  This is more
				of a kludge than a proper fix, and it is intended to fix the silent CD-DA problem
				with "Steam Heart's".

		Specific command fixes for PC-FX:
		 MODE SENSE and MODE SELECT:
			Added support for block descriptor(incomplete), and the DBD bit for MODE SENSE.
			Added support for all the mode pages present on a PC-FX(though most don't actually do anything
				in emulation yet, as I do not know their function or their function is irrelevant at the current
				level of CD emulation accuracy).

		 Command 0x25:  Corrected returned data when PMI bit is set.
		 Command 0x42:	Fixed the relative address returned when the address results are expressed as LBA.
		 Command 0xD8:  Proper support for play bit.
		 Command 0xD9:	Improved play mode evaluation, and play mode 0x1 is no longer erroneously
				interpreted as loop mode(only 0x4 is).
		 Command 0xDD:	The control/adr field is now returned in the data.
		 Command 0xDE:	Added emulation of returned data mode 0x03(there was a dummy stub before, to get the PhotoCD
				player to work).

September 11, 2010:
	Changed hqxx's sole supported pixel format to match the new OpenGL texture pixel format used(in the future, changing
	its hardcoded pixel format based on an #ifdef MSB_FIRST may be warranted).

	WonderSwan:  Re-enabled(and fixed) debugger's graphics viewer.

	PCE_FAST: Reduced fb_height from 256 to 242.

September 10, 2010:
	If Mednafen is running with an OpenGL implementation of OpenGL >= 1.2, and is on an x86 or x86_64 platform,
	it will now upload texture data in GL_BGRA GL_UNSIGNED_INT_8_8_8_8_REV format rather than GL_RGBA GL_UNSIGNED_BYTE.
	This may need to be tweaked for older video cards.  Would it have killed the OpenGL developers to have
	included a means of querying the fastest formats for texture uploading?

September 8, 2010:
	todo: make sure tblur works right with surface->pitch32 != gameinfo->fb_width and player

        Converted MDFNGI pitch(in bytes) to fb_width(in pixels).

        Fixes for incorrectly using MDFNGameInfo->fb_width instead of the surface's pitch:
		gb
		gba
		lynx(was hardcoded)
		nes
		ngp
		pce_fast(was hardcoded)
		player
		wswan
		mmrecord.cpp
		tblur.cpp

	Reduction of fb_width to minimum acceptible for the module(the driver-side can still round up to a power of 2 when
	creating the MDFN_Surface, of course):
		gb
		gba
		lynx
		ngp
		pce_fast(required a bit of work in vdc.cpp to eliminate non-visible-area surface rendering)
		vb
		wswan


September 5, 2010:
	PC-FX: Implemented an optimization to the FX VCE layer mixing priority evaluation code, that will also allow further
	optimization in the future.

September 4, 2010:
	NES: Replaced "femms" inline assembly generated when compiling for x86_64 with "emms", as not all x86_64
	processors are made by AMD.

August 24, 2010:
	PC-FX: Track numbers in READ TOC(10) are now returned in hex instead of BCD(fixes BIOS handling of discs
	with a large number of tracks; no PC-FX games are like this, but it may be useful for playing audio CDs or audio
	portions of PCE CD).  The bug was present in 0.8.x, but due to a design decision/bug elsewhere, it didn't
	cause the BIOS to be unable to play the CD-DA tracks.

August 22, 2010:
	Re-enabled raw MMC command usage for reading physical discs(it had been disabled for debugging purposes).

	PC-FX: A PhotoCD disc will now automatically be detected as being handled by the PC-FX module.

	L-EC correction code is now called external to cdromfile.cpp, and with PC-FX/PCE CD emulation, will generate
	a SCSI error if it fails.

August 20, 2010:
	SNES: Applied a patch from Jonas Quinn to fix a Cx4 emulation bug.

	VB: Mednafen will no longer automatically recognize files with the ".bin" extension as Virtual Boy games,
	as the extension conflicts with Sega Genesis/Megadrive.  If you have any such files, they will need to be renamed
	to have an extension of ".vb" or ".vboy".

	VB: Files with the extension ".vboy" are now automatically recognized as Virtual Boy games.

	VB: Altered timer emulation to fix digital sound and voice playback in "Virtual Bowling".  The change has the
	possibility of causing regressions with other games, but none were detected in very quick and not thorough testing.

August 14, 2010:
	Cleaned up git.h slightly.

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

Re: Mednafen 0.9.14-WIP [message #1880 is a reply to message #1879 ] Sun, 07 November 2010 01:10 Go to previous messageGo to next message
Administrator  [PM]
Oh, an FYI, PCE CD save states made with previous 0.9.x versions aren't really compatible with this release. They might work, they might not.

Though really, this should be considered the case by default for all systems for any new 0.9.x-WIP release, it's WIP for a reason. Wink
Re: Mednafen 0.9.14-WIP [message #1882 is a reply to message #1879 ] Sun, 07 November 2010 11:33 Go to previous messageGo to next message
Speedvicio  [PM]
Good Work.

How to enable 16bpp in emulation?
I don't see any reference in help html file.

[Updated on: Sun, 07 November 2010 12:21]

Re: Mednafen 0.9.14-WIP [message #1883 is a reply to message #1879 ] Sun, 07 November 2010 15:48 Go to previous messageGo to next message
Administrator  [PM]
You're a porter?

You'd do something like:

  MDFN_PixelFormat nf;

  nf.bpp = 16;
  nf.colorspace = MDFN_COLORSPACE_RGB;
  nf.Rshift = 11;
  nf.Gshift = 5;
  nf.Bshift = 0;
  nf.Ashift = 16;

  nf.Rprec = 5;
  nf.Gprec = 6;
  nf.Bprec = 5;
  nf.Aprec = 8;

and then pass nf to new MDFN_Surface()

[Updated on: Sun, 07 November 2010 15:50]

Re: Mednafen 0.9.14-WIP [message #1884 is a reply to message #1879 ] Sun, 07 November 2010 18:00 Go to previous messageGo to next message
Rakashazi  [PM]
Great update, can't wait to test out the new code Smile

Triggered a bug in cdromif.cpp the other day while moving some functions around in my driver code. SBWritePos and last_read_lba are statically initialized but upon loading multiple CDs they'll be left at bogus values causing an infinite loop. Fixed this by initializing them again in CDIF_Open(). Also, SBMutex is allocated in that function each call but never deallocated in CDIF_Close().
Re: Mednafen 0.9.14-WIP [message #1889 is a reply to message #1879 ] Mon, 08 November 2010 11:24 Go to previous messageGo to next message
Speedvicio  [PM]
A little bug in win version.

If you set hli or vli mode in virtual boy and set a new filter (supereagle, super2x etc..), the vb games not start.
Re: Mednafen 0.9.14-WIP [message #1890 is a reply to message #1879 ] Mon, 08 November 2010 16:09 Go to previous messageGo to next message
Administrator  [PM]
What's the output of Mednafen when it starts up? You're probably exceeding your OpenGL implementation's maximum texture size. Special scaling filters aren't going to work properly with hli and vli anyway, since special scalers are applied after the 3D mixing effect for performance reasons(and/or code clarity/laziness reasons ;b).

[Updated on: Mon, 08 November 2010 16:10]

Re: Mednafen 0.9.14-WIP [message #1891 is a reply to message #1890 ] Mon, 08 November 2010 16:29 Go to previous messageGo to next message
Speedvicio  [PM]
Administrator wrote on Mon, 08 November 2010 23:09

What's the output of Mednafen when it starts up? You're probably exceeding your OpenGL implementation's maximum texture size. Special scaling filters aren't going to work properly with hli and vli anyway, since special scalers are applied after the 3D mixing effect for performance reasons(and/or code clarity/laziness reasons ;b).



This is the output log:

Quote:

Initializing sound...
Using "DirectSound" audio driver with device "default":
Bits: 16
Rate: 22050
Channels: 2
Byte order: CPU Native
Buffer size: 1146 sample frames(51.972789 ms)
Latency: 1146 sample frames(51.972789 ms)
Variable missing from save state: TimerStatusShadow
Initializing video...
Video Driver: OpenGL
Video Mode: 384 x 896 x 32 bpp
Pixel shader: none
Fullscreen: No
Special Scaler: supereagle
Scanlines: Off
Destination Rectangle: X=0, Y=0, W=384, H=896
OpenGL Implementation: ATI Technologies Inc. ATI Radeon HD 5700 Series 4.0.10243 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: 16384 x 16384
Using GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV for texture source data.

Signal 11 has been caught and dealt with...
Iyeeeeeeeee!!! A segmentation fault has occurred. Have a fluffy day.



Another strange problem with all version of mednafen is in the support of pixshader effect.
With my ATI radeon HD 5700 all game not load with pixshader activate, previous i had a nvidia 8800 installed and this problem never appear.

This is the log:

Quote:

Initializing sound...
Using "DirectSound" audio driver with device "default":
Bits: 16
Rate: 22050
Channels: 2
Byte order: CPU Native
Buffer size: 1146 sample frames(51.972789 ms)
Latency: 1146 sample frames(51.972789 ms)
Initializing video...
Video Driver: OpenGL
Video Mode: 384 x 224 x 32 bpp
Pixel shader: scale2x
Fullscreen: No
Special Scaler: None
Scanlines: Off
Destination Rectangle: X=0, Y=0, W=384, H=224
OpenGL Implementation: ATI Technologies Inc. ATI Radeon HD 5700 Series 4.0.10243 Compatibility Profile Context
Checking extensions:
GL_ARB_texture_non_power_of_two found.
Vertex shader was successfully compiled to run on hardware.

[Updated on: Mon, 08 November 2010 16:32]

Re: Mednafen 0.9.14-WIP [message #1892 is a reply to message #1879 ] Mon, 08 November 2010 19:54 Go to previous message
Administrator  [PM]
It was a bug in the supereagle 2xSaI code, it'll be fixed in 0.9.15.

The shader problem should also be fixed in 0.9.15, Mednafen's shader initialization code wasn't testing for errors correctly.

[Updated on: Mon, 08 November 2010 19:55]

  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic:Mednafen 0.9.12-wip
Next Topic:Mednafen 0.9.15-WIP
Goto Forum:
  

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

Current Time: Tue Apr 23 21:01:01 CDT 2024
.:: Contact :: Home ::.

Powered by FUDforum.
Copyright © FUDforum Bulletin Board Software