Coming soon! Steem SSE 3.7

A place to discuss current and future developments for STeem

Moderators: Mug UK, Steem Authors, Moderator Team

User avatar
Stefan jL
Atari God
Atari God
Posts: 1235
Joined: Thu May 09, 2002 3:21 pm
Location: Sweden
Contact:

Re: Coming soon! Steem SSE 3.7

Postby Stefan jL » Sun Dec 07, 2014 12:12 pm

I was thinking maybe some sound output types should be renamed to something like... "Effect filter - Monitor speaker" and "Effect filter - TV speaker" just to make clear those are not emulation related?

And another suggestion is a "True ST sound" option that can be checked to give the most accurate ST sound Steem sse can do... i mean when clicking on the "True ST sound" option then it selects "direct (unfiltered)" and set the option of "Accurate YM2149" to on.

Also Steven... have you checked anymore if G.I.M.I.C could be supported in Steem SSE? The OPNA sound board with the YM2149 compatible soundchip.
Image

User avatar
Steven Seagal
Atari God
Atari God
Posts: 1951
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: Coming soon! Steem SSE 3.7

Postby Steven Seagal » Sun Dec 07, 2014 8:32 pm

Stefan jL wrote:I was thinking maybe some sound output types should be renamed to something like... "Effect filter - Monitor speaker" and "Effect filter - TV speaker" just to make clear those are not emulation related?


Or maybe "No filter","Filter - SCART", "Filter - coaxial", "Filter - none", "Filter - coaxial only for chiptunes", "Filter - coaxial only for samples" ... more technical, a bit pretentious, but to the point.
In effect "monitor" sound falls back on "TV" when Steem detects samples, because the noise is too high (emulation problem).


And another suggestion is a "True ST sound" option that can be checked to give the most accurate ST sound Steem sse can do... i mean when clicking on the "True ST sound" option then it selects "direct (unfiltered)" and set the option of "Accurate YM2149" to on.


"Accurate" is already hard to believe, "True" nobody will believe.
In fact I'm searching for another word than "accurate".

Also Steven... have you checked anymore if G.I.M.I.C could be supported in Steem SSE? The OPNA sound board with the YM2149 compatible soundchip.


Nope :oops:

Hippy Dave
Atari Super Hero
Atari Super Hero
Posts: 515
Joined: Sat Jan 10, 2009 5:40 am

Re: Coming soon! Steem SSE 3.7

Postby Hippy Dave » Sun Dec 07, 2014 9:57 pm

Here are my specifically designed YM2149 and LMC1992 filters I applied to Hatari.
These filters were derived from first principles with circuit analysis, and represent
the signal at the Atari ST audio output.

see line 268: hatari/src/sound.c
http://hg.tuxfamily.org/mercurialroot/h ... rc/sound.c

This DC blocking filter works on signed 16-bit samples for all
sample rates in Hatari. Note that this filter is applied after
the filters shown here, and before the LMC1992 tone controls.

Code: Select all

Hatari - sound.c

This file is distributed under the GNU General Public License, version 2
or at your option any later version. Read the file gpl.txt for details.

/*--------------------------------------------------------------*/
/* DC Adjuster                                                  */
/*--------------------------------------------------------------*/

/**
 * 6dB/octave first order HPF fc = (1.0-0.998)*44100/(2.0*pi)
 * Z pole = 0.99804 --> FS = 44100 Hz : fc=13.7 Hz (11 Hz meas)
 * a = (int32_t)(32768.0*(1.0 - pole)) :       a = 64 !!!
 * Input range: -32768 to 32767  Maximum step: +65536 or -65472
 */
ymsample        Subsonic_IIR_HPF_Left(ymsample x0)
{
        static  yms32  x1 = 0, y1 = 0, y0 = 0;

        y1 += ((x0 - x1)<<15) - (y0<<6);  /*  64*y0  */
        y0 = y1>>15;
        x1 = x0;

        return y0;
}


ymsample        Subsonic_IIR_HPF_Right(ymsample x0)
{
        static  yms32  x1 = 0, y1 = 0, y0 = 0;

        y1 += ((x0 - x1)<<15) - (y0<<6);  /*  64*y0  */
        y0 = y1>>15;
        x1 = x0;

        return y0;
}

This YM2149 filter provides the characteristic Atari ST sound at
44.1 KHz and 48KHz sample rates:

Code: Select all

/*--------------------------------------------------------------*/
/* Low Pass Filter routines.                                    */
/*--------------------------------------------------------------*/

