Jump to content
IGNORED

A7800 - the Atari 7800 Emulator


Trebor

Recommended Posts

Random question.  How accurate is the a7800 emulator?  Specifically, if a game has too many DL's in its graphics that real hardware wouldn't be able to display them all, would the emulator follow suit, or would it display those extra graphics?  Just checking expectations since I haven't played with newer emulator versions in a while.  I figure I should read up a bit. :)

 

 

  • Like 1
Link to comment
Share on other sites

5 hours ago, Propane13 said:

Random question.  How accurate is the a7800 emulator?  Specifically, if a game has too many DL's in its graphics that real hardware wouldn't be able to display them all, would the emulator follow suit, or would it display those extra graphics?  Just checking expectations since I haven't played with newer emulator versions in a while.  I figure I should read up a bit. :)

 

 

Mike can probably answer more scientifically!! than me but whilst developing I've found that side of it very accurate showing even partial images as it would. It's definitely very helpful when you get very close to the DL limits.

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

Regarding CPU usage, I find A7800 to be very resource-heavy as well. Part of my personal problem is that Win10 always seems to want to try to run it with the integrated Intel motherboard graphics chip rather than my 1070 GTX (my system is 5 years old). I had to go into the Nvidia Control Panel and force it to use the discrete card, but even so, it seems to use more processor and GPU than it ought to. 

Link to comment
Share on other sites

  • 4 weeks later...

Trying to launch the macOS version of a7800 with arguments:

 

a7800 a7800 -cart1 xm -cart2 filename.a78 

 

results in:

 

unknown option: -cart2

 

Launching it with just a cart works as expected.

 

I'm using what should be the latest version a7800-osx-v4.0. Am I missing anything?

  • Like 1
Link to comment
Share on other sites

  • 6 months later...

ok.  I've been getting off my lazy butt to try out some recent Atari 7800 homebrew which does not run too well under older emulators *cough*emu7800*cough*cough*.

 

Anywho... I've noticed that a7800 will let me select an .a78 file and it will load it just hunky dory.  Which leaves me the impression it reads the header information.  Does the main MAME fork which I know you guys split from support .a78 files?

 

I'm just curious.  I've been trying the ridiculous task of editing the mame a7800.xml file so it will load some of these said games and it is a bit of a pain in the neck to say the least.  The only game I've had luck with so far is the Popeye Demo.

 

Thank you

Link to comment
Share on other sites

1 hour ago, Shannon said:

ok.  I've been getting off my lazy butt to try out some recent Atari 7800 homebrew which does not run too well under older emulators *cough*emu7800*cough*cough*.

 

Anywho... I've noticed that a7800 will let me select an .a78 file and it will load it just hunky dory.  Which leaves me the impression it reads the header information.  Does the main MAME fork which I know you guys split from support .a78 files?

 

I'm just curious.  I've been trying the ridiculous task of editing the mame a7800.xml file so it will load some of these said games and it is a bit of a pain in the neck to say the least.  The only game I've had luck with so far is the Popeye Demo.

 

Thank you

Not an expert, I've been using a7800 for about a month now and it works great. AFAIK is only uses .a78 files, which is convenient for me because I just bought an og 7800 and a concerto cart and can just transfer the roms to it.

  • Like 2
Link to comment
Share on other sites

5 hours ago, Shannon said:

Anywho... I've noticed that a7800 will let me select an .a78 file and it will load it just hunky dory.  Which leaves me the impression it reads the header information.  Does the main MAME fork which I know you guys split from support .a78 files?

Yep. a78 header parsing has been in there well before the MESS->MAME update, let alone the a7800 fork. I've been using stand-alone a78 files exclusively for a very long time, since it suits my CLI dev style.

  • Like 1
Link to comment
Share on other sites

2 hours ago, RevEng said:

Yep. a78 header parsing has been in there well before the MESS->MAME update, let alone the a7800 fork. I've been using stand-alone a78 files exclusively for a very long time, since it suits my CLI dev style.

 

I did some testing ( I do it on my Laptop to reduce head aches to a minimum ) and I have discovered that with retroarch mame current I can hit tab and manually load an .a78 file through the menu system.  Unfortunately I cannot do that on my xbox one without it locking up.

 

I do have a question though when MAME loads an a.78 file is it possible for it to select options incompatible with the ones listedin a78_carts.h?  Is there a way I can tell which cart "slot" or setting MAME is using when it loads an .a78 file?

 

Thanks

 

Link to comment
Share on other sites

6 minutes ago, Shannon said:

I do have a question though when MAME loads an a.78 file is it possible for it to select options incompatible with the ones listedin a78_carts.h?  Is there a way I can tell which cart "slot" or setting MAME is using when it loads an .a78 file?

