It is currently Mon Oct 23, 2017 5:34 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 22 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: kindred (emulator)
PostPosted: Thu Aug 29, 2013 4:41 pm 
Offline

Joined: Mon May 30, 2011 4:38 pm
Posts: 37
Location: Australia
kindred 1.05 (formerly Super Sleuth) out today.

http://www.crazysmart.net.au/kindred

I've also been working on a new header format. Not really happy with the existing formats.

Let me know how it works for you ;)


Top
 Profile  
 
 Post subject: Re: kindred (emulator)
PostPosted: Thu Aug 29, 2013 7:44 pm 
Offline
User avatar

Joined: Fri Nov 19, 2004 7:35 pm
Posts: 3944
This is a first rate emulator, great job.
Ran everything I threw at it except Fire Hawk.

_________________
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!


Top
 Profile  
 
 Post subject: Re: kindred (emulator)
PostPosted: Thu Aug 29, 2013 8:03 pm 
Offline
User avatar

Joined: Sun Sep 19, 2004 9:28 pm
Posts: 3192
Location: Mountain View, CA, USA
Gave it a try. Something is quite wonky with keyboard-based input for movement; it seems holding down a key (Up/Down/Left/Right) causes some pretty severe issues. Games I tried included Jackal, Contra, and Karnov; the truck in Jackal would twitch/gradually move forward (move, stop, move, stop), the player in Contra would gradually move forward (move, stop, move, stop), while Karnov acted like he was having seizures and wouldn't move at all. However certain other games like Arkista's Ring seemed to behave mostly okay.

It's as if the code used for joypad input is "releasing" the button held every frame, because it happens very rapidly. I can't tell if this is a NES $4016/4017 emulation problem or an actual problem with your input routines in Windows. I'm thinking it's possibly a little bit of both, since games like Arkista's Ring just require you to tap U/D/L/R once to move that direction, while the other aforementioned games require you to actually hold the pad down.

Since there's no joypad support (that I can tell) I can't see if that works better.

System is Windows XP SP3 (32-bit), running DirectX 9.0c (dxdiag says 4.09.0000.0904). I am not using any crazy drivers (like Microsoft Intellipoint) that insert themselves into the keyboard driver input chain; everything is pure/raw USB HID.

I can make a video of the problem if needed; just ask.

Other things, probably minor:

- Does "Reset" actually do a 6502 reset (jump to reset vector, etc.), or is it a power-cycle?
- Looks like Control / Master Volume shows the "Mute" checkbox checked even though sound plays regardless; clicking "Mute" seems to have no effect, so maybe it's a no-op for the time being?

Otherwise looking very, very promising! *thumbs up* It's also nice to see a windowed-mode emulator doing Vsync properly (from what I can tell so far -- it would help if the input stuff above wasn't acting weird though, then I could try panning around and look for tearing). :-)


Top
 Profile  
 
 Post subject: Re: kindred (emulator)
PostPosted: Fri Aug 30, 2013 3:39 am 
Offline

Joined: Mon Mar 27, 2006 5:23 pm
Posts: 1338
koitsu gave me the impression there was sound support, but it looks to be NES only still.
No SNES sound output is going to be a serious impediment to anyone ever using it for SNES emulation.
I can't reproduce the input problems here, so at least it's not a ubiquitous issue.
Surprised to see you haven't added the three uPD96050 ops for ST010 and ST011 support, given you have some of the best DSP LLE around.
Not surprised you skipped the ST018 ;)
Emboldening that you are embedding the firmware in your emulator. I'd definitely really like to distribute those, but the legal implications concern me. What are your thoughts on that?
Would like to hear more about the new 5A22 emulation mode findings, wondering if it's something I don't know about yet.
Like that the debugger is back. It's pretty limited (I have no debugger so I can't talk much), but sometimes useful.

Interesting that nobody mentioned NINA. Just a fair warning that this board is usually pretty hostile to alternate format discussions.
That said ... first, you didn't include ninja.exe in the tools folder.
Nice to see you can support Galaxian 64kbit PRG and Slappin' 32kbit CHR.
I really like your categorization for NES boards over the arbitrary mapper numbers. Especially the discrete logic 0xFx mappers. That has kicked my ass in the past.
Not sure if your database is just missing the game, but Contra (J) [VRC-n] doesn't seem to detect the pinout to avoid scrambled graphics. I have that issue when parsing raw iNES 1.0 as well (info just isn't there.)
My two cents, hoping to avoid a big nasty discussion ... I like NINA a lot more than iNES 2.0, but I still don't favor binary blob headers. If sets become popular for it, I'll support it.

Would be interested to hear your future GB/C/A/NDS plans. NDS especially, the thought of emulating that myself gives me nightmares.
Supporting the ST018 would probably greatly accelerate your GBA implementation efforts, for what it's worth :D


Top
 Profile  
 
 Post subject: Re: kindred (emulator)
PostPosted: Sat Aug 31, 2013 7:08 am 
Offline

Joined: Mon May 30, 2011 4:38 pm
Posts: 37
Location: Australia
koitsu wrote:
Something is quite wonky with keyboard-based input for movement; it seems holding down a key (Up/Down/Left/Right) causes some pretty severe issues.