/**
 * Get coefficients for different Fs (C10 is in ST only):
 * Wc = 2*M_PI*4895.1;
 * Fs = 44100;
 * warp = Wc/tanf((Wc/2)/Fs);
 * b = Wc/(warp+Wc);
 * a = (Wc-warp)/(warp+Wc);
 *
 * #define B_z (yms32)( 0.2667*(1<<15))
 * #define A_z (yms32)(-0.4667*(1<<15))
 *
 * y0 = (B_z*(x0 + x1) - A_z*y0) >> 15;
 * x1 = x0;
 *
 * The Lowpass Filter formed by C10 = 0.1 uF
 * and
 * R8=1k // 1k*(65119-46602)/65119 // R9=10k // R10=5.1k //
 * (R12=470)*(100=Q1_HFE) = 206.865 ohms when YM2149 is High
 * and
 * R8=1k // R9=10k // R10=5.1k // (R12=470)*(100=Q1_HFE)
 *                        = 759.1   ohms when YM2149 is Low
 * High corner is 1/(2*pi*(0.1*10e-6)*206.865) fc = 7693.7 Hz
 * Low  corner is 1/(2*pi*(0.1*10e-6)*795.1)   fc = 2096.6 Hz
 * Notes:
 * - using STF reference designators R8 R9 R10 C10 (from dec 1986 schematics)
 * - using corresponding numbers from psgstrep and psgquart
 * - 65119 is the largest value in Paulo's psgstrep table
 * - 46602 is the largest value in Paulo's psgquart table
 * - this low pass filter uses the highest cutoff frequency
 *   on the STf (a slightly lower frequency is reasonable).
 *
 * A first order lowpass filter with a high cutoff frequency
 * is used when the YM2149 pulls high, and a lowpass filter
 * with a low cutoff frequency is used when R8 pulls low.
 */
static ymsample LowPassFilter(ymsample x0)
{
        static  yms32 y0 = 0, x1 = 0;

        if (x0 >= y0)
        /* YM Pull up:   fc = 7586.1 Hz (44.1 KHz), fc = 8257.0 Hz (48 KHz) */
                y0 = (3*(x0 + x1) + (y0<<1)) >> 3;
        else
        /* R8 Pull down: fc = 1992.0 Hz (44.1 KHz), fc = 2168.0 Hz (48 KHz) */
                y0 = ((x0 + x1) + (6*y0)) >> 3;

        x1 = x0;
        return y0;
}

This YM2149 filter is used in all cases where the previous filter
was not used:

Code: Select all

/**
 * This piecewise selective filter works by filtering the falling
 * edge of a sampled pulse-wave differently from the rising edge.
 *
 * Piecewise selective filtering is effective because harmonics on
 * one part of a wave partially define harmonics on other portions.
 *
 * Piecewise selective filtering can efficiently reduce aliasing
 * with minimal harmonic removal.
 *
 * I disclose this information into the public domain so that it
 * cannot be patented. May 23 2012 David Savinkoff.
 */
static ymsample PWMaliasFilter(ymsample x0)
{
        static  yms32 y0 = 0, x1 = 0;

        if (x0 >= y0)
        /* YM Pull up   */
                y0 = x0;
        else
        /* R8 Pull down */
                y0 = (3*(x0 + x1) + (y0<<1)) >> 3;

        x1 = x0;
        return y0;
}


The LMC1992 tone control filters are at the end of this file:
http://hg.tuxfamily.org/mercurialroot/h ... c/dmaSnd.c

User avatar
Steven Seagal
Atari God
Atari God
Posts: 1951
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: Coming soon! Steem SSE 3.7

Postby Steven Seagal » Mon Dec 08, 2014 4:43 pm

How about this then?

Image




He he
So it's clear they're all effects.

EDIT:
And I found a better name than 'accurate YM-2149', it is 'sampled YM-2149'.
Last edited by Steven Seagal on Sat Feb 14, 2015 10:44 am, edited 1 time in total.

User avatar
Steven Seagal
Atari God
Atari God
Posts: 1951
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: Coming soon! Steem SSE 3.7

Postby Steven Seagal » Sat Jan 17, 2015 10:51 am

http://ataristeven.t15.org/Steem_370_coming_soon5.htm

Image

MFP - "Pending Danger"

The MC68901 multi-function peripheral (MFP) is a member of the M68000 Family of peripherals of Motorola.

It was used on the Atari ST and that's quite a nasty chip to emulate. Its clock isn't a simple fraction of the CPU's. Coordination with the CPU is intricate. Double use of some timers is confusing.

Image

A new option is dedicated to MFP improvements because those require more CPU power.

IACK
Since v1.7, Hatari boasts some MFP improvements that I tried to cheaply, quickly imitate in Steem. Those hacks "worked" somehow but they weren't very satisfactory.
In Steem v3.7, it's done more thoroughly at least for interrupt acknowledge (IACK).

When some chip like the MFP wants to interrupt the CPU, it asserts an IRQ (interrupt request) line. The CPU sees that and starts an IACK cycle, asking the MFP for a vector (a number converted to an address). It may happen that another interrupt, of same or higher priority, gets pending during this interrogation latency. In that case, the MFP will clear that later interrupt and send the corresponding vector to the CPU.

It happens all the time and is sometimes important.

Image

