Discussion:
[semi-OT] A random thought about emulation
(too old to reply)
Steve Nickolas
2020-03-18 20:33:38 UTC
Permalink
To me, there's two different major approaches to emulation: optimized for
speed in the most common cases, or built for accuracy. For the most part,
I prefer the former, and my emulators have generally favored the former
approach. But I understand the preference for the latter. I think
there's room for both in this world.

The rise of cheap computing (for example Raspberry Pi) brings back, in my
opinion, the rationale for the faster, less accurate type of emulation.
Some time ago, I bought a Windows 10 tablet, which I decided to use for
various purposes, but eventually considered using as an emulation machine.
Unfortunately, it ran MAME like a pig (though it was adequate most of the
time). That tablet is now dead, but I recently bought a new one - which
actually has a slower CPU.

While turnkey emulation systems exist, they don't really seem to fit what
I'm looking to do, and I've thought of creating one of my own.
Unfortunately I haven't had a lot of luck with writing emulators other
than for very simple systems like the Apple ][. (I did actually write a
mostly functional emulation for the arcade game "Tank Battalion", which is
based on a 6502 and has simple graphics and sound hardware.)

I'd like to create something like Retroarch, but instead of trying to
build in the best emulators, I'd rather take the approach of "good enough
is good enough", optimizing for speed, and build with my own environment
in mind, a touchscreen device with a USB controller (initially a simple
6-button pad I've had since 2003, but I plan to buy a more suitable one)
and a resolution of 800x1280.

-uso.
Your Name
2020-03-18 21:33:03 UTC
Permalink
Post by Steve Nickolas
To me, there's two different major approaches to emulation: optimized
for speed in the most common cases, or built for accuracy. For the
most part, I prefer the former, and my emulators have generally favored
the former approach. But I understand the preference for the latter.
I think there's room for both in this world.
The rise of cheap computing (for example Raspberry Pi) brings back, in
my opinion, the rationale for the faster, less accurate type of
emulation. Some time ago, I bought a Windows 10 tablet, which I decided
to use for various purposes, but eventually considered using as an
emulation machine. Unfortunately, it ran MAME like a pig (though it was
adequate most of the time). That tablet is now dead, but I recently
bought a new one - which actually has a slower CPU.
While turnkey emulation systems exist, they don't really seem to fit
what I'm looking to do, and I've thought of creating one of my own.
Unfortunately I haven't had a lot of luck with writing emulators other
than for very simple systems like the Apple ][. (I did actually write
a mostly functional emulation for the arcade game "Tank Battalion",
which is based on a 6502 and has simple graphics and sound hardware.)
I'd like to create something like Retroarch, but instead of trying to
build in the best emulators, I'd rather take the approach of "good
enough is good enough", optimizing for speed, and build with my own
environment in mind, a touchscreen device with a USB controller
(initially a simple 6-button pad I've had since 2003, but I plan to buy
a more suitable one) and a resolution of 800x1280.
-uso.
Speed isn't an issue these days. Emulators of old computers (Apple II,
C64, etc.) running on modern hardware actually have to be slowed down,
otherwise they'd be unusable.
Steve Nickolas
2020-03-18 21:42:11 UTC
Permalink
Speed isn't an issue these days. Emulators of old computers (Apple II, C64,
etc.) running on modern hardware actually have to be slowed down, otherwise
they'd be unusable.
My desktops have 3.2 GHz quad-core CPUs. On these machines, that's no big
deal. But I'm talking a 1.1 GHz, prolly single-core, absolutely hamstrung
machine (Inhell Helleron).

Apple ][ and C64 are no big deal. A 386/25 will run the former, and a
486/50 the latter. Let's say, though, a Galaga cabinet (three Z80s), a
Raiden cabinet (two V20s and a Z80), or RoadBlasters (a 68010), or a Neo
Geo (68000 and Z80). These will require a little extra horsepower, but I
don't think a well-optimized emulator needs multiple GHz and multiple
cores even for that (though certainly it helps!)

-uso.

Loading...