I was working on some experimental joystick code a while back and i think it might be causing the issue. I've disabled it and uploaded a new build, see if that helps.

http://www.crazysmart.net.au/kindred/fi ... d1r05a.zip

koitsu wrote:
- Does "Reset" actually do a 6502 reset (jump to reset vector, etc.), or is it a power-cycle?

It does a master reset which in-turn resets any control module that has been installed (6502, PPU, MMC etc). If you want to power-cycle you will have to re-open the file.

koitsu wrote:
- Looks like Control / Master Volume shows the "Mute" checkbox checked even though sound plays regardless; clicking "Mute" seems to have no effect, so maybe it's a no-op for the time being?

Fixed, clicking 'Mute' will now stop the audio transfer. SNES audio is broken.

koitsu wrote:
Otherwise looking very, very promising! *thumbs up* It's also nice to see a windowed-mode emulator doing Vsync properly (from what I can tell so far -- it would help if the input stuff above wasn't acting weird though, then I could try panning around and look for tearing). :-)
It's been a long journey :)


Top
 Profile  
 
 Post subject: Re: kindred (emulator)
PostPosted: Sat Aug 31, 2013 7:38 am 
Offline
User avatar

Joined: Sun Sep 19, 2004 9:28 pm
Posts: 3192
Location: Mountain View, CA, USA
Overload wrote:
koitsu wrote:
Something is quite wonky with keyboard-based input for movement; it seems holding down a key (Up/Down/Left/Right) causes some pretty severe issues.

I was working on some experimental joystick code a while back and i think it might be causing the issue. I've disabled it and uploaded a new build, see if that helps.

http://www.crazysmart.net.au/kindred/fi ... d1r05a.zip

Confirmed -- that version fixes the issue.

And yeah, re: Vsync: looks wonderful (no tearing). Awesome.


Top
 Profile  
 
 Post subject: Re: kindred (emulator)
PostPosted: Sat Aug 31, 2013 8:30 am 
Offline

Joined: Mon May 30, 2011 4:38 pm
Posts: 37
Location: Australia
byuu wrote:
koitsu gave me the impression there was sound support, but it looks to be NES only still.
No SNES sound output is going to be a serious impediment to anyone ever using it for SNES emulation.
It's going to take a lot of time and effort to fix. I have to rewrite the entire S-APU module. It's a total mess, been more than 10 years since I last touched it.

byuu wrote:
Surprised to see you haven't added the three uPD96050 ops for ST010 and ST011 support, given you have some of the best DSP LLE around.
Not surprised you skipped the ST018 ;)
Haven't had the time. ST010 is functional.

byuu wrote:
Emboldening that you are embedding the firmware in your emulator. I'd definitely really like to distribute those, but the legal implications concern me. What are your thoughts on that?
It has to be proven that the firmware is embedded. When you make your emulator open source it makes it easy to prove ;)

byuu wrote:
Would like to hear more about the new 5A22 emulation mode findings, wondering if it's something I don't know about yet.
Looks like CLI latency fixes.

byuu wrote:
Like that the debugger is back. It's pretty limited (I have no debugger so I can't talk much), but sometimes useful.
Everytime I rewrite something I break the debugger :(

byuu wrote:
Interesting that nobody mentioned NINA. Just a fair warning that this board is usually pretty hostile to alternate format discussions.
That said ... first, you didn't include ninja.exe in the tools folder.
I checked the zip and it was there?

otherwise...

http://www.crazysmart.net.au/kindred/files/ninja.exe

byuu wrote:
Not sure if your database is just missing the game, but Contra (J) [VRC-n] doesn't seem to detect the pinout to avoid scrambled graphics. I have that issue when parsing raw iNES 1.0 as well (info just isn't there.)
My two cents, hoping to avoid a big nasty discussion ... I like NINA a lot more than iNES 2.0, but I still don't favor binary blob headers. If sets become popular for it, I'll support it.
Haven't updated to iNES 2.0 yet, give me a break :)

byuu wrote:
Would be interested to hear your future GB/C/A/NDS plans. NDS especially, the thought of emulating that myself gives me nightmares.
Supporting the ST018 would probably greatly accelerate your GBA implementation efforts, for what it's worth :D
Definately GB/GBC and GBA. Hopefully with all the new framework i've been working on over the last two years adding these be a breeze.


Top
 Profile  
 
 Post subject: Re: kindred (emulator)
PostPosted: Mon Aug 11, 2014 5:01 pm 
Offline

Joined: Mon May 30, 2011 4:38 pm
Posts: 37
Location: Australia
kindred v1.06 Preview Build 1

[FDS] Added Famicom Disk Drive
[FDS] Added RAM Adapter
[NES] Many Picture Processing updates
[NES] Updated Audio Sequencer
[NES] Added custom mapper (Bandai DATACH)
[NES] Added Famicom Basic Keyboard
[NES] Updated WRAM power-on default (fixes Minna no Tabo, River City Ransom)
[ALL] Added Joystick support (Preliminary)
[ALL] Rewrote virtual device system
[NES] Added Bus Conflicts
[NES] Added Save State system (Preliminary)
[NES] Added custom mapper (Taito TC0690)
[NES] Added board (SZROM)
[NES] Updated SRAM initialization (fixes Famicom Wars)
[SFC] Added board (SHVC-2K0N)
Updated kindred.db
Updated ninja.exe