There was an anomaly with this demo. After MFP improvements, the screen was flickering. The timers had been made more precise, but now they were in conflict and this wasn't handled (previous hack only worked with the same interrupt pending twice, like Final Conflict, Froggies/OVR).

EDIT: bit about Audio Artistic is changed
EDIT2: add bit about Anomaly

Writing Delay

Image

It's not that good a demo, just some music, but very interesting for emulation.
This will now work in Steem with snappy power.
The reason why the music played too fast and the program didn't respond was some delay the MFP needs to work the data it just received from the CPU (about 4 cycles), that wasn't emulated yet. This gives the program time to stop the timer before it gets into its infinite loop. Once it's in it, no IACK delay could save it, the routine is too long, the timer too short, the interrupt will always be pending on the RTE no matter what. I do hope this is the definitive explanation because I've lost enough time on this one. I even wonder if the accelerated version isn't better.

GPIP/IRQ delay
If the GPIP input has just transitioned, IRQ hasn't fired yet, as documented by Motorola. Emulating this allows us to run V8 Music System.

Image
This was already running in Steem SSE so for you, the player, it changes nothing.

Spurious Interrupt

Image
To obtain this nice result, we had to add a new function in MFP emulation!
There are 24 bombs because the spurious interrupt vector starts with $18 (24).
This happens when the MFP asserts IRQ just before the program changes the conditions in the MFP registers, voiding the IRQ. The CPU has started an IACK cycle regardless, and when the MFP doesn't answer, the GLUE chip triggers a bus error.
In the case pictured above, we get all the bombs and the mouse cursor still moves. Depending on exact timing you may have a reset instead, or fewer bombs and freeze.

This was generally caused by programmer error. So it's an important feature for programmers who code against an emulator: code apparently working in Steem would crash on a real ST otherwise.

Timer precision
Contrary to other emulators, Steem uses a ratio held in a double variable to convert MFP cycles into CPU cycles. Since v3.5.1, the fractional part of those cycles is handled. In v3.7, cycle accuracy is guaranteed, whatever the CPU clock.


CPU Clock fine tuning

Image

The hack supreme!
It changes the CPU clock relative to the MFP's (so: the ratio).
I did it for myself, to experiment in real time (!) with this very important parameter, and I give it to everybody who's interested. Needless to say it's a dangerous option, better left unchecked.
Last edited by Steven Seagal on Sat Feb 21, 2015 8:57 am, edited 4 times in total.

User avatar
npomarede
Atari God
Atari God
Posts: 1163
Joined: Sat Dec 01, 2007 7:38 pm
Location: France

Re: Coming soon! Steem SSE 3.7

Postby npomarede » Sat Jan 17, 2015 12:14 pm

Hi,
glad to see that Hatari is showing the way for accurate MFP emulation :)

But regarding the spurious interrupt you describe, do you have a test program that you also tested on a real ST ?
In the scenario you describe, you need the MFP's interrupt register to be cleared during the IACK sequence, which leaves a very small margin if we consider the IACK sequence lasts 12 cycles and a write to the MFP take at least 8 cycles + 4 cycles waitstate.
I'm not sure this really happens that often on the ST, at least I never saw it so far.

Nicolas

User avatar
Stefan jL
Atari God
Atari God
Posts: 1235
Joined: Thu May 09, 2002 3:21 pm
Location: Sweden
Contact:

Re: Coming soon! Steem SSE 3.7

Postby Stefan jL » Sat Jan 17, 2015 3:05 pm

ah.. so the CPU clock is different on ST and STE, i always wondered why the SID-voice effect sounded better on STE than ST and i guess this is the reason? :)
Image

User avatar
npomarede
Atari God
Atari God
Posts: 1163
Joined: Sat Dec 01, 2007 7:38 pm
Location: France

Re: Coming soon! Steem SSE 3.7

Postby npomarede » Sat Jan 17, 2015 3:24 pm

Stefan jL wrote:ah.. so the CPU clock is different on ST and STE, i always wondered why the SID-voice effect sounded better on STE than ST and i guess this is the reason? :)

Not at all, difference is not really noticable. And in all case it's the MFP frequency that counts for SID voice effects, and they're similar on STF/STE.
The difference your heard is more likely related to the different audio output circuit, STE filters differently some sounds.

User avatar
Stefan jL
Atari God
Atari God
Posts: 1235
Joined: Thu May 09, 2002 3:21 pm
Location: Sweden
Contact:

Re: Coming soon! Steem SSE 3.7

Postby Stefan jL » Sat Jan 17, 2015 4:02 pm

It is not the filter i mean but the "wave" of the SID-voice :)
I know the STE has less muffled sound than ST becasue of the different lowpass filter.
Image

User avatar
Steven Seagal
Atari God
Atari God
Posts: 1951
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: Coming soon! Steem SSE 3.7

Postby Steven Seagal » Sat Jan 17, 2015 8:24 pm

npomarede wrote:Hi,
glad to see that Hatari is showing the way for accurate MFP emulation :)


