It has certainly been a long time since I've posted a calculator project here.
I am going to preface this by saying this is NOT an emulator with a focus on speed or user-friendliness. This project falls squarely in the "because I can" category. I wanted to experiment with CE dev and because I had never ported any software before, I wanted to try doing that.
I found agnes and gravitated towards it due to its portable design and well-abstracted interface that would let me focus on CE implementation without focusing too heavily on the NES development side of things. Because the porting process focused on the CE side of things, this emulator is unacceptably slow for anything other than saying "It works!". Also, the emulator is coded in C, which is already a death sentence for acceptable speed in an emulator.
The hardest aprt to set up was the graphics and that led to messier code than I would have otherwise written.

GitHub repo

Photo time!
nestest on an actual calculator

Mario Bros title screen
That is pretty dang awesome Smile How bad is performance really?
Using my very advanced smartphone stopwatch, I calculate anywhere from 2 to 20 seconds per frame in the nestest menu. My guess is that interrupts cause longer frame times when I'm not pressing a button.

I just pushed out an update that separates the ROM from the internal program file and more properly reads it from an AppVar instead. The new version is pushed to GitHub
Awesome work. I see no problem with doing the exercise just to see if you can. From here you can try and improve performance, but at least it's all working for a start!

Maybe eventually you can load ROM's from USB too 😀
This is looking great! I love the idea of this project and I'm excited to see it completed. Keep working hard at it, ordelore!
I love emulators Smile, I know your not orientated to increase speeds just yet ... But there seems to be a ton of "switch" statements in agnes (switch statements have a bit of a Tendency to slow runtimes down a bit, correct me if I'm wrong <.< ).

Anyways I look forward to seeing the development of the project/port! Smile
Even if it's not feasible to actually play games on it, that's pretty impressive. Great work.
Nice work. But surely a faster speed than 0.5fps is possible - the cg50 gets 60fps, and I don't think the hardware is 120 times better....
I totally agree that this could be much faster. This project lies closer to "port an existing PC program to the CE" than "create a performant NES emulator". If I had coded this from scratch (preferably in assembly), I'm sure that the performance would be much better.
Hi, I'm the creator of agnes.
I just wanted to say that it's quite poorly optimised compared to other NES emulators and I believe it should be possible to make it run much faster without a need for a full rewrite. Maybe rewriting sections of it in assembly might be a good approach?
Anyway, cool project making it run on a calculator Smile
Welcome to the forums and well done. I think this was a proof of concept port as it's indeed high level. Though it would be a good exercise to see how fast it could get with some assembly mixed in!
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum