summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/video/315_5124.c
Commit message (Collapse)AuthorAgeFilesLines
* 315_5124.c: Improvement to timing for calculating flags. Fixes random hangs ↵ Wilbert Pol2014-04-291-11/+24
| | | | in gamegear 'roboterm' and flickering in gamegear 'evander'. [Enik Land]
* 315_5124.c: Improved CRAM writes. Fixes wrong colors on sega logo for ↵ Wilbert Pol2014-04-291-9/+35
| | | | robocop3 on gamegear. [Enik Land]
* Some changes/corrections to device descriptions from MASH and Tafoid (nw) Scott Stone2014-04-121-2/+2
|
* 315_5124.c: converted to devcb2 (nw) Ivan Vangelista2014-03-291-28/+20
|
* stop SMS VDP timers in systems that don't need them. nw. Fabio Priuli2014-03-281-0/+15
|
* 315_5124.c: improved X-Scroll register timing. [Enik Land] Fabio Priuli2014-03-231-24/+51
|
* Huge update, palette is now device (nw) Miodrag Milanovic2014-02-271-33/+37
| | | note: Aaron please give more descriptive text for release log I have no more strength :)
* Switched rgb_t to a class, replacing macros with methods. Mappings are Aaron Giles2014-02-191-3/+3
| | | | | | | | | | | | | | | | | | | 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.
* small simplification to src/emu/video/315_5124.c (nw) Oliver Stöneberg2013-08-271-2/+2
|
* 315_5124.c: Prevent writing outside the m_selected_sprite array. (nw) Wilbert Pol2013-08-271-2/+2
|
* got rid of redundant read in src/emu/315_5124.c (nw) Oliver Stöneberg2013-08-261-4/+10
|
* fixed more faulty PALETTE_INIT modernizations (nw) Oliver Stöneberg2013-08-091-1/+29
|
* more PALETTE_INIT modernizations (nw) Oliver Stöneberg2013-08-051-20/+20
|
* Created new device_video_interface. Right now its sole purpose is to Aaron Giles2013-07-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | house a screen tag and to find the screen at startup, providing an m_screen object that can be used. One nice feature is that if there is only one screen and no screen has been specified, it will auto configure to that screen. This removes the need to explicitly specify a screen in the configuration for a large chunk of drivers (though doing so never hurts). A new macro MCFG_VIDEO_SET_SCREEN is provided, though devices are encouraged to define their own that maps there so it is obvious which device is being targeted. The device_video_interface's validation function will error if an invalid screen is specified or if no screen is provided but there are multiple screens present. Updated all devices that currently had an m_screen in them to use the device_video_interface instead. This also has the nice benefit of flagging video-related devices for categorization purposes. It also means all these devices inherit the same screen-finding behaviors. For devices that had interfaces that specified a screen tag, those have been removed and all existing structs updated. Added an optional_device<screen_device> m_screen to the base driver_device. If you name your screen "screen" (as most drivers do), you will have free access to your screen this way. Future updates include: * Updating all devices referencing machine.primary_screen to use the device_video_interface instead * Updating all drivers referencing machine.primary_screen to use the m_screen instead * Removing machine.primary_screen entirely
* changed rest of devices (except cpu cores) to have shortname and sourcefile (nw) Miodrag Milanovic2013-06-211-5/+5
|
* Cleanups and version bumpmame0148u5 Miodrag Milanovic2013-05-201-2/+2
|
* (MESS) slightly consolidated save/restore in sms/gamegear, still not ↵ Fabio Priuli2013-05-191-0/+24
| | | | reliable. nw.
* (MESS) sms.c: Change hcount calculation to use screen timings and move it to ↵ Wilbert Pol2013-05-141-18/+25
| | | | the VDP. [Enik Land]
* 315_5124.c: Small improvements to the palettes. [Enik Land] Wilbert Pol2013-04-021-2/+2
|
* Cleanups and version bumpmame0148u2 Miodrag Milanovic2013-03-191-4/+4
|
* 315_5124.c: Improved triggering of IRQs. [Enik Land] Wilbert Pol2013-03-111-63/+119
| | | | | | | | (MESS) sms.c: [Enik Land] - Fixed master clock speed for PAL machines. - Improved hcount handling resulting in better results from Flubba's VDP timing checks.
* (MESS) Running eagles5 on the sms2kr driver. It apparently expects the irq ↵ Wilbert Pol2013-01-121-0/+20
| | | | to be cleared when explicitly disabling VINT irqs during VINT. (nw)
* Cleanups and version bumpmame0148 Miodrag Milanovic2013-01-111-32/+30
|
* 315_5124.c: Fixed copy/paste error that caused FluBBa's "Offscreen Y, col" ↵ Wilbert Pol2012-12-101-1/+2
| | | | test to fail for the game gear vdp. [Enik Land]
* Removed unneeded includes. (nw) Curt Coder2012-12-071-1/+0
|
* Since nobody checks for NULLs anyway, make Aaron Giles2012-09-191-31/+31
| | | | | | | | | | | | device_memory_interface::space() assert against NULL and return a reference, and pushed references throughout all address space usage in the system. Added a has_space() method to check for those rare case when it is ambiguous. [Aaron Giles] Also reinstated the generic space and added fatal error handlers if anyone tries to actually read/write from it.
* Made the genvdp a derived class of the newer sms vdp because the genesis vdp ↵ Scott Stone2012-08-291-5/+0
| | | | | has an sms compatibility mode where it basically operates as an sms vdp (with a few changes / limitations). From Haze (nw) Comment: Not hooked this up to megatech yet to replace the old smsvdp code on the game screen when running sms games, but once I figure out how I'm actually going to do that, that's the plan ;-)
* Updated the megatech bios to render using the newer SMS vdp device from ↵ Scott Stone2012-08-171-0/+1
| | | | MESS. Cleaned up a vamphalf.c change from earlier. From Haze (nw)
* Changed device->subregion to device->memregion. Moved Aaron Giles2012-04-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | memory_region management into the memory manager instead of directly in the machine. Hid the global region method; now all regions must be looked up relative to a device. If you're a member function, you can just use memregion("tag") directly. If you're a global function or a device referencing global regions, use machine().root_device().memregion("tag") to look up regions relative to the root. S&R to convert all references: machine([()]*)\.region machine\1\.root_device\(\).subregion Then remove redundant machine().root_device() within src/mame: ([ \t])machine\(\)\.root_device\(\)\. \1 And use state->memregion() if we have a state variable present: (state *= *[^;]+driver_data[^}]+)([^ \t]*)machine[()]*\.root_device\(\)\. \1state-> Finally some cleanup: screen.state-> state-> device->state-> state-> space->state-> state-> And a few hand-tweaks.
* MAME going modern part 1 (no whatsnew) Miodrag Milanovic2012-03-311-1/+1
| | | | - Added 4th parameter to all address maps - Added missing state classes
* Added new method screen_device::register_screen_bitmap which Aaron Giles2012-01-151-4/+2
| | | | | | | | | | | | | allocates a given bitmap to match the screen size and resizes it as appropriate when the screen size changes. Updated all the obvious spots in the code where this could be leveraged. Move allocate/resize methods in the bitmap classes down into bitmap_t because they no longer have any dependency on the bitmap format or type. Ensured that the bitmap's palette remains set across a resize call (it is lost doing an allocate).
* Major bitmap-related changes throughout the system. There are Aaron Giles2012-01-121-22/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | almost certainly some regressions lurking. Let me know if something seems busted. Bitmaps are now strongly typed based on format. bitmap_t still exists as an abstract base class, but it is almost never used. Instead, format-specific bitmap classes are provided: bitmap_ind8 == 8bpp indexed bitmap_ind16 == 16bpp indexed bitmap_ind32 == 32bpp indexed bitmap_ind64 == 64bpp indexed bitmap_rgb32 == 32bpp RGB bitmap_argb32 == 32bpp ARGB bitmap_yuy16 == 16bpp YUY For each format, a generic pix() method is provided which references pixels of the correct type. The old pix8/pix16/pix32/ pix64 methods still exist in the short term, but the only one available is the one that matches the bitmap's pixel size. Note also that the old RGB15 format bitmaps are no longer supported at all. Converted model1, megadriv, and stv drivers away from the RGB15 format bitmaps. New auto_bitmap_<type>_alloc() macros are provided for allocating the appropriate type of bitmap. Screen update functions now must specify the correct bitmap type as their input parameters. For static update functions the SCREEN_UPDATE macro is now replaced with SCREEN_UPDATE_RGB32 and SCREEN_UPDATE_IND16 macros. All existing drivers have been updated to use the correct macros. Screen update functions are now required for all screens; there is no longer any default behavior of copying a "default" bitmap to the screen (in fact the default bitmap has been deprecated). Use one of the following to specify your screen_update callback: MCFG_SCREEN_UPDATE_STATIC(name) - static functions MCFG_SCREEN_UPDATE_DRIVER(class, func) - driver members MCFG_SCREEN_UPDATE_DEVICE(tag, class, func) - device members Because the target bitmap format can now be deduced from the screen update function itself, the MCFG_SCREEN_FORMAT macro is no longer necessary, and has been removed. If you specify a screen update callback that takes a bitmap_ind16, then the screen will be configured to use a 16bpp indexed bitmap, and if you specify a callback that takes a bitmap_rgb32, then a 32bpp RGB bitmap will be provided. Extended the bitmap classes to support wrapping a subregion of another bitmap, and cleaner allocation/resetting. The preferred use of bitmaps now is to define them directly in drivers/devices and use allocate() or wrap() to set them up, rather than allocating them via auto_bitmap_*_alloc(). Several common devices needed overhauls or changes as a result of the above changes: * Reorganized the laserdisc base driver and all the laserdisc drivers as modern C++ devices, cleaning the code up considerably. Merged ldsound device into the laserdsc device since modern devices are flexible enough to handle it. * Reorganized the v9938 device as a modern C++ device. Removed v9938mod.c in favor of template functions in v9938.c directly. * Added independent ind16 and rgb32 callbacks for TMS340x0 devices. * All video devices are now hard-coded to either ind16 or rgb32 bitmaps. The most notable is the mc6845 which is rgb32, and required changes to a number of consumers. * Added screen_update methods to most video devices so they can be directly called via MCFG_SCREEN_UPDATE_DEVICE instead of creating tons of stub functions.
* Bulk conversion of bitmap_t * to bitmap_t & . With this change the Aaron Giles2012-01-021-2/+2
| | | | | | | | parameters for the global SCREEN_UPDATE callback match the parameters for the driver_device version. Added allocate() and deallocate() methods to bitmap_t to permit cleaner handling of bitmaps in drivers and modern devices. [Aaron Giles]
* Bulk converted cliprect * to cliprect & across the system. This makes Aaron Giles2011-12-311-1/+1
| | | | | | | | | | cliprects mandatory everywhere. In general, cliprects were being correctly passed through the video side of most drivers already, so it is mostly a semantic change. Note that with my previous change, bitmaps have cliprects, so if you just want to clip to the bitmap's boundaries, pass bitmap->cliprect() instead of NULL (which is no longer permitted). [Aaron Giles]
* Moved the implementation for the Sega 315-5124, 315-5246, and 315-5378 video ↵ Wilbert Pol2011-12-311-0/+1704
chips from MESS to src/emu/video.