Use: ./mame vgmplay -bitb file.vgm/vgz
Lots of chips missing, no visualization, no control of anything, no
volume control either, and no sound shutdown on end of file.
Turbosub had a ROM_COPY declaration with an expression ('ROM_COPY( "main_code", 0x18000 + 0x2000,...) and this simply did not work with the new model. This required changing ROM_* declarations to more resemble how they used to be and to perform the conversion on load.
Air Raid, Street Fight and Dark Mist all basically use very similar video systems (4 layers, 2 of them being ROM based tilemaps, a CLUT prom for each layer which controls colours and transparency handling)
this takes some steps towards allowing a common implementation of it.
This is a redo of the split first submitted in #137, with the following differences:
* The newly refactored rom_entry data structure is used
* I've kept the refactored softlist code in src/emu, in order to defer the mechanical process of moving it
* I've kept includes of softlist[_dev].h out of diimage.h, so that changes to either do not trigger an emu.h recompilation
* Obviously, this goes against the latest master
* Mark lots of things constexpr in attotime and turn macros into functions
* Add base classes for HLE matrix keyboard and buffered RS232 device
* Make generic keyboard/terminal more usable
* Keyboard has configurable typematic delay/rate
* Keyboard has selectable JIS/ANSI layout
* Keyboard handles simultaneous keypresses more intuitively
* Keyboard uses meta to set high bit
* Terminal has configurable auto LF on CR, auto CR on LF and local echo
* Terminal has audible bell
* Untangle Olivetti M20 keyboard from generic_keyboard
* Add notes to Olivetti M20 keyboard emulation
* Make Olivetti M20 keyboard match physical layout
* Untangle RM Nimbus keyboard from generic_keyboard
* Fix natural keyboard mode with RM Nimbus
* Untangle x68k keyboard from generic_keyboard
* Improve x68k key names and mapping
* Improve x68k typematic behaviour
* Untangle QX-10 keyboard from generic_keyboard
* Keep NGEN keyboard barely working
The keyboard should communicate at 1,200 Baud, but due to bugs in the SCC
it's set to 9,600 Baud. The sun4c machines program the Baud rate
generator dividers for the serial ports with 00:0e and the dividers for
the keyboard/mouse ports with 00:7e. Therefore the ratio of Baud rates
should be (0x7e + 2) / (0x0e + 2) = 128 / 16 = 8. However both the RS232
ports and the keyboard/mouse ports run at 9,600 Baud, when the
keyboard/mouse ports should run at 1,200 Baud (which is 1/8 of 9,600 which
matches the ratio of the divider values).
I've artificially limited the rate the keyboard can transmit at to be no
faster than it could at 1,200 Baud using a timer. I can remove this hack
once we get correct SCC divider behaviour.
I attempted to hook up the SCC interrupts to level 12 as specified in the
SPARCstation-1 Programmer's Model in the table on Page 19. No interrupts
seem to be generated, so either I've screwed this up somehow, the Sun
isn't enabling interrupts, or there's another bug in the SCC emulation.
Sorry if I've screwed it up - I won't be offended if someone replaces it
wholesale.
The keyboard receives the reset commands from the Sun and sends back the
self test pass response, but the SCC seems to get a buffer overrun error.
So it appears that the received data isn't being read out. I haven't been
able to work out why.
* .h -> .ipp for things that aren't really headers
* make more stuff in selmenu private
* move the remembered driver/software associated with the snap to the cache object
* start cleaning up constness in datfile manager - it's still a mess of non-const statics
* Split out main menu and dat box drawing from base class
* Make a bunch of class statics proper per-machine persistent objects
* Object lifecycle fixes
- Button mappings completely reworked: grey bidding/suit selection buttons classified as keypad inputs and put in correct order, and other buttons as console-standard Start, Select, Button 1-2
- Inputs now read through PIO instead of RAM addresses, making them less hypersensitive
- Manufacturer/publisher is Unicard, as manuals and system/cartridge labels clearly state
- Added release years for some common cartridges
- (nw) Link bbcbc in its own library rather than the unrelated libacorn ("make clean" strongly recommended)
- Create a SG-1000 expansion slot.
- Hook up the SG-1000 expansion slot to sg1000.cpp and sms.cpp (sg1000m3).
- Split the sk1100 code from sg1000.cpp and attach it to the new expansion slot.
- Create a new FM Sound Unit device and attach it to the new expansion slot.
- For the sc3000 driver, re-add sk1100 as a fixed SG-1000 expansion device.
- Add sg1000 software list to sg1000m3 and Japanese/Korean SMS drivers.
sms.cpp: implemented some new findings [Enik Land]
- Remove some mirrors for ports $DC/$DD on SMSJ based on Charles' hw tests.
- Add basic C-Sync callback to 315_5124.cpp, based on Charles' hw tests.
- Add built-in Rapid Fire (uses C-Sync) for SMSJ and Korean SMS1 drivers.
- Add new SMS drivers due to XTAL differences:
sms1br - Tec Toy Master System I (Brazil)
sms2br - Tec Toy Master System II (Brazil)
smsbr - Tec Toy Master System III Compact (Brazil)
sms1paln - Tec Toy Master System I (PAL-N)
sms2paln - Tec Toy Master System II (PAL-N)
smspaln - Tec Toy Master System III Compact (PAL-N)
Brazil is PAL-M TV system, but I decided to call it by the
country name, seems to be better recognizable and for
emulation looks more like a NTSC system. PAL-N is used
in Argentina, Paraguay and Uruguay and looks closer to
the European PAL system when compared to PAL-M.
- Replaced shared_ptr by unique_ptr.
- Better seperation of setup_t and netlist_t.
- Fixed bugs in rdtsc code. Refactored timer code.
- Simplify conditional activation/deactivation.
- Introduced HINT(device, hint) to clarify that hints are inheritent
and not specific to devices.
- Added improved profiling support to netlist. Statistics output now
proposes devices for which whole device activation/deactivation be
disabled. No significant improvement for pong, but breakout
experiences a 10% improvement.
- Moved options code from include to cpp file.
- Minor modifications to 7493 and 9316
- Introduced perftime_t and perfcount_t for gathering statistics. These
templates do not create any code if statistics are not kept.
- Make help2man ./nltool produce usuable output.
- More truthtable refactoring. Removed half-finished code for internal
state support. As implemented, this would have had no support for
timing delays.
[Couriersud]
Kyuukoukabakugekitai - Dive Bomber Squad [Andy Welburn, ShouTime, Smitdogg, Haze, Imhotep, Ryan Holtz, hap, Zhivko Dimitrov, spogghi, ANY, Arjen Hoekman, Arcade Addict, krick, Dullaron, Eddie, f205v, rtw, Rod_Wod, Fabien Marsaud, InsertMoreCoins, Jan Stuhler, trap15, Macaw, Team Japump, Brandon Munger, Juan Manuel Gutierrez, abelardator2, Jordi Bosch Creus, haynor666, Nestor Acebo Jimenez, Carl Perry, Jeremy McElroy, Steven Boswell, JJaVMeTaL, Steven LeMaire, Matthew Shultz, Mark Riley has no toaster, Carlos Gutierrez, Bjorn Stahl, Aldo Vittorio De Luca, Bruno Celsi, Philip Zumbrun, cornishdavey, Stefano De Dionigi, motoschifo, Mamesick, Daniel Hitchcock, Patrick Wheeler, bisus, desodeso, Swos, Don Zaucker, Tox Nox Fox, Zak0077, giuppo, Moket, Frankie, robindan77, biasini, Dr_Zero, motoschifo, Mameremember, John Wilke, Sean Sutton, Renato Mucciarelli, Berlioux Julien, Lior Aouate, The Dumping Union]
Three patches with code cleanups to the OSD layer [
Giuseppe Gorgoglione]
* Fix debugging code in font_dwrite.cpp
* Introduce dynamic_module
* Remove Direct3D abstraction layer
* git version is set by top-level make, not just when GENie runs
* can set IGNORE_GIT=1 for make to ignore git
* git ignored/unavailable uses "unknown" in version string
* mark modified trees as dirty
* note that version now comes from makefile
- Dead code removal and minor refactoring.
- Simplify. Align naming with stl. Fix somed pedantic warnings.
- More STL compatability.
- Remove ATTR_HOT and ATTR_COLD. Refactored netlist_time.
- Fix long standing workaround which would ignore policy of change-only"
propagation.
- Rewrote for loops to use auto : semantics.
- Truthtable cleanup. (nw)
- Get rid of nl_math. Remove nl_util.h and moved contents to
plib/putil.h.
- Fix standalone build. Refactor ptypes.h.
[Couriersud]
allow in-place creation (for increased locality) of netlist classes.
Main use is in truthtable class.
- Remove PLIB_NAMESPACE macros.
- Remove namespace macros. Use explicit namespace declarations.
- Moved device definitions into cpp files.
- Moved more device definitions into cpp files.
- New prefix "nlid" for include files flags purely internal include
files not to be leaked into userland.
- Fix factory code.
* pet_cass.xml
- Added Supermon (Toronto PET User Group) [Ken White]
- Replaced bad dump of Side B of Squiggle, Big Time / Monitor (the m command in the monitor now works correctly) [Ken White]
=======================
V-Tech V-Smile Pro [TeamEurope]
out of whatsnew: also added a couple of discs which were dumped by
TeamEurope as well, and converted other German discs to CHD v5.