It is currently Fri Oct 20, 2017 10:07 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 38 posts ]  Go to page Previous  1, 2, 3
Author Message
 Post subject: Re: phibiaNES emulator.
PostPosted: Mon Dec 22, 2014 2:30 pm 
Offline

Joined: Tue Apr 29, 2014 1:31 pm
Posts: 47
as promised I will release the version which supports recording today:
Attachment:
pnes-beta6.7z [665.12 KiB]
Downloaded 60 times


Video showcasing the frameblending option for 30fps. (Super mario bros)
https://www.youtube.com/watch?v=99MZ12g ... e=youtu.be

3xBRZ recording Akumajou Densetsu
https://www.youtube.com/watch?v=a_xQooX6Sbo

Super Mario Bros 3 -- Early work of the AVI streaming feature
https://www.youtube.com/watch?v=RP5locELbH8

Try it. Something not ok? tell me.

-------

Fixes after this release:

* Found a massive bug in the Audio Engine. whoa. yeah. It seems I set a wrong variable with the Noise channel, Noise sounds more true.
* Multiple small fixes in the Pulse/Square generators. Better frequency (0x7FF) cut off handling. Finally the Code Masters logo doesn't fuck up with Pulse#2

Updates after this release:
* CPU 6502 core mapper updated.. The memory mapping code was horrible, but now I have completely rewritten it and ofcourse updated all mapper code to accomodate. Right now the entire memory map is divided in 4kB mapping chucks. This enable me to implement mappers with 4kB granularity.

ToDo:
* Mapper status not being written to the savestate.. probably causes the fuckups when rewinding, restoring from snapshot. and also why Mario 1 never has problems. :P
* Update mapper savestate to 4kB programrom granularity instead of 8kB.

Bugs found:
* See fixes and....
* Record to AVI breaks when stereo sound is selected, gotta see why it does this.


Top
 Profile  
 
 Post subject: Re: phibiaNES emulator.
PostPosted: Wed Jan 14, 2015 5:39 pm 
Offline

Joined: Tue Apr 29, 2014 1:31 pm
Posts: 47
Upcoming beta will feature:

* Primilary MMC5 support, as only Castlevania 3 runs, maybe other games do work. but not sure.. ExRAM not implemented at all. Switchable programram is implemented but not tested. Because it is in its infancy state, save states are not reliable with MMC5 games as of yet.
* Implementation of DirectPlay controllers started. Right now it is wonky as setting up may crash phibiaNES when closing and even so.. phibiaNES requires a restart when you have configured the controller. But when you start and do not edit the settings it runs stable. Actually I have tested it with a Wiimote connected to my computer using bluetooth.. Works good I might say.
* AVI Audio/Video postresync code. It's fast (<.1 sec) and takes care that all recordings are in perfect sync.
* PPU can emulate 12kB of Patterndata (Required for MMC5 emulation)
* A lot of of code cleanup, reallocation. Trying to get emulation specific code out of my GUI code. (hacks I know, but I can say this is already fearly cleanup as of now)


Bug fixes:
* DMC port 0x4011 playback doesn't work.. But now it is! in the upcoming beta 7

Because I am moving out code of the main GUI thread I will drop the PNESDevel utility as it is now and start programming the Developer IDE. This is a really huge project, because I don't have much free time this means it will complete very slowly.

Features planned:

* Build-in assembler.
* Build-in emulation, but choice to run the compiled .NES file in a different emulator.
* in IDE help information such as Amount of cycles, etc.
* Libraries.
* Macro's.
* Debugger / Breakpoints / Watches.
* Board (MMC1/3/5/VRCx/ETC) debuggers.
* Graphics editor.
* Tilemap editor.
* Resource management (including but not limited to compressed tilemaps)
* My own small library set. (Basic control PPU/APU/Controllers with decompression schemes)

If anyone wants to see a feature planned? Don't hesitate to reply.


Top
 Profile  
 
 Post subject: Re: phibiaNES emulator.
PostPosted: Fri Jan 16, 2015 6:16 pm 
Offline

Joined: Tue Apr 29, 2014 1:31 pm
Posts: 47
Beta #7 can be found here. Fixes and stuff. see previous post.
Attachment:
pnes-beta7.7z [936.53 KiB]
Downloaded 46 times


Top
 Profile  
 
 Post subject: Re: phibiaNES emulator.
PostPosted: Sun Feb 01, 2015 5:46 am 
Offline

Joined: Tue Apr 29, 2014 1:31 pm
Posts: 47
Currently implemented all unofficial opcodes:-

result:
Attachment:
phibianes-unofficial-opcodes-test.png
phibianes-unofficial-opcodes-test.png [ 55.52 KiB | Viewed 1389 times ]


Games such as Streemerz, Driar are running now!


Top
 Profile  
 
 Post subject: Re: phibiaNES emulator.
PostPosted: Mon Feb 09, 2015 11:40 am 
Offline

