Jump to content
Trebor

MAME 0.164 - Further 7800 Emulation Accuracy

Recommended Posts

Four simple steps to get 7800 emulation setup and running:


1. Download MAME 0.164 (Direct link to most compatible Windows version - For other flavors see here).
-Double click the downloaded file and install to desired location.

2. Unzip the following file to the same desired location:
MAME0164_A7800_ADDFILES.zip*

[Delete mame.ini from the above zip file if MAME 0.164 was previously installed and mame.ini is already present].

3. Double click system you wish to play "PLAY_NTSC_ATARI_7800", "PLAY_PAL_ATARI_7800" or "PLAY_NTSC_ATARI_7800_XM", "PLAY_PAL_ATARI_7800_XM".

4. Press 'Tab' --> Arrow down to 'File Manager' and press 'Enter' --> Arrow down to 'cartridge (cart)' [Go down to 'cartridge2/cart2' if launched with XM attached], press 'Enter' again --> Highlight game ROM (Use arrow keys down/up), press 'Enter' and play game. 'Esc' exits emulator.


*MAME0164_A7800_ADDFILES.zip - content notes:
-NTSC, PAL, BIOS and XM files already stored to their correct location and structure.
-The entire NTSC and PAL original library of games in their correct location and structure.
-Already created *.ini and *.cfg files which have been initiated for NTSC and PAL regions respectively with the following conditions:
A. Starts MESS Atari 7800 emulation in a maximized window
-Press Alt-Enter to toggle between Window and Full Screen mode.
-In Window mode, grab corner of window to modify size.
B. Default controls: Arrow Keys, Left Ctrl, Left Alt (Remap via "Tab" menu).
-First installed game controller under Windows automatically maps to Player 1 (Remap via "Tab" menu).

 

In addition to what was provided in the previous gold standard, MESS 0.159, but lacking in other emulators...

 

">144k support ... accurate linecount, DMA cycle stealing, DMA cycle limiting. (This results in emulation line glitches in various roms. summer games, xenophobe, commando, among many others), [email protected] support (various homebrew), 16-bit pokey mode (homebrews?), XM support (upcoming homebrews), proper 2 button support (WORM! homebrew), etc."

 

...The latest version of the relatively newly merged MAME/MESS emulators, MAME 0.164, contains the best representation and emulation of 7800 memory mirrors as reflected under real hardware test results.

 

Thankfully, the timing issue present in versions 0.160 through 0.163 was fixed for this release. It allows MAME 0.164 to be the new gold standard in 7800 emulation.

  • Like 7

Share this post


Link to post
Share on other sites

Sounds like it's time to upgrade my MAME setup - I've been very happy with .157 setup for MAME, using MESS 0.159 solely as a stand-alone for 7800 emulation, but this is probably enough to get me motivated.

Share this post


Link to post
Share on other sites

And installed... though one oddball question, I only get a random partial list of the roms available on the boot menu. Tab doesn't call anything up, so how can I select from ALL my stuff? (Before I port over my Coleco other other games...)

Share this post


Link to post
Share on other sites

And installed... though one oddball question, I only get a random partial list of the roms available on the boot menu. Tab doesn't call anything up, so how can I select from ALL my stuff? (Before I port over my Coleco other other games...)

 

A little confused here. Are you bringing up a partial list of game ROMs via the Tab menu or Tab doesn't call anything up?

Share this post


Link to post
Share on other sites

Tab doesn't do anything - from the main. IF I get the 7800 in the rom list at launch, then tab will bring up the ROMs for the 7800 when I select it. But if it's not on the startup list, I seem to have to restart.

 

Edit: Bleah, I got it, start typing file names... doesn't appear to be able to browse the whole list. Ah well.

Edited by Jaynz

Share this post


Link to post
Share on other sites

Tab doesn't do anything - from the main. IF I get the 7800 in the rom list at launch, then tab will bring up the ROMs for the 7800 when I select it. But if it's not on the startup list, I seem to have to restart.

 

