Re: [Tuxnes-devel] saving the "state" of the game
Brought to you by:
tmmm
|
From: Jason D. S. <js...@de...> - 2001-08-15 01:46:27
|
Mike Melanson wrote: >On Wed, 8 Aug 2001, Jason Dorje Short wrote: > > I recently started using tuxnes again (good work with > > the recent improvements, BTW), and it looks like > > TuxNES has no "save state" feature like many other > > emulators do. (It's possible I missed it, in which > > case please correct me.) > The save-state functionality for TuxNES is two-fold: 1) Be able to >read NESticle Save State (.STA) files, since there are so many of them, >and 2) implement read/write of the Standard NES Save State >(SNSS) format. The SNSS format was a format put together by some smart >people in the nesdev community that did its best to solve a lot of the >problems one would encounter in developing a save state format. It's also >supposed to be portable between different emulators. I don't think it's >ever caught on; however, it's better than having to create our own >format. Examining the format will probably point out all kinds of things >you may not have thought of (that's what happened in my case). > > I encourage you to check it out. The main web page that contained >SNSS info has been redirected to, umm, adult-oriented material for some >reason. I'll send you the latest spec when I dig it up on my hard drive. > > Be aware that we will likely have to modify the mapper interface >since, effectively, each individual mapper has to be able to save state. > > I'll send you the spec files soon. BTW, I'll be on vacation >for about a week, so don't be surprised if I don't answer email right >away. Sounds good. I was unable to find the SNSS specification anywhere on the web, and unfortunately looking at the NESticle Save State specification (which I did find) I realized (as if I didn't know before) that I don't know nearly enough about emulation/TuxNES to be making these changes (although I'm certainly willing to try anyway). I did read some additional documents on NES emulation. I do now know enough to be certain that my "solution" is a very poor one (which I'm sure you knew just reading about it). Although it saves all 32k of mapped RAM, other currently-unmapped RAM also needs to be saved. Also, the NESticle specification does indicate that additional registers should be saved. When this code worked for me it must have been because everything else (RAM, registers) stayed the same. May I suggest that TuxNES's "HACKING" document be expanded, or even that a separate directory for documentation is created? It would be a pain to rewrite emulation documentation from scratch, but perhaps some of the authors of documents available on the web wouldn't be opposed to having their documents merged? jason short |