Jump to content
IGNORED

A7800 - the Atari 7800 Emulator


Trebor

Recommended Posts

I've been having sound problems with a7800 on my laptop but when installed it on my desktop I have no sound issues (its mostly the music issue its kind of off on the laptop,but works perfect on my desktop) so I guess I keep a7800 on desktop but I'll still use my laptop for game developing since I have atari dev studio(2600 and 7800 games) and jag studio(jaguar) on there.

Link to comment
Share on other sites

Under the laptop, open the a7800.ini file and modify the OSD VIDEO OPTION section...

 

From:

image.png.744feab545dbee8f75b3dfedbdacd86f.png

 

To:

image.png.cd65f59897666f7d9f97f7c001f082b0.png

 

See if the above modification improves things. 

 

Laptops (especially if relatively older) can have less video support options than a desktop.  Setting bgfx-->auto will tone down what A7800 is trying to leverage as far as video features and tweaking, and will also try to utilize what works best for your setup.  This should hopefully improve overall performance, so the music doesn't sound "kind of off".

  • Like 1
Link to comment
Share on other sites

31 minutes ago, Dan Iacovelli said:

will try it thanks my laptop is old when I got it from ubid action it originally had windows vista ,250 hard drive and min 2gb mem, since then upgraded to win 10
put in 4 gig of mem and 450 ssd

