• Steve ][ =?UTF-8?B?4oCTIEEgZmFzdCBBcHBsZSBJSSBlbXVsYXRvcg==?=

    From D Finnigan@21:1/5 to All on Fri Aug 7 19:16:19 2020
    Article found on https://www.callapple.org/emulation/steve-a-fast-apple-ii-emulator/

    ----------

    An unexpected highlight at KansasFest 2020 was the introduction of a speedy, new Apple II emulator by Tamas Rudnai, dubbed “Steve ][.” Written for macOS Mojave and later, Steve ][ has a modern interface with many options and
    works with the popular WOZ format.

    According to Tamas, “Steve ][ tributes the two co-founders of Apple, Steve Wozniak and Steve Jobs. Wozniak was the evil genius hardware designer and inventor, while Jobs was the brilliant marketing and visionary person behind the most successful company in computer history. Steve ][ lets you travel to 1977 and bring an Apple ][ back with you to 2020, adding 40 years of
    technology enhancements to it. It speeds up the 1.023 MHz legacy hardware to
    a 1.3 GHz modern computer. That is a 1300x speed increase thanks to some
    clever emulation techniques, including memory handling tricks and branch prediction optimizations to utilize the full power of a modern host computer.” During his presentation, Tamas calculated that software which would normally take four hours to run on the original Apple II would only
    take 11 seconds on Steve ][.

    What I found especially interesting was Tamas himself and the story of what inspired him to write Steve ][, so I asked him to elaborate. Tamas replied, “My father was a mechanical engineer, plumbing engineer, designing heating and water supply system for large buildings. He bought an Apple ][ in the
    1980s to speed up his work,” said Tamas Rudnai. “This was not easy because Eastern Bloc countries were not allowed to buy American computers, so we smuggled in a Taiwanese clone piece by piece from Germany. My father wrote
    the software by himself and was able to reduce the time needed for a budget calculation from three weeks to just three days. One iteration of that calculation lasted three to four hours. I remember, he started the program
    and then came to the kitchen for a lunch, waited my mom to finish cooking,
    eat everything, had a nice coffee, then talking to us, and the program was still running. When he passed away I found the old Apple ][ in the basement
    and all of these memories rushed into my mind. I was really curious how long would that take to run that software in modern hardware? You know, if that Apple ][ was built today’s technology….”

    Tamas continued, “Steve ][ is capable of emulating an Apple II, Apple II
    Plus and Apple IIe, depending on which ROM is selected from the Config menu.
    It includes a 64K memory expansion card emulation which is also works as a
    16K Language Card and an 80-column video card. It fully supports GR and HGR graphics video modes in Color and Mono monitor modes. In Mono mode, one can select between Green, Amber and White phosphor monitors. There is also a CRT mode, which is a graphics rendering technique to get the real feel of old
    CRT monitors, complete with scan lines and a tiny little bit of blurry
    effect.

    The CPU speed selector is conveniently accessible from the middle of the toolbar as a slider. When it is moved all the way to the right, the roaring
    1.3 GHz is achieved. A bit lower or higher speed than this is possible, depending on the host computer and which apps are running at the same time.


    Steve ][ also includes some interesting features, like CPU modes. In Normal Mode, the screen is refreshed at 30 FPS and input latency is about 33ms,
    which is prefect in normal situations. We can switch to Game Mode, which doubles the screen refresh rate and lowers input latency to 1.5ms. That
    means that games react faster for keyboard and joystick / mouse inputs.

    Another CPU mode is ECO Mode, which is similar to Normal Mode, except when
    the Apple II is only waiting for keyboard input, it sleeps the machine, therefore it only has minimal energy impact on the host computer. However,
    when the user starts typing, it automatically unpauses and lets it run at
    the speed determined by the Speed Selector. And because of that, we can use Steve ][ on an airplane for a longer period of time while enjoying quick
    burst operations, such as compiling Assembly source code with Merlin.

    Disk operation also provides some notable features. In Normal Mode, one can hear an authentic disk sound which can be turned on or off. Furthermore,
    Quick Disk Mode speeds up disk operations drastically. For example, the DOS
    3.3 Master disk with Integer BASIC can be fully loaded in less than a
    second.

    Steve ][ natively supports the WOZ 1 disk image format, and DSK / DO / PO formats. These latter formats are automatically converted to WOZ internally, and it is done so quickly and transparently that it will not be noticed.

    Steve ][ is designed to run on macOS Mojave 10.14 and higher, and it is released as free and open open-source software under the GPL v3 license. Download the source code from GitHub now, with binary distribution available soon:
    https://github.com/trudnai/Steve2

    Please follow and like us:
    error
    fb-share-iconTweet fb-share-icon

    Updated: July 31, 2020 at 16:48

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Your Name@21:1/5 to D Finnigan on Sat Aug 8 10:25:47 2020
    On 2020-08-07 19:16:19 +0000, D Finnigan said:

    Article found on https://www.callapple.org/emulation/steve-a-fast-apple-ii-emulator/

    ----------

    An unexpected highlight at KansasFest 2020 was the introduction of a speedy, new Apple II emulator by Tamas Rudnai, dubbed “Steve ][.” Written for macOS
    Mojave and later, Steve ][ has a modern interface with many options and
    works with the popular WOZ format.

    According to Tamas, “Steve ][ tributes the two co-founders of Apple, Steve Wozniak and Steve Jobs. Wozniak was the evil genius hardware designer and inventor, while Jobs was the brilliant marketing and visionary person behind the most successful company in computer history. Steve ][ lets you travel to 1977 and bring an Apple ][ back with you to 2020, adding 40 years of technology enhancements to it. It speeds up the 1.023 MHz legacy hardware to a 1.3 GHz modern computer. That is a 1300x speed increase
    <snip>

    An emulator running at that speed is completely unusable for many
    things (especially games), unless it's a "turbo" mode that can be
    easily switched on and off as needed. One of the old emulators (can't
    remember which one off-hand) had such a function, which was great for
    some of the slow-loading games like Wolfenstein.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Steve Nickolas@21:1/5 to Your Name on Fri Aug 7 23:40:50 2020
    On Sat, 8 Aug 2020, Your Name wrote:

    An emulator running at that speed is completely unusable for many things (especially games), unless it's a "turbo" mode that can be easily switched on and off as needed. One of the old emulators (can't remember which one off-hand) had such a function, which was great for some of the slow-loading games like Wolfenstein.

    ApplePC, AppleWin and KEGS all have such functionality.

    In KEGS, it's enabled/disabled with the right mouse button (iirc); in
    ApplePC, it's F7; in AppleWin, it's ScrLk.

    -uso.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From google2@mcarlson.com@21:1/5 to Steve Nickolas on Sun Aug 23 20:09:21 2020
    On Friday, August 7, 2020 at 8:40:52 PM UTC-7, Steve Nickolas wrote:
    On Sat, 8 Aug 2020, Your Name wrote:

    An emulator running at that speed is completely unusable for many things (especially games), unless it's a "turbo" mode that can be easily switched on
    and off as needed. One of the old emulators (can't remember which one off-hand) had such a function, which was great for some of the slow-loading
    games like Wolfenstein.

    ApplePC, AppleWin and KEGS all have such functionality.

    In KEGS, it's enabled/disabled with the right mouse button (iirc); in ApplePC, it's F7; in AppleWin, it's ScrLk.

    -uso.

    Ah, no. KEGS tops out at 200mhz. The others are less. This goes to 1.3ghz! This is an incredible achievement. All other Apple II emulators just use one big switch statement to step through 6502/65816 instructions. This emulator must have a JIT. A JIT!
    And, all you guys can say is that the other emulators already do this? Like hell they do.

    Actually, looking at the code I see a switch statement. How in the hell did he do this? This is some really nice code. He separated out the instructions into multiple header files. Really clean. It sounds like he is from Eastern Europe, which explains it.

    I would love to see his fathers HVAC? simulation code. That would be cool. I have some old grade school fractal code that I got to try with this ;). Love it.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kent Dickey@21:1/5 to google2@mcarlson.com on Sun Aug 23 23:26:34 2020
    In article <19e78406-018a-4eed-bf0a-99d9b618caedo@googlegroups.com>, google2@mcarlson.com <google2@mcarlson.com> wrote:
    On Friday, August 7, 2020 at 8:40:52 PM UTC-7, Steve Nickolas wrote:
    On Sat, 8 Aug 2020, Your Name wrote:

    An emulator running at that speed is completely unusable for many things >> > (especially games), unless it's a "turbo" mode that can be easily >switched on
    and off as needed. One of the old emulators (can't remember which one
    off-hand) had such a function, which was great for some of the slow-loading
    games like Wolfenstein.

    ApplePC, AppleWin and KEGS all have such functionality.

    In KEGS, it's enabled/disabled with the right mouse button (iirc); in
    ApplePC, it's F7; in AppleWin, it's ScrLk.

    -uso.

    Ah, no. KEGS tops out at 200mhz. The others are less. This goes to
    1.3ghz! This is an incredible achievement. All other Apple II emulators
    just use one big switch statement to step through 6502/65816
    instructions. This emulator must have a JIT. A JIT! And, all you guys
    can say is that the other emulators already do this? Like hell they do.

    KEGS was artificially limited to 250MHz since 2004 since I was concerned
    about how some FP calculations would be affected if it ran much faster
    than that. The problem is there is a speed above which KEGS will not
    operate correctly due to the way FP is used to track machine cycles. Determining exactly what that speed would require a lot of effort to test around, and so I just pick lower "safe" values so as to not worry about it.
    I want KEGS to be an emulator you can trust to work reliably 20
    years from now.

    I have never heard of a request to raise the limit, or even a single
    request for KEGS to be faster.

    I've since looked into it, and I'm sure it can support 900MHz at least,
    so that's my new limit. On my Mac, KEGS runs at 430MHz running Applesoft, which is on a 4.3GHz (turbo) Intel chip. So KEGS runs at about 1/10th the native CPU clock speed on Intel CPUs.

    Bare-bones emulators can run faster than KEGS, but once they start
    including more details, they tend to slow down. A II+ is much simpler
    than a //e, and a IIgs is more complex.

    It would be useful information to know what changes sped up an emulator
    by how much, but as far as I know that information was not made available.

    Kent

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From google2@mcarlson.com@21:1/5 to Kent Dickey on Mon Aug 24 00:01:26 2020
    On Sunday, August 23, 2020 at 9:26:40 PM UTC-7, Kent Dickey wrote:
    In article <19e78406-018a-4eed-bf0a-99d9b618caedo@googlegroups.com>,
    wrote:
    On Friday, August 7, 2020 at 8:40:52 PM UTC-7, Steve Nickolas wrote:
    On Sat, 8 Aug 2020, Your Name wrote:

    An emulator running at that speed is completely unusable for many things
    (especially games), unless it's a "turbo" mode that can be easily >switched on
    and off as needed. One of the old emulators (can't remember which one >> > off-hand) had such a function, which was great for some of the slow-loading
    games like Wolfenstein.

    ApplePC, AppleWin and KEGS all have such functionality.

    In KEGS, it's enabled/disabled with the right mouse button (iirc); in
    ApplePC, it's F7; in AppleWin, it's ScrLk.

    -uso.

    Ah, no. KEGS tops out at 200mhz. The others are less. This goes to
    1.3ghz! This is an incredible achievement. All other Apple II emulators >just use one big switch statement to step through 6502/65816
    instructions. This emulator must have a JIT. A JIT! And, all you guys
    can say is that the other emulators already do this? Like hell they do.

    KEGS was artificially limited to 250MHz since 2004 since I was concerned about how some FP calculations would be affected if it ran much faster
    than that. The problem is there is a speed above which KEGS will not
    operate correctly due to the way FP is used to track machine cycles. Determining exactly what that speed would require a lot of effort to test around, and so I just pick lower "safe" values so as to not worry about it.
    I want KEGS to be an emulator you can trust to work reliably 20
    years from now.

    I have never heard of a request to raise the limit, or even a single
    request for KEGS to be faster.

    I've since looked into it, and I'm sure it can support 900MHz at least,
    so that's my new limit. On my Mac, KEGS runs at 430MHz running Applesoft, which is on a 4.3GHz (turbo) Intel chip. So KEGS runs at about 1/10th the native CPU clock speed on Intel CPUs.

    Bare-bones emulators can run faster than KEGS, but once they start
    including more details, they tend to slow down. A II+ is much simpler
    than a //e, and a IIgs is more complex.

    It would be useful information to know what changes sped up an emulator
    by how much, but as far as I know that information was not made available.

    Kent

    Well, God has spoken ;). I'll have to dig through your code again. Okay, it's faster than AppleWin (until that author shows up ;). What years were you at HP? Cupertino? Fellow alumni ;). I noticed your PA-RISC code but I never did try to run it on my
    C3600. I got the feeling you coded it after hours at HP ;).

    His code is on Github.
    https://github.com/trudnai/Steve2

    I will say that I really like how he made his switch statement. He does have a nice style. Although, I am not sure how this is with debugging. I haven't used Xcode in a long time. But, he has his own debugging code. Probably why.

    There was GSport, then GSplus, are you back?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)