It's like that for IACK, but now Steem shows how spurious is done! :)

But regarding the spurious interrupt you describe, do you have a test program that you also tested on a real ST ?
In the scenario you describe, you need the MFP's interrupt register to be cleared during the IACK sequence, which leaves a very small margin if we consider the IACK sequence lasts 12 cycles and a write to the MFP take at least 8 cycles + 4 cycles waitstate.
I'm not sure this really happens that often on the ST, at least I never saw it so far.

Nicolas


I got my hands on some cool hardware, so yes I tested this feature. In fact it first happened by accident, so I'm surprised it's so rare.
I have a test program for spurious but it's not pratical, you need to be in devpac to see those bombs like on the screenshot.
Soon I'll make a TOS file with a spurious handler and repeat.
Current hypothesis is that the IRQ is asserted during the instruction itself (12 cycles + jam).

Stefan jL wrote:ah.. so the CPU clock is different on ST and STE, i always wondered why the SID-voice effect sounded better on STE than ST and i guess this is the reason? :)


STE clock as pictured is not exact science, it's the value in current build, tuned to ljbk's test program HWTST.
Not sure this will be maintained for the release version 3.7, in v3.6 it's the same as on STF.
Anyway you may pick your own now! Coming soon!

User avatar
npomarede
Atari God
Atari God
Posts: 1163
Joined: Sat Dec 01, 2007 7:38 pm
Location: France

Re: Coming soon! Steem SSE 3.7

Postby npomarede » Sat Jan 17, 2015 10:42 pm

Steven Seagal wrote:I got my hands on some cool hardware, so yes I tested this feature. In fact it first happened by accident, so I'm surprised it's so rare.
I have a test program for spurious but it's not pratical, you need to be in devpac to see those bombs like on the screenshot.
Soon I'll make a TOS file with a spurious handler and repeat.
Current hypothesis is that the IRQ is asserted during the instruction itself (12 cycles + jam).

I think the following scenario should work :
- set sr to 2700
- make an MFP int happen so that MFP's IRQ signal is set to 1 and a level 6 int becomes pending in the CPU
- clear mask in the mfp -> this will cancel the IRQ
- set SR=2500 -> allows the mfp's int processing as a level 6 int in the CPU

The trick is that after you write into the MFP's reg to clear the mask for example, the MFP will have its own processing for a few cycles, so even if the write is done from the point of view of the cpu, the level 6 irq is not cleared at the cpu side immediately.
So when setting SR=2500, we still call the pending level 6 int, but at the time the cpu will ask its vector to the MFP, the MFP has completed its internal IRQ processing and IRQ is now 0 -> MFP has nothing to send for the IACK sequence, so we call the spurious int at $60.

I will write a test program to check this on my STF.
Nicolas

User avatar
Steven Seagal
Atari God
Atari God
Posts: 1951
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: Coming soon! Steem SSE 3.7

Postby Steven Seagal » Sun Jan 18, 2015 5:28 pm

Some good niews, some bad news.
Bad news first, "Audio Artistic" isn't fixed by IACK-time substitution of timer D with timer B as timer B isn't active.
It was an illusion in an intermediary build where this condition wasn't (even) checked. It was a spurious fix :roll:
Good news, it will be fixed anyway, I think it's some delay when writing into MFP registers.
And here is the test program for "spurious interrupt" , tested on STE + Steem.
Not sure about the frequency but it's easy to provoke. I do it by clearing the "pending" bit at the right time.

(by the way extension TOS not allowed??)
You do not have the required permissions to view the files attached to this post.

User avatar
Steven Seagal
Atari God
Atari God
Posts: 1951
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: Coming soon! Steem SSE 3.7

Postby Steven Seagal » Wed Jan 21, 2015 8:33 pm

Steven Seagal wrote:And here is the test program for "spurious interrupt" , tested on STE + Steem.
Not sure about the frequency but it's easy to provoke. I do it by clearing the "pending" bit at the right time.

(by the way extension TOS not allowed??)


So, nobody can get spurious interrupts on his/her ST? I hope I didn't buy faulty hardware!

Note: I edited the part about Audio Artistic in the post presenting MFP improvements.

User avatar
Steven Seagal
Atari God
Atari God
Posts: 1951
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: Coming soon! Steem SSE 3.7

Postby Steven Seagal » Sat Jan 31, 2015 8:31 pm

Steven Seagal wrote:
Stefan jL wrote:ah.. so the CPU clock is different on ST and STE, i always wondered why the SID-voice effect sounded better on STE than ST and i guess this is the reason? :)


STE clock as pictured is not exact science, it's the value in current build, tuned to ljbk's test program HWTST.
Not sure this will be maintained for the release version 3.7, in v3.6 it's the same as on STF.
Anyway you may pick your own now! Coming soon!


As an update, testing Steem I noticed a music lag in More or Less Zero, and this was caused by that clock.
Better figures in some test but demo having problem: back to the STE=STF clock (PAL).
But you still can choose your timing.

