It is currently Wed May 22, 2019 4:20 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 9 posts ] 
Author Message
PostPosted: Thu Mar 21, 2019 12:23 pm 
Offline
User avatar

Joined: Wed Mar 20, 2019 9:55 am
Posts: 4
Location: Warsaw, Poland
Hi all!

I want to present you agnes. Agnes is a NES emulation library available as a single C header. It's very easy to use and should be trivially embeddable. Also, it could be useful as a reference for other people writing NES emulators.

Current status: it supports 4 mappers (NROM, UxROM, MMC1 and MMC3), but it's possible that some games might not work correctly (as always). Also, there is no sound due to lack of APU emulation. And performance could be better (there's a lot of space for performance optimizations in PPU rendering).

You can find it here: https://github.com/kgabis/agnes

I'd like to thank all people on this forum and NesDev wiki, it would be impossible to write a NES emulator without all the knowledge found here.


Top
 Profile  
 
PostPosted: Thu Mar 21, 2019 12:46 pm 
Offline
User avatar

Joined: Sun Jan 22, 2012 12:03 pm
Posts: 7461
Location: Canada
Cool!


Top
 Profile  
 
PostPosted: Fri Mar 22, 2019 7:54 am 
Offline
User avatar

Joined: Fri Nov 24, 2017 2:40 pm
Posts: 153
Hah! Nice. I'm tempted to incorporate this into one of my random hobby projects just... because.


Top
 Profile  
 
PostPosted: Fri Mar 22, 2019 7:56 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 21392
Location: NE Indiana, USA (NTSC)
Would you prefer that I make feature requests in this topic, in GitHub Issues, or somewhere else?

_________________
Pin Eight | Twitter | GitHub | Patreon


Top
 Profile  
 
PostPosted: Fri Mar 22, 2019 8:59 am 
Offline
User avatar

Joined: Wed Mar 20, 2019 9:55 am
Posts: 4
Location: Warsaw, Poland
tepples wrote:
Would you prefer that I make feature requests in this topic, in GitHub Issues, or somewhere else?

I think that github issues is the best place for it :)


Top
 Profile  
 
PostPosted: Fri Mar 22, 2019 4:38 pm 
Offline
User avatar

Joined: Wed Apr 02, 2008 2:09 pm
Posts: 1287
This is slick! I implemented it in no time and no trouble. I may include it in my NES graphics tool until such time as I get crazy enough to attempt my own emulator. :lol:

The only thing I see that's "wrong" is no output for emphasis bits, but it's not a large complaint or anything.

_________________
https://kasumi.itch.io/indivisible


Top
 Profile  
 
PostPosted: Wed Apr 03, 2019 6:29 am 
Offline
User avatar

Joined: Wed Mar 20, 2019 9:55 am
Posts: 4
Location: Warsaw, Poland
Recently I've been working on exposing nametables and sprites through the API. You can see it in action here: https://twitter.com/KrzysztofGabis/stat ... 1925894146


Attachments:
Zrzut ekranu 2019-04-03 o 15.28.59.png
Zrzut ekranu 2019-04-03 o 15.28.59.png [ 173.81 KiB | Viewed 1874 times ]
Top
 Profile  
 
PostPosted: Fri Apr 05, 2019 5:19 am 
Offline
User avatar

Joined: Wed Mar 20, 2019 9:55 am
Posts: 4
Location: Warsaw, Poland
More work on emulator debugging:
* Showing visible area on per-scanline basis
* Displaying contents of RAM (bottom)
* Displaying contents of PPU memory (right)

I hoped that writing a "speculative" emulator that draws whole screen and then redraws portions of it when scroll/banks change would be much easier but at this point I'm leaning towards ignoring optimizations (for now) and concentrating on APU emulation. It's the last bit that's really missing from making my emulator complete (by my definition of complete ;)).

Anyway, here's a short video:
https://twitter.com/KrzysztofGabis/stat ... 9092816896


Attachments:
smb.png
smb.png [ 133.6 KiB | Viewed 1681 times ]
Top
 Profile  
 
PostPosted: Sat Apr 06, 2019 11:11 am 
Offline
Formerly Fx3
User avatar

Joined: Fri Nov 12, 2004 4:59 pm
Posts: 3182
Location: Brazil
One word: awesome.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 9 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group