maximum length when period register is set to 0. Fixed white-noise
phase/XOR issue: got rid of noise XOR/XNOR select, as all chips seem
to use XOR. [Lord Nightmare, Michael Zapf, PlgDavid]
- Moved Kinnikuman Muscle Grand Prix and Taiko No Tatsujin 9
to System 256
- Added DVD images for netchu02, soulcl2a, tekken4b, tekken51,
sukuinuf, and soulclb3
(bootleg of Megadrive version) [Mariusz Wojcieszek].
New games promoted from NOT_WORKING
-----------------------------------
Mortal Kombat 3 (bootleg of Megadrive version)
[Mariusz Wojcieszek, Patrick McCarron, Smitdogg, The Dumping Union]
- Moved "known bugs" to README_SDL13.txt
This is what has been there:
- fixed returning (w,h) = (0,0) in get_max_bounds
- new video driver "sdl13" utilitizing SDL texture and line
drawing support. Accelerated drivers like directfb now
may attain opengl speed. DirectFB does with a radeon card.
The driver determines which pixel formats perform best and
converts textures to these pixel formats.
Supported options:
-waitvsync
-filter
-prescale
Supported renderdrivers:
X11: opengl, software, x11 (no artwork!)
DirectFB: directfb, software, opengl (special setup, slow)
Windows: software, gdi (no artwork)
- SDL1.3: Clear bck when moving
- SDL1.3: now compiles on win32
- SDL1.3: Support screen refresh rates, provided the sdl video
layer supports them (e.g. X11).
- Use video_config.waitvsync (previously option was queried)
- -video soft / -sm now supports -prescale
- removed reqwidth, reqheight from sdl_monitor_info; not used anywhere
- removed layerconfig from sdl_video_config; not used anywhere
- fixed yuv issues (firefox) / this was a bug I introduced
- removed deprecat.h from output.c
- Separated keyboard and mouse initialization into separate functions
- added _FORTIFY_SOURCE to verbose compiler define output.
- remove MAX_CPU from debugwin.c
- fixed vsync handling in SDL1.3 in soft/opengl drivers
- "waitvsync" also supported by "soft" driver in SDL1.3
- multiple mice and keyboards supported in SDL1.3
- support for DISTRO= make option
- got rid of "-joymap" and "-joymap_file"
- add -joy_idx[0-7] -keyb_idx[0-7] -mouse_idx[0-7] which
specify, which device is allocated to to e.g. Mouse 1, Mouse 2, ...
- moved define of THREAD_COOPERATIVE into sdl.mak and renamed to
NO_THREAD_COOPERATIVE. Changed references to #ifndef
- define NO_DEBUGGER in sdl.mak
- Solaris now uses -DNO_AFFINITY_NP
- added machine to window_info, removed deprecat.h from drawogl.c
- For DEBUG=1 builds, disable input grapping while windowed
- Fixed WIN32 compile
Wrote setenv function since mingw does not provide one.
Implemented osd_event_* as inline functions for win32 build.
We should at some point merge sdlwork.c and winwork.c and push it
to the core, letting sdlsync.c provide the necessary details.
- Removed keybled.c and references
- Added output.c and output.h. These will look for a fifo or file
/tmp/sdlmame_out and write output notifiers to it.
Added a sample client ledutil.sh to src/osd/sdl which turns
leds on and off and provides a debug (log) facility.
- removed os2work.c
- replaced window->render_lock with event window->rendered_event
For multiple windows and "-mt", the old code would allow filling up
the workqueue with 1000s of entries, since the lock would not block while
another window is rendered. The osd_event establishes a barrier which
is only freed if the last window blit operation has finished.
- Set SDL_VIDEO_GL_DRIVER if -gl_lib is given. The SDL directfb driver is picky about
this. Added reminder: FIXME: move lib loading code from drawogl.c here. This may be
used to disable opengl if no library was loaded.
- SDL1.3/video=opengl: Fixed windows not being updated after another window was resized
- for -verbose, output some information about renderer (-video soft)
- initialize mouse_enabled with option "-mouse". Affects both SDL1.2 and SDL1.3
This will hide the mouse if you specify "-mouse".
- SDL1.2: added blitmode "async" which sets SDL_ASYNCBLIT
- SDL1.2: removed blitmodes "hwbest" and "hwblit"
- added blitmode "hwbest" for antialiased and smoothed scaling now that the
directfb driver supports it. This is also supported by the 1.3 opengl
render backend
- added sdlinput_release_keys to cope with lost keyboard events in SDL1.3
- some identing in drawogl.c
- rename SDL_* macros to SDLMAME_* (avoid name clashes)
- got rid of VIDEO_SCALE_MODE constants. Scale modes are now handled in drawsdl.c.
Starting mame with eg. -video soft -sm yuy2 on X11 no longer crashes.
- some more changes to input.c to avoid resize loops (issue for directfb)
- working ui mouse inputs for SDL1.2 and SDL1.3 incl. yuv modes
- added blitmode "hwblit" (SDL1.3) for rgb hardware scaling
- rename "-yuvmode" option to "-scalemode"
- rename yuv_mode and derivatives to scale_mode
- moved extra_flags into sdl_info
- moved callbacks indow sdl_window_info
- made a number of flags (e.g. yuvmode) window relative
- changing of yuvmodes and opengl scale effects is working with SDL 1.3
- improved fullscreen handling
- removed HAS_WINDOW_MENU - this has no effect nowhere
- removed underscores in header defines, e.g. __SDL_SYNC__ ==> __SDLSYNC__
- added SDLMAME_HAS_DEBUGGER define
- removed #if 0 inw window.c
- added option "-audiodriver" to specify the SDL audio driver
- added option "-videodriver" to specify the SDL video driver
- added option "-renderdriver" to specify the SDL renderer driver
- changed environment SDLMAME_GL_LIB into option -gl_lib
- added some more SDL_ENV defines
- move keymap reading into separate function
- SDL_EnableUNICODE for all builds (not only MESS)
- SDL1.3 : Mouse & text input for ui
- removed osd_event_wait_multiple from sdlsync.h
- removed some includes not needed
- reorganized texcopy/scale2x
- removed effect.h
- removed effect_func.h
- indenting
- put osd_copyfile, osd_stat into #ifdef MESS
- added code which implements events without the need
for pthreads. This is commented out, since
owever, it horribly fails, if
threads > num processors as is the case if you
enable "-mt"
- rename mame_bitmap to bitmap_t
- introduced define OSDWORK_CALLBACK to prototype and
define functions to be passed to sdlwork.c
- fixes from judge for warnings / may reappear (glade)
- more warnings fixed / may reappear (glade)
- moved osdefs.h into sdlprefix.h
- removed osdefs.h
- finally removed sdlmisc.h
- create drawogl.c and moved ogl relevant stuff there
- draw.window_init() now called after window creation
- removed window.opengl flag
- added sdl_window_info as parameter to all functions in window.h
- rename SDL_VERSIONNUM to SDL_VERSION_ATLEAST
- removed all uclock stuff in sdlmisc.[ch]
- minor cleanups
- fixed compile issues against SDL13
- fixed input issues with SDL13
- stricter checks for USE_OPENGL, e.g. for options
- move sdlvideo_loadgl to window.c, rename it to sdlwindow_loadgl and make it static
- moved yuv_blit.c into drawsdl.c
- renamed compute_blit_surface_size to sdlwindow_blit_surface_size
- renamed drawsdl_destroy_all_textures to drawogl_destroy_all_textures and
moved it to _sdl_draw_callbacks
- removed print_colums
- rename misc.h to sdlmisc.h
- moved some includes from .h to .c
- rename led_init to sdlled_init for consistency
- rename sdl_init_audio to sdlaudio_init for consistency
- fixed some indentation issues
- removed ticker.h & dirty.h
- changed all [f]printf to mame_printf_verbose|error|warning
- removed obsolete frameskipping code
- removed obsolete throttle code
- removed fastforward
- removed framestorun
- introduced SDLOPTION constants for a number of options
- add more verbose info for YUV
- removed dirty.h
- removed ticker.h
- remove win_trying_to_quit
- changed win_use_mouse to static use_mouse
- removed win_key_trans_table
- removed keyboard typematic definitions from input.h
- made sdl_monitor_list static
- removed hwstretch (sdl_video_config)
- removed syncrefresh (sdl_video_config)
- removed triplebuf (sdl_video_config)
- removed sdl_has_menu
- fixed memory_leak (window.c)
- moved prototypes from drawsdl.c to window.h
- removed joystick calibration code
- "#if 0" code which is unreachable
- "#if 0" code which is never used
- moved pick_best_mode to window.c
- removed pause_brightness option
- added more SDLOPTION_ defines
- renamed void yuv_lookup_init to drawsdl_yuv_init (global namespace)
- rmoved some obsolete code
- add SDL1.3 compatibility
- fixed some compile issues
- moved clear_surface into window thread
- got SDL1.3 -mt working - still crashing on exit
- removed "digital" option
- removed device selection options
- added more SDLOPTION defines
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.