- 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
on-cart flash ram devices from main gba now that they can be properly
implemented on carts which have them [Fabio Priuli]
The main difference for end users is that games using flash ram for saves won't save
anymore progresses in a nvram/game_name.nv file but in a file inside nvram/game_name/
folder. Many thanks to Micko for his recent changes to nvram devices which allowed to
still save these data per-game!
- Converted cart handling and mappers to use slot devices
- Simplified bios and cart bankswitch mechanism
- Added save state support to both systems
- Removed on-cart EEPROM from main gamegear now that
it can be properly implemented on carts which have it
- Made LCD persistence hack optional (ON by default, it can
be turned OFF from Driver Configuration submenu)
- Reduced tagmap lookups all across the driver
openly, for there was nothing left to see with" [MooglyGuy]
* Enabled vector bloom and associated .ini controls
* Added raster bloom and associated .ini controls, each bloom "level" is the
linear weight of successively half-sized render targets
* Removed D3D8 mode
* Mass renaming in D3D renderer to use namespaces, initial planning step to
HAL-based renderer implementation on Windows (i.e., GL on Windows)
* Converted d3d_info, d3d_poly_info, and d3d_texture_info into classes
* Added batching of vectors for possible speed increase
* Minor cleanup of shader state setting
asst128_dsk: add support for asst128 ssqd 360K disks (nw)
--
Added a new format class for asst128 floppies because the 360K SSQD disk format conflicts with the standard 360K DSDD type. The Assistant 128 BIOS translates disk commands so 360K DSDD disks boot fine though.
-mc1502: FDC xtal freq is 16 MHz
-pc, ec1841: unbreak DBG_LOG macro
-asst128: another PC XT clone
-ec1841: add softlist, set 'v2' as default BIOS to avoid resets
-----------------------------------
Golden Tee Fore! 2004 [R. Belmont, Brian Troha, uncletom]
Golden Tee Fore! 2005 [R. Belmont, Brian Troha, uncletom]
- converted carts, mappers and pcbs to use slot devices
- fixed starting of Famicom, Famicom Twin and Dr. PCJr
- fixed handling of "no disk" in FDS so that the system displays Mario and Luigi
jumping around as expected
- added AY8910 sound to Sunsoft-5B (Gimmick JPN sfx)
- added YM2413 to VRC-7 (Lagrange Point OST)
- added support for recorded samples to Jaleco sport titles and to Bandai Family Trainer
Aerobics Studio, thanks to notes by hap and egoh, and recordings by Pongbashi
(samples are needed because these games use a currently undumpable speech chip)
- added support for NES-EVENT pcb used by Nintendo World Championship 1990,
including dipswitches
- added support for Galoob Game Genie real usage (in addition to the codes which
Puggsy added to his cheat collections): when you load ggenie, a second cartslot
becomes available to load another game attached to the cheat device (e.g. with
"mess.exe nes -cart ggenie -cart2 smb") and you can enter the cheat codes as in a
real NES
- added support for Nantettatte!! Baseball lock-on mechanism, based on the tests
performed by naruko on his carts: when you load nantbb, a second cartslot
becomes available to load one of the two update minicarts (91 Hen or OB Hen)
- improved emulation of Namcot 163, 175 and 340 boards, based on the tests
performed by naruko, lidnariq and bootgod on the real hardware
- moved Nantettatte!! Baseball minicarts to a separate list (nes_ntbrom.xml) because
they cannot be loaded in the NES directly, but only through the nantbb subslot
- emulated bus conflict (CPU/PRG) in PCBs documented as having it
- partial emulation of open bus, enough to make working the games using it as a sort
of protection
- fixed crash when loading files using FFE mappers
- fixed mirroring in some boards (Sunsoft DCS and UNL-CC-21) and in some games
(e.g. Paris Dakar Rally Special and Escape from Atlantis)
- fixed a few bugs in Tengen 800032 emulation (mapper 64), promoting Klax, Xybots
and Road Runner to work state
- fixed Tengen 800037 emulation (mapper 158), promoting US Alien Syndrome to work
state
- added working emulation of many bootleg pcbs used for pirate conversions from FDS
(Ai Senshi Nicol, Doki Doki Panic, Fuuun Shaolin Kyo, Green Beret, Monty no Doki
Doki Daidassou, Tobidase Daisakusen, Super Mario Bros Malee 2 / Genius Merio Bros...)
- improved emulation of many pirate pcb (BMC-GOLDENCARD-6IN1, KS7013B,
KS7012, BMC-GHOSTBUSTERS63IN1, UNL-MALISB, MAXI15 and more...)
- improved RacerMate Challenge II emulation, but the game is still not working due to
unemulated bicycle controller
- added CPU-based IRQ mode in Tengen 800032 emulation (mapper 64), fixing
Skulls & Crossbones gfx (but the game is still not working)
- fixed many small inaccuracies in the old code, spot during the conversion
- added support for most other known pcbs, even if in most cases emulation is only
sketchy
- reduced the need of fake alt pbcs for boards which only differed by mirroring handling
(these are now recognized through the "mirroring" feature)
- removed fake wram which was added to a lot of partially documented pcbs and
re-added it only where actually present, so to more accurately document what was
really in the carts
Out of whatsnew: There's still a lot to do (e.g. to clean up the implementation of the pirate pcbs)
but I hope that submitting this now I can get some wider testing help so to catch and fix regressions
before next release :)
-----------------------------------
Fruit [Any, R. Belmont]
nw: This game based on a 486+PC h/w+VGA SoC appears to boot into MS-DOS successfully (based on logging IDE commands) and the game may even be running, but there is no video at all. If any of the PC experts could take a look it's probably something relatively obvious :)
It also has a Sound Blaster compatible sound system which isn't currently hooked up.