- Option to raise outputs for physical meters to be used
- Option to disable making sound effects for emulated meters
- Option to disable virtual emulation of hopper/coin release system
The ICL compiler on Windows installs over MSVC and piggybacks onto the build tools Microsoft provide. To enable compilation use USE_ICL=1 when compiling with MSVC_BUILD=1 (from the ICL enabled command prompt)
+ gives a more stable build than the MSVC compiler
+ more informative compile errors when using ICL compared to MSVC compiler
+ can still use MSVC debugging tools (better than GCC)
+ can use additional intel tools etc.
- build is still slower than GCC one
out of whatsnew:
I've cleaned up this submission a fair bit, could maybe be cleaned a little more, but it's much better than what I was sent. Looking at the list of additional warnings that ICL requires to be disables reveals some to be mundane (and could probably be fixed in the source, eg. the way it doesn't like the hng64.c commenting style) whereas others look like they might be legitimate (and useful) warnings about problems we should look into.
I briefly tested this with VC2013 + Patch 1 RC and the current ICL, it appears to build and run fine.
- update the parser code
- the "rom" netlist and preprocessor netlist are now aligned again.
- got rid of fatalerror in netlist/* code. Implementing applications have
to implement fatalerror in a derived class from netlist_base_t now.
- separated mame specific code into netlist.h
- Diode model now uses a fast exp function which is approx. 3x faster than build-in at the expense of reduced accuracy. We are emulating real device with tolerances, so this is not an issue.
c:\emu\mamesvn\src\emu\netlist\pstring.h(26) : error C2220: warning treated as error - no 'object' file generated
c:\emu\mamesvn\src\emu\netlist\pstring.h(26) : warning C4200: nonstandard extension used : zero-sized array in struct/union
Cannot generate copy-ctor or copy-assignment operator when UDT contains a zero-sized array
c:\emu\mamesvn\src\emu\netlist\pstring.h(171) : warning C4291: 'void *operator new(size_t,pblockpool &,int) throw(std::bad_alloc)' : no matching operator delete found; memory will not be freed if initialization throws an exception
c:\emu\mamesvn\src\emu\netlist\pstring.h(51) : see declaration of 'operator new'
- moved all windows-only input "NOT" rules to osd/windows
- changed windows fullscreen video from alt-f11 to shift-alt-f12
- added windows fullscreen toggle ralt-enter (heh, i didn't know that ((A AND B) OR (A AND C)) rules were possible)
- pongf now runs 4 analog NE555s and video mixing.
- performance down by 20% abs on my machine (155% to 135%)
- happy :-)
- minor bugfixes
- pong still running, pongf still (though analog) still faster :-)