Edit: fixed another way, apparently what matters is #samples/sec, should be 50065, maybe real STE
with another value will get out of sync on this demo.

User avatar
Steven Seagal
Atari God
Atari God
Posts: 1951
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: Coming soon! Steem SSE 3.7

Postby Steven Seagal » Fri Feb 06, 2015 6:00 pm

Normally I shouldn't add features because release is planned this month.
Yet I just had the idea today and executed it.

Joystick jump button

Image

A terrible shortcoming of the Atari ST was one-button only joysticks. On arcade machines, there were generally 2 buttons, so one was used for fire, another for jump, for example. On computer conversions, or on computer games in general, you needed to push the joystick forward to jump.
In v3.7, Steem allows you to map an alternative button to 'up', while also keeping the joystick movement, so now you can play a platformer any way you like.

Note: on the screenshot, axes are reversed so the buttons of the Speedlink are on the side, it's peculiar to this joystick.

Coming soon!

User avatar
Steven Seagal
Atari God
Atari God
Posts: 1951
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: Coming soon! Steem SSE 3.7

Postby Steven Seagal » Sat Feb 14, 2015 10:52 am

In the first post I stated that I would upload pictures instead of hotlinking to "ataristeven" just in case.
However, guests can't see uploaded pics, contrary to hotlinked ones, so I reversed that (edited all posts of page 1).
Doing that I noticed some parts still missing here, so here goes...


HD6301 emulation

Image

The Atari mouse was durable if you didn't need buttons


In 6301/ACIA mode the mouse will be quicker and move less erratically than before (especially in higher resolutions it was painful) while still being precise at lower speeds. Definitely less of a hack now and better than some other emulators.

It's not easy to get right because at hardware level the mouse movement translates to a '0011' bit sequence rotating, at the right speed. In Steem the conversion happens at VBL level (50hz generally).

This is also an indication that our 6301 and ACIA timings are not so bad after all.


Arkanoid
So is it enough for a game like Arkanoid? Still not sure.

Image

Some levels are tough, what fool designed this madness?

Image

Still beatable

User avatar
Steven Seagal
Atari God
Atari God
Posts: 1951
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: Coming soon! Steem SSE 3.7

Postby Steven Seagal » Sat Feb 14, 2015 10:59 am

And little improvements in the disk manager:
- Double clicking on nothing will go back up one level, like in some file managers (I use Free Commander for instance).
- Right clicking on the 'Hard Drives' icon will directly toggle Gemdos hard disk emu on/off, and 'HD' will be displayed or not in the status bar.

Options have been moved around, and this is the new SSE option page.

Image

Low-level emulation of the IKBD chip (keyboard, mouse, joysticks) requires improvements in ACIA emulation. Precise ACIA emulation requires improvements in the E-clock (a signal of the MC68000 CPU) emulation. They're tied together and are regrouped as "C1" on the option page. When checked, C1 also appears in the status bar. C stands for "chipset".
There's also a "C2" option, for "chipset 2", but for the moment it only concerns the MFP.

Those abbreviations were chosen to limit the length of the status info string.

Both option C2 and Fine tune CPU clock are presented above on this page.

User avatar
Steven Seagal
Atari God
Atari God
Posts: 1951
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: Coming soon! Steem SSE 3.7

Postby Steven Seagal » Sat Feb 21, 2015 12:59 pm

Only one more week to wait now!

User avatar
Steven Seagal
Atari God
Atari God
Posts: 1951
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: Coming soon! Steem SSE 3.7

Postby Steven Seagal » Sat Feb 28, 2015 11:00 am

Steem SSE 3.7.0 WIN32 has been released on 28/02/2015.

Code: Select all

Steem SSE 3.7.0 release notes
_______________________________


Atari ST
__________

You may skip this part if you know what the Atari ST is, this is just
a point of view.

The Atari ST was the first 16/32 computer available at a reasonable price.
It was built around a Motorola 68000 microprocessor and made of cheap,
sometimes outdated, off-the-shelf components like the  WD1772 floppy disk
controller (no side control!), the HD6301 "intelligent keyboard", or IKBD,
that also handles joysticks and mouse, the YM-2149, or "PSG" sound chip,
the infamous MC68901 MFP (Multi-Function Peripheral), and some custom
Atari chips, like the DMA (direct memory access), the GLUE, the MMU, the
video shifter... all hastily patched together and rushed to market, because
Commodore had just stolen the Amiga from Atari.

Considering the way it was designed, it did fairly well against the Amiga.
The machine had many downsides, yet some fantastic programs (apps, games,
demos) were made for it.
The most was drawn from each of its chips, which became almost legendary:
the video shifter, the Yamaha sound chip, later the blitter... the Atari
magic!

