Thanks for the suggestions :).
I'm still not totally sure if i'm going to attempt this but if I do i'm almost certainly use a pre-written CPU core to begin with as you suggest.
Thanks again for the help.
> It depends on how much time you have to devote during these coming months. It's
> certainly _possible_ but it depends mostly on how quickly you can grasp assembly
> language and other such low level details.
> You'd better be comfortable with doing graphics and bit-twiddling in Java
> because understanding the NES hardware will be your biggest challenge. It would
> be easier if you had more experience with assembly language. At its core, an
> emulator is actually pretty simple.
> You might want to start off using someone else's CPU core (this will save you
> huge amounts of trouble) and then replace it with your own later on
> (cross-verifying the results against a core you know works.) That way, you can
> code up a simple debugger and see things start to happen. Once you've got
> something on the screen, you can go back and replace the parts of the emulator
> you didn't write yourself because I'm assuming 100% of the code will have to be
> your own in the end.
> > Hi.
> > In about three weeks, I need to start my third year dissertation at Uni, and
> > considering writing a NES emulator.
> > I use Java for all programming and have little experience in any other
> > I know about hardware in a high level way (i.e. processors, RAM, Virtual
> > page files) and have done a little assembly programming using the MIPS 2000
> > architecture.
> > I know very little about how the hardware works on a low level and think this
> > may be a problem.
> > What I was wondering is whether it seems like a viable option for me to
> > this?
> > I would have until late April 2008 to complete the report and hand it in.
> > Thanks for any insights you can give me.