By "from the main", it sounds like you are just clicking on mame.exe and not utilizing the shortcuts noted in "Step 3", and provided in the download file from "Step 2".

 

The shortcuts provided launch MAME with the appropriate system parameter(s).

 

If you just click on mame.exe, you then need to first select a system via the tab menu (what it sounds like you are referring to when stating "If I get the 7800 in the rom list at launch").

 

After you select the system you wish to emulate, then you would press Tab and arrow down to File Manager to bring up the the list of ROMs (Described in "Step 4").

 

From what you are describing, it sounds like correct MAME (and the older MESS) behavior, if the shortcuts provided "PLAY_NTSC_ATARI_7800", "PLAY_PAL_ATARI_7800" or "PLAY_NTSC_ATARI_7800_XM", "PLAY_PAL_ATARI_7800_XM") are not being utilized.

 

Edit: Bleah, I got it, start typing file names... doesn't appear to be able to browse the whole list. Ah well.

If you utilize the steps provided in the opening post which automatically launch the appropriate system, or if going the 'click mame.exe' route and then launch the appropriate system, when you go to access the game ROM list ("Step 4"), you are able to browse the whole list of game ROMs.

  • Like 1

Share this post


Link to post
Share on other sites

For other Mac users out there, unless you want to compile from scratch, it's probably worth waiting a day or two until pre-compiled SDL binaries are available. Check here over the next few days:

 

http://sdlmame.lngn.net

  • Like 4

Share this post


Link to post
Share on other sites

Sounds like it's time to upgrade my MAME setup - I've been very happy with .157 setup for MAME, using MESS 0.159 solely as a stand-alone for 7800 emulation, but this is probably enough to get me motivated.

 

Since I know you also are of the Mac persuasion, have you run any version of MAME under any of the Mac OS X 10.11 Betas? :)

Share this post


Link to post
Share on other sites

Okay, as of last night there's a 64-bit build available for OS X at the usual place:

 

http://sdlmame.lngn.net

 

However, I can't seem to launch the emulator like I used to. I copied my roms folder into the new folder as per usual, navigate into that folder in Terminal and try to launch with what I THINK I've been doing in the past. For example:

 

./mame64 a7800 -cart 'Ballblazer (1987) (Atari-Lucasfilm).a78'

 

In this case, that is the file name for Ballblazer (obviously), and is now stored in /mame0164-64bit/software/a7800/

 

When I launch MAME in this fashion, I get an error: Device Atari 7800 Cartridge Slot load (Ballblazer (1987) (Atari-Lucasfilm).a78) failed: File not found

 

 

If I launch MAME with a simple ./mame64, I get this screen:

post-30400-0-14813500-1439217690_thumb.png

 

However, selecting either option (7800 NTSC or PAL) merely launches the emulator with no rom selected and I get rolling color bars. There appears to be no way to actually select a rom to launch.

Edited by DrVenkman
  • Like 1

Share this post


Link to post
Share on other sites

What about a 32-bit version if the 64-bit build isn't doing the trick?

 

Not built yet and I don't feel like trying to build it myself. I've used prior versions of MAME and MESS before. This new version of MAME (0.164) merges them into one project, which is fine. But I don't have a clue what I'm doing wrong here, unless things are in the wrong directories or something.

Share this post


Link to post
Share on other sites

 

Not built yet and I don't feel like trying to build it myself. I've used prior versions of MAME and MESS before. This new version of MAME (0.164) merges them into one project, which is fine. But I don't have a clue what I'm doing wrong here, unless things are in the wrong directories or something.

 

Maybe this'll give me reason to fire up my PowerMac G5 in the next few days. I think the last time I had success with either on OS X was on that beast.

Share this post


Link to post
Share on other sites

Okay, figured out the problem: for some reason, this build is not recognizing and/or bothering to parse its own configuration files. I have to launch it from the command line with an explicit path to the rom I want to launch, which makes zero sense, since there is a .cfg file that has the correct path. Oh well.

