Emulation – A Brief History


Technology… it moves fast.
One moment you’re being unboxed and nestled snugly into the homes of
millions across the globe as a bright phosphor glow fills the room and
families gather ’round to witness the dawn of a new age: video games. But in
what feels like only a moment, you’re relegated to obsolescence. Blink and
you’ll miss it. Decades later and devices far smaller
and more innocuous than you wield a power you wouldn’t be able to fathom
existed. You’re old, out of touch. You don’t know how to communicate with
today’s world. You’ve been broken, taken apart, put back
together, modified. A test subject for curious teenager with a soldering iron
and a penchant for technology. You’ve lived your final days and while your
body may be broken – you can’t destroy the things that made you great. What made you
a part of so many families around the world. More have followed in your
footsteps through the years and most do share the same fate, but there’s one
thing that lives on in all of you and as long as there are kids at heart like me
still around – your spirit will continue to enrich others around the globe for
centuries to come. With that said… let’s talk about emulation. Emulation as we use a term today wasn’t
called emulation through much of the 1980s. It was used to describe a
combination of both software and hardware assisted simulation. The term
emulation didn’t exactly take off until about the 1990s. This is when the term
emulation was used to describe software emulation of video game
hardware. But before we get into talking about game emulation and the ethics
surrounding it, we should probably take a look at other forms of emulation that
are used today and even discuss how emulators work on a technical level, as
well as the different methods used to make emulation possible. Emulation was a
term first used by IBM during development of the IBM 360 product line
in 1963 and referred to a solution to augment in speed up processes using
Hardware microcontrollers in software where the microcontroller acted is a
state machine built using standard general-purpose CPUs one of the most
common types of simulators that people use every day is a virtual machine a
virtual machine is nothing more than your computer going meta a machine
running inside of a machine that usually behaves just like the host computer
you’re working on mostly typically virtual machines are used to test
various software applications from operating system functions recovering
lost data virus removal backups in the most obvious is a virtual machine
running a different operating system than that of the host computer the
virtual machine has access to the host computer’s hardware but it uses its own
virtual hardware to perform functions which are then mapped to the host
computer’s hardware via a compatibility layer the goal of a virtual machine is
to provide the same and user experience of one type of operating system or
hardware running on another these virtualizations are self-contained in
sandbox from the host computer to prevent damage or corruption by data or
malicious code by keeping the simulation from escaping the virtualization virtual
machines aren’t without their drawbacks the most obvious barrier to proper
testing and performance is going to be whether or not the simulation was
originally designed to run and the hardware the host computer uses if
you’re trying to simulate an entire operating system different from the host
computer there may be specific timing issues related to tasks which can slow
down performance and ultimately affect the stability of the software running
inside the simulation this is an issue we still see today in regards to game
emulation aside from compatibility and stability
issues depending on your specific use case virtual machines may not be
cost-effective they can also be incredibly complex to set up and manage
on a larger scale particularly when it comes to server
infrastructure and networking so virtual machines are just one type of emulation
that’s used around the world on a daily basis and with great results
another type of emulation that we use today that we really don’t consider as
being emulation any longer is going to be software synthesis when it comes to
music production software synthesizers are used in productions to use around
the world from your basement musicians all the way to fully featured cinema
studios emulators can simulate a wide array of synthesizer hardware from FM
synthesis to subtractive synthesizers and they’ve even begun today to emulate
the sound of the human voice and rather convincingly as well
even some consumer-grade applications for voice synthesis can be rather
convincing if any of the top ten and life hack videos on YouTube are anything
to go by software is increasingly beginning to replace much of our old
hardware so let’s dive in and take a peek under the hood at how it all works
emulation works by simply simulating how a specific piece of hardware processes
data or signals in essence emulation software mimics the behaviors of a
specific hardware configuration such as in a case with video games the data and
my old Atari cartridges can still run on modern machines with software
specifically designed to emulate the hardware of the Atari 2600 the emulated
machine in this case the Atari 2600 translates the input-output flow of data
between the end user in the machine and sends the translated data for output on
modern hardware the running game code is executed with the same timings and
instruction sets of the original Hardware by being translated and
executed and the native machine and the instruction sets and timings it
understands then translates back to its proper format for the emulated software
then this process repeats think of emulators like language translators you
may not know how to speak a specific language but someone else might so you
would get a translator to help you translate what you say and what they say
in a language that both of you can understand now there are two types of
basic emulation structures in regards to game emulation low level and high level
low-level emulation can be either hardware or software based in either
case the host computer tries to simulate the instruction set and timings of all
the hardware components of a particular system including they’re connected paths
Hardware emulation seeks to do the same thing with specialized Hardware taking
the place of internal components of the emulated system like the super NT by
analog this is still however at its core software emulation as the hardware
inside of units like the super team must be programmed to function like
original hardware low level will yield the highest accuracy for emulation but
it does come at a cost of speed but there is an alternative high level
emulation high level emulation works a little bit differently with low level
we’re trying to replicate the functions and timings of a specific piece of
hardware piece by piece with high level we try to simply simulate the functions
of the hardware to achieve the same output letting the host computer do all
the heavy lifting carrying up instructions the benefits of high level
emulation are being continuously seen as computing technology advances the faster
the host Hardware becomes the faster we were able to emulate a specific
instruction so for example we can utilize the capabilities of a discrete
GPU to render three-dimensional video games instead of relying solely on the
instruction sets and processing of the original simulated Hardware we don’t
have to simulate we can use dedicated graphics processing provided by the host
as graphics technology improves so will the performance of that emulation not
only that but due to abstraction there’s no legal strings attached since we
aren’t emulating or replicating the instruction sets inside of the emulated
machine there’s no system bios needed to run game software because the emulator
itself becomes the operating environment now well these are both great one of the
drawbacks to high-level emulation is accuracy since we aren’t emulating the
hardware of a specific machine we can run into timing errors as well as
compatibility errors with some games even with a powerful hardware that’s
available to us today we can still see some accuracy issues as well as
compatibility issues with some programs now we can increase the level of
compatibility by handling edge cases on a game by game basis and programming the
emulator to know what game it’s playing and provide a workaround for any known
issues that is if the developers of an emulator are willing to do that and some
are high level also has speed benefits since we aren’t looking to accurately
simulate a particular piece of hardware and instead focus on simulating the
output of the emulated machine by using native instructions on the host computer
this allows high-level emulation to run in a wide array of devices from single
board computers to full-blown gaming rigs with similar performance so what
about today’s emulators what type do they use well thankfully most modern
emulators use a mix of both which Allah developers to increase the speed at
which instructions are carried out while at the same time increasing the accuracy
of emulation across the board this also means that we can achieve
performance in some games through emulation than on their original
hardware all thanks to taking advantage of the native hardware’s capabilities
but it wasn’t always this way it wasn’t until the 1990s when we first saw game
console emulators emerge these emulators were entirely software based and didn’t
take advantage of any specific computer hardware like a discrete GPU like this
Nvidia and v1 released in 1995 and what did we call that emulation if you
remember the answer comment it down below and the first person to get a
crutch will win a 100% real not real internet hug from me just imagine that
it’s real with all of your heart and it will be anyway those first emulators
were all software based because you have to remember home computers were just
taking off in the early 90s and we didn’t see the same type of adoption at
homes as we do today let alone many computers with dedicated graphics cards
the emulators and a 90’s were or black of more colorful terminology messy
most of these emulators were only able to simulate parts of the originating
hardware as manufacturers of the time weren’t publishing any technical
specifications for their systems which left a lot of programmers to fill in the
blanks through reverse engineering due to Nintendo’s obvious popularity with
the NES Super NES and Game Boy these were among the first game consoles to be
emulated and there was even an NES emulator created by Eugene naka a game
designer and programmer who began working for Sega in 1984 the emulator
was set to run on the Mega Drive which would make it the first instance of an
emulator running on a game console when asked about the emulator in an interview
he replied oh my how do you people know about that one well yeah actually I did
I did it primarily for study purposes it ran things like dr. Mario
although it didn’t work perfectly actually it was something fun to amuse
myself with at the time Yuji naka 2004 with the rise of the emulation scene in
the 1990s users were able to get their hands on games they otherwise wouldn’t
be able to specifically from across the world this led to a virtual explosion of
emulation software rom hacks fan translations and even introduced the
world to Nintendo’s censorship policies how Nintendo chose to censor their games
in different territories from around the world one of the earliest emulators on
the scene was the family computer emulator by her o-hisa
khuda gawah dating back to 1990 which was able to run only a few games like
Donkey Kong other emulators followed like the paso fami and Landy NES for the
Fujitsu fm towns launching in 1993 and 1996
respectively but one of the first available and most widely known freeware
versions of the NES emulators was the Nest achill releasing in 1997 for both
dos and windows being freeware gained at incredible popularity in the emulation
scene well its icon a literal pair of hairy jewels gained at notoriety other
emulators for the Sega Mega Drive and Master System began to pop up over the
years and as we’ve seen emulators for classic consoles have really expanded
and matured over the years with entire front ends and even operating systems
centered around emulation being created using open source code but what about
arcade machines those are different beasts altogether you see with arcade
machines for the most part you’re not emulating any one type of hardware that
multiple games play on arcade machines over the years have been designed with
specific hardware to run specific games in the earlier as each arcade game had a
specific hardware profile which means that some machines had to be
independently reverse-engineered on a game by game basis but as technology
became easier to produce in more mainstream we’ve seen arcade emulation
mature over time with publishers like Sega and Capcom using dedicated hardware
profiles for multiple games similar to how we would think of a single game
console playing a single type of format with the games being designed solely for
that hardware this of course made it easier for developers of emulators to
emulate specific games and increase accuracy and speed over time if many of
the functions of the hardware the game was running on was shared across
multiple games today we see emulators being used in commercial products like
Nintendo’s miniature offering of classic hardware as well as Sony’s recent
PlayStation Classic these mini systems run on single board computers and use
open source emulators to simulate their original hardware we’ve also seen
emulation used on multiple levels to help hardware manufacturers with
backwards compatibility such as PlayStation 2 emulation on the
PlayStation 3 in its early years while earlier ps3 models did have actual ps2
Hardware inside of the ps3 later models simply used software emulation to
provide backwards compatibility for older titles right now we’re seeing an
emergence of emulators from modern game systems like the Nintendo switch
PlayStation 3 and Xbox 360 and while emulators are not illegal here
in the United States I do believe that modern console emulation begins to cross
the ethical line of preservation since there’s no real need to preserve
hardware that is readily available however I don’t disagree that it would
behoove the programming community to start
that we can use history as a roadmap for how the gaming industry at large isn’t
making strides in preservation how we’ve come to that part of the video before I
get into it I just want like I know that these arguments that I’m going to make
are gonna be my own personal arguments and they’re gonna be framed from the
perspective of someone who it actually has copyright material out of the public
for sale saying is how I’ve worked on video games so that stuff is out there
and I wouldn’t want to anyone redistributing my copyright work without
my consent you know committing copyright
infringement piracy whatever you want to call it that being said I also want to
tell you guys a real quick story which i think is actually interesting and
important so there’s a video game developer who wanted to re-release an
older video game and this development team was looking for the rights holder
of this intellectual property that they were working on they approached several
publishers throughout the development time trying to find whoever held the
rights to this video game now these are very big publishers I mean they’re not
just in games but also music and movies as well and every single time this
developer went and tried to ask and talk to one of these larger publishers they
were stonewalled the excuses they got were pretty much well this game is so
old we think we own the rights to it but we don’t know because it’s probably
written on a piece of paper somewhere stuffed in a box in a basement a very
wet wet leaky basement somewhere in one of our offices and we don’t know if we
could find it but we think we own it we’re just not sure so after this
developer put in countless requests to these multiple publishers who all said
the same thing they went ahead and they filed for a trademark since this
trademark for this video game had already expired nobody owned it and it’s
100% legal to claim an expired trademark doesn’t matter what the trademark is if
the original trademark owner had not claimed it or revised it after it had
died that’s it anybody can claim it so this development team started the
trademark process now after they had started the trademark process they were
contacted by one of these large publishers the letter they got basically
said hey we see you’re filing for a trademark for this video game that we
don’t know if we own or not we’re going to tell you it’s probably a good idea if
you decide to move forward with this trademark even though we don’t know if
we own it we will probably take action against you if you tried to claim this
trademark does that make any sense to anybody now let that sink in for a
minute a publisher who didn’t know whether or not they actually owned an
intellectual property or the rights to it or the trademark
threatened a developer for going after a trademark that they could legally obtain
let that sink in for a minute you see film literature of music these
are all things that we preserve granted their formats are a lot easier to
preserve than something like a video game or an operating system or a
specific piece of hardware but we’re doing it everyday and we see it being
done on the emulation scene every day so there’s no excuse that there’s some kind
of a barrier to entry with technology there isn’t it’s not there anymore I
could see some newer systems being more difficult to emulate just due to the
sheer amount of power that’s required to emulate them such as the PlayStation 3
PlayStation 4 Xbox one that kind of thing but we have that Hardware out
right now we don’t need to emulate it because it’s not gone yet we can still
go out today and buy an xbox 360 PlayStation 4 and Xbox one PlayStation 3
we can do all that today but even though we can technically preserve all of these
old video games we still don’t know publishers are getting together to do
this no developers are getting together to do this and we’re letting companies
come in and buy intellectual properties and rights that they’re just going to
sit on and not do anything with just for the sole purpose of squatting we see
this done all the time with patents and we see patent trolls out there that go
and they just go after companies and people and sue them for infringing on
these patents just even though no one’s using them but they buy patents that are
about to expire and there you have we have the same thing in the video game
industry with companies that just buy intellectual property after intellectual
property and they do absolutely nothing with them it’s a shame it really is so
my personal hot take on this is for me there’s definitely a great area here
while I do have a lot of classic systems and I do have a lot of cartridges and
cd-roms and everything not everybody has that maybe people weren’t born the year
I was maybe they didn’t have parents like I did maybe they didn’t work when
they were a teenager like I did to buy all of these things maybe they didn’t do
that maybe that’s not available to them right now and we certainly see that
hardware is becoming a lot more difficult to come by even when it comes
to trying to fix my atari 2600 there’s hardware options out there but they’re
not the best I don’t know exactly how long the last I don’t know what I’m
getting if I buy something off of ebay if I try to cannibalize parts off of one
to fix another I never know what I’m in for
I personally feel that if there’s no legal way to purchase a video game
brand-new and that development company that publisher no longer exists I
personally feel that any ethical and moral boundary is that you would need to
cross aren’t there anymore no in the case of doing
something like Nintendo has done or Sony is done with their classic consoles I
think that’s great I actually think it’s a step in the right direction however I
think the hardware is kind of half-baked there’s a lot more that we can do and I
know I know believe me I know you can’t have every
single game on the system because a lot of these developers and publishers don’t
exist anymore so who owns the rights to program a or Program B it would be
difficult you can’t just put every single game that doesn’t belong to you
on one of these systems but at least what they’re doing is a start I just
think that they need to do it a lot better and while I say all this by no
means am I suggesting that anyone have a right to play any of these games not at
all you don’t but you’d be the odd man out if you suggested that people
shouldn’t have the option to play these games that people shouldn’t have these
options available to them I think it only helps the industry out I think it’s
only better for the industry if we do see a lot more of this become more
mainstream I would personally like to see more offerings from Nintendo more
offerings from Sony and just improvements made to the systems that
they already started maybe that can’t be done right now with the system’s already
being released but I’m thinking more on lines of what they could do for their
already released systems like PlayStation for the Nintendo switch I
feel they can do a much better job than they have been and I think the entire
industry in every game are out there and everyone who’s even remotely interested
in the videogames would be far better off if we did a lot more to preserve
them anyway that’s my thoughts on the subject guys this week in a live stream
we’re gonna talk about emulation just for a little bit before we get down into
playing games so I want to hear your voice in what you have to say so prepare
your microphones throw your headphones and join us in discord chat live for the
show I’ll be pulling you guys in one at a time and we can have a little bit of
back and forth maybe a few people at once and we can all talk about this and
see what solutions we can come up with or maybe if we have any ideas to help
preservation or maybe if you don’t like emulation whatsoever I’d love to hear
what you think too folks that’s gonna be it for this week if you liked the video
hit that like button subscribe if you’re interested for more content like this I
also don’t forget to support me at the links down below either on patreon or
subscribe star it would go a long way to helping the channel out until next time
everyone I’m Jack would take Vania thanks for watching folks thanks so much
for watching the video if you like what you see hit that like button if you want
more subscribe also don’t forget to share the video with friends and family
that really goes a long way to helping the channel out and if you feel like it
you could support the channel further by following the links
down in the description below that’ll be it for this episode I’m Jack with dick
Vania thanks for watching

19 Comments

Add a Comment

Your email address will not be published. Required fields are marked *