Commit Graph

370 Commits

Author SHA1 Message Date
Miodrag Milanovic
d14d6a8099 Do web serving in main thread (nw) 2014-09-08 07:51:14 +00:00
Fabio Priuli
747d998ca5 Reducing differences in File Manager options when entering from
softlist vs fullpath. nw.
2014-08-27 11:29:59 +00:00
Fabio Priuli
301d5336bd fixed crash in File Manager when selecting "Return to Previous Menu" from
the softlist menu. nw.
2014-08-27 10:37:17 +00:00
Fabio Priuli
8db701aeaf (MESS) ui.c: added shortcut commands for Tape Start and Tape Stop,
by default mapped to F2 and Shift+F2, respectively. This is not meant 
as a replacement for the internal Tape Control menu, but it shall make
simpler the usage of game tapes in home computers. Notice that 
REC/RWD/FWD have still to be pressed from the internal UI and that 
if you mount multiple cassettes in a driver with multiple tape drives 
only the first one will be controllable with these shortcuts. [Fabio Priuli]

The idea is that more complex actions (e.g. save you own BASIC program 
or copy programs from a tape to another, etc.) should be performed through
the internal menu, while people just aiming to play games can use the
shortcut. 
This commit requires probably a clean build.
2014-08-18 07:59:13 +00:00
Fabio Priuli
45224cfb12 (MESS) tapectrl.c: fixed bug where systems with multiple cassette drives (e.g. PET)
had no Tape Controls when no cassette was loaded in the first drive. [Fabio Priuli]
2014-08-18 07:50:28 +00:00
Scott Stone
dee629429b Fix for MT#5620: Crosshair: Selected graphic does not display properly from QMC2 2014-07-04 00:19:43 +00:00
Miodrag Milanovic
991212c069 -Created machine_manager as singleton class that contains (for now) one running machine [Miodrag Milanovic]
-Updated LUA engine to run in machine_manager instead of being initialized per machine
-Added "-console" option so emulator can be started with LUA enabled console
-Update LUA to version 5.2.3 
-Enabled SQLite3 to be compiled and added LUA module for it
2014-06-06 10:11:31 +00:00
Robbbert
d17e376dc6 In the File Manager, if the path is invalid, show the list of drives instead of an empty menu. 2014-05-29 11:15:11 +00:00
Miodrag Milanovic
f8f3d68187 -Made osd_interface base class for OSD and moved initialization for each subsystem in it as virtual calls. (nw)
-Moved midi handling in base class
-Cleaned running_machine of information of next machine
-All is cleaned after exiting of running_machine so debugger window is removed as well till next machine is started
-Made osdmini to compile
2014-04-25 07:31:27 +00:00
Miodrag Milanovic
78f658987f made neogeo card an image device (nw) 2014-04-17 13:16:05 +00:00
Miodrag Milanovic
cd93e416fe Created memcard as device and removed it from machine/generic (nw)
This should be image device instead but did not wish to change
behavior for now
2014-04-17 10:18:41 +00:00
Miodrag Milanovic
452df5037b reverting to classic ui due to lot of issues, as much as I hate reverting some else code (nw) 2014-04-17 06:27:03 +00:00
Curt Coder
7b75f417f7 Fixed compile. (nw) 2014-04-17 06:15:34 +00:00
Nathan Woods
f546afadef ScrLock no longer is a menu key; it will now enable/disable keyboard menu shortcuts 2014-04-16 11:57:13 +00:00
Robbbert
6a74b45b02 Fixed unpause. 2014-04-16 09:40:08 +00:00
smf-
72d93bb509 Added serial printer, renamed centronics printer to match. Standardised the configuration of rs232 devices. All serial devices are now connected using an rs232 port. [smf] 2014-04-16 07:53:39 +00:00
Nathan Woods
2365ce7efb Readding single step capability 2014-04-15 23:02:26 +00:00
Nathan Woods
ad0e62a58a Readding support for breaking into the debugger 2014-04-13 17:41:07 +00:00
Nathan Woods
fc3edd5eca First level menus are now considered ancestral for highlighting purposes 2014-04-13 14:06:45 +00:00
Nathan Woods
3a22c7ec12 Now highlighting menu items ancestral to the selection 2014-04-13 13:27:05 +00:00
Nathan Woods
b58021499c Fixed benign but incorrect usage of instance variable 2014-04-13 12:47:02 +00:00
Nathan Woods
b3e8407d7c I really got tired of looking at the text 'UI Select' and 'UI Cancel' in a
blood red dialog, especially given how easy this was to fix
2014-04-13 12:47:01 +00:00
R. Belmont
ef4747d94e Clang fix (nw) 2014-04-12 21:49:52 +00:00
Nathan Woods
24026e123e Merge of new menubar code 2014-04-12 20:52:03 +00:00
Alex W. Jackson
ed32a3321c Bump UI gfx viewer column limit up (nw) 2014-04-09 16:18:08 +00:00
Miodrag Milanovic
fec65e0b57 Cleanups and version bump 2014-04-07 06:04:18 +00:00
Curt Coder
a6cab66da5 Fixed build. (nw) 2014-04-06 10:49:11 +00:00
Alex W. Jackson
c3a166e962 device_gfx_interface [Alex Jackson]
Moved graphics decoding to a new device interface class: device_gfx_interface.
The gfxdecode device is now a device that simply inherits this interface and
does nothing else. Devices that draw tilemaps or sprites using gfx_elements
should in time be updated to use this interface rather than connect to a
machine-global gfxdecode device. Updated toaplan_scu.c as an example (also
fixed off-by-one sprite alignment in twincobr and rallybik while I was at it).

gfx_elements are normally created in interface_post_start(), making it
possible to dynamically create or modify the graphics decoding info during
device_start() if you need to. On the other hand, if you need the gfx_elements
during device_start(), you can directly call decode_gfx() to create them early.

This interface also provides a standard and init-order-safe way to connect to
a palette device (similarly to how device_video_interface helps devices
connect to a screen), so it's handy for any device that does palettized
drawing even if it doesn't use gfx_elements. Updated k053250.c as an example
of this usage.

gfxdecode info entries can now reference shared RAM regions by tag as well as
ROM regions, automatically handle endianness, and have some other new
capabilities. Updated nemesis.c and pgm.c to showcase the new features.

Removed validate_display() (it was just a commented out stub already) since
its only function, checking that drivers don't have an ind16 screen without
a palette, is now done by screen_device::device_validity_check().

Updated obsolete comments about GFXLAYOUT_RAW (cps1.c hasn't used raw gfx for
years, and "to save memory" is no longer a good reason to use it)
2014-04-05 14:59:36 +00:00
Nathan Woods
01d2320c95 Factored ui_menu_control_device_image into ui/imgcntrl.c 2014-04-05 14:11:56 +00:00
Miodrag Milanovic
dd1e28e513 Fix listsamples and one other potential problematic place, and fixed better devctrl (nw) 2014-04-03 08:56:14 +00:00
Alex W. Jackson
4b69b0281a Refactor UI graphics viewer to handle 'empty' gfx decoders [Alex Jackson] 2014-03-26 07:42:59 +00:00
Oliver Stöneberg
2e5ea37f65 removed mame_* aliases and just use core_* functions (nw) 2014-03-24 22:05:08 +00:00
Alex W. Jackson
49e580cc90 Fixed UI gfx viewer (again). Added device_start dependency on gfxdecode to all devices that create tilemaps, this should fix the recent tilemap-related crashes (nw) 2014-03-16 11:41:04 +00:00
Miodrag Milanovic
a66aff27d6 primary_screen -> first_screen() (nw) 2014-03-15 13:00:23 +00:00
Alex W. Jackson
f6153bc499 fix UI tilemap viewer (nw) 2014-03-15 08:03:02 +00:00
Alex W. Jackson
25db822531 Checkpoint 2:
gfxdecode devices must now be assigned a palette in MCFG. Added palette devices to several MESS drivers and devices to comply with this requirement. This palette is assigned as a default to the gfx_elements created by the device (but still not used for drawing yet, except in the UI graphics viewer)

