summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/spg2xx.cpp
Commit message (Collapse)AuthorAgeFilesLines
* unsp, spg110, spg2xx, sunplus_gcm394: Fix maps by unifying SoC devices with ↵ AJR2019-06-151-20/+23
| | | | CPU cores (nw)
* spg110: tweaks for jak_capb, improves rendering, identifies several things ↵ David Haywood2019-03-271-887/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#4816) * spg110: jak_capb misc guesses (nw) * misc priority stuff (nw) * tweaks (nw) * more tweaks (nw) * small spg2xx refactor (nw) * some spg2xx refactoring (nw) * (nw) * tidy (nw) * these have all been moved out into modules (nw) * sprite work in progress (nw) * (nw) * spg110: shift some stuff around and split into files here too * (nw) * (nw) * (nw) * sprite improvements
* (nw) Clean up the mess on master Vas Crabb2019-03-261-2033/+418
| | | | | | | | | | | | | This effectively reverts b380514764cf857469bae61c11143a19f79a74c5 and c24473ddff715ecec2e258a6eb38960cf8c8e98e, restoring the state at 598cd5227223c3b04ca31f0dbc1981256d9ea3ff. Before pushing, please check that what you're about to push is sane. Check your local commit log and ensure there isn't anything out-of-place before pushing to mainline. When things like this happen, it wastes everyone's time. I really don't need this in a week when real work™ is busting my balls and I'm behind where I want to be with preparing for MAME release.
* Revert "conflict resolution (nw)" andreasnaive2019-03-251-418/+2033
| | | | | This reverts commit c24473ddff715ecec2e258a6eb38960cf8c8e98e, reversing changes made to 009cba4fb8102102168ef32870892438327f3705.
* added some inputs to classic arcade pinball (nw) DavidHaywood2019-03-251-1/+2
|
* irq callbacks (nw) DavidHaywood2019-03-251-8/+33
|
* refactors etc. (nw) DavidHaywood2019-03-251-78/+33
|
* tidy (nw) DavidHaywood2019-03-251-39/+8
|
* refactoring checkpoint (nw) DavidHaywood2019-03-251-1129/+43
|
* spg2xx - slight refactor (nw) DavidHaywood2019-03-251-29/+58
|
* SPG2XX - Make audio emulation a subdevice (#4757) David Haywood2019-03-141-1188/+28
| | | | | | | | | | | | | | | | | | | | | | | * SPG2XX - Make audio emulation a subdevice (I need to reuse some of it for SPG110) * these will end up in different places on spg110 so split the handler (nw) * refactor a little for cleaner use later (nw) * realign logging with function names (nw) * (nw) * (nw) * recent change in audio_beat_tick appears to break "icanpian jjs" seems unintentional? (MG please verify) also documented an existing suspicious use of 'channel' in code. * use channel_bit here instead, seems more logical (nw) * reorganize code here a bit too (nw)
* -spg2xx: Added VolSel register. Fixed palette indexing on backgrounds in ↵ MooglyGuy2019-03-121-11/+21
| | | | wallpaper mode. Fixes backgrounds in jak_nick. [Ryan Holtz]
* -spg2xx: Scale SPU channel sum by a fixed 1/16 divider rather than by the ↵ MooglyGuy2019-03-111-15/+4
| | | | active channel count. Fixes volume 'wobble'. [Ryan Holtz]
* -spg2xx: Various audio fixes. [Ryan Holtz] mooglyguy2019-03-101-78/+68
| | | | | | | | | | * Increased internal sampling rate to audio 'frame rate' for better sync. * Moved envelope processing into sample-update loop. Fixes envelopes. * Reset envelope rampdown bit when a channel stops. Fixes missing channels in vii and others. * Only process envelope rampdown for active channels. Fixes missing channels in icanpian and others. * Reset ADPCM bit at sample loop point. Fixes bad samples in jak_sith and others. * Avoid treating end-of-sample marker as a playable sample. Fixes sample popping. * Fixed sample ordering for 8-bit PCM samples. Improves audio quality.
* -spg2xx: Fixed audio channel stop behavior. [Ryan Holtz] mooglyguy2019-03-081-5/+3
| | | | * Fixes bad or missing music/effects in jak_sbfc, jak_mpac, jak_wof, jak_wwe, and many others.
* new WORKING machines (JAKKS stuff) (#4624) David Haywood2019-02-101-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | New WORKING machines --- Ms. Pac-Man 5-in-1 (Ms. Pac-Man, Pole Position, Galaga, Xevious, Mappy) (JAKKS Pacific TV Game, Game-Key Ready) [Sean Riddle, Peter Wilhelmsen, 19 external donators] Disney Princess (JAKKS Pacific TV Game, Game-Key Ready) [Sean Riddle, 20 external donators] New WORKING Software List entries --- jakks_gamekey_nm:nrxdig New Rally X & Dig Dug [Sean Riddle, Peter Wilhelmsen, 19 external donators] note, Pole Position is not really very playable at the moment due to raster rendering glitches, the rest are, aside from some obvious sound issues (nw) New machines marked as NOT WORKING --- Wheel of Fortune (JAKKS Pacific TV Game, Game-Key Ready) [Sean Riddle, 20 external donators] There is a video rendering glitch (lkely another off by x lines raster issue) causing the letter selection text to not render properly, it appears the letters scroll instead of the text scroller below, which doesn't. (nw) -spg2xx: Make rowscroll offset configurable, can't find register to control it, but JAKKS games need 0, while the chinese stuff needs 15 (nw) -jak_wof: Marked as working, analog wheel isn't emulated, but is optional (I don't see where / how it maps) (nw) -jak_wof: Improved inputs (nw) -gamekeys now save to the gamekey seeprom not the system one (nw)
* new WORKING Gamate game + Working DBZ JAKKS + misc bits (#4614) David Haywood2019-02-091-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * new WORKING Software List entries --- gamate:fortress Fortress of Fierceness [Peter Wilhelmsen] new NOT WORKING Software List entries --- ekara_japan_a:a7 A-7 Pichi Pichi Pitch Pure Chapter 3 (Japan) [Peter Wilhelmsen, Sean Riddle] ekara_japan_a:a5 A-5 Pichi Pichi Pitch Karaoke Party (Japan) [Peter Wilhelmsen, Sean Riddle] ekara_japan_a:a4 A-4 Pichi Pichi Pitch Pure Chapter 1 (Japan) [Peter Wilhelmsen, Sean Riddle] ekara_japan_a:a1 A-1 Pichi Pichi Pitch vol.1 (Japan) [Peter Wilhelmsen, Sean Riddle] new NOT WORKING clones --- Play 2000 (Super Slot & Gran Tesoro) (v7.0i) (Italy) [Peter Wilhelmsen, Morten Shearman Kirkegaard] * new WORKING machines --- Dragon Ball Z (JAKKS Pacific TV Game, Game-Key Ready) [Sean Riddle, 19 external donators] * flag (nw) * allow 'a7' to boot (nw) * move XaviX2 sets to new files (nw) * new machines marked as NOT WORKING --- Let's TV Play Naruto [Peter Wilhelmsen, Sean Riddle] This is another XaviX2 thing.
* New machines marked as NOT_WORKING mooglyguy2019-02-031-13/+23
| | | | | | | | | | | | | | ---------------------------------- V.Smile Motion (US) New NOT_WORKING software list additions --------------------------------------- vsmilem_cart: Für immer Shrek (Ger), Toy Story 3 (Ger) -devices/bus/vsmile/vsmile_cart: Added support for later 8MWord cartridges. [Ryan Holtz] -vsmile: Added separate machine driver for V.Smile Motion. Needs proper BIOS dump, currently using the V.Smile US BIOS. [Ryan Holtz]
* -spg2xx: Return max ADC value if not hooked up, nw MooglyGuy2019-01-301-2/+2
|
* New working machines mooglyguy2019-01-291-3/+8
| | | | | | | | | -------------------- Star Wars - Revenge of the Sith (JAKKS Pacific TV Game, Game-Key Ready) [Sean Riddle, Peter Wilhelmsen] -vii: Mapped jak_sith controls. [Ryan Holtz] -spg2xx: Added polled ADC mode, and 2-channel ADC support. [Ryan Holtz]
* turn off SPG200 logging for release (nw) Vas Crabb2019-01-281-2/+1
|
* -spg2xx: More correct PRNG emulation, nw MooglyGuy2019-01-281-36/+12
|
* spg2xx: Correct PRNG emulation. [Ryan Holtz] MooglyGuy2019-01-281-4/+50
|
* srcclean and cleanup (nw) Vas Crabb2019-01-271-15/+15
|
* Machines promoted to working Ryan Holtz2019-01-231-2/+2
| | | | | | | | | | | ---------------------------- V.Smile Baby (US) [Ryan Holtz] New working clones -------------------- V.Smile Baby (Sweden) [Ryan Holtz, Sean Ridde, Clawgrip] -vsmileb: Split into a separate CPP file. Identified input codes and hooked up inputs. [Ryan Holtz, bmx]
* -vsmileb: Found the GPIO bit that boots into the on-board game. [Ryan Holtz] MooglyGuy2019-01-201-2/+3
|
* -spg2xx: Fade control register is 8 bits wide, not 7. Fixes flickery fading ↵ MooglyGuy2019-01-201-3/+3
| | | | in rad_fb2. [Ryan Holtz]
* -spg2xx: Remove stale debug printf, nw MooglyGuy2019-01-201-1/+0
|
* -spg2xx: Early-out if trying to blit a scanline outside the visible range. ↵ MooglyGuy2019-01-201-5/+10
| | | | Fixes palette trashing in jak_disf. [Ryan Holtz]
* -spg2xx: Added palette viewer mode when video debugging is turned on, nw MooglyGuy2019-01-201-3/+23
|
* -vsmile: Turn the 'test point' GPIO port C bit off. Fixes choppy sprites. ↵ mooglyguy2019-01-201-99/+88
| | | | | | | | | | | | Promoted vsmile, vsmilef, vsmileg back to working. [Ryan Holtz] -spg2xx: Various changes: [Ryan Holtz] * Fixed Timer A and B counting at half the intended rate. * Made do_sprite_dma write into m_spriteram shared pointer rather than hitting the memory system twice. * Fixed vblank to automatically clear the IRQ on vblank-out. * Made IRQ checking more consistent; no more redundant deassertions of various IRQ lines. * Fixed TMB1 and TMB2 not activating if initialized to the lowest rate. * Improved logging.
* -spg2xx: Added additional timer logging, nw. MooglyGuy2019-01-191-14/+20
| | | | | | -vsmile: Demoted all drivers to MNW, nw. This reverts commit d48481df909a2925341dc196c02bcf996a9d7784.
* -vsmile: Actually fixed vsmile techart and vsmile techartsw, nw mooglyguy2019-01-181-1/+5
| | | | -vii: Added more extensive logging to rad_sktv, nw
* -vsmile: Added proper slot device emulation for the cartridge slot. Gets ↵ mooglyguy2019-01-171-10/+12
| | | | | | | | vsmile techart fully working. [Ryan Holtz] -vsmileb: Found enough port bits to show the VTech logo and V.Smile Baby intro. No game boots yet. [Ryan Holtz] -spg2xx: Added separate logging for external interrupts and address mapping. [Ryan Holtz]
* -spg2xx: Added more machine().describe_context() logging, nw mooglyguy2019-01-161-11/+11
| | | | -vsmile: Added intro region selection and logo enable DIPs. Started separating vsmileb into its own driver. [Ryan Holtz]
* -spg2xx: Suppress video IRQ status bits when the corresponding enable bit is ↵ MooglyGuy2019-01-151-9/+7
| | | | unset. Fixes vsmile fred and appilote. [Ryan Holtz]
* -vsmile: Simulate a brief power-button press on boot. Makes toystor2 work. ↵ mooglyguy2019-01-151-14/+258
| | | | | | [Ryan Holtz] -spg2xx: Emulate Timer A and B. Makes kungfupuk, manny, mickeychnl, monstaln, mypuppy, noddy, partyprk, ratat, shrek3, thomas, tingelng, and upuk work. [Ryan Holtz]
* spg2xx: Only flag sprite DMA done IRQ if it is enabled. Gets mattelcs to ↵ MooglyGuy2019-01-141-1/+8
| | | | boot. nw
* -vsmile: Fixed control pad response bytes. Controls now work. [Ryan Holtz] MooglyGuy2019-01-141-11/+12
|
* -devices/cpu/unsp: Various fixes: [Ryan Holtz] Ryan Holtz2019-01-141-14/+11
| | | | | | | | | | | | * Fixed push and pop instructions in the DRC. Fixes Wall-E. * Eliminated the use of intermediate register I7 in the DRC. * Reworked DRC timing to be fully in line with the interpreter. * Reworked DRC block checksumming to not route through the memory system. * Fixed DRC block checksumming to include all words in an opcode. Fixes V.Smile intro graphical glitches. * Increased cache size and reduced block size to reduce frequency of cache flushes and associated recompiles. * Added more verbose optional register and write logging. * Added a direct setter for IRQ lines to avoid a scheduler sync, pending merging the spg2xx_device into a unsp_device subclass. * Added direct setters/getters for the data segment as well.
* spg2xx: Fixed sprite double-rendering and more optimizations. Fixes ↵ MooglyGuy2019-01-121-71/+94
| | | | priorities in jak_wwe. [Ryan Holtz]
* spg2xx: Various optimizations, more than doubles the performance on my ↵ MooglyGuy2019-01-101-30/+56
| | | | system, nw
* New working machines mooglyguy2019-01-091-1/+5
| | | | | | | -------------------- WWE (JAKKS Pacific TV Game) [Sean Riddle, David Haywood, Ryan Holtz] spg2xx: Treat 0-length sprite DMA as 0x400 words. Fixes sprites in clikstrt bobbuild and jak_wwe. [Ryan Holtz]
* Machines promoted to working mooglyguy2019-01-091-12/+21
| | | | | | | -------- Fantastic Four (JAKKS Pacific TV Game) [David Haywood, Ryan Holtz] spg2xx: Fixed regression with Y-flipped tilemap tiles (nw)
* -spg2xx: Various changes: [Ryan Holtz] mooglyguy2019-01-081-15/+67
| | | | | | | | | | * Adjusted UART receive behavior to flag an available byte only at the specified baud rate. * Added separate UART baud rate calculation for SPG24x vs. SPG28x. * Adjusted ADC behavior to flag an IRQ when the relevant data bit is set, not when register bit is newly set. * Added separate logging for FIQ registers. * Added logging for SIO registers. -clickstart: Added preliminary mouse hookup. Only accepts a mouse update once, ignores further updates. Needs further investigation. (nw)
* vii.cpp: DavidHaywood2019-01-081-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | new NOT WORKING Mattel Classic Sports [Sean Riddle] Dora the Explorer (JAKKS Pacific TV Game) [Sean Riddle] kludge handling of invalid size writes to DMA so that Dora the Explorer doesn't trash all of RAM + registers new SOFTWARE LIST JAKKS Pacific 'NK' Game Keys (Dora has corrupt gfx, probably the bad DMAs should do something, Mattel Classic Sports gives a black screen) xavix.cpp: new NOT WORKING e-kara Pro Headset (US, includes 3 songs) [Sean Riddle] Super Dash Ball (Japan) [Sean Riddle, Peter Wilhelmsen] Gururin World (Japan) [Sean Riddle, Peter Wilhelmsen] disable active raster interrupts if raster interrupt enable is turned off, and add preliminary shifter register emulation, needed for 3D stages in Gururin World [David Haywood] (Pro Headset works as well as other e-Kara stuff, marked as NOT WORKING due to lack of microphone and sound emulation issues, Super Dash Ball needs trackballs hooking up, Gururin World needs analog cycle looking up) rad_eu3a14.cpp: tied tilemap dimensions to tile sizes to improve Huntin'3 map screen [David Haywood]
* spg2xx: Turn debugging features back off, nw mooglyguy2019-01-061-2/+2
|
* spg2xx: Switched to scanline-based rendering, nw mooglyguy2019-01-061-109/+117
|
* -clickstart: Favor specific values over rand(), nw mooglyguy2019-01-051-12/+141
| | | | | | | | | | | -devices/cpu/unsp: Added a function to get current chip-select state, nw -devicesp/machine/spg2xx: Various changes: [Ryan Holtz] * Added 4kHz/2kHz/1kHz/1Hz timers. * Added ADC read callback. * Fixed a bug with floating GPIO inputs. Clickstart games now generally get to the title screen or main menu, other than Bob The Builder, which is missing some graphics. nw
* spg2xx+vsmile: Started hooking up a control pad. 7x/Bx handshaking and 55 ↵ mooglyguy2019-01-051-30/+126
| | | | heartbeat works, but no controls respond yet. nw