When many of us thought that UltraHLE's speed wouldbe unparalleled for a long time, out of nowhere comesCorn.Corn is a brand new Nintendo 64 emulator which also employsHigh Level Emulation to get great speeds on regularcomputers today. I decided to ask the author, ContraSF foran InterView and he gladly accepted. So I sent him a fewquestions, and here are the answers so that you can get toknow this new personality. Enjoy!
|InterView - ContraSF - September 23,1999 by JoseQ
1. Can you introduce yourself and tell us how you gotinvolved in emulation?I am Chinese, now studying in the USA. I got to knowemulation since one time I saw Sardu's Callus from aBBS. I was incredibly impressed. Then, gradually I became anemulation fan.
2. How about Corn? Where did the name come from?It would be nice if Corn stood for some coolmeaning. The truth is, the project was originallynamed CN. N means Nintendo64. C can mean lots ofthings, such as compilation, challenge, Chinese, ContraSFetc. Later, I thought I'd better put some vowel init, 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. Itwill be posted soon.
Did it follow UltraHLE's tactics?Yes and No. Yes in the sense that Corn, and all theother N64 emulators in development, use HLE for RDPemulation. Not in the sense that Corn does not emulateOS functions.
4. Do you expect a bit drop in frame rate when soundis added?Yes.
5. How much would you consider having other N64 emusources available helped with the development ofCorn?It helped greatly. I started coding based onanarko's n64ops11, which is a very good N64documentation. However, some issues such as controlleraccess are not mentioned, I found the answer bystudying 1964 sources. Later, when I got to 3Demulation, all I could get was TR (TRWinGL) sourcesand some 3D demos & sources. Besides open sourceprojects, 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 N64documentation, demos and other emulators, Corn couldnever be developed.
6. Will Corn's sources be available in the future?It is possible.
7. What were your goals while designing / implementingCorn?Corn is an experiment. The main goal was to testwhether static recompilation is possible and what areits advantages and disadvantages. In the beginning, Iwas not optimistic. I prepared to meet unsolvableproblems soon and had no expectation to run Mario. Tomy surprise, everything went on quite smoothly. AfterI got 2D demos running flawlessly, I paused quite awhile to decide which to implement next, 3D emulationor advanced optimization techniques of compiler. Asyou can see now, I chose 3D emulation, which hasnothing to do with my main goal. So I set up my secondgoal to push the speed as much as possible, because oftwo reasons, first the static recompilation frameworkdetermined that the compatibility of this experimentcan 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 olderplatforms, coded in assembly, may have irregularstructure, such as self-modifying codes, which arehard to handle in static recompilation. Among N64 andPSX, N64 documentation and demos are much easier tofind.
9. Up to what stage do you plan to develop theemulator?I don't know. But I want to finish my original goalof the experiment.
10. Are you in favor or against others modifying thefunctionalityof the emulator via configuration files like ithappened withUltraHLE? Will you provide that, or take measuresagainst it?I think we should respect each emulator author's ownwill. For Corn, it is still too early to think of thisquestion. I wish one day Corn could be developed tosuch a stage that we only need to edit the ini file torun a new rom.
11. How has the response to the first release beenthus far?The responses are friendly. I must say thanks toall 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 otherthings not mentioned here. And Thank you JoseQ forinterviewing me.And I thank you ContraSF for takingthe time to promptly answer my questions and allowing meto make a comeback into the World of InterViews I had beenout of touch with for a while. Hopefully this will mark agood 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