The system was run by a stable and intuitive graphic user interface (GUI)
controlled by mouse, the GEM.
Anybody with some competency could code in C and other languages some serious
applications for the ST (games were coded in assembly), that would be more
user-friendly (windows, menus, dialogs... like today) and powerful than on
the PC (stuck with poorer Intel microprocessor, text-mode display, keyboard
control).

It also featured a very good flicker-free monochrome display, which for
professional use was more important than fancy eye-killing Amiga high
resolutions.
It wouldn't have taken so much to be a serious competitor to the Mac and
the PC.
Maybe Atari didn't tackle the right market. Anyway it's done, and now we
have thousands of great games not to mention the demos.
To run this all on your much faster PC, you need an emulator and files
containing images of the content (ROM, disks...).


Steem Engine, by Anthony & Russell Hayward
____________________________________________

Steem is a legendary Atari ST emulator, both accurate and easy to use thanks
to its great user interface.
Its development was stopped in 2004, at v3.2. The Steem authors probably got
sick of all the lamers.
In 2011 the Hayward bros released the source code for further development.


SSE
_____

Steem SSE is a new version of Steem based on that source release. It incorporates
new features and emulation improvements, some of them based on the Hatari
and SainT emulators (this "emulation" goes both ways), some on various
internet discussions technical documentation, like chip datasheets, and
tests on real hardware.

Steem SSE aims to be the #1 STF/STE emulator. There's no limitation in
the original Steem code structure (in C++) that would make that goal
unreachable.

'SSE' stands for 'Steven Seagal Edition'. Steven Seagal is a well known
Aikido grandmaster, action movie star, musician and playboy.
It is rumoured he has a shadowy past working for some secret agencies.
This is also my silly handle at http://www.atari-forum.com (AF).

With this release we celebrate 3 years of Steem SSE fun!


Installation
______________

Extract files to a folder of your choice, this may be Steem's original
folder.
There's no setup program. You're responsible for any shortcut you wish.
HD6301V1ST.img is an image of the "IKBD" keyboard chip, it's necessary
for 'C1' option.
ym2149_fixed_vol.bin is used by option 'Sampled YM-2149'.
Both files must be inside the main folder.
Patches may be copied to your usual 'patches' folder if you have any.
The PRG folder may be anywhere, provided you set it up in the disk manager.
Guess what's the use of folder DriveSound, it should be in main folder too.
You don't need to copy files Bugs or Hit List, but they're quite informative.
steem.new goes into the main folder. Don't miss the new brags!

Manual
________

An up-to-date manual is now included in the main download of Steem SSE.
It is based on the old readme.txt.
This manual provides an extensive presentation of Steem (+SSE) and its
features.
Steem SSE manual, Steem SSE FAQ and Hints may be read from inside Steem.

v3.7.0 Features
_________________

- Some options have been shuffled about (again), so look around:

  STF/STE switch -> Machine page
  Wake-up state -> Machine page
  Display size -> Display page
  Pasti only for STX -> Disk manager
  Slow disk -> only in Disk manager now (lamer alert!)
  PSG Filter; Drive sound; Keyboard click -> Sound page

