Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/friol/surfami
Browse files Browse the repository at this point in the history
  • Loading branch information
friol committed Apr 15, 2024
2 parents e4621e9 + 3c980c0 commit 2189c95
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# surFami, a SNES (Super Nintendo Entertainment System) emulator

SNES has always fascinated me. I've never owned it. My parent's approach to what contains electronics inside was too demonizing; moreover, we had only one television at home, and its only purpose was to show a movie in the evening and only on the national channels. I think that mobile phones are a different matter, today, and their size and approachable cost is the real trojan horse for their mass diffusion. Anyway, my parents would have never bought something whose unique use was to play videogames (videogames are evil, you know. This is probably the reason why I'm still playing them now that I am 47).<br/><br/>
SNES has always fascinated me. I've never owned it. My parent's approach to what contains electronics inside was too demonizing; moreover, we only had one television at home, and its only purpose was to show a movie in the evening and only on the national channels. I think that mobile phones are a different matter, today, and their size and approachable cost is the real trojan horse for their mass diffusion. Anyway, my parents would have never bought something whose unique use was to play videogames (videogames are evil, you know. This is probably the reason why I'm still playing them now that I am 47).<br/><br/>

So, with those premises, i *had* to write a SNES emulator.<br/><br/>

SNES is not that hard to emulate, at the end. Beware, emulating it accurately would require a whole lot of effort (years, if not decades, if you think of something like https://github.com/higan-emu/higan).<br/>
That's not the aim of surFami. I just wanted to hack together an app to demonstrate that in a few months you can create a working SNES emu. I think I succeeded.<br/>
I've spent about 2 months and a half on surFami (as you can see from the commit history), and, as always, working on it only in my free time.
<br/><br/>
The 2 CPUs (65816 and SPC700) in surFami are built with Tom Harte's CPU tests in mind. If you look at the code, you can test each opcode with TH tests. This helped immensely to build working CPUs and to loose the least amount of time running behind CPU bugs. Building the emu for the rest of the hardware (DMAs, PPU, MMU, etc.) was harder and a lot of bugs have been fixed in the process. I'm still not emulating a couple of things (open bus) and emulating badly a couple of other things. But, you know, I can feel satisfied for 2.5 months of work.
The 2 CPUs (65816 and SPC700) in surFami are built with Tom Harte's CPU tests in mind. You can test each opcode with those tests. This helped immensely to build working CPUs and to lose the least amount of time running behind CPU bugs. Building the emu for the rest of the hardware (DMAs, PPU, MMU, etc.) was harder and a lot of bugs have been fixed in the process. I'm still not emulating a couple of things (open bus) and emulating badly a couple of other things. But, you know, I can feel satisfied for 2.5 months of work.
<br/><br/>
If you want to take a look at a visual history of the surFami build, you can take a peek at those images that represent the growth of the emu.
You can find below a "visual history" of the surFami builds that represents the growth of the emu.
<br/><br/>

The first Krom tests:<br/>
Expand Down

0 comments on commit 2189c95

Please sign in to comment.