In a78_slot.cpp, the a78_cart_slot_device::call_load member function validates the header bits and sets hardware, so no, there shouldn't be incompatible options being set. 

 

I'm not really a MAME slot guru, but if you check out a7800.cpp, it uses "m_cart->get_cart_type()" to test which hardware is in the slot.

Link to comment
Share on other sites

38 minutes ago, RevEng said:

In a78_slot.cpp, the a78_cart_slot_device::call_load member function validates the header bits and sets hardware, so no, there shouldn't be incompatible options being set. 

 

I'm not really a MAME slot guru, but if you check out a7800.cpp, it uses "m_cart->get_cart_type()" to test which hardware is in the slot.

 

ok.  Well thanks for helping.  I determined that I can look at "slot devices" and it will tell me the type of mapper using when I load an .a78 file.  So I can now plug that into the XML file without having to guess.  The only downside is any value that uses SRAM seems to crash retroarch even though the game loads fine through the MAME load cartridge menu.  So that is a bit of a downer.  But at least I have a starting point.  :D

 

I'll probably have to report the SRAM bug on the retrorch issues section.

 

  • Like 1
Link to comment
Share on other sites

Well I've gotten pretty good at adding titles to the A7800.XML file so they will load on the retroarch mame "current" version.  I'm currently working my way through a bunch of homebrew titles.  If only I could figure out a way to have a game "autoload" the XM in cart slot 1 and the game in cart slot 2 for those handful of games that need the XM.

 

I did figure out an awkward way of loading the XM and then a XM game can be selected from the software list.  More experimentation definitely needed!  :P

Link to comment
Share on other sites

25 minutes ago, Shannon said:

Well I've gotten pretty good at adding titles to the A7800.XML file so they will load on the retroarch mame "current" version.  I'm currently working my way through a bunch of homebrew titles.  If only I could figure out a way to have a game "autoload" the XM in cart slot 1 and the game in cart slot 2 for those handful of games that need the XM.

 

I did figure out an awkward way of loading the XM and then a XM game can be selected from the software list.  More experimentation definitely needed!  :P

If it helps, from a CL perspective, the difference between loading without and with the XM under MAME..

 

Without XM:

mame a7800 -cart "C:\PATH\TO\ROMS\ROM FILE.a78"

or

mame a7800 -cart1 "C:\PATH\TO\ROMS\ROM FILE.a78"

 

With XM:

mame a7800 -cart1 xm -cart2 "C:\PATH\TO\ROMS\ROM FILE.a78"

Link to comment
Share on other sites

3 minutes ago, Trebor said:

If it helps, from a CL perspective, the difference between loading without and with the XM under MAME..

 

Without XM:

mame a7800 -cart "C:\PATH\TO\ROMS\ROM FILE.a78"

or

mame a7800 -cart1 "C:\PATH\TO\ROMS\ROM FILE.a78"

 

With XM:

mame a7800 -cart1 xm -cart2 "C:\PATH\TO\ROMS\ROM FILE.a78"

 

Thanks... I saw that info on the a7800 wiki page.  Now only if I could translate that in XML code.  Maybe I'll take a chance and bug the MAME devs as cranky as they can be.. :P

 

  • Haha 1
Link to comment
Share on other sites

I feel like such a dope.  Retroarch Mame Current has an option to disable softlists and to "force" the media type.  So when I disable softlists and force media type to cart it automatically loads the ROM as CART1.  So at the very least that solves my problem of not being able to load .a78 file.  And the best part?  Games that use RAM don't crash!  So that is one other problem solved.  That just leaves the XM games which is gonna be tricky.  But I'll burn that bridge down later.

 

So I effectively have about 24 hours invested in A7800.XML editing for BIN images totally wasted.  :lol: 

 

Ah well no complaints here... Things should move along faster and I can finally enjoy the newer homebrews without having the headache of dealing with older emulators or the A7800.XML file.  ?

Edited by Shannon
  • Like 2
Link to comment
Share on other sites

The specifics really affect the answer. If it's just dumb buttons, like a track+field or starplex, you can remap the directions in an emulation session. If there's active electronics and/or interpretation of those lines, then someone will need to put together a new slotted controller driver. Less development time if it's like something that already exists and you can copy the driver. (and change whatever needs changing.)

Link to comment
Share on other sites

You can assign the same physical key press or physical controller input to multiple a7800 joystick inputs. Start the game up, hit tab, and go to the "console and controller inputs" menu, and assign how you like.

 

I just tested with Xevious just now, and was able to map the LEFT arrow key to both the 7800 joystick 1 LEFT and fire buttons. Every time I moved left, the ship fired.

  • Thanks 1
Link to comment
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...