Tilemaps now have a pointer to a palette device and use that palette for rgb32 drawing, rather than the palette of the screen or bitmap they are drawing to (since rgb32 screens don't have palettes now). When a tilemap is created, it takes its palette from the gfxdecode device it was created with, but you can change a tilemap's palette device with set_palette() at any time (doing this does not mark the tilemap dirty, since all tilemaps use indexed bitmaps internally)
2014-03-15 07:34:54 +00:00
Miodrag Milanovic
f14651f2db you can't count on same iterator you use and no need to cast iterator elements (nw) 2014-03-13 14:20:28 +00:00
Alex W. Jackson
601b9c4bed Fix UI gfx viewer crash with no palette (nw) 2014-03-12 06:10:35 +00:00
Aaron Giles
4ea9df02a1 Moved core template container classes up from emutempl.h to coretmpl.h:
[Aaron Giles]
 * these classes now no longer take a resource_pool; everything is
    managed globally -- this means that objects added to lists must be
    allocated with global_alloc
 * added new auto_pointer<> template which wraps a pointer and auto-frees
    it upon destruction; it also defaults to NULL so it doesn't need to
    be explicitly initialized
 * moved tagged_list template to tagmap.h

Redo of the low-level memory tracking system: [Aaron Giles]
 * moved low-level tracking out of emu\emualloc into lib\util\corealloc
    so it can be shared among all components and used by core libraries
 * global_alloc and friends no longer use a resource pool to track
    allocations; turns out this was a wholly redundant system that wasted
    a lot of memory
 * removed global_resource_pool entirely
 * added global_free_array to delete arrays allocated with 
    global_alloc_array
 * added tracking of object versus array allocation; we will now error
    if you use global_free on an array, or global_free_array on an object

Added new utility helper const_string_pool which can be used to 
efficiently accumulate strings that are not intended to be modified.
Used by updated makelist and software list code. [Aaron Giles]

Updated png2bdc and makelist tools to not leak memory and use more modern
techniques (no more MAX_DRIVERS in makelist, for example). [Aaron Giles]

Deprecated auto_strdup and removed all uses by way of caller-managed 
astrings and the software list rewrite. [Aaron Giles]

Rewrote software list management: [Aaron Giles]
 * removed the notion of a software_list that is separate from a
    software_list_device; they are one and the same now
 * moved several functions into device_image_interface since they really
    didn't belong in the core software list class
 * lots of simplification as a result of the above changes

Additional notes (no whatsnew):

Moved definition of FPTR to osdcomm.h.

Some changes happened in the OSD code to fix issues, especially regarding
freeing arrays. SDL folks may need to fix up some of these.

The following devices still are using tokens and should be modernized
(I found them because they kept their token as void * and tried to
delete it, which you can't):

namco_52xx_device (mame/audio/namco52.c)
namco_54xx_device (mame/audio/namco54.c)
namco_06xx_device (mame/machine/namco06.c)
namco_50xx_device (mame/machine/namco50.c)
namco_51xx_device (mame/machine/namco51.c)
namco_53xx_device (mame/machine/namco53.c)
voodoo_device (emu/video/voodoo.c)
mos6581_device (emu/sound/mos6581.c)
aica_device (emu/sound/aica.c)
scsp_device (emu/sound/scsp.c)
dmadac_sound_device (emu/sound/dmadac.c)
s3c2440_device (emu/machine/s3c2440.c)
wd1770_device (emu/machine/wd17xx.c)
latch8_device (emu/machine/latch8.c)
duart68681_device (emu/machine/68681.c)
s3c2400_device (emu/machine/s3c2400.c)
s3c2410_device (emu/machine/s3c2410.c)
strataflash_device (mess/machine/strata.c)
hd63450_device (mess/machine/hd63450.c)
tap_990_device (mess/machine/ti99/990_tap.c)
omti8621_device (mess/machine/omti8621.c)
vdt911_device (mess/video/911_vdt.c)
apollo_graphics_15i (mess/video/apollo.c)
asr733_device (mess/video/733_asr.c)
2014-03-11 15:54:58 +00:00
Miodrag Milanovic
cb7cd21a8c Fix for tape control and bitbanger control in UI (nw) 2014-03-09 13:08:19 +00:00
Alex W. Jackson
b07d5e4e55 The UI graphics viewer can now display multiple palettes and multiple gfx decoders in games that have them [Alex Jackson] 2014-03-09 06:50:19 +00:00
Miodrag Milanovic
64ac8f6776 Huge update, palette is now device (nw)
note: Aaron please give more descriptive text for release log I have no more strength :)
2014-02-27 13:35:15 +00:00
Couriersud
6a06d7604f Revert changes committed by accident. 2014-02-26 18:58:07 +00:00
Couriersud
c32fba0da7 Minor cosmetic changes for netlist 2014-02-26 00:21:06 +00:00
Oliver Stöneberg
5278254236 rest of ATTR_PRINTF review (nw) 2014-02-25 12:25:33 +00:00
Nathan Woods
a2ff7cf249 Factored out quit/confirmquit logic into ui_manager::request_quit() 2014-02-23 20:28:32 +00:00
Aaron Giles
57cfaa163e Switched rgb_t to a class, replacing macros with methods. Mappings are
as follows:

   MAKE_RGB(r,g,b)     == rgb_t(r,g,b)
   MAKE_ARGB(a,r,g,b)  == rgb_t(a,r,g,b)
   RGB_ALPHA(data)     == data.a()
   RGB_RED(data)       == data.r()
   RGB_GREEN(data)     == data.g()
   RGB_BLUE(data)      == data.b()
   RGB_BLACK           == rgb_t::black
   RGB_WHITE           == rgb_t::white

Implicit conversions to/from UINT32 are built in as well as simple
addition, subtraction, and scaling (with clamping).

As a result of being a class, some stricter typing was needed in
a few places but overall not too much.
2014-02-19 06:07:32 +00:00
Aaron Giles
3e2995cbba Converted palette_t and palette_client to classes. General palette.c
cleanup.
2014-02-18 08:05:44 +00:00
Miodrag Milanovic
7cde79cd9c Created gfxdecode_device instead of using machine fixed gfxdecode [Miodrag Milanovic]
Updated all devices and drivers for using it.

out of whatsnew:
Note that it is made to work same as before, in some cases it can be more
logic to move gfxdevice into subdevice itself then to keep it in main driver.
2014-02-16 17:32:10 +00:00
Fabio Priuli
e2cf4f8b34 Added generic barcode reader emulation: the code accepts sequences of digits in
UPC-A, EAN-13 and EAN-8 format, stores them in both byte format and in pixel
format; it is up to the driver to implement the correct transfer protocol. [Fabio Priuli]

Added UI menu to enter barcodes via keyboard. It only gets activated if the running
machine has a barcode device. [Fabio Priuli]

out of whatsnew: The latter change was coordinated with Nathan, so it shall not
create problems with his UI reorganization ;)
2014-02-12 14:54:11 +00:00
Nathan Woods
c14776a32f Removing stray #include 2014-02-09 11:58:38 +00:00
Nathan Woods
8d5dea174a Introduced a toggle_record_movie() method 2014-02-02 13:13:59 +00:00
Nathan Woods
a2da57f494 Minor cosmetic changes 2014-02-02 12:02:46 +00:00
Nathan Woods
1667627894 Minor refactorings 2014-01-31 03:11:57 +00:00
Nathan Woods
b3aedc5d7e Miscellaneous cleanups to src/emu/ui/menu.?, also added some accessors 2014-01-30 15:13:54 +00:00
Nathan Woods
4c70483557 Const correctness 2014-01-30 12:15:22 +00:00
Nathan Woods
b4d9c1753b Made these handlers static methods 2014-01-30 01:51:08 +00:00
Nathan Woods
b6f05e2dc4 Fixed recently introduced bug in the game selector, opportunistic
cleanups
2014-01-29 12:41:17 +00:00
Nathan Woods
fb7edb68c6 Moved src/emu/ui.? ==> src/emu/ui/ui.?, changed to follow MAME OOP conventions; we now have a ui_manager class 2014-01-29 11:47:56 +00:00
Nathan Woods
4c3798f142 Cleanups to the file selector menus 2014-01-27 11:39:50 +00:00
Nathan Woods
9cbeb9e491 Software list UI cleanups 2014-01-26 13:50:38 +00:00
Nathan Woods
8133472375 Cleanups of src/emu/ui/viewgfx.c, some minor refactorings 2014-01-25 21:44:21 +00:00
Nathan Woods
48621181d1 Moved src/emu/uigfx.? ==> src/emu/ui/viewgfx.?, move C++-ifications 2014-01-25 16:56:23 +00:00
Nathan Woods
cd9479b751 Refactoring and cleanup of tapectrl.? and bbcontrl.?, created base class 2014-01-23 12:43:39 +00:00
Nathan Woods
7cc05c4256 Broke apart src/emu/ui/filemngr.?, moved src/emu/uiswlist.? ==>
src/emu/ui/swlist.?
2014-01-20 18:59:37 +00:00
Nathan Woods
789165f4ff Cleanups of filemngr.? and tapectrl.? 2014-01-19 16:26:07 +00:00
Nathan Woods
8c69a2ebda Split uiimage.? ==> ui/filemngr.? and ui/tapectrl.? 2014-01-19 16:26:00 +00:00
Nathan Woods
9c9e442f1d More game selector refactoring 2014-01-17 12:44:09 +00:00
Nathan Woods
9689355bb7 More unglamourous changes (commenting, bool etc) 2014-01-17 11:17:10 +00:00
Jürgen Buchmüller
432a2d29f3 Renamed uimenu.? ==> ui/menu.?, uimain.? ==>
mainmenu.?/miscmenu.?/selgame.?
2014-01-17 03:09:23 +00:00