also split multfish into .c files and header, moving details of the sets where we only have reference info but there are no known dumps to a different file to avoid confusion. (nw)
pass-through cart. Correct syntax to launch e.g. Dizzy The Adventurer
is now "mess nes -cart ade -cart2 dizzyadv". Moved Aladdin minicart
dumps to a separate softlist (but you can load in -cart2 iNES files from
fullpath, if you like) [Fabio Priuli]
nes_camerica: simplified emulation of the BF9096 board and fixed
emulation of GoldenFive board (used by the Polish Pegasus 5 in 1
cart). [Fabio Priuli]
out of whatsnew: this commit completes the recent work about emulating properly the
different pass-through NES/Famicom devices and their corresponding mini-carts...
there should be no more games requiring non-standard syntax to be launched.
slot. The two Senyou Cassettes (Top Hit 20 Vol 1 & Vol 2) have now to be
loaded with the following commands "mess nes -cart karaoke -cart2 top20v1"
(or top20v2). This is accurate to the hardware, because these expansions
had to be manually inserted into the body of the main Karaoke Studio cart
before playing. [Fabio Priuli]
(nw)
Also deleted mame/video/taitoic.h, which absolutely nothing was #include'ing and which seems to be leftover from when the taito video chips were split into separate files.
now select songs and see the animation, even if I would not call playable the
games this way. [Fabio Priuli]
out of whatsnew: the expansion slot is currently hacked around at loading time.
I will soon implement it as a subslot, but I still need to check a few details first.
added a skeleton list I used for some quick testing.
the driver really needs a significant overhaul, but at least this makes usage a little less opaque.
Datach games have now to be loaded with the following commands
"mess nes -cart datach -cart2 gamename" where gamename can be
either a shortname from the datach softlist, or a fullpath to the iNES files
(or to headerless 256k dump of the Datach minicarts). This is accurate
to the hardware, because Datach carts could not be mounted in the main
Famicom cartridge slot. [Fabio Priuli]
UPC-A, EAN-13 and EAN-8 format, stores them in both byte format and in pixel
format; it is up to the driver to implement the correct transfer protocol. [Fabio Priuli]
Added UI menu to enter barcodes via keyboard. It only gets activated if the running
machine has a barcode device. [Fabio Priuli]
out of whatsnew: The latter change was coordinated with Nathan, so it shall not
create problems with his UI reorganization ;)
Worked from the scratch a whole set of inputs and button-lamps
support for this game. Changed the poker41 description to Four
in One Poker (as seen in the official brochure). Added game and
technical notes. [Roberto Fresca]
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Bingo [Roberto Fresca, Siftware]
available when we get there with the emulation. nw.
atari games will probably need to be split in different source files later on,
but I've tried to keep the code to the minimum for the moment.
- Roland Sound Canvas SC-55 [Stefan Lindberg]
nw: Time to play "what's the CPU?". seems to be 8-bit little-endian, might be
i8x9x, might not be. Current ROM mapping is definitely wrong.
In addition, removed a number of hacks around start-up conditions. All nets are now defaulted to "0" at startup. Much cleaner.
Added a 74LS629 device which yet needs to be enabled.
(MESS) dai: Updated to use new TMS5501. (nw)
tms5501: Rewrote the emulation to use devcb2 and diserial. [Curt Coder]
flopimg: Added preliminary support for the 8-N-1 serial encoding scheme used on Compucolor II floppies. [Curt Coder]
- adjust/add some comments
- restore complete controller port functions to the japanese SMS version
- isolate some code to their proper consoles
- remove FM support of the sms2kr driver
- remove Reset button of the smsj driver
- add emulation of the japanese Sports Pad model, required by Sports Pad Soccer
- adjust some code of other controller devices.
--------------------------------------------
Henry Prot I v19 (REV.1)
out of whatsnew: did some cleanup, removed unused variables, etc (Robbbert) Also, keyboard doesn't appear to work, maybe should be marked not working?
The examples have a ".c" suffix. In eclipse, I get automatic syntax parsing and error notifications. The parser treats "#" preprocessor defines/includes just as comments.
All of these examples can be run through nltool:
./nltool -f nl_examples/opamp.c -t 1 -l OUT
runs the opamp example for 1 second of emulation time and logs the terminal named "OUT" to "netlist_log_OUT.log".
I'll post a simple script to the list to visualize those logs using gnuplot.
- Added ELPM instructions
- Added fuse bits macros
- Added reset logic to decide initial program counter based on
fuse bits configuration
- Added initial support for ATMEGA1280 and ATMEGA2560
- Use register names in the disassembly of IN and OUT instructions
(MESS) New driver : Replicator 1 [Felipe Sanches]
(MESS) Replicator 1 driver: [Felipe Sanches]
- status: no sound / not working
- general skeleton.
- basic memory mapping
- shift-register interfacing from PORTC writes to the LCD device
- avr8 fuses configuration
- moves ec184*, iskr103* and mc1502 out of pc.c
- moves CGA font upload support to a subclass
- adds new drivers: poisk1, ec1847, pk88
- adds a skeleton of native iskr103* keyboard
i8089: implement remaining instructions and support execution from "io" space. [Carl]
(mess) isbc-215g: add intel isbc-215g hdd controller, read only for now [Carl]
(mess) isbc: add hdd support to isbc2861 (nw)
- 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 :-)
Fixed an issue in the object model as well and made the code distinguish between a core terminal and analog terminals.
NETDEV_R(RA, 5000)
NETDEV_R(RB, 3000)
NETDEV_C(C, 0.15e-6)
NETDEV_NE555(555)
NET_C(V0, 555.GND)
NET_C(V5, 555.VCC)
NET_C(RA.1, 555.VCC)
NET_C(RA.2, 555.DISCH)
NET_C(RB.1, 555.DISCH)
NET_C(RB.2, 555.TRIG)
NET_C(RB.2, 555.THRESH)
NET_C(555.TRIG, C.1)
NET_C(C.2, V0)
--------------------------------------------------
Cromemco MCB-216 Single Card Computer
(out of whatsnew)
Cromemco CB-308 Single Card Computer (no roms dumped, not in mess.lst)
this is mostly functional but about 2 years old now, and badly needs some modernizations. It's a bit ugly in places because I've had to make sure the legacy methods work too, although in other places simply because it's old code I never quite got around to cleaning up.
basically the inits have been split into ones that need calling once on startup (decryptions etc.) and ones that need calling when a new slot is activated (custom banking / protection handlers)
mame64 neogeo -cart1 kof98 -cart2 kof99 -cart3 kof2000 -cart4 kof2001 -cart5 kof2002 -cart6 kof2003
works, assuming you have the RAM. certain combinations / orders don't work, maybe the real system is like that, maybe there are flaws in the implementation.
once loaded as multi-game the neogeo will run through the attracts of each game in order, if you insert a coin then you can select next / previous game with the '3' and '4' (which are mapped to those buttons on the system) just like real hardware.
if you're low on memory try
mame64 neogeo -cart1 lbowling -cart2 samsho -cart3 mutnat -cart4 pbobblen -cart5 neomrdo -cart6 turfmast
instead
if you want an example of where it fails right now then put -cart1 roboarmy in slot 1 instead, it hangs after cycling through the games (or moving through them with 3) it's possible something isn't reset properly. This might become clearer as I clean things up a bit.
I've verified eas and neocdz work as before
In addition, fixed some bugs and added auto-sizing to netlist_list_t.
There shouldn't be memory holes left now, apart from memory allocated in a static class factory.
- Corrected the output of the PAL20X4, PAL20X8, PAL20X10 to show the XOR on the relevant sum of products.
- When viewing a device the size of the JED file is verified to match the size of the device.
- Replaced hard-coded symbol strings with constants.
- Started experimental work for supporting RICOH PAL’s. (Currently ifdef'ed out.)
- Added support for viewing the following devices and the corresponding regression test data.
(PALCE16V8, PAL10P8, PAL12P6, PAL14P4, PAL16P2, PAL16P8, PAL16RP4, PAL16RP6, PAL16RP8, PAL6L16, PAL8L14, PAL12H10, PAL12L10, PAL14H8, PAL14L8, PAL16H6, PAL16L6, PAL18H4, PAL18L4, PAL20C1 and PAL20L2)
Out of whatsnew: there are still a few files being worked on, and the build scripts which are currently set up outside of the MAME source hierarchy. Always open to cleaner ways of doing things.
This implementation takes an analog composite signal, extracts hsync, vsync and field information in addition to greyscale video.
Currently needed for pong.
* Fixed an RSP DMA edge case when transfer count is greater than 1.
* Refactored the RDP blender implementation to use function pointers rather
than deep if/else structures in order to reduce branch prediction penalties
in the inner software rasterizer loop.
* Reduced the likelihood that bad triangle commands due to an RSP crash will
crash MESS.
-new softlist : snes_vkun.xml (Voice-Kun audio compact discs)
first Voice-Kun public dump from King Mike added
-snes.xml : new prototype public dump from SNES Central
- Added expansion slot and implemented the gender adapter to allow
regular cartridges to be played through the expansion slot.
Usage example: mess sms1 -exp genderadp -cart2 wcup90
- Made the cartridge slot on the sg1000m3 driver to no longer
be mandatory allowing the driver to also be started with media
in the cardslot.
- Documentation on the earlier version of the Deco Cassette System
- Documented some pals on a bootleg Free Kick that need to be dumped
- Documented the location of the roms on Twin Cobra 2
- Added support to jedutil to view the PAL20X10, PAL20X8 and PAL20X4
- Added some preliminary work on figuring out what the undocumented fuses for the PALCE16V8 are. (The data sheet does not document what all of the fuses are.)
note, currently only supports .atr format due to image.filetype() not returning anything useful when softlist is used (thanks to micko for advice on various things)
(no credit wanted, this is just to address the 'where is jumpman' thing that was posted on MW and give a softlist entry for regtests on this code)
added skeleton 'Yamaha Mixt Book Player Copera' to the Sega Pico driver, it appears to be similar to the Pico but with extra sound hardware (a complete Sound Blaster clone) on the MB. Added a preliminary Softlist. Added board layouts for both [Team Europe]
EEPROMs.
Created atari_eeprom_device which wraps a 2804 or 2816 EEPROM with
the standard Atari write-locking mechanism. Updated all drivers to
use this, and removed all EEPROM stuff from atarigen.
more generally useful than just in tilemaps. Code is now in memarray.*
Converted the Atari RLE motion objects device from a half-assed
device into a full-assed device, leveraging the memory_array class.
subclass serial_eeprom_device. Moved the latter into its own file
eepromser.c and significantly cleaned up/simplified the code. The new
code should be functionally the same as the previous code, but expect that
to change soon. As a side-effect, the size and bus width of the EEPROM is now
specified in the ADD macro rather than in the interface structure.
- updated device_execute_interface::interface_post_reset so screen is searched
from same context
- removed tilelgcy.h since no more users exist
- made bfm_adr2 a device
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
- Corrected memory map errors with the SE and Classic
- Preliminary support for the SE's 68000 processor-direct slot
- Preliminary support for the Radius Full Page Display card which goes in the
SE PDS slot
Tilemap system: numerous changes:
* Moved remaining legacy macros and typedefs to tilelgcy.h. This revealed
a few drivers mixing and matching modern & legcy, which have now been
fixed.
* Changed get info callback signature to no longer pass the user_data
pointer, but instead pass a reference to the tilemap object itself.
Updated those few drivers using user_data to pull it out of the
tilemap object with the new user_data() getter method.
* Changed get info and mapping callbacks to be device_delegates so that
they can be described at config time.
* Added tilemap_memory object that is used internally for reading/
writing to memory that backs a tilemap. This object is used to track
a memory pointer that backs tilemap memory, and also is designed to
transparently handle all bus width and endianness associated with
reading and writing data in a tilemap.
* Incorporated two tilemap_memory objects (basemem and extmem) into the
tilemap object and added accessors to them, as well as read/write
handlers for reading/writing to entries stored in the memory. This
means that tilemap get info callbacks can now easily read data out of
the tilemap in a generic way.
* Rejiggered the initialization sequence for tilemap objects so that
the tilemap_manager is not required to be present at instantiation.
* Created a new tilemap_device, which can be used to declare a tilemap
in the machine config, and which also is a tilemap object itself.
The tilemap device will look for shared memory regions called
"<tag>" and "<tag>_ext" and automatically plug them into the tilemap.
The device also provides write handlers that can be used to write
to the tilemap memory and mark tiles dirty, saving the need for each
driver to write their own.
Device system: moved required/optional device finders to a new header
devfind.h.
Atari drivers: removed all playfield and alpha memory and tilemap
variables, apart from those needed by atarivc-using games (this will
become a device in a future update). Updated all Atari 16-bit drivers to
use the new tilemap_device instead, which provides all the needed
functionality in a more generic way.
yes, the filename is a bit ugly, but it's what it represents, I'll see if it can be further split into components later.
all users have been given a brief testing
(for MB-6892). For now these behave the same as bml3 (MB-6890).
Refactor disk controllers and kanji ROM as slot devices. This allows
switching between MP-1802 and MP-1805 disk controllers. MP-1805 disk
controller now works. Kanji ROM now works.
Keyboard scanning in 'counter disabled' mode now works.
imgtool: Add bml3 driver, supporting both single-density (MP-1805
controller) and double-density (MP-1802 controller) disks in D88 format.
mc6843: Work around floppy_get_device() not finding drives attached to a
slot device.Store all 8 bits in CTAR current track register, rather than
excluding bit 7 (needed for bml3 MP-1805 boot)
I have no interest in this *at all* but I keep getting bugged about it so I'm giving people a place to pt notes.
From an objective point of view we at least need somewhere to establish details and proper documentation about the hardware and what the original platform consists of in both terms of PC side, software side and original security side before the there is no hope at all due to the travesty being created by all the hacked to run on PC dumps or 'files copied from mounted encrypted partitions' type junk. That at least I feel is our duty because nobody else is going to care.
-m6809: Initially setting S with a 'TFR *,S' evidently should enable NMI [jedwidz]
-mc6845: Add rudimentary support for 'interlace and video' mode [jedwidz]
cassette. wav files supported only. [Fabio Priuli]
(MESS) Added software list for BASIC programs saved to tape [Anna Wu, UglyJoe, Fabio Priuli]
If anyone has more Family BASIC tapes or other cassettes for Famicom games or add-ons (e.g. Bandai Karaoke or Fukutake Study Box)
or for some chinese clones (ABM, or Bridge, or any other), please contact us.
- Much improved CS4031 emulation, added DMA, interrupt controller, timer, RTC directly to the device as sub devices and added the generic functions needed for AT compatibility
- Moved the ct486 driver to its own file, to avoid all the legacy stuff in at.c
- Added support for the IOCHCK signal to the ISA bus, this is used instead of directly issuing an NMI to the main CPU
- Moved ISA device slot definitions to its own file to avoid copy & pasting the same list to different drivers
- Updated MC146818 RTC for devcb2