Live data from Hacker News

Unicorn: lightweight, multi-platform, multi-architecture CPU emulator framework

unicorn-engine.org

11–20 of 42 posts

Re: Unicorn: lightweight, multi-platform, multi-architecture CPU emulator framework

#11
post #9

So many projects use the name "unicorn", that I think we should declare a moratorium on its usage. There are plenty of mythological creatures to go around.[0] If you feel the need for your project to be 'corny' may I suggest naming it after the bicorn[1], which has double the horns and is therefore twice as interesting. [0]: https://en.wikipedia.org/wiki/List_of_legendary_creatures_by... [1]: https://en.wikipedia.org…

I understand that naming conflicts make things harder to search for, but I don't like the notion of a 'we' saying how things can be named. People should be free to name their projects how they see fit and whatever connects with them. A person would likely need to search for 'unicorn emulator' anyways and it comes right up.

Re: Unicorn: lightweight, multi-platform, multi-architecture CPU emulator framework

#13
post #8
post #6

The Nintendo Switch emulator `yuzu` started out using this, but has been gradually moving to https://github.com/MerryMage/dynarmic instead.

Is there more context on why they're switching / how they gradually move over? I'm very interested.

I don't know about switch emulation, but I know there was an Xbox emulation project that wanted to use it, and gave up. The reason was that Unicorn doesn't have paging working properly on x86. In refactoring Unicorn out of Qemu, it somehow got messed up, and as a result Unicorn isn't useful for full system 32 bit x86 yet. The Github issue is here: https://github.com/unicorn-engine/unicorn/issues/947

Perhaps it is better for other guest processors, but for x86 Unicorn still needs time to mature and get some critical problems fixed.

Re: Unicorn: lightweight, multi-platform, multi-architecture CPU emulator framework

#15
post #7

It's the core of qemu, refactored out to something that's usable by other clients. For emulators it's great for getttig started and prototyping, but if you care about perf you end up migrating to a more integrated solution. Sort of like how V8 was originally based on llvm, but wrote their own backend.

V8 wasn't originally based on llvm. If anything, it was based on Strongtalk. https://github.com/v8/v8/commit/43d26ecc3563a46f62a022403066...

Re: Unicorn: lightweight, multi-platform, multi-architecture CPU emulator framework

#16
post #7

It's the core of qemu, refactored out to something that's usable by other clients. For emulators it's great for getttig started and prototyping, but if you care about perf you end up migrating to a more integrated solution. Sort of like how V8 was originally based on llvm, but wrote their own backend.

V8 wasn't originally based on llvm. If anything, it was based on Strongtalk. https://github.com/v8/v8/commit/43d26ecc3563a46f62a022403066...

Oh, my bad, misremembered.

Re: Unicorn: lightweight, multi-platform, multi-architecture CPU emulator framework

#17
post #2

Github link was kinda hard to find: https://github.com/unicorn-engine/unicorn

Download->git repository (from the link posted here..) wasn't that hard to find.

Oh I just assumed Download linked straight to a zip file or something so I instinctively skipped over it.

Re: Unicorn: lightweight, multi-platform, multi-architecture CPU emulator framework

#18
post #11
post #9

So many projects use the name "unicorn", that I think we should declare a moratorium on its usage. There are plenty of mythological creatures to go around.[0] If you feel the need for your project to be 'corny' may I suggest naming it after the bicorn[1], which has double the horns and is therefore twice as interesting. [0]: https://en.wikipedia.org/wiki/List_of_legendary_creatures_by... [1]: https://en.wikipedia.org…

I understand that naming conflicts make things harder to search for, but I don't like the notion of a 'we' saying how things can be named. People should be free to name their projects how they see fit and whatever connects with them. A person would likely need to search for 'unicorn emulator' anyways and it comes right up.

Obviously you are free to name your project whatever you like, but I think it is important to avoid clichés. Part of fixing any problem is pointing out its existence. If I could actually dictate rules, I would start by barring music video directors from including any audio that is not in the single from their work.

Re: Unicorn: lightweight, multi-platform, multi-architecture CPU emulator framework

#19
post #10
post #9

So many projects use the name "unicorn", that I think we should declare a moratorium on its usage. There are plenty of mythological creatures to go around.[0] If you feel the need for your project to be 'corny' may I suggest naming it after the bicorn[1], which has double the horns and is therefore twice as interesting. [0]: https://en.wikipedia.org/wiki/List_of_legendary_creatures_by... [1]: https://en.wikipedia.org…

Why didn't they name it Multicorn?

That would be a pretty good name. Has the added benefit of sounding like multicore. Other alternatives I can think of are cpucorn or even silicorn.

Re: Unicorn: lightweight, multi-platform, multi-architecture CPU emulator framework

#20
post #11
post #9

So many projects use the name "unicorn", that I think we should declare a moratorium on its usage. There are plenty of mythological creatures to go around.[0] If you feel the need for your project to be 'corny' may I suggest naming it after the bicorn[1], which has double the horns and is therefore twice as interesting. [0]: https://en.wikipedia.org/wiki/List_of_legendary_creatures_by... [1]: https://en.wikipedia.org…

I understand that naming conflicts make things harder to search for, but I don't like the notion of a 'we' saying how things can be named. People should be free to name their projects how they see fit and whatever connects with them. A person would likely need to search for 'unicorn emulator' anyways and it comes right up.

> People should be free to name their projects

And free to comment on them, hopefully politely.

Post reply on HN