When many of us thought that UltraHLE's speed would
be unparalleled for a long time, out of nowhere comes
Corn is a brand new Nintendo 64 emulator which also employs
High Level Emulation to get great speeds on regular
computers today. I decided to ask the author, ContraSF for
an InterView and he gladly accepted. So I sent him a few
questions, and here are the answers so that you can get to
know this new personality. Enjoy!
|InterView - ContraSF - September 23, '99 by JoseQ
1. Can you introduce yourself and tell us how you got
involved in emulation?
I am Chinese, now studying in the USA. I got to know
emulation since one time I saw Sardu's Callus from a
BBS. I was incredibly impressed. Then, gradually I became an
2. How about Corn? Where did the name come from?
It would be nice if Corn stood for some cool
meaning. The truth is, the project was originally
named CN. N means Nintendo64. C can mean lots of
things, such as compilation, challenge, Chinese, ContraSF
etc. Later, I thought I'd better put some vowel in
it, and the place I am living is a big corn field. So,
I decided to call it Corn.
3. What are the main reasons Corn performs very fast?
I am writing a long analysis on the speed issue. It
will be posted soon.
Did it follow UltraHLE's tactics?
Yes and No. Yes in the sense that Corn, and all the
other N64 emulators in development, use HLE for RDP
emulation. Not in the sense that Corn does not emulate
4. Do you expect a bit drop in frame rate when sound
5. How much would you consider having other N64 emu
sources available helped with the development of
It helped greatly. I started coding based on
anarko's n64ops11, which is a very good N64
documentation. However, some issues such as controller
access are not mentioned, I found the answer by
studying 1964 sources. Later, when I got to 3D
emulation, all I could get was TR (TRWinGL) sources
and some 3D demos & sources. Besides open source
projects, other N64 emulators also helped. E.g.,
Pagan's debugger. As I said in the Corn homepage,
without the hard work of the authors of N64
documentation, demos and other emulators, Corn could
never be developed.
6. Will Corn's sources be available in the future?
It is possible.
7. What were your goals while designing / implementing
Corn is an experiment. The main goal was to test
whether static recompilation is possible and what are
its advantages and disadvantages. In the beginning, I
was not optimistic. I prepared to meet unsolvable
problems soon and had no expectation to run Mario. To
my surprise, everything went on quite smoothly. After
I got 2D demos running flawlessly, I paused quite a
while to decide which to implement next, 3D emulation
or advanced optimization techniques of compiler. As
you can see now, I chose 3D emulation, which has
nothing to do with my main goal. So I set up my second
goal to push the speed as much as possible, because of
two reasons, first the static recompilation framework
determined that the compatibility of this experiment
can never match other real emulator projects; second,
my PC is slow.
8. Why did you choose N64 as your platform?
Because I was afraid that games/demos on older
platforms, coded in assembly, may have irregular
structure, such as self-modifying codes, which are
hard to handle in static recompilation. Among N64 and
PSX, N64 documentation and demos are much easier to
9. Up to what stage do you plan to develop the
I don't know. But I want to finish my original goal
of the experiment.
10. Are you in favor or against others modifying the
of the emulator via configuration files like it
UltraHLE? Will you provide that, or take measures
I think we should respect each emulator author's own
will. For Corn, it is still too early to think of this
question. I wish one day Corn could be developed to
such a stage that we only need to edit the ini file to
run a new rom.
11. How has the response to the first release been
The responses are friendly. I must say thanks to
all the people who sent me email, for their feedbacks,
suggestions and encouragement.
12. What are your short term plans for the emulator?
Fix some graphics glitches.
13. Other words?
The analysis I am writing will address some other
things not mentioned here. And Thank you JoseQ for
And I thank you ContraSF for taking
the time to promptly answer my questions and allowing me
to make a comeback into the World of InterViews I had been
out of touch with for a while. Hopefully this will mark a
good return and more authors get InterViewed very soon.
Thanks for reading!
One Article Up: No Cash Gameboy v2.3!
One Article Down: The Rumor Mill