- Optional Direct 3D video rendering for fullscreen, probably the most
  important new feature.
  For this you must check the 'D3D' option on the 'Fullscreen mode' page.
  This option should be more compatible with Windows 7 and 8.
  You can choose the resolution among all the 32bit modes proposed by
  your video card (don't clamour for 16bit, if your system can handle DX9,
  it can handle 32bit).

  There's also a new option to emulate the Atari ST's distorted aspect
  ratio in this fullscreen mode. The screen is higher than it should be,
  so that squares and circles ain't.

  DirectDraw modes are still available (if the option isn't checked).

  If you don't need D3D and don't want to upgrade your system just for that,
  a separate build is available, without the option. It's built with Visual
  Studio 6 and is less optimised than the main VS2008 build, a tad smaller
  too.

- Display
  New options "Lock window size" and "Lock aspect ratio".

- Disk manager
  Double click on nothing goes up one level in the path, like in some
  file managers.
  Right click on the HD icon to toggle on/off the "Gemdos" hard drive emu.
  "Improved" auto-insert disk B.

- "STW" disk images support
  This format was devised for Steem and holds "clock" bits as well as
  all data and format bytes on the floppy disk, in MFM encoding.
  The goal is to be able to fully emulate the WD1772 floppy drive controller
  also for write commands (write sector, write track = format).
  Notice that it doesn't record timings and so doesn't compete with Pasti,
  Kryoflux, SCP, etc. It is compatible with the Hxc floppy emulator though.
  Support for: Dragonflight; Realm of the Trolls; Union Demo etc.
  A STW version of the Union Demo is included in the download.
  Specification: http://ataristeven.t15.org/txt/STW%20specification.txt

- "STG" ghost disks
  Those are used to harmlessly save high scores, and more, when using
  CTR/IPF/STX disk images, if the option in disk manager is checked.
  It's a hack, but quite effective.
  Specification: http://ataristeven.t15.org/txt/STG%20specification.txt

- Support for launching standalone PRG and TOS files (see /PRG/note.txt;
  option in disk manager).

- Some emulation improvements
  6301:    More precise mouse speed (we still don't claim perfection)
  68000:   Many prefetch and rounding corrections using the "Yacht" doc
           Some instructions logic fixes:
             ABCD,SBCD, copied from Hatari (Espana 92 -ICS)
             DIV (Speed-Packer II, thx Maartau)
           ILLEGAL assertion conform to real ST for all 16bit opcodes (thx
           Petari)
           Some stack frame improvements in case of bus error (The Teller STX,
           Blood Money -SUP)
           Stop emulation on HALT, indicate in status bar, no more annoying
           'crash and burn'
  68901:   IACK latency more generally handled (Anomaly Demo)
           Spurious interrupt emulated
           GPIP-IRQ and timeout-IRQ delays (V8 Music System, Overscan Demos
           STE)
           Write on register delay (Audio Artistic Demo)
           Cycle-accurate timers
  For performance and risk reasons, those MFP improvements are activated by
  the new 'C2' option.
  Advanced: on the SSE page there's a new option that allows you to set
  the CPU clock in relation to the MFP's. It's an interesting variable in
  emulation, it can be used to "fix" some programs.
  Blitter: Timing hack (Relapse Grafix Sound II)
  Drive:   Fix $D8/$D0 confusion (Wipe-Out -RPL)
           Media change for Pasti (4 Wheel Drive/Combo Racer STX)
           Drive sound: you have the choice between two kinds of 'seek'
           sounds if you right click on the drive icon.
           New hacked pasti.dll is available:
           http://ataristeven.t15.org/Other_downloads.htm#Pasti
           (Jupiter Masterdrive ,4 Wheel Drive/Combo Racer)
  GLUE:    Correct timings for STE "line +2", this was possible only after
           many CPU/MFP timing corrections, oddly, and could still be
           troublesome. Because of that I accepted those timings only after
           some tests on a real STE.
  LMC1992: Some fixes, doc is not correct.
  MMU:     Adapt video counter when ST is temporarily set in high res
           (trace routine in My Socks are Weapons by Legacy)
  PSG:     Now the table by ljbk is used for all PSG (soundchip) emulation.
           This makes it louder and quite distorted but that's correct
           emulation. The ST was a screaming beast, that's why it was
           beloved.
           Need (provided) file ym2149_fixed_vol.bin for this option.
           Bugfix rendering when quantizing high frequency changes
           (YMT player).
           Addition of a 'Hatari' sound filter, based on... guess what.
  Shifter: Bugfix display "line -2" (BIG Demo #2)
           Read palette returns a value depending on dbus (hack, Awesome
           04 STF)

- Joystick: you may define a second button for 'up' (jump), for a better
  arcade feeling on platform games.
 
- Video: nuked AVI recording feature, that wasn't satisfying. Apparently
  some 3rd party software do a better job.

- Patches

  Additionally some new patches hack the password protection of the following
  original games (STX):

  Carrier Command
  Elite
  Great Courts
  RVF Honda
  Starglider II

  They work on the standard STF configuration (TOS102, 1MB).
  Those patches were easily made using the powerful Steem SSE Boiler.


Development screens
_____________________


http://ataristeven.t15.org/Steem_370_coming_soon.htm
STG

http://ataristeven.t15.org/Steem_370_coming_soon2.htm
STW

http://ataristeven.t15.org/Steem_370_coming_soon3.htm
6301, MC68000, Shifter...

http://ataristeven.t15.org/Steem_370_coming_soon4.htm
D3D fullscreen

http://ataristeven.t15.org/Steem_370_coming_soon5.htm
MFP


Bugs
______

There are no bugs.
If despite this fact you find bugs please report them here:

http://www.atari-forum.com/viewtopic.php?f=94&t=27687

You may send an email to:
another.steven.seagal@gmail.com.. (some jerk stole my name)

I generally reply but I don't always check daily so have some patience
before you send me insults.

Please read the 'Hints', the answer to some questions is already in there.

Please try different settings before reporting, not all programs are supposed
to work with all versions of TOS, or on a STF, STE, etc.
Also try with slow (accurate) disk drive mode, or with drive B disabled;
real life STs generally had only one drive, non accelerated.
Some rare games want the disk to be write-protected... other rare games,
write-enabled!
You may try with or without options C1, C2, 'Hacks'.
Sometimes the "wake-up" option makes a difference (flicker in some demos).
It's also helpful if you can compare with other versions of Steem and with
other emulators - normally they will fail too :) - or with harware.



Beta
______

Want to be a beta tester of the glorious Steem SSE builds and make history?
Just send an email at: another.steven.seagal@gmail.com.. or PM Steven Seagal
at AF.


Steem SSE Web sites
_____________________

http://ataristeven.t15.org/Steem.htm (all builds, ST programs, pics, doc)

http://sourceforge.net/projects/steemsse/

http://code.google.com/p/steem-engine/ (source v3.3, Subversion)

http://steemsse.svn.sourceforge.net/svnroot/steemsse (source v3.4 & up,
Subversion, you can download a snapshot of the source)

If you want to contribute some code, you should have an account at
sourceforge, and use SVN. If you're allergic to that, you may also
submit your changes and I'll integrate them myself.


Release history
_________________

Steem SSE V.3.3.0, 28/02/2012
Steem SSE V.3.4.0, 22/09/2012
XSteem SSE V.3.4.0, 06/10/2012
Steem SSE V.3.4.1, 14/11/2012
Steem SSE V.3.5.0, 27/02/2013
XSteem SSE V.3.5.0, 02/03/2013
Steem SSE V.3.5.1, 11/06/2013
XSteem SSE V.3.5.1, 13/06/2013
Steem SSE V.3.5.1 OPT, 15/06/2013
Steem SSE V.3.5.2, 04/08/2013
XSteem SSE V.3.5.2, 04/08/2013
Steem v3.2+, 27/08/2013
Steem SSE v.3.5.3, 13/10/2013
XSteem SSE v.3.5.3, 20/10/2013
Steem SSE v.3.5.4, 17/11/2013
Steem SSE v.3.6.0, 28/02/2014
XSteem SSE v.3.6.0, 28/02/2014
Steem SSE v.3.6.1, 13/04/2014
XSteem SSE v.3.6.1, 13/04/2014
Steem SSE v.3.6.2, 16/04/2014
Steem SSE v.3.6.3, 04/05/2014
XSteem SSE v.3.6.3, 04/05/2014
Steem SSE v.3.6.4, 15/06/2014
Steem SSE v.3.7.0 28/02/2015




http://ataristeven.t15.org/Steem.htm
http://sourceforge.net/projects/steemsse/

EDIT: release note as "code" for better readability
Last edited by Steven Seagal on Sat Feb 28, 2015 6:02 pm, edited 1 time in total.

User avatar
Cyprian
Atari God
Atari God
Posts: 1404
Joined: Fri Oct 04, 2002 11:23 am
Location: Warsaw, Poland

Re: Coming soon! Steem SSE 3.7

Postby Cyprian » Sat Feb 28, 2015 11:51 am

Many thanks Steven
Jaugar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
SDrive / PAK68/3 / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
Hatari / Aranym / Steem / Saint
http://260ste.appspot.com/

grzeniu
Retro freak
Retro freak
Posts: 15
Joined: Sat Jan 09, 2010 7:45 pm
Location: Poland

Re: Coming soon! Steem SSE 3.7

Postby grzeniu » Sat Feb 28, 2015 11:58 am

Thank you !
__if technology is the answer, what was the question ?!
--
JIL ST mjuz:k @ gnu/linux -> http://www.atari.org.pl/stymulator

User avatar
Avanze
Captain Atari
Captain Atari
Posts: 174
Joined: Tue Sep 16, 2003 1:49 am
Location: State College, PA

Re: Coming soon! Steem SSE 3.7

Postby Avanze » Sat Feb 28, 2015 3:14 pm

Always nice to see a new release. Many thanks.

User avatar
Retrogamer_ST
Atari God
Atari God
Posts: 1067
Joined: Fri Sep 02, 2011 4:50 pm
Location: Sweden
Contact:

Re: Coming soon! Steem SSE 3.7

Postby Retrogamer_ST » Sun Mar 01, 2015 2:09 pm

STeem SSE 3.7 seems to work better then any previous version of STeem on my computer. I don't know if it's just me or some improvements but the graphics looks better then ever in this version and it seems to run very smooth too.

Thanks for improving this great and easy to use emulator. :)

User avatar
dlfrsilver
Atari God
Atari God
Posts: 1415
Joined: Mon Jan 31, 2005 1:41 am
Contact:

Re: Coming soon! Steem SSE 3.7

Postby dlfrsilver » Mon Mar 02, 2015 12:21 am

Steven Seagal wrote:Steem SSE 3.7.0 WIN32 has been released on 28/02/2015.


Thanks Steven, nice job as usual ;) !
Now SPS France representative since the 19th of June 2014. Proud to be an SPS member !

User avatar
Maartau
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2588
Joined: Thu Dec 15, 2005 2:15 am
Location: France

Re: Coming soon! Steem SSE 3.7

Postby Maartau » Mon Mar 02, 2015 1:04 am

"Another mission accomplished :thumbs: ".

Thanks Steven [smilie=greencolorz4_pdt_01.gif] .
Member of :
- aTaRi LeGeNd ,
- eLiTe ! ,
- NoExTrA .

Don't hesitate to visit http://www.atarimania.com/ & http://www.atarilegend.com/ :D

-> Slowed due to serious health troubles <-


Social Media

     

Return to “Development”

Who is online

Users browsing this forum: No registered users and 2 guests