3 ms·
ah!!! I've been trying to write an NES emulator. But I couldn't get more than a few docs and a video on how to setup the data structures for the 6502. And never
by SingAlong 16y ago
ah!!! I've been trying to write an NES emulator. But I couldn't get more than a few docs and a video on how to setup the data structures for the 6502. And never did anything to start my project other than just create a dir for it. Tough job with no resources for amateurs.
Something in detail with working code would be nice. Sort of... step by step building of an emulator. Writing with NES emulator as a case study would be awesome.
If you are releasing it free online, i guess you could just write it chapter by chapter and put it up. Or if you are writing it as a commercial ebook, start accepting pre-orders right now and release chapter by chapter! :) That way you can get feedback slowly on each chapter and write more if required. Then move on to another chapter.
Please write it in some easy-to-use programming language like Ruby or Python. This way you'll find way more audience who'll just pickup the book and read it than just say "ah I'll have to learn C++ before buying this book".
I'll definitely buy it if the reviews are good.
- daeken 16y agoAn NES emulator will likely be one of my example emulators, broken down on a chapter-by-chapter basis. It's simple enough (ignoring the more complicated mappers) that it can be described fairly easily, and serves as a good example of implementing an emulator for a 2d console. As for the programming language, I'm having a tough time figuring out how best to present the examples to people; generally I write emulators in languages with heavy metaprogramming, e.g. Nemerle, Boo, Scheme, but these are all fairly tough for a standard programmer to learn along with emulation. For that reason, I'm sort of leaning towards Ruby + the LLVM bindings, but the performance is just dismal there, so I'm torn.
- deleted 16y ago[deleted]
- SingAlong 16y agoWow, daeken! I didn't notice that it was you :) You could create another poll about the language to use? Or maybe choose some language in which it is easy to implement? Anyway since your target audience is going to read this book and because they love what they do - write code - you could just write it in any language. Maybe even Clojure if possible. Yes, that sounds contrast to my earlier comment, but I gave it another thought (People would be happy to learn a new awesome language if it's going to be something like Clojure or Io). Sorry, my understand of CPU emulation is nil. Will implementing this in Ruby result in slow output? Example, you are going to try and emulate a small pong game written for NES, IMHO, the FPS for these NES games/software is very slow right? Shouldn't that fit into Ruby well?