Share this post


Link to post
Share on other sites

But now I've discovered another "feature:" XM support doesn't seem to work correctly.

Beef Drop flat will not run with the '-cart XM' term on the command line - it loads, starts to launch and then there's graphical corruption. After the title screen header, nothing else shows properly. A few seconds later the title header disappears, and a play field appears but it is compressed horizontally and the game won't start.

 

Trying the Donkey Kong XM demo like so:

 

/mame64 a7800 -cart XM -cart1 ~/mame0164-64bit/software/a7800/Donkey\ Kong\ XM\ Demo.a78

 

gives me no actual POKEY sound. Exiting the emulator, I see this helpful message on the command line:

 

POKEY + Bank 0 of 144K ROM at $4000 (Header 0x09)

Disabling POKEY

 

What?

 

Similarly, with Frenzy:

 

~/mame0164-64bit$ ./mame64 a7800 -cart XM -cart1 ~/mame0164-64bit/software/a7800/Frenzy.A78

 

The game loads and plays, but without POKEY audio. The command line message I get is:

 

This cart requires XBoarD / XM expansion
Run it through the expansion to exploit this feature.
Hmm. I must be doing something wrong. The XM file is stored in
~/mame0164/roms/xm.zip

Share this post


Link to post
Share on other sites

use '-cart2' for the actual cartridge.

 

Eureka! :)

 

For clarity, any other OS X users looking to figure this out, use this syntax. Open Terminal and navigate to the location where you unzipped MAME and the supplementary files Trebor posted above. So in my case, it's my $HOME directory (e.g., /Users/{my username}/mame0164-64bit )

 

cd ~mame0164-64bit

 

Then launch MAME with the following options:

 

./mame64 a7800 -cart1 XM -cart2 ~/mame0164-64bit/software/a7800/{ROM you want to launch}

 

​I have yet to get the in-MAME file selector to work but launching it explicitly with the rom name works.

Edited by DrVenkman

Share this post


Link to post
Share on other sites

​I have yet to get the in-MAME file selector to work but launching it explicitly with the rom name works.

 

 

Okay, I figured it out:

 

Launch the mame64 executable however you like. You could whip up a little AppleScript or something. I think it's just as easy to open Terminal and launch from the command line. I prefer to always launch with the XM attached, as it provides High Score Cartridge functionality for many of the launch titles; GCC programmed them all for Atari with the assumption that the HSC they had also designed would be forthcoming a few months after the system launch. Unfortunately by the time the financial issues were all worked out, many of the GCC 7800 team had scattered or moved on to other projects and the HSC never made it out of the labs. But with the XM "installed" through MAME/MESS, you can at least save your high scores.

 

So: cd ~/mame0164-64bit/

./mame64 a7800 -cart1 XM

 

The virtual 7800 will launch with rolling red/black bars and an annoying tone - there's no "cartridge" installed, after all.

 

Now press TAB. Then use the arrow keys to navigate halfway down the list of items (six items down) to FILE MANAGER. Press ENTER to select. From the new menu that appears, navigate to Cartridge2. Press ENTER and a menu of all the roms you have installed in your /mame0164-64bit/software/a7800/ directory will appear. Navigate to the one you want and press enter to install and launch.

 

And Lynxpro: PPC builds for older Macs are available at:

 

https://www.mediafire.com/?z271aj8pts8wr

  • Like 1

Share this post


Link to post
Share on other sites

Trying to run MAME or worse, MESS without a proper GUI/Front end is just foolish. It's 2015. We all have incredibly fast multi-core processor computers. No one should ever have to type inane command line syntax into a prompt like it's 1982 anymore. Give me MAMEui and/or MESSui, or it's awesome re-cursor from the last decade - MAME32 any day.

 

that said, I love the increased compatibility and accuracy of the new versions.

Share this post


Link to post
Share on other sites

