MAME Plus (whatever) 0.121 released with console support

Announce new emulators, discuss which games run best under each emulator, and much much more.

Moderator: General Mods

Post Reply
mamedev

MAME Plus (whatever) 0.121 released with console support

Post by mamedev »

Greetings to the ZSNES community!

http://mameicons.free.fr/mame32p/
http://mame.emu-zone.org/
http://mame.tsubasa.com.cn/

enlightened from this thread, we integrated MESS core into MAME Plus in the hope that MESS would get wider attention that it deserves.

"console games tend to push things harder than arcade ones, and often abuse chips in ways the arcade games don't", so that console emulation may potentially improve the level of accuracy in MAME. currently we have 3 drivers (ie. NES, SNES, Genesis) enabled, to evaluate console emulation in the MAME framework. we prefer not to have a fixed game list, as the MESS window UI already gives a console-ish emulator look and feel.

whether MAME 'Plus' still bears the name of MAME is merely a philosophical opinion.

Image
snkcube
Hero of Time
Posts: 2646
Joined: Fri Jul 30, 2004 2:49 am
Location: In front of the monitor
Contact:

Post by snkcube »

Ah, that's pretty awesome. I'll give it a download and check it out.
Try out CCleaner and other free software at Piriform
Image
Panzer88
Inmate
Posts: 1485
Joined: Thu Jan 11, 2007 4:28 am
Location: Salem, Oregon
Contact:

Post by Panzer88 »

