pcwalton / sprocketnes

NES emulator written in Rust
MIT License
749 stars 55 forks source link

Update to modern Rust #17

Closed jonas-schievink closed 9 years ago

jonas-schievink commented 9 years ago

This kind of got out of hand, but SprocketNES now compiles with the newest Rust nightly, beta and stable.

I've also updated the directory structure (following the Cargo guide), and split the project into a library and a binary (which I'm not sure makes much sense now, but if someone crazy wants to use this in something like a multi-emulator, this will make it like 1% easier).

Oh, and I've enabled V-Sync, which made a massive difference for me (games were massively stuttering before).

Byron commented 9 years ago

+1

It works relatively fine already, even though some Roms crash outright (contra), or do so when trying to start the game (super mario bros. 3, Legend of Zelda).

jonas-schievink commented 9 years ago

Contra crashes because mapper 2 isn't implemented. I've actually done this in my mapper2 branch and Contra works with it (as does Castlevania), although save states seem to mess up the game (I think save state handling could use an overhaul).

I'm not sure what causes the other crashes, but I'm suspecting that PPU emulation isn't 100% accurate, so that could cause some glitches and crashes.

Byron commented 9 years ago

Considering the project started out as a Rust-demo many years ago, you did amazing work already. I wished there was a dedicated maintainer, like the gameboy emulator project has.

If you would be interested in stepping in, maybe @pcwalton would make you a collaborator ?

Byron commented 9 years ago

You can watch the development stream on youtube.

Looksies #9 [Let's look at the sprocketnes]

thumb

pcwalton commented 9 years ago

Wow! Reviewing now.

pcwalton commented 9 years ago

Looks good. Thanks!