@Trebor I checked ini file in a7800 those already set to auto  so I figured change it to bgfx and it just freezes. I'm good with on my desktop anyways. I got stella and a7800 on desktop as well. I can always save my games I do on laptop to a usb drive and load it on my desktop for 7800 games. I have harmony cart for 2600 testing and I do have skunkcard for jaguar (I just don't have a concerto,dragonfly or 7800 GD yet(I'll prob get concerto when  hokey is ready or 7800 GD(maybe both))

Link to comment
Share on other sites

  • 4 weeks later...

***UPDATE***

 

A7800 v5.1

 

What's new?

  • pokey emulation updated for better two-tone mode accuracy
  • fix for cart format supergame+ram+pokey@800 crash

For all supported OS's (Linux, macOS and Windows) there is a 64-bit (x64) build.

 

Quick and easy portable install for Windows:

1. Download A7800, unzip to a new/clean preferred location [I.E. C:\A7800].

2. Download A7800_Optional_Files_20220331, unzip to same location as A7800.

 

Starting Console:

 

1. Double click A7800.exe.

2. Choose a console (Double click with mouse pointer or highlight with arrow keys and press 'Enter'), either NTSC or PAL with desired console/palette temperature: Cold, Hot, or Warm.

3. Select a console configuration (Double click with mouse pointer or highlight with arrow keys and press 'Enter'): Standard Console, High Score Cartridge, XM Expansion Module.

 

Selecting ROM:

 

1. After a system is started, press the ‘Tab’ key.

2. Highlight the option "Load ROM file" with arrow keys and press 'Enter', or double click with mouse pointer.

3. Perform the same respecting the available "cartridge (cart)" slot that appears.

4. Choose a ROM from the displayed "roms" subfolder on the screen; otherwise, navigate to the location of where the ROMs are stored. ROMs should have headers in proper *.a78 format.

 

Default Mappings:

 

1. Console: Pause = O; Select = E; Reset = T.

 

2. Player 1: Up, Down, Left, Right = Arrow Keys; Button 1 = Z; Button 2 = C.

 

3. Player 2: Up, Down, Left, Right = I, K, J, L; Button 1 = A; Button 2 = D.

 

Changing Controllers:

 

1. After a system is started, press the ‘Tab’ key.

 

2. Highlight the option "Controller Selection" with arrow keys and press 'Enter', or double click with mouse pointer.

3. Change a controller by highlighting it and then press either the left or right arrow key.

 

4. After a controller is changed, reset the emulator by selecting “Reset”.

 

***See the included illustrative manual in the download archive for more details and options***

  • Like 8
Link to comment
Share on other sites

  • 1 month later...

***UPDATE***

 

A7800 v5.2

 

What's new?

  • pokey poly9 sequence correction
  • pokey init state corrected to match real hardware

For all supported OS's (Linux, macOS and Windows) there is a 64-bit (x64) build.

 

Additional Notes:

  • A big thanks to @rensoup for pointing out the poly9 bug.
  • Heads up that the update to the pokey init state means that a good chunk of the 7800 pokey demos aren't functioning under the new release. Those demos aren't setting the b0 and b1 bits of SKCTL high, which takes pokey out of reset, and is a required pokey setup on real hardware. Some flash carts may take pokey out of reset during startup, but this doesn't happen on retail and homebrew pokey carts.

As @RevEng stated, we hope you enjoy it!

 

Quick and easy portable install for Windows:

1. Download A7800, unzip to a new/clean preferred location [I.E. C:\A7800].
2. Download A7800_Optional_Files_20220331 *Edit 6/28: Download A7800_Optional_Files_20220628, contains the aforementioned pokey demos fixed, and unzip to the same location as A7800.

 

Starting Console:

Spoiler

1. Double click A7800.exe.

 

2. Choose a console (Double click with mouse pointer or highlight with arrow keys and press 'Enter'), either NTSC or PAL with desired console/palette temperature: Cold, Hot, or Warm.

 

3. Select a console configuration (Double click with mouse pointer or highlight with arrow keys and press 'Enter'): Standard Console, High Score Cartridge, XM Expansion Module.

 

Selecting ROM:

Spoiler

1. After a system is started, press the ‘Tab’ key.

 

2. Highlight the option "Load ROM file" with arrow keys and press 'Enter', or double click with mouse pointer.

 

3. Perform the same respecting the available "cartridge (cart)" slot that appears.

 

4. Choose a ROM from the displayed "roms" subfolder on the screen; otherwise, navigate to the location of where the ROMs are stored. ROMs should have headers in proper *.a78 format.

 

Default Mappings:

Spoiler

1. Console: Pause = O; Select = E; Reset = T.

 

2. Player 1: Up, Down, Left, Right = Arrow Keys; Button 1 = Z; Button 2 = C.

 

3. Player 2: Up, Down, Left, Right = I, K, J, L; Button 1 = A; Button 2 = D.

 

Changing Controllers:

Spoiler

1. After a system is started, press the ‘Tab’ key.

 

2. Highlight the option "Controller Selection" with arrow keys and press 'Enter', or double click with mouse pointer.

 

3. Change a controller by highlighting it and then press either the left or right arrow key.

 

4. After a controller is changed, reset the emulator by selecting “Reset”.

 

***See the included illustrative manual in the download archive for more details and options***

  • Like 5
  • Thanks 9
Link to comment
Share on other sites

2 hours ago, Trebor said:

Heads up that the update to the pokey init state means that a good chunk of the 7800 pokey demos aren't functioning under the new release. Those demos aren't setting the b0 and b1 bits of SKCTL high, which takes pokey out of reset, and is a required pokey setup on real hardware. Some flash carts may take pokey out of reset during startup, but this doesn't happen on retail and homebrew pokey carts

Would it be possible to kludge-in a setting that works around this? There are a lot of cool audio demos out there and this effectively means most of them won’t ever be able to be played with current and future versions of A7800.

Link to comment
Share on other sites

On 6/26/2022 at 11:36 AM, DrVenkman said:

Would it be possible to kludge-in a setting that works around this? There are a lot of cool audio demos out there and this effectively means most of them won’t ever be able to be played with current and future versions of A7800.

To be clear, many pokey demos still work perfectly fine as they already present the proper 'take the pokey out of reset' function.  The impacted demos can be updated to behave accordingly.  As emulator accuracy improves, if a developer chooses to update a demo to reflect that accuracy, it is an option to do so.

 

For those that have been around the scene for a long time, some may recall when NESticle was the 'go to' NES emulator.  Many, nearly all hacks at the time, were built according to NESticle behavior and results.  As NES emulation improved, most NESticle created hacks failed to run properly, if at all, under anything else but an outdated NES emulator, as those hacks were relying on behaviors and results that were not present under the actual console or emulators closer to hardware accuracy.

 

A better fix to ensure posterity is for the hacks (or demos) to be updated to reflect typical hardware behavior.  Otherwise, the hacks or demos will work under only a specific multicart or emulator behavior.

 

For the record, the same impacted pokey demos do not run properly under the Atari7800_MiSTer FPGA core due to the aforementioned inaccuracy.

 

Not stating a future kludge is entirely out of the cards, but far from an ideal solution.

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

  • 3 weeks later...
1 hour ago, pseudografx said:

Is there a way to set the output so that pixels are mapped 1:1 to the output resolution (or integer multiples of)?

Edit the "7800.ini" file and see this section in particular:

 

image.png.f4ef9439d88b13e80e7fca26bfb6b59a.png

 

Try modifying unevenstretch from 1 --> 0 and then save the file.

Link to comment
Share on other sites

11 minutes ago, Trebor said:

Edit the "7800.ini" file and see this section in particular:

Try modifying unevenstretch from 1 --> 0 and then save the file.

Thanks, but that's not quite what I wanted. The output resolution of the 7800 is 320x293. I needed the emulator to resize the emulation window to integer multiples of this value. Just like Altirra does when the option "Square Pixels (fixed multiples only)" under View > Stretch Mode menu is enabled. Anyway, the problem is now kinda sorted as I found out that screenshots are saved in the appropriate resolution.

Edited by pseudografx
Link to comment
Share on other sites

Hi guys. I am on my way out in the woods for some weeks. Without electricity - except one solar panel. So I thought of packing with me a Raspberry Pi with a 7" screen. It should run from the solar panel just fine. It has an USB output and a 12 V large battery. And I have two 10000mA powerbanks as well for rainy days.

 

Developing and running Lynx stuff is easy. Running a7800 would be nice. I assume that compiling a7800 from the sources is the way to go.

 

As I already set up all tools for Raspi OS. Tomorrow I planned to compile the a7800 for it.

 

Any experience about emulating 7800 on the Raspberry Pi 3B?

 

Taking my real laptop would run out of juice in 3 hours. With the Pi I know I get a full day out of one powerbank. So the solar panel might be enough to keep my phones and Pi working.

  • Like 1
Link to comment
Share on other sites

19 hours ago, pseudografx said:

Thanks, but that's not quite what I wanted. The output resolution of the 7800 is 320x293. I needed the emulator to resize the emulation window to integer multiples of this value. Just like Altirra does when the option "Square Pixels (fixed multiples only)" under View > Stretch Mode menu is enabled. Anyway, the problem is now kinda sorted as I found out that screenshots are saved in the appropriate resolution.

Understood.  Alternatively, set "resolution" from "auto" to one of the following resolutions: "320x293", "640x586", "960x879", "1280x1172", "1600x1465", etc., under this section:

image.png.b9c43a3ee3d4e88f6207e5261557d514.png

 

  • Like 3
Link to comment
Share on other sites

On 7/17/2022 at 2:56 PM, karri said:

Any experience about emulating 7800 on the Raspberry Pi 3B?

Personally, no.

 

Respecting the A7800 emulator, considering the Raspberry Pi 3B contains a Quad Core 1.2GHz Broadcom BCM2837 64bit CPU with 1GB RAM, and MAME (in which A7800 is a fork of), system requirements are Intel Core 2-series CPU or equivalent 2.0 GHz processor with 4 GB RAM, performance may be subpar to state the least.

 

There is Lakka, which leverages RetroArch, in turn, utilizes a ProSystem emulator core, has seen good performance on a Raspberry Pi 3, will perform better than A7800, but emulation accuracy is very questionable.

 

JS7800 is an option, just needs a web browser, and accuracy falls between the ProSystem emulator and A7800 emulator, which makes development on it questionable as well.

 

BupSystem is Windows only, though has great accuracy and system requirements are very low - PIII @ 1.2GHz with 256MB RAM.

 

There is a Linux build of BizHawk, in which accuracy is supposed to be very good, though unsure how accurate or the system requirements to run decently.

  • Like 1
Link to comment
Share on other sites

1 hour ago, Trebor said:

Personally, no.

 

Respecting the A7800 emulator, considering the Raspberry Pi 3B contains a Quad Core 1.2GHz Broadcom BCM2837 64bit CPU with 1GB RAM, and MAME (in which A7800 if a fork of), system requirements are Intel Core 2-series CPU or equivalent 2.0 GHz processor with 4 GB RAM, performance may be subpar to state the least.

 

There is Lakka, which leverages RetroArch, in turn utilizes a ProSystem emulator core, has seen good performance on a Raspberry Pi 3, will perform better than A7800, but emulation accuracy is very questionable.

 

JS7800 is an option, just needs a web browser, and accuracy falls between the ProSystem emulator and A7800 emulator, which makes development on it questionable as well.

 

BupSystem is Windows only though has great accuracy and system requirements are very low - PIII @ 1.2GHz with 256MB RAM.

 

There is a Linux build of BizHawk in which accuracy is supposed to be very good though unsure how accurate or system requirements to run decently.

Thanks! I started to compile the a7800 but it stopped with problems in Africaans localisation. As I also needed hamp rope and tar for my trip I decided to drop 7800 emulation and concentrate on the storyline in the Lynx version.

 

Besides, my code will be using banks in a bit novel ways so I plan to mainly use real hardware from now on. Perhaps September is when I continue on the 7800 Wizzy again.

  • Like 1
Link to comment
Share on other sites

  • 2 months later...

I don't know how we as a community can thank the team for creating this wonderful emulation tool but maintaining it, updating it, and listening to our feedback.

 

This community couldn't exist without the work of those that create the tools we use. It's amazing...

  • Like 2
Link to comment
Share on other sites

Not only A7800 support YM you can use Js7800

Some my examples 

 

https://raz0red.github.io/js7800/?cart=https://atariage.com/forums/applications/core/interface/file/attachment.php?id=896463

 

https://raz0red.github.io/js7800/?cart=https://atariage.com/forums/applications/core/interface/file/attachment.php?id=895578

 

I had something with Covox but probably I never published. Will try to find it later. 
 

edit: Unfortunately I can’t find it. But I attached link for SN76489+Covox to give you idea how it’s sound covox

 

edit2: BTW I just checked 1942 and it's not working on JS7800 (unless Paul changed something in latest version) 

 

 

Edited by Eagle
Link to comment
Share on other sites

On 10/1/2022 at 6:26 PM, Cris1997XX said:

Seeing as there are more and more 7800 homebrews with FM music/sound effects...how can I set the XM module up on A7800? It says some files are missing, but I don't know where I should find them

Need the 'bios' folder with respective file archive, a7800.zip, in place, taken from here:

On 6/26/2022 at 8:51 AM, Trebor said:

Quick and easy portable install for Windows:

...Download A7800_Optional_Files_20220628...

XM module enabling can be launched from Command Line...

a7800.exe a7800 -cart1 xm -cart2 "C:\Path\To\ROM\NameOfROM.a78"

 

...alternatively, leveraged through the new A7800 front-end Maximus78, or selectable via the internal UI of A7800 ("XM Expansion Module").

 

  • Like 1
Link to comment
Share on other sites

  • 3 months later...

Since I've switched to Linux (64-bit Ubuntu), I've noticed an odd problem with a7800. Specifically, the audio takes about 5 seconds to kick in. For the firsr 5 seconds it's completely silent, then the sound takes about a second to "fade in" to normal volume. After that it is completely normal. I tried specifying the SDL audio driver on the command line, but this does not help. I haven't noticed any issues with any other audio-producing apps including Stella which also uses SDL. It happens for me both with a7800 downloaded from @RevEng's site as well as what comes bundled with Atari Dev Studio.

 

Does anyone have any theories or ideas on what to try to get it to work correctly?

Link to comment
Share on other sites

14 minutes ago, Karl G said:

Since I've switched to Linux (64-bit Ubuntu), I've noticed an odd problem with a7800. Specifically, the audio takes about 5 seconds to kick in. For the firsr 5 seconds it's completely silent, then the sound takes about a second to "fade in" to normal volume. After that it is completely normal. I tried specifying the SDL audio driver on the command line, but this does not help. I haven't noticed any issues with any other audio-producing apps including Stella which also uses SDL. It happens for me both with a7800 downloaded from @RevEng's site as well as what comes bundled with Atari Dev Studio.

 

Does anyone have any theories or ideas on what to try to get it to work correctly?

What version of ubuntu?

 

I've run into issues with sound with version 18, it was basically the pulseaudio process was initializing the sound with unrealistic buffer sizes leading to stuttering or delays in emulators, but this also affected other audio apps.

 

Also do you have multiple audio devices?   Such as on-board audio and audio through the monitor?   I've noticed some apps cause a swtich to the wrong output device

  • Like 1
Link to comment
Share on other sites

17 minutes ago, zzip said:

What version of ubuntu?

 

I've run into issues with sound with version 18, it was basically the pulseaudio process was initializing the sound with unrealistic buffer sizes leading to stuttering or delays in emulators, but this also affected other audio apps.

 

Also do you have multiple audio devices?   Such as on-board audio and audio through the monitor?   I've noticed some apps cause a swtich to the wrong output device

 

I'm running 22.04.1 LTS. It's running on a laptop (Dell XPS 13), so only one audio device, I think. But that was a good thought.

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...