Jump to content
IGNORED

Atari++ 1.59 ready


thorfdbg

Recommended Posts

Hi folks,

 

please find an updated version of the portable Atari emulator for Linux, Mac, Windows and others at its usual location:

 

http://www.xl-project.com/

 

This time, I'm updating to 1.59.

 

The main improvements in this release are a fix in the Antic DMA engine - sorry for taking so long - and an updated cycle-precise(!) Pokey emulation. Pokey timers, interrupts, potentiometer readings etc are now *optionally* precise to the CPU cycle.

 

To enable this feature, go into the settings menu, there to "Pokey", and check the "CyclePrecise" option there.

 

Since this feature is still not yet completely tested, this is marked as a beta release. Please check whether it fits your needs, and please report any errors you may find.

 

Sorry again for taking so long for this, I've been very busy here lately, unfortunately.

 

Happy New Year,

 

 

Thomas Richter

  • Like 2
Link to comment
Share on other sites

Sounds interesting, "cycle-exact pokey emulation".

 

But, still a few questions:

 

• Does the pokey emulation admit 2-tone-filter?

• Does the pokey emulation support phase difference between voice1&2 vs voice 3&4?

• Is the "cycle-exact" pokey emulation also in coherence with the "cycle-exact" DMA scheme?

• Does the pokey emulation support polycounter reset and offset?

• Does the pokey emulation support a correct pulsewidth reset and offset?

 

(some other questions still on my mind / in the box ;) )

Link to comment
Share on other sites

Sounds interesting, "cycle-exact pokey emulation".

 

But, still a few questions:

 

• Does the pokey emulation admit 2-tone-filter?

Yes, since ages.

 

• Does the pokey emulation support phase difference between voice1&2 vs voice 3&4?

Yes, since ages.

• Is the "cycle-exact" pokey emulation also in coherence with the "cycle-exact" DMA scheme?

Yes, though the two are really not related. Each clock cycle drives the pokey emulation forward, and the CPU

gets a cycle whenever the bus is available. The two clocks are coherent, of course. Note that the pokey clock

is not coherent with the sound output clock which is defined by the host system, or rather the clock of the host system

audio output, which means that more or less audio output cycles may be required to satisfy the buffer of the host system,

but this is unavoidable because the clock of the audio output cannot be tied to the frequency of the emulated system.

The emulator tries to synchronize the two on a "best effort" basis by a feedback loop that may or may not be in sync,

depending on the load of the host system.

 

• Does the pokey emulation support polycounter reset and offset?

It supports the STimer reset which also supports the poly counters. I'm unclear what you mean by "offset"? You cannot influence

the polycounter states directly, only let them go, and reset them by an STimer write.

 

 

• Does the pokey emulation support a correct pulsewidth reset and offset?

I don't understand what you mean by "pulsewidth"? The "highpass" filter (which is really a gate, not a filter) is supported correctly,

by which you can create various pulsewidths, but the pulse width of the audio output is otherwise 1:1. Of course, that signal is modulated

by the filter output etc.

 

Greetings,

 

Thomas

Link to comment
Share on other sites

reply to reply to points 1,2,3,5: OK, thanks

 

reply to reply to point 4:

• Does the pokey emulation support polycounter reset and offset?

It supports the STimer reset which also supports the poly counters. I'm unclear what you mean by "offset"? You cannot influence

the polycounter states directly, only let them go, and reset them by an STimer write.

No, STIMER only resets the filter/pulsewave feature. It does not really "reset" the polycounters, but only resyncs the sampling of the polycounters (which always run at full 1.79mhz speed). So, the polycounters themselves are not influenced by STIMER.

 

To really do a deterministic polycounter reset, we need to do a POKEY-reset, by writing xxxxxx00 first and then xxxxxx11 to SKCTL. After resetting the polys by a SKCTL write, we can reset the sampling by a STIMER write. Then we can deterministically choose one of the desired patterns, which is especially interesting when doing distortion C basses. But, a wide sea of other possibilities also opens then.

 

 

For more discussion (in the past) and some more information, look here:

http://www.atariage.com/forums/topic/116835-polycounter-reset-on-pokey/

 

Or, for more specific comments:

http://www.atariage.com/forums/topic/116835-polycounter-reset-on-pokey/page__view__findpost__p__1410743