sweetness, this could make things interesting, knowing how they are about accuracy. They should add in Master System/Game Gear also, it'd prolly be the least complicated to emulate.
[quote="byuu"]Seriously, what kind of asshole makes an old-school 2D emulator that requires a Core 2 to get full speed? [i]>:([/i] [/quote]
mamedev

Post by mamedev »

Mame Plus will not emulate more consoles at this moment and there is no need for that either when MESS is constantly on development with a large dev team that contributes drivers for individual systems regularly. MESS stands for "Multi Emulator Super System", there are DOS, MAC, and UNIX ports of MESS. Mess also follows the release cycle of MAME and will be updated to v0.121 soon. Hopefully in a near future all the main devs in the general emulation scene will work together as a single unit.


http://www.mess.org/


Supported Systems:

3DO
ABC 80
ABC 800C
ABC 800M
ABC 802
ABC 806
Acorn Electron
Adventurevision
AIM 65
Alfa
Alice
Amstrad CPC464+
Amstrad CPC6128+
Amstrad PC1512 (version 1)
Amstrad PC1512 (version 2)
Amstrad PC1640 / PC6400 (US)
Amstrad PC20
Amstrad/Schneider CPC464
Amstrad/Schneider CPC6128
Amstrad/Schneider CPC6128 Azerty French Keyboard
Amstrad/Schneider CPC664
APEXC (as described in 1957)
APF Imagination Machine
APF M-1000
Apple ///
Apple ][
Apple ][+
Apple //c
Apple //c (Original Memory Expansion)
Apple //c Plus
Apple //c (rev 4)
Apple //c (UniDisk 3.5)
Apple //e
Apple //e (enhanced)
Apple //e (Platinum)
Apple I
Apple IIgs (ROM00)
Apple IIgs (ROM01)
Apple IIgs (ROM03)
Apple ][j+
Aquarius
Arcadia 2001
Atari 2600 (NTSC)
Atari 2600 (PAL)
Atari 400 (NTSC)
Atari 400 (PAL)
Atari 5200
Atari 5200 (alt)
Atari 7800 NTSC
Atari 7800 PAL
Atari 800 (NTSC)
Atari 800 (PAL)
Atari 800XL
Atari Jaguar
Atom
Atom with Eprom Box
Bally Computer System
Bally Professional Arcade
BBC Master
BBC Micro Model A
BBC Micro Model B
BBC Micro Model B+ 128k
BBC Micro Model B+ 64K
BeBox Dual603-133
BeBox Dual603-66
C64GS (PAL)
CBM4064/PET64/Educator64 (NTSC)
CF-1200 (Japan)
CF-2000 (Japan)
CF-2700 (Japan)
CF-3000 (Japan)
CF-3300 (Japan)
Channel F
Chess Champion MK I
Chess Champion MK II
ColecoAdam
ColecoVision
ColecoVision (Thick Characters)
Color Computer
Color Computer 2
Color Computer 2B
Color Computer 3 (NTSC)
Color Computer 3 (NTSC; HD6309)
Color Computer 3 (PAL)
Color Computer (Extended BASIC 1.0)
Colour Genie EG2000
Commodore 128 French (PAL)
Commodore 128 German (PAL)
Commodore 128 Italian (PAL)
Commodore 128 NTSC
Commodore 128 Swedish (PAL)
Commodore 16/116/232/264 (PAL)
Commodore 16/116/232/264 (PAL), 1551
Commodore 16 Novotrade (PAL, Hungarian Character Set)
Commodore 30xx (Basic 2)
Commodore 30xx (Basic 2) (business keyboard)
Commodore 364 (Prototype)
Commodore 40xx FAT (CRTC) 50Hz
Commodore 40xx FAT (CRTC) 60Hz
Commodore 40xx THIN (business keyboard)
Commodore +4 (NTSC)
Commodore +4 (NTSC), 1551
Commodore 64 (NTSC)
Commodore 64 Swedish (PAL)
Commodore 64/VC64/VIC64 (PAL)
Commodore 80xx 50Hz
Commodore 80xx 60Hz
Commodore 80xx German (50Hz)
Commodore 80xx Swedish (50Hz)
Commodore Amiga 1000 (NTSC-OCS)
Commodore Amiga 500 (NTSC-OCS)
Commodore Amiga 500 (PAL-OCS)
Commodore Amiga CDTV 1.0 (NTSC)
Commodore B128-40/Pet-II/P500 60Hz
Commodore B128-80HP/710
Commodore B128-80LP/610 60Hz
Commodore B256-80HP/720
Commodore B256-80HP/720 Swedish/Finnish
Commodore B256-80LP/620 50Hz
Commodore B256-80LP/620 Hungarian 50Hz
Commodore Max (Ultimax/VC10)
Commodore SP9000/MMF9000 (50Hz)
Compis
Concept
Cosmac VIP (VP-711)
CP400
CPS Changer (Street Fighter ZERO)
CreatiVision (NTSC)
DAI Personal Computer
Data General/One
Dragon 32
Dragon 64
Dragon 64 Plus
Dragon Alpha Prototype
Dragon Beta Prototype
Dreamcast (European PAL)
Dreamcast (Japan NTSC)
Dreamcast (US NTSC)
Enterprise 128
Enterprise 128 (EXOS 2.1)
EURO PC
Expert (Brazil)
Expert DDPlus (Brazil)
Expert Plus (Brazil)
Famicom
Famicom Twin
Fellow (Finland)
Franklin Ace 100
FS-1300 (Japan)
FS-4000 (Japan)
FS-4500 (Japan)
FS-4600 (Japan)
FS-4700 (Japan)
FS-5000F2 (Japan)
FS-5500F1/F2 (Japan)
FS-A1 / 1st released version (Japan)
FS-A1 / 2nd released version (Japan)
FS-A1F (Japan)
FS-A1FM (Japan)
FS-A1FX (Japan)
FS-A1MK2 (Japan)
FS-A1WSX (Japan)
FS-A1WX / 1st released version (Japan)
FS-A1WX / 2nd released version (Japan)
FunVision Computer Video Games System (PAL)
Galaksija
GameBoy
GameBoy Color
GameBoy Pocket
Game.com
Genesis (USA, NTSC)
Geneve 9640
HB-201 (Japan)
HB-201P
HB-501P
HB-75D (Germany)
HB-75P
HB-8000 Hotbit 1.1
HB-8000 Hotbit 1.2
HB-F1II (Japan)
HB-F1 (Japan)
HB-F1XD (Japan)
HB-F1XDJ (Japan)
HB-F1XDMK2 (Japan)
HB-F1XV (Japan)
HB-F500 (Japan)
HB-F500P
HB-F700D (Germany)
HB-F700P
HB-F700S (Spain)
HB-F900 / 1st released version (Japan)
HB-F900 / 2nd released version (Japan)
HB-F9P
HB-G900P
HiSaturn
HX-10
IBM PC 08/16/82
IBM PC 10/27/82
IBM PC/AT (CGA, MF2 Keyboard)
IBM PC/XT (CGA)
Indigo2 (R4400, 150MHz)
Indy (R4600, 133MHz)
Indy (R5000, 150MHz)
Intellivision
Intellivision Keyboard Component (Unreleased)
Intellivision (Sears)
Inves Spectrum 48K+
IQ-1000 DPC-100 (Korea)
IQ-1000 DPC-180 (Korea)
IQ-1000 DPC-200 (Korea)
IQ-2000 CPC-300 (Korea)
IRIS Indigo (R4400, 150MHz)
Jupiter Ace
Kaypro 2x
KC 85/3
KC 85/4
KC Compact
KIM-1
Lambda 8300
Laser 110
Laser 110 (Germany)
Laser 128ex (rev 4a)
Laser 128 (rev 4)
Laser 200
Laser 210
Laser 210 (Germany)
Laser 310
Laser 350
Laser 500
Laser 700
Lisa2
Lisa2/10
LNW-80
Lviv
Lynx
Lynx II
Macintosh 128k
Macintosh 512k
Macintosh 512ke
Macintosh Classic
Macintosh Plus
Macintosh SE
Macintosh XL
Mato (Basic ROM)
Mato (Games ROM)
MC-10
Mega Drive (Europe, PAL)
Mega Drive (Japan, NTSC)
MegaDuck/Cougar Boy
Mega ST
Mega STE
Mephisto 4 Schach Computer
Mephisto 5 Schach Computer
Microbee 32 IC
Microbee 32 PC
Microbee 32 PC85
Microbee 56
Micro Professor 1
Micro Professor 1B
Microtan 65
MO5
MO5E
MO5 NR
MO6
MSX
MSX2
MSX2+
MTX 512
MZ-700
MZ-700 (Japan)
Nascom 1
Nascom 2
NC100
Nintendo 64
Nintendo Entertainment System (NTSC)
Nintendo Entertainment System (PAL)
NMS-8220 / 1st released version
NMS-8220 / 2nd released version
NMS-8245
NMS-8250
NMS-8255
NMS-8280
Odyssey 2
Oric 1
Oric Atmos
Oric Telestrat
PC200 Professional Series
PC8300
PC-8801 MKIISR (Hires display, VSYNC 24KHz)
PC-8801 MKIISR (Lores display, VSYNC 15KHz)
PC/AT 386(CGA, MF2 Keyboard)
PC/AT 486(CGA, MF2 Keyboard)
PC/AT 586(CGA, MF2 Keyboard)
PC/AT (CGA, MF2 Keyboard)
PC/AT (VGA, MF2 Keyboard)
PC (CGA)
PC Engine
PC (MDA)
PC/XT (VGA, MF2 Keyboard)
PDP-1
PET2001/CBM20xx Series (Basic 1)
Philips P2000M
Philips P2000T
PMD-85.1
PMD-85.2
PMD-85.2A
PMD-85.2B
PMD-85.3
Pocket Computer 1251
Pocket Computer 1350
Pocket Computer 1401
Pocket Computer 1402
Pocket Computer 1403
Pocket Computer 1403H
Pokemon Mini
Power 3000
Pravetz 8D
Pravetz 8D (Disk ROM)
Pravetz 8D (Disk ROM, RadoSoft)
Primo A-32
Primo A-48
Primo A-64
Primo B-64
Prodest PC 128
QL (France)
QL (Germany)
QL (Italy)
QL (Mexico)
QL (Spain)
QL (Sweden)
QL (UK)
QL (USA)
Rebel 5 Schach Computer
Sam Coupe
Samsung Gam*Boy II (Korea)
Saturn (Japan)
Saturn (PAL)
Saturn (USA)
SC-3000
SC-3000/Super Control Station SF-7000
Sega Game Gear - European/American
Sega Game Gear - Japanese
Sega Master System I
Sega Master System II
Sega Master System II (PAL)
Sega Master System I (PAL)
Sega Master System (Japan)
Sega Master System Store Display
Sega SG-1000 Mark III
SG-1000
SG-1000 Mark II
Sharp X68000
Sony PlayStation (Asia-Pacific)
Sony PlayStation (Europe)
Sony PlayStation (Japan)
Sony PlayStation (USA)
Sorcerer
Sorcerer (diskless)
Sord M5
Spectrum I+
ST
STE
Studio II
Superboard II Model 600 (Rev. B)
Super GameBoy
SuperGrafx
Super Nintendo Entertainment System (NTSC)
Super Nintendo Entertainment System (PAL)
Supervision
SVI-318 (SV BASIC v1.0)
SVI-328
SVI-603 Coleco Game Adapter
SVI-738
System-80
T9000
Tandy 1000HX
Tano Dragon 64 (NTSC)
Tatung Einstein TC-01
TC-2048
Telmac 2000
Telmac TMC-600 (Sarja II)
The Commodore 64DX Development System (Prototype, PAL, German)
The Commodore 65 Development System (Prototype, NTSC)
TI-81
TI-82
TI-83
TI-83 Plus
TI-85
TI-86
TI99/4A Home Computer (Europe)
TI99/4A Home Computer (US)
TI99/4A Home Computer with EVPC
TI99/4 Home Computer (Europe)
TI99/4 Home Computer (US)
TI-99/8 Computer (Europe)
TI-99/8 Computer (US)
TI Avigo 100 PDA
Timex Sinclair 1000
TI Model 990/10 Minicomputer System
TI Model 990/4 Microcomputer System
TK-90x Color Computer
TK-95 Color Computer
TM 990/189 University Board microcomputer with University Basic
TM 990/189 University Board microcomputer with University Basic and Video Board Interface
TO7
TO7/70
TO7/70 arabic
TO8
TO8D
TO9
TO9+
Tomy Tutor
TRS-80 Model I (Level I Basic)
TRS-80 Model I (Radio Shack Level II Basic)
TRS-80 Model I (R/S L2 Basic)
TS-2068
TurboGrafx 16
TX-0 original demonstrator (64 kWords of RAM)
TX-0 upgraded system (8 kWords of RAM)
TX-8000 (UK)
UK101
UK-2086 ver. 1.2
VC4000
Vectrex
VG-8235
VIC1001 (NTSC)
VIC20 (NTSC)
VIC20 (NTSC), IEEE488 Interface (SYS45065)
VIC20 PAL, Swedish Expansion Kit
VIC20/VC20(German) PAL
V-Saturn
VZ-200 (Germany & Netherlands)
VZ-200 (Oceania)
VZ-300 (Oceania)
WAVY PHC-23 (Japan)
WAVY PHC-35J (Japan)
WAVY PHC-70FD2 (Japan)
WAVY PHC-70FD (Japan)
WonderSwan
WonderSwan Color
X-II CPC-400 (Korea)
X-II CPC-400S (Korea)
Z88
ZX-80
ZX-81
ZX.Aszmic
ZX Spectrum
ZX Spectrum 128
ZX Spectrum 128 (Spain)
ZX Spectrum +2
ZX Spectrum +2a
ZX Spectrum +2 (France)
ZX Spectrum +2 (Spain)
ZX Spectrum +3
ZX Spectrum +3e
ZX Spectrum +3e (Spain)
ZX Spectrum +3 (Spain)
ZX Spectrum +4
ZX Spectrum (BusySoft Upgrade v1.18)
ZX Spectrum (Collier's Upgrade)
ZX Spectrum (De Groot's Upgrade)
ZX Spectrum (LEC Upgrade)
ZX Spectrum (Maly's Psycho Upgrade)
byuu

Post by byuu »

Please don't take this as me bashing MESS, I could write an equally long post praising it (and I really do think that overall it's a great program; and I have the utmost respect for R. Belmont, Haze, etc), but that isn't very constructive. So to critique ...

My problem with using MESS has always been that it isn't very user friendly. Even for me, it took me ~5 minutes to finally figure out how to load a game in MESS, and then I had to make an SPC700 IPLROM, and a DSP-1 (!!) ROM before I could even boot Super Mario World -- a non-DSP game.

I can understand maybe not including the DSP-1 data ROM (but don't require it to boot non-DSP games), but the SPC700 IPLROM? It's 64 bytes, and impossible to implement any other way. It's absurd to make people go out and fetch those. This isn't a BIOS, and it's fully readable by games. I would go so far as to say it's required for emulation.

MESS is a supermassive, 15+MB beast, whereas with any other SNES emulator, you just get a ~200kb-1MB app that you double click, hit file->open, select your ROM and press enter. Even the key mapping is identical in nearly all of them. You can't fault them on size, given all the systems supported, but it doesn't do them any favors, either.

And then you have the MAME problem that they only want to run recognized commercial titles, which require game lists. Needed for MAME due to all the different hardware subsystems, but not so great for consoles. But I'm sure a compromise to allow any game to load for consoles would be possible.
Hopefully in a near future all the main devs in the general emulation scene will work together as a single unit.
As far as accuracy goes, I agree with you that we should all work together. And we are all open source now, which is very nice. But I just don't think MESS is the platform to do it.

R. Belmont touched on this, the basic problem is that MESS is just so "different", that you really can't just plug any old emulator into it and use it. It would take massive rewrites.

By making this structured base to design all systems around, you lose the ability to get more accurate when needed for a given system. For instance, I'm pretty sure MESS lacks the ability to define a new CPU that breaks instructions down below individual cycles. And it probably doesn't support more radical ideas like timeshifted scheduling, and various forms of threading.

This basically makes MESS development deductive (we have a basic framework, now let's find out how to fit various consoles into it) rather than inductive (we have a console, let's find the best way to emulate it).

MESS suffers greatly from having to write their own emulators for each system. Nestopia and Gambatte being GPL, and me being very open to the idea, I'm sure you'd have no problem getting these into something like Mednafen, which just combines existing solutions, albeit that leads to lots of code sanity problems. But into MESS? Not a chance.
MESS of course has its own wins, like hazemd.

Really, the best way to do something like MESS would be to come up with a cross-platform dynamic link library system. Add a basic information block to define what capabilities are allowed by the driver, and then allow these individual systems to emulate said hardware however they choose. Emulators really only need a way to send video and audio output, and read back controller and storage input.

Things that really are global to all systems, like graphical filters, could reside in the core. Things went crazy during the 32-bit and above era, with plugins and settings galore, but pSX showed us this is not required, even for newer systems.

This would unite the interface to one standardized core, and make adding new consoles much easier with very little rewriting necessary in most cases. It would also allow the MESS core to only be a fancy GUI (~100kb). You could easily reduce the overhead and only load one DLL at a time, and make small updates to each system much more frequently. Add some filename / file format detection, or worst case a command-line switch + multiple shortcut icons, and you could even reach the simplicity of current emulators of: click, file, open, run. Better yet, a DLL system would bypass any licensing issues, allowing even something like pSX to be added, if the author so chose.

And merging MESS into MAME just makes all of this worse, not better.

Eh, but what do I know :/

PS - listing each regional variant as another supported system is very disingenuous at best. I recommend you not keep doing that :P
blargg
Regular
Posts: 327
Joined: Thu Jun 30, 2005 1:54 pm
Location: USA
Contact:

Post by blargg »

byuu wrote:I can understand maybe not including the DSP-1 data ROM (but don't require it to boot non-DSP games), but the SPC700 IPLROM? It's 64 bytes, and impossible to implement any other way. It's absurd to make people go out and fetch those. This isn't a BIOS, and it's fully readable by games. I would go so far as to say it's required for emulation.
It's still copyrighted, which I assume is the reason for non-inclusion. For the same reason I don't include it in my SPC emulator.
byuu wrote:MESS suffers greatly from having to write their own emulators for each system. Nestopia and Gambatte being GPL, and me being very open to the idea, I'm sure you'd have no problem getting these into something like Mednafen, which just combines existing solutions, albeit that leads to lots of code sanity problems. But into MESS? Not a chance.
I understand MESS to have a particular philosophy as to how the systems are emulated, for the purpose of documentation. If another emulator serves as good documentation but isn't accepted into MESS, so what? What's the loss?
byuu

Post by byuu »

It's still copyrighted, which I assume is the reason for non-inclusion. For the same reason I don't include it in my SPC emulator.
Ten dollars says anyone using your SPC emulator (eg ZSNES) adds it right back :P

I really do wonder if a court would hold that up. The PSX BIOS was different, it was a huge program that had lots of custom code in it. That was still a boneheaded decision by an incompetent judge not fit to serve (it allows a simple legal workaround to effectively eliminate commercial emulators for good -- a game need only read back the BIOS and perform a bit-for-bit / hash check to lockout all emulators who try and simulate the BIOS), but complaining about that doesn't change the law ...

The SPC IPLROM though ... I really do wonder if you even could get away with changing it and still maintain compatibility with all software. It would be trivial for a commercial game to read back the IPLROM and refuse to run if it wasn't a perfect match.
64-bytes ... I know most judges aren't known for their technological intellect, but come on ... and yeah, nobody wants to defend themselves in court over this.
Still, it's just feedback. The fact that no other complete SNES emulator has -ever- required it, is a huge setback to MESS adoption.
I understand MESS to have a particular philosophy as to how the systems are emulated, for the purpose of documentation. If another emulator serves as good documentation but isn't accepted into MESS, so what? What's the loss?
I agree with you there is no loss if another emulator is not bundled with MESS.

That's all well and good, but "mamedev" was hoping we would all work together on MESS one day. I was pretty much saying that their narrow philosophy is one reason why that won't happen, and presenting the best alternative I could.

I personally don't have a problem with separate emulators for each system, or even multiple emulators for the same system, even on the same machine (best tool for the job and all that); but it's quite clear that overall, most people would prefer having only one program to do as many things as possible for them.
FitzRoy
Veteran
Posts: 861
Joined: Wed Aug 04, 2004 5:43 pm
Location: Sloop

Post by FitzRoy »

Just looking at that list is sensory overload for me. I think MESS might be a good idea for obscure systems, calculators, old computers, stuff which wasn't all that popular gaming-wise or didn't have a very large library. But there's no way I'm scrolling through a list of every device ever made just to get to the few systems I really care about.

The one thing that does annoy me about standalone emulators is that they're all so different from each other GUI-wise. They never share the same locations or wording for options, some are massively bloated and difficult to navigate, some require you to mount the rom before running it, some opt for "eyeballing it" instead of locked resolution scaling, some are Linux/Windows only, etc etc, and it's really just annoying as hell to have no one expectation of navigation or functionality. And really, no one can seem to agree on who's doing the best job, so standardization is a pipe dream.
Gil_Hamilton
Buzzkill Gil
Posts: 4294
Joined: Wed Jan 12, 2005 7:14 pm

Post by Gil_Hamilton »

byuu wrote:
It's still copyrighted, which I assume is the reason for non-inclusion. For the same reason I don't include it in my SPC emulator.
Ten dollars says anyone using your SPC emulator (eg ZSNES) adds it right back :P

I really do wonder if a court would hold that up. The PSX BIOS was different, it was a huge program that had lots of custom code in it. That was still a boneheaded decision by an incompetent judge not fit to serve (it allows a simple legal workaround to effectively eliminate commercial emulators for good -- a game need only read back the BIOS and perform a bit-for-bit / hash check to lockout all emulators who try and simulate the BIOS), but complaining about that doesn't change the law ...
Fortunately, Sony ALREADY had a few BIOS revisions by the time of Bleem! and VGS, so that wasn't an option.

The SPC IPLROM though ... I really do wonder if you even could get away with changing it and still maintain compatibility with all software. It would be trivial for a commercial game to read back the IPLROM and refuse to run if it wasn't a perfect match.
64-bytes ... I know most judges aren't known for their technological intellect, but come on ... and yeah, nobody wants to defend themselves in court over this.
Still, it's just feedback. The fact that no other complete SNES emulator has -ever- required it, is a huge setback to MESS adoption.
I understand MESS to have a particular philosophy as to how the systems are emulated, for the purpose of documentation. If another emulator serves as good documentation but isn't accepted into MESS, so what? What's the loss?
I agree with you there is no loss if another emulator is not bundled with MESS.

That's all well and good, but "mamedev" was hoping we would all work together on MESS one day. I was pretty much saying that their narrow philosophy is one reason why that won't happen, and presenting the best alternative I could.

I personally don't have a problem with separate emulators for each system, or even multiple emulators for the same system, even on the same machine (best tool for the job and all that); but it's quite clear that overall, most people would prefer having only one program to do as many things as possible for them.[/quote]
Panzer88
Inmate
Posts: 1485
Joined: Thu Jan 11, 2007 4:28 am
Location: Salem, Oregon
Contact:

Post by Panzer88 »

yeah I find 90% of those unneeded to me, but if I understand it correctly you can turn on a filter or something right or remove some from the visual list (right?)

I'm pretty sure you don't HAVE to always look at all the systems (right?)
[quote="byuu"]Seriously, what kind of asshole makes an old-school 2D emulator that requires a Core 2 to get full speed? [i]>:([/i] [/quote]
neo_bahamut1985
-Burninated-
Posts: 871
Joined: Mon Sep 10, 2007 11:33 pm
Location: Unspecified

Post by neo_bahamut1985 »

even if you could find those SPC/DSP-1 ROMs, where do you place them? I can't even get MAME to read them!
俺はテメエの倒す男だ! 宜しく! お前はもう死んでいる...
Snark
Trooper
Posts: 376
Joined: Tue Oct 31, 2006 7:17 pm

Re: MAME Plus (whatever) 0.121 released with console support

Post by Snark »

mamedev wrote:Greetings to the ZSNES community!

http://mameicons.free.fr/mame32p/
http://mame.emu-zone.org/
http://mame.tsubasa.com.cn/

enlightened from this thread, we integrated MESS core into MAME Plus in the hope that MESS would get wider attention that it deserves.

"console games tend to push things harder than arcade ones, and often abuse chips in ways the arcade games don't", so that console emulation may potentially improve the level of accuracy in MAME. currently we have 3 drivers (ie. NES, SNES, Genesis) enabled, to evaluate console emulation in the MAME framework. we prefer not to have a fixed game list, as the MESS window UI already gives a console-ish emulator look and feel.

whether MAME 'Plus' still bears the name of MAME is merely a philosophical opinion.
The interesting debate aside, why are you even using the username "mamedev" if you're not one?
neo_bahamut1985
-Burninated-
Posts: 871
Joined: Mon Sep 10, 2007 11:33 pm
Location: Unspecified

Post by neo_bahamut1985 »

Yeah, it's a good concept, but, I can't even use the SNES part of MAME in the first place. Unless someone can prove me wrong.
俺はテメエの倒す男だ! 宜しく! お前はもう死んでいる...
franpa
Gecko snack
Posts: 2374
Joined: Sun Aug 21, 2005 11:06 am
Location: Australia, QLD
Contact:

Post by franpa »

byuu proves you wrong :)
Core i7 920 @ 2.66GHZ | ASUS P6T Motherboard | 8GB DDR3 1600 RAM | Gigabyte Geforce 760 4GB | Windows 10 Pro x64
neo_bahamut1985
-Burninated-
Posts: 871
Joined: Mon Sep 10, 2007 11:33 pm
Location: Unspecified

Post by neo_bahamut1985 »

Uh-huh.
俺はテメエの倒す男だ! 宜しく! お前はもう死んでいる...
Arbee
New Member
Posts: 6
Joined: Sun Aug 20, 2006 8:23 pm
Contact:

Post by Arbee »

I'm sorry to have to apologize again for our users (regardless of who "mamedev" is, posting that list on a thread is just rude, and never mind the rest).

A few points:
- Zip all the SNES boot ROMs (not the games) as "snes.zip" and put it in the ROM path (default: the "roms" folder under where the app is, but it's fully configurable)
- As I'm sure byuu is aware, it's entirely possible to recode the IPL such that it's binary different but still runs the same - mix around the register allocations, change the order of non-critical operations, etc, etc. That's the beauty/horror of assembly code :)
- It's possible to do reasonably fine-grained CPU emulation in MAME/MESS. In the SNES case, you'd define the CPU clock as the SNES master clock and then count everything off in terms of master cycles
- MESS *will* load any file, unlike MAME. It can use an external database to validate ROMs and even supply metadata about them (e.g. SNES mapper mode, NVRAM size, that sort of thing), but it does try to Do The Right Thing even for unknown homebrew. Haze happens to consider the ability to load unknown ROMs to be The End of the Motherf**ing World and refuses to touch MESS because of it. I take a more moderate position.
- The size of MESS (or anything else) is irrelevant. Modern OSes (Windows 2000/XP/Vista, Linux, Mac OS X, *BSD) only load the pages of an executable that are actually executed. In practice, you have no more code loaded than you would for an equivalent standalone emulator. There is no benefit other than licensing to breaking MESS up into DLLs and you'd incur all the support hell that PSX/N64 emulators with plugins have. pSX really *does* show the way.
byuu

Post by byuu »

As I'm sure byuu is aware, it's entirely possible to recode the IPL such that it's binary different but still runs the same
... until a game reads back the IPLROM itself and performs a comparison / hash and refuses to run if not perfect. No sense focusing on accuracy and then rewriting the IPLROM.
It's possible to do reasonably fine-grained CPU emulation in MAME/MESS. In the SNES case, you'd define the CPU clock as the SNES master clock and then count everything off in terms of master cycles
Ah, the nested finite state machines for that would be painfully slow ... but true, not sure why I didn't think of that solution before. All MESS would need in the core was a flexible timing system. Hopefully one that only binds one timer per two chips, rather than one global one that everything synchronizes to.

You do lose the ability to execute instructions out of order that way, though. Eg you can usually run the CPU a lot longer than the SMP when the CPU doesn't actually read from or write to the SMP bus.
Haze happens to consider the ability to load unknown ROMs to be The End of the Motherf**ing World and refuses to touch MESS because of it. I take a more moderate position.
That's ... absurd. I won't say too much since he isn't here and I don't know his side of the story, but there's a lot of value in modified stuff. Fans have fixed bugs in games, remixed the games, and most importantly even translated Japanese-only games into English. To ignore all of that work outright, just because it wasn't stamped with a Nintendo Official Seal of Censorship is both ridiculous and insulting.
The size of MESS (or anything else) is irrelevant.
Well, it causes a few issues:

1 - It's a hassle on slower connections, eg dialup, to obtain.
2 - Due to the size, you typically want to batch new releases, eg update six drivers in one update. So you have less frequent updates per system.
3 - It eats a ton of bandwidth, especially when you consider that most systems aren't even touched between each new release.
4 - You lose the ability to uniquely code each individual emulator however you want. Eg part of the reason I can't simply donate my code to MESS is because I use some crazy ideas that MESS isn't compatible with. But of course, MESS could be revised to be just as flexible (and moreso) without the need for dynamic libraries. I see your side of a consistent interface to document "every" system the same and reuse components ... but I just couldn't see myself working in a project that confined me to a specific model before I even began.
pSX really *does* show the way.
I will resoundingly agree here. I honestly never used a 32-bit era or beyond emulator due to the sheer hell of PS Emu Pro's plug-in system.

I figured a drop-in DLL for the entire system wouldn't be too bad, but honestly it probably would end up just like the old PSX emulators, wouldn't it?
Yeah, it's a good concept, but, I can't even use the SNES part of MAME in the first place. Unless someone can prove me wrong.
Yeah, I did get it working, but it really did take way too long. It's definitely not just you that finds it confusing to setup.
Arbee
New Member
Posts: 6
Joined: Sun Aug 20, 2006 8:23 pm
Contact:

Post by Arbee »

byuu wrote: 1 - It's a hassle on slower connections, eg dialup, to obtain.
2 - Due to the size, you typically want to batch new releases, eg update six drivers in one update. So you have less frequent updates per system.
3 - It eats a ton of bandwidth, especially when you consider that most systems aren't even touched between each new release.
All of these are ameliorated by pulling SVN instead of using the canned releases. There is no advantage to using canned versions of MESS (seriously, life-long Mac users have successfully followed my compiling instructions, and I don't imagine many people reading this wish to be compared unfavorably to that group) and a whole world of disadvantage (you name 3 of them above).
byuu wrote:4 - You lose the ability to uniquely code each individual emulator however you want. Eg part of the reason I can't simply donate my code to MESS is because I use some crazy ideas that MESS isn't compatible with. But of course, MESS could be revised to be just as flexible (and moreso) without the need for dynamic libraries. I see your side of a consistent interface to document "every" system the same and reuse components ... but I just couldn't see myself working in a project that confined me to a specific model before I even began.
Sure, but as you've also found out every emulator has a ton of things you need before you can parse an opcode:

- Audio out
- Video out
- Some sort of CLI or GUI
- Plain file and ZIP loading
- Controller and keyboard support (and ideally configuration)
- Debug facilities

The MAME core is quite strong in most of those categories (the multiwindow debugger in particular is really nice and gives you a lot of the power of GDB/MSVC over the emulated machine), and it also provides things like multithreaded polygon drawing and SSE2/Altivec accelerated RGB primitive operations.

And if you really want to do something weird, there's almost always a way to make it happen. Aaron listens to all reasonable suggestions and many that aren't ;-)

PSEmu Pro's plugin system was basically a license kludge: Duddie and Tratax weren't all that interested in GPU and SPU development, but they also didn't want to open-source the app. Since until recently "leetness" was the coin of the realm in console emulation lots of other people who also wanted to invite participation while keeping the base app closed-source latched onto the idea.
Neo Kaiser
Veteran
Posts: 844
Joined: Thu Jul 29, 2004 3:56 am

Post by Neo Kaiser »

Heh! Now my downloads will be slower and it will eat more disk space. How could I like something like that?
Yes I know that my grammar sucks!
byuu

Post by byuu »

All of these are ameliorated by pulling SVN instead of using the canned releases.
While true, I really don't like making users have to compile their own binaries from source. Even if it's easy, I always dislike having to do that -- and yet I use Linux and FreeBSD primarily, heh. But you're right that it adds a lot of unique advantages. Especially platform-specific optimizations, faster updates and smaller downloads to sync up.
Sure, but as you've also found out every emulator has a ton of things you need before you can parse an opcode:
Yeah, it was quite a hassle to write all of that stuff ... I'm hoping to modularize it all so that others can benefit in other standalone emulators. But if they're like me (and have mild NIH syndrome), it probably won't do any good ...

But yeah, a common GUI to link the systems together, be it internal or external via DLLs would alleviate this problem as well.
Since until recently "leetness" was the coin of the realm in console emulation lots of other people who also wanted to invite participation while keeping the base app closed-source latched onto the idea.
You mean that's not still the case? I noticed things were getting a little better, but it still seems like the only platforms that have really open sourced are the older ones that aren't as popular anymore. NES (NESticle or Pasofami), SNES (SNES9x), Genesis (KGen or Genecyst), Gameboy (Marat's), PSX (PS Emu), N64 (UltraHLE), GameCube (Dolphin), Wonderswan (Cygne was closed source when it was popular), NeoGeo (that cripped one that played one game only), Dreamcast (Chankast), Sega CD (forget, maybe Kega?), 32x (again probably Kega), Virtualboy (forget), Saturn especially (GiriGiri and SSF), were all systems that had the first versions of useful emulators released as closed source only.

I don't recall about the GBA, and don't care about PSP / NDS / Xbox rand(). In fact, the only console system I recall that started with an open source emulator was the PS2.

The whole situation is quite a shame, really; especially since I'm not helping matters, myself ...
Gil_Hamilton
Buzzkill Gil
Posts: 4294
Joined: Wed Jan 12, 2005 7:14 pm

Post by Gil_Hamilton »

byuu wrote:
Haze happens to consider the ability to load unknown ROMs to be The End of the Motherf**ing World and refuses to touch MESS because of it. I take a more moderate position.
That's ... absurd. I won't say too much since he isn't here and I don't know his side of the story, but there's a lot of value in modified stuff. Fans have fixed bugs in games, remixed the games, and most importantly even translated Japanese-only games into English. To ignore all of that work outright, just because it wasn't stamped with a Nintendo Official Seal of Censorship is both ridiculous and insulting.
And then there's as-yet-unknown games.


I remember a while back I was trying to find a ROM image of a game I KNEW existed, because I'd borrowed it from a friend once(Realm for the SNES, to be specific).

But there apparently wasn't a dump on the 'net at the time.
....
Well, there probably was. But not one that Cowering knew about, and since most ROM sites focus on complete "good" sets to the exclusion of all else.... the game didn't exist. :P
I.S.T.
Zealot
Posts: 1325
Joined: Tue Nov 27, 2007 7:03 am

Post by I.S.T. »

byuu wrote:I honestly never used a 32-bit era or beyond emulator due to the sheer hell of PS Emu Pro's plug-in system.
Actually, it's not that bad. Use the P.E.Op.S. software graphics plugin, Eternal sound plugin and whatever CDR plugin and you're good to go on like 90% or more of PS1 games.

Now, dealing with N64 emulators... That is truly emulator hell. A large amount of games in proportion to the number of games released still don't work right... Kirby 64 is outright unplayable unless you're a god of some sort in that game, as the frigging lifebar doesn't show in all combinations of settings, emulators and plugins except for one, and that one will screw up your controls unfixably upon being hit!
Arbee
New Member
Posts: 6
Joined: Sun Aug 20, 2006 8:23 pm
Contact:

Post by Arbee »

byuu wrote:But if they're like me (and have mild NIH syndrome), it probably won't do any good ...
I've found NIH syndrome to diminish rapidly once you properly value your own time. That typically doesn't happen to most people until they get out of college and have a job, although I think the younger generation that grew up on Linux/BSD and F/OSS Windows apps like Firefox, the Gimp, and MinGW also are going to be less prone to NIH.
I noticed things were getting a little better, but it still seems like the only platforms that have really open sourced are the older ones that aren't as popular anymore.
The situation now is better than that. 3DO, Nuon, Dreamcast, Neo Geo CD, and Virtual Boy are the only decently-emulated systems I'm aware of without open-source emulators at this time. Yeah, many of them started out with closed-source emulators, but that's no longer the case. For several systems the newer open-source emulators have surpassed the closed-source ones (need I even mention bsnes here? Or NEStopia? And Yabause is kicking butt on the Saturn).
Post Reply