Trying to run MAME or worse, MESS without a proper GUI/Front end is just foolish. It's 2015. We all have incredibly fast multi-core processor computers. No one should ever have to type inane command line syntax into a prompt like it's 1982 anymore. Give me MAMEui and/or MESSui, or it's awesome re-cursor from the last decade - MAME32 any day.

 

that said, I love the increased compatibility and accuracy of the new versions.

 

Those don't run on OS X so far as I know. QMC2 used to be a decent front-end, though it has the same failings as many such things that start in the Linux world - too damn many complicated steps to get it up and running. The current version, 0.54, is an even bigger mess (haha, pardon the pun) since MESS was folded into MAME. I tried to install it yesterday and it effed up everything. I deleted, restored the prior version from my Time Machine backup, and I'll just live with a command line start for 0.164 and 7800 emulation.

Share this post


Link to post
Share on other sites

I'm going to dig this thread up. I got so tired trying to get different MAMEs to work for the 7800 I followed this thread's directions. I'm trying to set this up so that I can just double-click a 7800 ROM file and run it in MAME. It makes it easier for when you're testing ROMS you're programming. You can just re-compile a program, and then double-click on the file to run and test it. So far I haven't had any luck getting MAME to work this way. I would think it should be easily possible?

Share this post


Link to post
Share on other sites
To run an external 7800 ROM under MAME, it must be a binary with a proper header attached; commonly known as a *.a78 file.


MAME emulates a plethora of machines and it needs to be instructed which machine is desired to run; associating a *.a78 ROM file with just the MAME executable will not work properly, in part, because both NTSC and PAL 7800 emulated machines use the same file extension for their respective header included ROM files.


Although double clicking will not work, dragging and dropping does by following this relatively easy solution...


Create a shortcut to mame.exe. Then modify the shortcut's "Target" so it reads:


For NTSC:

C:\Path\To\MAME\mame.exe a7800 -cart


Or


For PAL:

C:\Path\To\MAME\mame.exe a7800p -cart


Drag and drop a *.a78 file onto the shortcut and MAME will run the game.

Share this post


Link to post
Share on other sites

You could likely get double-click working if you associate .a78 files with a batch file that contains something like the following:

 

@echo off
mame64 a7800 -cart "%~f1"

That's untested, but I think I have that right.

Share this post


Link to post
Share on other sites

Hi all, trying to run 7800 and 5200 ROMs using the latest Mame v0.183 with no luck. I have never ran 7800 or 5200 ROMs using Mame or MESS but im tried of trying to find other decent user friendly emulators for the two systems. As far as i know MESS has merged into Mame recently and supposedly the GUI has been updated aswell. Trouble is and it could be something simple im overlooking; from some research i needed the BIOS ROMs and place them into the ROMs folder. Well i have done this along with the game ROMs for both systems however not seeing any of them listed within the GUI. I also can't see anywhere to select the system i want to emulate; I have also changed and added directories ect but no dice. Anyway if anyone could help that would be great

 

Edit: I have managed to find the ROMs but somethings still not right, im thinking bios however i do have the ROMs in the roms folder

post-30687-0-20667000-1487850481_thumb.png

Edited by Tony The 2600

Share this post


Link to post
Share on other sites

I *really* need to post an update, it has been a while. The game ROM files in the "MAME0164_A7800_ADDFILES.zip" archive have been superseded by Trebors 7800 ROM PROPack.

 

Anyhow, you nailed it on the head. It is the BIOS (file). One of the files, hsc.rom, was renamed a few versions ago to highscre.rom, or highscre.bin, or something like that.

 

Unfortunately, it requires the name to be exact. I have an updated archive set at home, that I will post later on today, which contains both old and newly named files, so it is compatible with older and newer releases.

Share this post


Link to post
Share on other sites

Thanks, that would be great, interested as to how well Mame emulates the 7800.

 

Just wondering if there is a chance of a 5200 setup aswell? or could i just change the bios file and edit the files all to 5200 rather then 7800?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...