Link to comment
Share on other sites

Thanks Thomas... but where is the OS X/Mac port?

You need to compile it since I don't have a Mac available. The sources are on the web-page as .tar.gz. Download the sources, install g++, bash, SDL-devel, make, open a shell and type "./configure", then "make". Voila!

 

I'd be glad to host the Mac port if anyone could provide a binary.

 

Greetings,

 

Thomas

Edited by thorfdbg
Link to comment
Share on other sites

  • 3 months later...

Hi folks,

 

please find an updated version of the portable Atari emulator for Linux, Mac, Windows and others at its usual location:

 

http://www.xl-project.com/

 

This time, I'm updating to 1.59.

 

The main improvements in this release are a fix in the Antic DMA engine - sorry for taking so long - and an updated cycle-precise(!) Pokey emulation. Pokey timers, interrupts, potentiometer readings etc are now *optionally* precise to the CPU cycle.

 

To enable this feature, go into the settings menu, there to "Pokey", and check the "CyclePrecise" option there.

 

Since this feature is still not yet completely tested, this is marked as a beta release. Please check whether it fits your needs, and please report any errors you may find.

 

Sorry again for taking so long for this, I've been very busy here lately, unfortunately.

 

Happy New Year,

 

 

Thomas Richter

 

This version seems to run fine on my Windows XP setup. I just transferred the program over to my new Windows 7 (64-bit) system and Atari++ 1.59 crashes upon startup. Is this a known issue w/W7 or may be it could be my configuration. Any help will be appreciated.

 

Thanks,

Hayden

Link to comment
Share on other sites

 

This version seems to run fine on my Windows XP setup. I just transferred the program over to my new Windows 7 (64-bit) system and Atari++ 1.59 crashes upon startup. Is this a known issue w/W7 or may be it could be my configuration. Any help will be appreciated.

 

Thanks,

Hayden

Not that I'm aware of, but then again, I'm not using Windows 7 (neither any Windows, on a regular basis. M$ is a company whose products I try to avoid). But anyhow: Does this happen with earlier releases as well? Does it probably help to replace the "SDL.dll" in the archive by a more recent version, to be downloaded from:

 

http://www.libsdl.org/download-1.2.php

 

I also noticed today a bug in the file requester, but this shouldn't trigger anything during startup.

 

In any event, please report back.

 

Thanks,

Thomas

Link to comment
Share on other sites

 

This version seems to run fine on my Windows XP setup. I just transferred the program over to my new Windows 7 (64-bit) system and Atari++ 1.59 crashes upon startup. Is this a known issue w/W7 or may be it could be my configuration. Any help will be appreciated.

 

Thanks,

Hayden

Not that I'm aware of, but then again, I'm not using Windows 7 (neither any Windows, on a regular basis. M$ is a company whose products I try to avoid). But anyhow: Does this happen with earlier releases as well? Does it probably help to replace the "SDL.dll" in the archive by a more recent version, to be downloaded from:

 

http://www.libsdl.org/download-1.2.php

 

I also noticed today a bug in the file requester, but this shouldn't trigger anything during startup.

 

In any event, please report back.

 

Thanks,

Thomas

 

Thomas,

 

I tried Atari++ 1.59 with the new SDL.dll in the link above and the program still crashed (see attachment).

 

Here are all of the text in the window:

 

Problem signature:

Problem Event Name: APPCRASH

Application Name: atari++.exe

Application Version: 0.0.0.0

Application Timestamp: 4d2704ea

Fault Module Name: atari++.exe

Fault Module Version: 0.0.0.0

Fault Module Timestamp: 4d2704ea

Exception Code: c0000005

Exception Offset: 0006d370

OS Version: 6.1.7600.2.0.0.768.3

Locale ID: 1033

Additional Information 1: 00e0

Additional Information 2: 00e0922e5999568e824511b20fb88194

Additional Information 3: 4801

Additional Information 4: 48010079941daa8eae61fca24fff7684

 

However, I found an older version (Atari++ 1.55) and it ran OK.

 

Tried Atari++_win_1.58 and it ran OK, too. So, I re-downloaded Atari++ 1.59 - tried it again and it also ran OK. Sorry for troubling you :(

 

Thanks,

Hayden

post-22778-0-10804100-1303879056_thumb.jpg

Edited by atx4us
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...