Comments: Those who know how can use the video clock XTAL to determine timing? I'm afraid I don't know the proper formulas to determine vblank/vsync/refresh rates.
- added support for arbitrary number of containers for render_target
- added command-line parameter -debug_internal (-di) to use the internal debugger when in debug mode
- internal debugger supports all views except memory view
- added "Debug" view to layout/vertical.lay to create more place for debug views in vertical games.
The colors are ugly. Font rendering needs improvement. There are no shortcut keys right now. There is still a lot of room for more improvements.
However, it works and does not depend on any ui toolkit. The interface has been designed to support displaying views programmatically e.g. from the ui.
Currently, the ui render target is used. In order to support views being displayed in separate windows further changes are needed:
- the osd layer must support creating and closing windows (render targets) on demand.
- There must be a mode for render targets where their bounds follows the window size - Currently the render target size depends on the aspect of currently selected "artwork" view.
- Render target needs a name property.
Short HowTo:
- Start MAME with "-debug -di"
- Console, register and disasm views will be shown. Place them by dragging the view on the title bar.
- Views can be resized by dragging the bottom-right yellow square.
- The view having the focus has a green background title bar.
- Hit "Tab" (IPT_UI_CONFIGURE) to show the menu.
- Console and disasm views support a very simple facility to support entering commands and addresses. Just start typing. Hit "enter" when finished.
- Removed GAME_COMPUTER it is distinct by IPT_KEYBOARD
- Added GAME_NO_SOUND_HW (to mark that there is no sound hardware) and marked drivers in dotrikun.c, minivadr.c and tgtpanic.c as such
- Added GAME_CAN_SHARE_ROMS - to mark that there can be other driver using same ROM as this one but with different hardware (common in computer/console world)
* moved colour struct to be another layer (simplifying some code)
* updated hires blending to work with two pixel at time.
* fixed clipmasks with hires modes
Comments: I didn't touch anything to do with the old/new galaxian drivers yet. I'm waiting to do that later as I anticipate that will be pretty major with number of changes and number of notes.
* moved color blending (background & subscreen color addition/subtraction) at the end of the drawing process.
* removed some unused (and not working anymore) debug code
out of whatsnew, I also undid 2 small changes which entered rev 8257/8258 by mistake (one of which was responsible of dynamic resolution breakage).
side note: finally video/snes.c do not directly refers to snes_ram anymore (except for debug logging). this will be of use, if I ever get to make a device for the PPU :)
---------------------------------------------------
Logic Pro Adventure [Guru, D. Beneke, snoopy, pongplaya, W. Belk, hap, S. S. Neilson, JacKc, The Dumping Union]
Fair warning: the PSX GPU locks up infinitely rendering a triangle if you let
it go past the first logo screen. If you coin up there it's fully playable.
- Added frame buffer
- Fixed sprite list end, negative coordinates, wrap around
- Added battery backed RAM
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Skill Drop Georgia [Luca Elia, Smitdogg, Brian Troha, The Dumping Union]
ACRTC implementation is a bit hacky due to its preliminary emulation status.
New games marked as GAME_NOT_WORKING
------------------------------------
Joker's Wild (B52 system, set 1) [Roberto Fresca, Tomasz Slanina, Gerald Vanderick]
Joker's Wild (B52 system, set 2) [Roberto Fresca, Tomasz Slanina]
Joker's Wild (B52 system, Harrah's GFX) [Roberto Fresca, Tomasz Slanina, Gerald Vanderick]
Doesn't do much at the moment, but the increase in documentation value is
significant (we're documenting the sample compression format, for one thing).
Replaced all occurrences of OPTION_DEBUG in src/osd/* by checking machine->debug_flags
Replaced all occurrences of DEBUG_FLAG_ENABLED in src/osd/* by DEBUG_FLAG_OSD_ENABLED
For the time being, DEBUG_FLAG_OSD_ENABLED is default (set in mame.c)
Debugger: avoid clearing DEBUG_FLAG_OSD_ENABLED
- ui_input_frame_update is now global
- moved element_component from rendlay.c to rendlay.h
- added ability to rendlay.c to define "container" components. These simply provide a render_container.
I plan to remove the above again and simply use one container covering the whole render_target. This container will be rendered after the artwork and before the ui. For this to work, DViews need move and resize support. Render_targets will than be equivalent to virtual desktops.