Joined: Tue Apr 29, 2014 1:31 pm
Posts: 47
pNES beta #8!
-----------------

Fixes/Added:

* NSF player plays much more NSF's as any load address is supported now and bankswitching also.
* PPU more accurate.. emulates PALlette pointer and Emphasis bits. (NTSC still needs to be updated for emphasis)
* All instructions supported, including unofficial ones too.
* Considerable amount of bugfixes and GUI cleanup.
* Press ~ to speed up emulation, releasing it will resume normal speed. (60 -> 120fs, on GDI >120fps)
* Included updated XBRZ (which is faster), but requires VC Redist v12 (there it is included as archive, old xbrz.dll still default)
* PNESDEVEL.EXE build updated with new features ( it is actually becoming obsolete, as I am not updating it anymore but it shares the emulation core )

get it here:
Attachment:
pnes-beta8.7z [1.13 MiB]
Downloaded 64 times


If you are wondering.. most of the code is written in Delphi.


Top
 Profile  
 
 Post subject: Re: phibiaNES emulator.
PostPosted: Tue Feb 10, 2015 7:40 am 
Offline

Joined: Tue Apr 29, 2014 1:31 pm
Posts: 47
Sorry,

it seems there are 2 massive bugs slipped into beta #8 release.

namely:

* blackscreen when using the default-system palette (only on the blargg ntsc filter you get an image) - Workaround(s): use blargg ntsc filter or apply a custom palette.
* nsf files sized 20,24,28,36,40,44,52,56,60, etc loads incorrectly.. phibiaNES works with internal 16kB addressing blocks. Due of some loading issues. 20kB NSF's won't get 2x 16kB allocated but 1x 16kB.. losing 4kB of program rom of the NSF. which makes it really not usable. I have already fixed this. It seems NSF are also very reliant on the memory space of $6000-$7000. where the nsf player resides. Now when phibiaNES loads an NSF the player code is loaded into the $800-$1FFF area (6kB). Normally this RAM is mirrored but it is enabled when an NSF is loaded.

Still need to fix the palette bug. Will be releasing beta #8.1 shortly.


Top
 Profile  
 
 Post subject: Re: phibiaNES emulator.
PostPosted: Tue Feb 10, 2015 1:59 pm 
Offline

Joined: Tue Apr 29, 2014 1:31 pm
Posts: 47
Beta with the bugfixes (beta 8b1)

Also added the sourcecode of the NSF player. So if someone likes to tinker with it.. be my guest.

Attachment:
pNES-beta8b1.7z [931.73 KiB]
Downloaded 69 times


Bugfixes are:

* Page boundary bug NSF loader fixed.
* Palette bug fix (when no custom palette is loaded the emphasis palettes are not generated!)

-----
Structure of custom NSF player:

When writing a NSF player "firmware" for phibiaNES you should generate code @ base $800. This
is where the firmware will be loaded in RAM. Note!: you shouldn't include an .NES header as it isn't
a NES rom. It is just a binary blob.

When phibiaNES loads the binary it will look for reset, nmi, irq, song, copyright, author, numtracks, firstinit, selectinit and playroutine(s) in $800-$812 to be exact:

0x800 - reset vector address
0x802 - NMI vector address
0x804 - IRQ vector address
0x806 - Pointer for phibiaNES to write the song name to (patching), phibiaNES only writes the first 14 bytes of the 32-byte song name!
0x808 - Pointer for phibiaNES to write the copyright to (patching), 14 bytes only.
0x80A - Pointer for phibiaNES to write the author name to (patching), 14 bytes only.
0x80C - Pointer for phibiaNES to write the amount of songs to. (byte)
0x80E - Pointer for phibiaNES to write the NSF_INIT pointer to (first start)
0x810 - Pointer for phibiaNES to write the NSF_INIT pointer to (song select)
0x812 - Pointer for phibiaNES to write the NSF_PLAY pointer to (for use in NMI vector / IRQ)

--- after that.. 0x814 -> $1FFFF is your playground.

See included source of the "factory default" NSF player in the "Resources - Source" folder included.


Top
 Profile  
 
 Post subject: Re: phibiaNES emulator.
PostPosted: Sat Sep 26, 2015 6:57 pm 
Offline

Joined: Tue Apr 29, 2014 1:31 pm
Posts: 47
New release of phibiaNES beta #9 (unstable release)

added

* VRC7 audio
* ROM browser ( functional, but unstable )
* Open File now combines NSFs and ROMs (therefore removing the Open NSF option)
* Recent ROMs also show recent NSFs.
* Lots of emulation improvements.
* Fixed mapper #31 (CHR_ROM emulation)

After this release the updates will come more slowly as I am going put all my effort to phibiaNES Next. Making hopefully all the right choices.


Attachments:
phibiaNES-beta9_unstable.7z [912.79 KiB]
Downloaded 53 times
Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 38 posts ]  Go to page Previous  1, 2, 3

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 6 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