http://www.crazysmart.net.au/kindred/fi ... ed1r06.zip
http://www.crazysmart.net.au/kindred

There's most likely loads more fixes and improvements I forgotten about :)


Top
 Profile  
 
 Post subject: Re: kindred (emulator)
PostPosted: Tue Aug 12, 2014 8:19 am 
Offline

Joined: Sun Oct 07, 2012 12:31 am
Posts: 23
kindred v1.06 Preview Build 1

Is the SNES audio is still broken or not supported?

_________________
Anna's Playground for QMC2
Official MESS Forum


Top
 Profile  
 
 Post subject: Re: kindred (emulator)
PostPosted: Wed Aug 13, 2014 12:28 am 
Offline
User avatar

Joined: Fri Nov 19, 2004 7:35 pm
Posts: 3944
Avast thinks it's a virus.
Or at least thinks the download URL is a virus, but doesn't mind the actual ZIP or EXE files.

_________________
Here come the fortune cookies! Here come the fortune cookies! They're wearing paper hats!


Top
 Profile  
 
 Post subject: Re: kindred (emulator)
PostPosted: Sat Aug 16, 2014 3:06 am 
Offline

Joined: Mon May 30, 2011 4:38 pm
Posts: 37
Location: Australia
AnnaWu wrote:
kindred v1.06 Preview Build 1

Is the SNES audio is still broken or not supported?


Sorry, the audio code is still broken.

The SPC700 code is enabled, the DSP code is disabled.


Top
 Profile  
 
 Post subject: Re: kindred (emulator)
PostPosted: Thu May 28, 2015 9:49 pm 
Offline

Joined: Mon May 30, 2011 4:38 pm
Posts: 37
Location: Australia
This is the biggest update since 2004. :beer:

kindred 1.07 Preview Build 1 (Windows, 32-Bit)

http://www.crazysmart.net.au/kindred/fi ... ed1r07.zip

[SFC] Rewrote S-DSP module
[SFC] Rewrote SPC700 module
[SFC] Updated SA-1 instruction set
[SFC] Fixed SA-1 interrupt detection
[SFC] Fixed SA-1 8-bit character DMA
[SFC] Rewrote Super FX module
[SFC] Added Super FX Cache RAM
[SFC] Fixed Super-FX PLOT and RPIX
[SFC] Fixed Super-FX register map
[SFC] Partial S-CPU conversion to new scheduler
[DMG] Added Gameboy Classic
[DMG] Added MBC1, MBC2, MBC3, MBC5 mappers
[DMG] Added MMMO1 mapper
[DMG] Added TAMA5 mapper
[DMG] Added HUC1, HUC3 mappers
[DMG] Added Pocket Camera mapper
[DMG] Added dmg.pal
[DMG] Added dmg.rom
[DMG] Added dmg.ram
[ALL] Fixed Pause operation
[ALL] Updated kindred.db
[ALL] Updated tools\ninja.exe

http://www.crazysmart.net.au/kindred


Top
 Profile  
 
 Post subject: Re: kindred (emulator)
PostPosted: Sat May 30, 2015 2:28 am 
Offline

Joined: Tue Apr 29, 2014 1:31 pm
Posts: 47
a fellow Delphi developer :)

It is already very compatible :) * congrats *
But is seems quite CPU hungry. 13/14% CPU (Core i7 4790k) meaning one core is at least 100% constantly. Are you polling the high accuracy timer? I sync with NTSC games to VSYNC, bringing down the CPU utilization to 3%. PAL games I also need to use the HAT. If someone knows how to use the high accuracy timer without polling constantly. Please tell so.

Delphi XE6 has support for Direct2D.


Top
 Profile  
 
 Post subject: Re: kindred (emulator)
PostPosted: Sat May 30, 2015 6:23 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 19122
Location: NE Indiana, USA (NTSC)
nIghtorius wrote:
I sync with NTSC games to VSYNC

Which might not work if someone has a 75 Hz monitor. Or is failure to support non-60 Hz monitors considered "acceptable collateral damage" nowadays?

Quote:
If someone knows how to use the high accuracy timer without polling constantly.

If there are more than 3 ms before vblank, is there a way to sleep for 1 ms at a time, some counterpart to usleep?


Top
 Profile  
 
 Post subject: Re: kindred (emulator)
PostPosted: Sat May 30, 2015 6:27 am 
Offline

Joined: Tue Apr 29, 2014 1:31 pm
Posts: 47
tepples wrote:
nIghtorius wrote:
I sync with NTSC games to VSYNC

Which might not work if someone has a 75 Hz monitor. Or is failure to support non-60 Hz monitors considered "acceptable collateral damage" nowadays?

No actually @ 75hz it will enable the HAT timer again with NTSC games at the cost of hefty cpu usage.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 22 posts ]  Go to page 1, 2  Next

All times are UTC - 7 hours


Who is online

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