Added DISCRETE_INPUT_BUFFER to use a stream to buffer an input node.
For input nodes with a lot of writes this prevents a stream_update
on the whole discrete module which is very ineffective. Instead,
the data is buffered and the discrete emulation can process a lot
of samples in one go later.
Updated dkong.c to use this instead of using the DAC device.
This change requires a recompile of all files referencing the discrete
system. A "rm `grep -rl discrete obj/`" should do the trick (at least
on .+nix)
Comments:
I did this largely due to the difficulty in running regression testing - scanning the text as it flows to the screen has been becoming increasingly annoying, mostly due to excessive amount of specifc printf's used in some instances. Putting them into LOGERROR keeps them available and makes them transparent to the normal end user. As for the files, if a driver is not in active development (it's been over a year on Raiden/Seibu - High Seas Havoc almost 3 years), they shouldn't need to output files.
- Corrected ROM loading behavior for SuperFX games
- Added more ROM mirroring needed by certain SuperFX 2 games
- Corrected the behavior of certain bit-restricted SuperFX registers. Doom, Yoshi's Island, Dirt Trax FX and Voxel Demo show things now.
- Improved S-DD1 emulation, neither game using S-DD1 boots yet
Fixed a register naming issue in the MIPS core [Harmony]
Numerous SuperFX updates: [Harmony]
- Hooked up RAM and ROM buffering
- Inlined several more functions
- Removed debug spew
- Added the ability to define an external IRQ line callback, and hooked it up to the 65C816
- Fixed flag calculation for HIB opcode
- Hooked SuperFX chip up to the SNES machine driver
and then keep searching the searchpath for the next valid file. Did some
internal rearranging in fileio.c to make this work.
Changed cheat search so that it loads *all* cheat files in all search
paths. Note that it is easy to end up with duplicate entries this way.
Some currently disabled code is present which filters out duplicates,
but the logic for doing this is quite unclear with the presence of
text-only cheats, which is why the code is disabled for now.
> Sent: Sunday, August 30, 2009 6:00 PM
> To: submit@mamedev.org
> Cc: upstephh_wip@yahoo.com
> Subject: Added display of cheat comments
>
> Hi
>
> One more cheat engine related change. This diff was made against u3
> with the last two diffs I sent
> already applied.
>
> This patch reintroduces the display of the individual cheat comments,
> in the old cheat engine this
> worked by showing SET,ON or OFF in reverse video to show there was a
> comment available which could
> be displayed by pressing Shift + Enter. I've done things slightly
> different though as I've added a
> display comment key of SPACE along with a different way of showing that
> a comment is available.
>
> It now works automatically as soon as you move over a cheat with a
> comment it uses popmessage to
> display the comment. As soon as you move or press any key (other than
> space) it nulls the
> popmessage, and by pressing space it will redisplay the comment which
> is handy if the comment is a
> lengthy one.
>
> To see it in action look at the bottom two cheats in mslug (or any
> neogeo game for that matter).
>
> Martin 'Pugsy' Pugh
>
>
> MAME Cheat File Maintainer http://mamecheat.co.uk
> Gamebase64 Team Member http://www.gamebase64.com
>
Sent: Friday, August 28, 2009 5:20 PM
To: submit@mamedev.org
Cc: upstephh_wip@yahoo.com
Subject: Add 'Reload All' to cheat menus
Hi
This update I made against u3 with the last diff I sent already applied. What this does is to add a
'Reload All' option to the cheat menus. This allows you to edit/replace the XMLs and see the changes
quickly, without this patch you have to exit and restart MAME to see any cheat file changes.
Martin 'Pugsy' Pugh
MAME Cheat File Maintainer http://mamecheat.co.uk
Gamebase64 Team Member http://www.gamebase64.com
Sent: Wednesday, August 26, 2009 5:57 AM
To: submit@mamedev.org
Subject: MAME cheat search engine
This is a diff of my cheat search engine with help of Pugsy.
This is only a first part, not has the same functions of the old search engine, but is better than nothing
I have update the search engine to support search of byte, word, dword
and qword signed and unsigned.
* Routed the whole video RAM access through PPI-2.
(bypassed the handshake lines for now).
* Merged back the noraut machine drivers after the 3rd PPI connection.
* Added Low Level Hopper manual input.
* Added a new machine driver for extended hardware.
It has 2 jumpers that cut the a14 and a15 addressing lines.
* Added Game 7.4 (Gaming Poker, W.Export).
* Added Game 7.4 proper inputs. Game is now playable with full sound.
* Updated games list and technical notes.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Cal Omega - Game 7.4 (Gaming Poker, W.Export) [Roberto Fresca, Team Europe]
- Inlined a number of functions for possible speed increase
- Removed some memory buffering cruft, to be re-added later
- Fixed behavior of ASR opcode
- With additional MESS-side changes, Stunt Race FX is playable, and Vortex shows much more.
- No more iterations
- The CD4066 internal resistance largely determines sound amplitude. This may vary significantly depending on VCC and type (74HC, 74HCV, CD4066, ...). The current choice makes scramble sound "about right".
As long as I changed the Midway Y-Unit driver I might as well add the outside submission of Narc rev 2.00
New Clones Added
----------------
Narc (Rev 2.0) [Volker Hann, Team Europe]
Adds the Y-Unit version of the Turbo Ninja hack.
Renames the T-Unit to mktturbo and the new clone to mkyturbo
New Clone Added
--------------------------------
Mortal Kombat (Turbo 3.1 09/09/93, hack) [Jonathan Hughes, Patrick McCarron]
There are still sound issues, some of the music doesn't play, eg.
the VS. screen music
( see http://www.youtube.com/watch?v=lz4gY9d7uxw )
as noted in the driver, the green garbage on that screen doesn't happen on the real pcb, it's probably an encoding artifact.
Phil, can you look at the music?
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Shogun Warriors / Fujiyama Buster [David Haywood, Tomasz Slanina, Luca Elia]
- use SOUND_DAC device to "buffer" data and avoid 1 sample updates for discrete part
- this is related to "03401: circusc and clones: Slowdown in attract mode with DIP SW "Demo Sounds=ON"" though I do not consider it a bug, but a implementation optimization.
(hopefully this will make finding a relationship between the tables and the 'finalblock' of data easier)
Added redumped u6 GFX rom, fixes Geisya and Sumo [Guru]
(u5 still needs to be redumped, it has the graphics for the final 2 bosses in it, Phil indicated that the sample roms may also need redumping but I haven't checked myself, this could be problematic because the Japanese version uses some different sample roms, but I'm hoping those ones were eproms, not mask ones and are already ok)
- Fixed disassembly of LMULT/FMULT ops
- Fixed reads using LDW/LDB
- Fixed writes using STW/STB
- Fixed SBC carry behavior
- Fixed GETC ROM access behavior
- Some SuperFX games begin to show things in MESS
Extracted tables required for Shogun Warriors to work [Tomasz Slanina]
Decrypted + verified table data for Shogun Warriors [David Haywood]
Marked 2 graphic roms in Shogun Warriors as BAD_DUMP [David Haywood]
Temporarily added a hack to the collision function to only use the B.Rap Boys code if the game is B.Rap Boys until we have a single function that works with both [David Haywood]
- Indirect addressing was not taking into account special purpose memory mapped locations.
- 'iorlw' instruction was saving the result to memory instead of the W register.
- 'tris' instruction no longer modifies Port-C on PIC models that do not have Port-C implemented.
Also added difficulty DIP to BigTwin
> -----Original Message-----
> From: Gabriele Gorla [mailto:gorlik@penguintown.net]
> Sent: Saturday, August 29, 2009 5:39 AM
> To: submit@mamedev.org
> Cc: Gabriele Gorla
> Subject: Re: i386: fix carry/borrow flag in ADC/SBB
>
> > the original code implements ADC and SBB as 2 consecutive ADDs.
> > This will not produce the correct result when the carry is generated
> by
> > the first addition as it is overwritten by the second operation.
>
> updated patch, fixes a typo.
Compiling src/mame/video/stvvdp2.c...
src/mame/video/stvvdp2.c: In function 'stv_vdp2_draw_rotation_screen':
src/mame/video/stvvdp2.c:4752: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
mingw32-make: *** [obj/windows/mamed/mame/video/stvvdp2.o] Error 1
* Corrected CPU clock to Xtal/8.
* Discovered 3 new I/O lines coming from PPI-2, PC0-PC2. They are mixed with the handshake ones.
* Added the READOUT button to noraut12 games.
* Splitted the main machine driver to cover 2 different Noraut systems.
* Added partial support for PPI-2, PC0-PC2 output lines on noraut11 games.
* Figured out other remaining I/O lines.
* Added new handlers to simulate the handshake lines. Still need real support through PPI-2.
* Updated technical notes.
Hi mamedev,
This patch continues deglobalifying the MAME core, this time targeting
sound.c. The first two patches adds running_machine to apis in
sound.h that lack it (the first patch is generated by the perl script,
the second patch fixes some cases it didn't handle well). The last
patch then removes the globals in the traditional way.
~aa
Date: Sun, 23 Aug 2009 10:09:43
To: submit@mamedev.org<submit@mamedev.org>
Subject: Clones
Found some ROM dumps on the internet that MAME didn't recognize.
kchampa - Karate Champ (US, set 2) - kchamp.c (renamed Karate Champ
(US) to Karate Champ (US, set 1))
strongx - Strong X (Strategy X bootleg) - scobra.c
The bprom for Royal Card Pro v2.0 was verified correct as the current driver listed. Originally the bprom wasn't dumped and one was used from another set.
(NOTE: Apologies if this ruins your previous cleaning, Aaron. The previous machine/kaneko16.c I posted just minutes before you made the version snap didn't have the Shogun improvements).
* Fixed the coin counters.
* Documented all the output ports.
* Added a scheme with descriptions for every existent port.
* Added full lamps support to naroutp, naroutjp, naroutrh and naroutpn.
* Created lamps layouts for 11 and 12-lamps scheme.
* Rerouted some inputs to mantain the inputs layout.
* Renamed some inputs to match the text with the real cab buttons.
* Removed the imperfect colors flag from the existent sets.
* Added 2 different control panel layouts to the source.
* Updated technical notes.
- some more "list-ification"
- No more constraints on number of input and output nodes
- input nodes now make use of a context
Some of these changes are needed to introduce "internally buffered" input nodes going forward. These will use an internal stream to buffer all inputs so that stream_update will always calculate 20ms of samples.
- Disabled RAM/ROM clocking, going with instant transfer for now
- Understood and re-enabled pipelined instruction architecture, Star Fox runs farther
- Fixed a ridiculous typo in ROL instruction
- Corrected carry flag behavior in ROL opcode
- Corrected BRA target address calculation (maybe still wrong)
- Corrected LOOP target address calculation
- Made sure that FROM sets cpustate->sreg_idx
- Redumped GFX Roms [Guru]
- Added hitbox simulation based on suprnova / game requirements [Tomasz Slanina]
- Converted MCU writes to use write_byte [David Haywood]
- Added kludge to reset MCU data write address to prevent game from running out of ram and crashing [David Haywood]
- Added DSWs [David Haywood]
New games added or promoted from NOT_WORKING status
---------------------------------------------------
B.Rap Boys / B.Rap Boys Special [David Haywood, Tomasz Slanina, Luca Elia]
Corrected one rom name for Mega Touch 6 set
Added dip port locations
Corrected dips for the 2 Pit Boss Megastar sets
Improved the dips for Pit Boss Supertouch 30
Minor information / documentation updates
* Executed a trojan on 2 noraut systems to confirm the way 16x32 tiles are decoded.
* Fixed the x-offset for 32x32 tiles lines.
* Fixed the screen aspect and visible area.
* Confirmed correct colors. No bipolar PROM involved.
* Added Noraut Joker Poker hardware and PCB layouts.
* Documented the discrete audio circuitry. Added a full diagram.
The following driver updates: [Brian Troha]
Corrected rom names for the Megastar & Supertouch 30
Added missing rom to Supertouch 30 and verified old bad_dumps
Added documentation about the Megastar sets
Made pbst30b a clone of pbst30 and added program versions to the name, IE: Pit Boss Supertouch 30 (9234-10-01)
New Clone Added
-------------------------
Pit Boss Megastar (9244-00-01) [Brian Troha, Dumping Union]
Introduced DISCRETE_TASK_START, DISCRETE_TASK_END
DISCRETE_TASK_START
- Start a new task. A task is a set of nodes which only depend on input nodes and nodes in the set
DISCRETE_TASK_END(task_output_node)
- Marks the end of the task. task_output_node is the node whose output over time should be preserved. This node can be accessed by nodes in the main thread.
Order of execution:
a) All tasks in parallel
b) All nodes not part of a task. These may only refer to nodes listed in DISCRETE_TASK_END
Illustrated the concept in the dkong discrete emulation. This also has been enhanced to buffer DAC output.
Further changes:
- DISCRETE_OUTPUT now is a stepping node.
- DISCRETE_STREAM_INPUT now advances input pointer in step.
- More linked_list usage.
I estimate that the rework without tasks leads to a 5% performance gain. For dkong, the usage of tasks adds another 15%.
There are some features missing:
- Multiple nodes in DISCRETE_TASK_END
- More task consistency checks
- Task identifiers for tasks
Decoded all protection data for B.Rap Boys [David Haywood, Tomasz Slanina]
Cleaned up decryption function for B.Rap Boys external Rom [David Haywood]
Improved video emulation for B.Rap Boys [David Haywood]
Marked several GFX roms as bad on B.Rap Boys [David Haywood]
Improved protection simulation logic w/regards to writeback addresses, allowing B.Rap Boys to boot [Tomasz Slanina]
http://www.mameworld.info/ubbthreads/showthreaded.php?Cat=&Number=199853&page=0&view=expanded&sb=5&o=&fpart=1&vc=1
I don't know this z80 emulator well enough to look into his first two points. Juergen?
1/ In the cc_xy[] table which lists instructions with DD or FD prefixes, "illegal" combos are returning 4 cycles when they should return 4 + cc_op (the normal instruction being executed). Another way to handle this correctly is to call EXEC(z80,fd,xx) or EXEC(z80,dd,xx) instead of op_xx(z80) when such pair of opcode is detected, to be sure the correct amount of cycles is used.
2/ According to Sean Young, R register is NOT incremented when chaining multiple DD or FD prefixes: [...]
This one was already fixed, dunno when:
2/ In the cc_ed[] table, INI (ED A2) and IND (ED AA) should return 16 cycles, like other instructions from this group, not 12. This seems to be a typo error.
Not working (100% correctly) like all games in the Mega-Tech Mega-Play driver
New Game Added
-------------------------------------
Great Football [Kevin Eshbach, Charles MacDonald, Smitdogg, Dumping Union]
- change the way custom modules are handled
- updated drivers mario and dkong accordingly
- minor change to stream input handling
- no more linear lists for nodes. All node processing switched to linked lists.
- module step and reset now only get a node pointer passed
- Added discrete_info * pointer to node
- Only nodes with a step routine actually get processed.
- Fixed a bug: discrete logs did not work since some time
- preliminary parallel task constants; depending on results these may vanish again.
- Overall slight performance increase. dkong 940% to 960%, galaxian 740% to 790%
- implemented carts banking and multiple EEPROMs
- added "pen replacement" blit mode
- fixed palette size
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Galaxy Games StarPak 2 [Luca Elia, Siftware]
* Switched to pre-defined Xtal clock.
* Changed the way how graphics are banked/accessed.
* Fixed the graphics offset and number of tiles per bank.
* Added new set: Noraut Red Hot Joker Poker.
* Added new set: Noraut Poker (NTX10A).
* Added new set: Noraut Joker Poker (V3.010a).
* Fixed the tile size/decode for the first GFX bank.
* Added proper norautrh inputs, including the readout button.
* Added partial DIP switches to norautrh.
* Added more technical notes.
Also fix Mantis 03284.
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Noraut Red Hot Joker Poker [Roberto Fresca, Alan Griffin]
New games marked as GAME_NOT_WORKING
------------------------------------
Noraut Poker (NTX10A) [Roberto Fresca, Alan Griffin]
Noraut Joker Poker (V3.010a) [Roberto Fresca, Alan Griffin]
- added unidasm to the tools build
- split the disassemblers out of libcpu and into new libdasm
- ensured the disassembly entry points for all disassemblers are
in the source file for the disassembler (sometimes new generic
versions were created)
Still needs command line options and file loading, but the
fundamentals are present, and it links.
- added discrete sound to battle zone
- engine frequency (resistor R11) can be changed with slider
- discrete sound may be disabled by setting BZONE_DISCRETE to 0 in bzone.h
DISCRETE_RCDISC3
- added diode junction voltage
- junction voltage also indicates polarity
DISCRETE_OPAMP_FILTER
- added type DISC_OP_AMP_FILTER_IS_LOW_PASS_1M
- INP2 takes role of v_ref in this type
DISCRETE_OPAMP
- Fixed a bug (possible divide by 0)
DISCRETE_LFSR
- Fixed bug preventing output of shift reg to sub node 1
> Sent: Thursday, August 20, 2009 4:20 PM
> Cc: Aaron Giles
> Subject: Re: Brap Boys progress
>
> Last one for tonight. I'm sending these because I have no idea when
> the
> next source update will be and I'd prefer it to be as up to date as
> possible so that this info can't be lost.
>
> We're almost half way there as far as decrypting brapboysj tables is
> concerned, however, we still need to better understand how the
> protection device uses them.
>
> These all apply against a clean SVN, not the previous patches I sent.
>
> David Haywood wrote:
> > more progress in decrypting the tables.
> >
> > David Haywood wrote:
> >> current progress, 2 extra tables decrypted.
> >>
> >>
> >> David Haywood wrote:
> >>> Further work on the decrypting of tables from the ROM. Added a
> >>> status table of the data I've decrypted, data I have to study etc.
> >>>
> >>> David Haywood wrote:
> >>>> Missed an 'else' sorry, wasn't decoding the table correctly.
> >>>>
> >>>> David Haywood wrote:
> >>>>> here's another which will decrypt table 0x19 for brapboys. (use
> >>>>> this instead of previous)
> >>>>>
> >>>>> I guess I need to understand something else like where it REALLY
> >>>>> writes the table data, or some other maths related ops, because
> it
> >>>>> just does a trap #0 to an infinite loop and then watchdog resets
> >>>>> now without requesting any more tables than the ones I've
> >>>>> decrypted. I'll work on decrypting the rest of them tho, as we
> >>>>> have a trojan that can supply whatever tables we request, however
> >>>>> understanding how to use them is becoming more important.
> >>>>>
> >>>>> David Haywood wrote:
> >>>>>> this decrypts table 11 (ugly ... but correct compared to the
> >>>>>> extracted data which is included for verification at this point)
> >>>>>>
> >>>>>> I may send newer versions as more tables are decrypted,
> depending
> >>>>>> on progress. This is so that nothing gets lost, and can be
> >>>>>> included.
Changed to mono both Downtown and Caliber 50: these pcbs don't have a
stereo connector.
Regarding the conversion to mono, I would like to know if it's good to
lower the output of the channels to 0.50 if each channel was previously
1.0 in stereo.
[Corrado Tomaselli]
> model sy6845.
> I tested it under my MESS z80ne driver.
> I don't know any other system using transparent access mode.
>
> src/emu/video/mc6845.c
>
>
> Best Regards
> Roberto Lavarone
- Use new dump for ic31/32, ROM board test passes now
- Add protection hookup for Marvel vs. Capcom 2, game is playable w/sound
I'm not removing GAME_NOT_WORKING because I don't trust the Naomi emulation
in general that much yet, although I was able to coin up and play (slowly ;-)
Dump is uploading.
------------------------------------
Dirt Dash (Rev. DT2) [Guru]
Olivier, this one's all yours. It pretty much nukes the existing video h/w
emulation but maybe you'll have better luck with it on your rewrite.
New Clone Added
----------------------------------------
Saulabi Spirits / Jin Saulabi Tu Hon (Korean release of Samurai Shodown II) [Guru / David Haywood]