Is there an emulator of a non-existent system?

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Is there an emulator of a non-existent system?
by on (#42728)
Yes, I know it may be a silly idea, but I don't know, it came to my mind, and there's so much out there in the internet, someone may have made one.
Do you know any?

by on (#42729)
Chip-8, Java machine? A lot of PC games are like emulators without the CPU core :D

by on (#42738)
I seem to recall a fictional computer system was created for a programming book or something, and people made "emulators" for it...can't remember any other details, though.

by on (#42743)
Technically, most emulators emulate a non-existent system (with 100% accuracy, even), since they aren't fully accurate. :)

kyuusaku, did you mean how games are "emulating" the game world that doesn't exist anywhere?

EDIT: clarified humor.

by on (#42745)
I guess a software 3D engine would be like an emulator for a non-existent system. Right?

by on (#42747)
HAHAHAHAAHAH Ok guys! stop the phillosophical crazyness, I mean emulators that emulate a computer that doesn't exist....
Like inventing a whole new processor with instruction set, memory space, graphics chip, and such...

by on (#42749)
I bet chip designers emulate new designs that don't yet exist.

Also, once the original systems are all gone, emulators of such systems will be left emulating something that doesn't exist as well.

One topical example of emulators that emulate non-existent systems are some game music players, where the environment the code+data run in is somewhat different than on the system it's based on. I imagine some of these can't be played on the original systems without modifications (NSF was like that for a while, I believe).

by on (#42757)
Typical programs running byte code are emulators for non existent systems (ie systems not implemented in hardware) - eg Flash, Java, .NET.
Perhaps one could even count script languages such as PHP, Perl, Python, JavaScript, etc

by on (#42759)
BMF54123 wrote:
I seem to recall a fictional computer system was created for a programming book or something, and people made "emulators" for it...can't remember any other details, though.

Something like Donald Knuth's MIX and MMIX?

But if we're counting a Java VM as an emulator, we might as well count heavily microcoded architectures like x86 too. The back end of an x86 CPU looks nothing like what x86 instruction bytecode might imply. In fact, the Pentium 4's instruction cache (aka "trace cache") holds instructions that have been translated from x86. A real x86 chip does exist, namely Intel's i386DX, but not x86-64.

by on (#42761)
^^I recall once hearing that amd processors basicly emulate the intel ones.

by on (#42762)
Ok and Arnold Schwartzenegger emulates Terminator, which doesn't exist also... :roll:

by on (#42764)
Quote:
Is there an emulator of a non-existent system?

Nope. Since the system doesn't exist, you're unable to analyze it. Yo, the better "non-physical" or a blueprint only system would sound more logical.

by on (#42774)
If one was really good with MAME/MESS code, I'm sure they could piece together all sorts of made-up emulated systems from existing parts. I can just imagine a few crazy setups already..

If you mean completely made-up CPU, graphics, and everything, then I doubt very many people have done all that (not for free, anyways).

by on (#42776)
Petruza wrote:
Ok and Arnold Schwartzenegger emulates Terminator, which doesn't exist also... :roll:


Actually if you watch the original movie, when it shows the view from the terminator's eyes, you can see that the terminator is apparently running (or perhaps disassembling) some 6502 code. :lol:

by on (#42777)
^^ya that kicked ass. Once I figured that out I froze the frame to see the instructions.

by on (#42778)
Fx3 wrote:
Nope. Since the system doesn't exist, you're unable to analyze it.

So you are assuming that what defines an emulator is the existence of the simulated machine? You know, some may describe emulators as programs that simulate machines different than the ones they run on, whether they exist or not.

It may make more sense that way, because if it was the other way around a program would have its status changed once the fictional machine it simulates was built in hardware, without any actual change to it. The same thing goes for NES emulators, that would stop being emulators once all NES consoles of the world perished (like blargg said).

To me, emulation is just a specialized form of simulation, and you can in fact simulate things that haven't happened yet. Emulation/simulation doesn't necessarily rely on reverse engineering.

by on (#42794)
Quote:
Actually if you watch the original movie, when it shows the view from the terminator's eyes, you can see that the terminator is apparently running (or perhaps disassembling) some 6502 code.


And here's what he's running.

by on (#42796)
CartCollector wrote:
Quote:
Actually if you watch the original movie, when it shows the view from the terminator's eyes, you can see that the terminator is apparently running (or perhaps disassembling) some 6502 code.


And here's what he's running.


Oh my god!! That is awesome. I will SO have to check that out the next time I watch that movie.

by on (#42797)
A vision chip microcontroller based on a 6502 core? Reasonable. One that loads image processing routines for its slave DSPs from a chip that emulates a Disk II? Strange.

by on (#42801)
Quote:
Oh my god!! That is awesome. I will SO have to check that out the next time I watch that movie.

You'd also want to check the NES game Kabuki - Quantum Fighter.

by on (#42802)
tokumaru wrote:
So you are assuming that what defines an emulator is the existence of the simulated machine? You know, some may describe emulators as programs that simulate machines different than the ones they run on, whether they exist or not.

It may make more sense that way, because if it was the other way around a program would have its status changed once the fictional machine it simulates was built in hardware, without any actual change to it. The same thing goes for NES emulators, that would stop being emulators once all NES consoles of the world perished (like blargg said).

To me, emulation is just a specialized form of simulation, and you can in fact simulate things that haven't happened yet. Emulation/simulation doesn't necessarily rely on reverse engineering.


You didn't get the idea, as it seems so... :) If a system doesn't exist, you can't emulate it. Ok, it was first-order logic - as you need a blueprint/project/whatever defined description of an hypothetical machine.

by on (#43747)
Sometime last year I wrote a weird emulation system that simulates 1,000s of 6502 based robots, all executing in parallel. Actual bot code is built using cc65/ca65 I defined my own devices (they live from $0200 to $02ff). Bots can communicate with each other, move, fire weapons, etc... They have an energy budget, and "die" when they run out of energy, exec an invalid opcode or self-terminate.

The bots all execute in lock-step. Each one gets XX cpu cycles (normally 64). The system keeps track of any "cycle overage" and it gets billed against the quantum on the next turn. All "live" bots execute in round-robin.

I never finished the project, but it does run. It is kind of neat to watch 1000 vs 1000 of wolf-pack vs serial-killer (two of my bots)


(download Win32 GUI and bots)
http://www.ecoligames.com/~djenkins/SuperSrcWars/

(SVN access (read-only) to source code):
https://www.ecoligames.com/svn/SuperSrcWars/
(https auth, username = "anonymous", passwd = "anonymous")