But damn, DEcapAttack still brings my 4770K to its knees!
![Razz :P](./images/smilies/icon_razz.gif)
Moderator: Nemesis
Pretty sure they came from the printed values on top of some crystals mounted on physical systems I own. I didn't hook up a scope or anything like that to confirm though. I expect there's probably large variation between real systems anyway simply due to the lack of perfection in crystal oscillators.Eke wrote:One remark though, in that xml model file:
https://bitbucket.org/exodusemulator/ex ... 201600.xml
Where does these clocks values come from ?
I think all the values I've seen being reported were always 53693175 for NTSC and 53203424 for PAL. Not that it would make much difference but I was curious about it.Code: Select all
<System.SetClockFrequency TargetClockName="MCLK" ClockType="Direct" Value="53634165" /> <System.SetLineState SystemLineName="NTSC" Value="1" /> ... TargetClockName="MCLK" ClockType="Direct" Value="53203400" /> <System.SetLineState SystemLineName="NTSC" Value="0" />
I know, it sits there taunting me!Oerg866 wrote:Hey nemesis!
Your emulator still SUXX!
...
Overdrive's emulation remains somewhat alright, although you did fix a few things, Exodus doesn't get it quite right yet. The screen above should not have the black interference on the right, the image cuts off a few pixels too early (horizontally I mean), and plainly "YOUR EMULATOR" still "SUXX" because it doesn't emulate that disabling display during horizontal blanking will interfere with sprite fetching.
The credits sequence exposes a few timing flaws (it is very precisely timed to wait the exact amount of time necessary to render the relevant text, any timing inaccuracies will break it)
Thanks for letting me know, I've fixed it in Exodus 2.0.1.King Of Chaos wrote:Awesome work Nemesis! Noticed something though, I'm getting this in the error log when trying to load a module with TMSS enabled (without lockout);
.....
Thanks, also fixed in Exodus 2.0.1.PaHgoM wrote:Hello, Nemesis. Great job, I was waiting for release, but there is some problem: I can't configure controls. I use arrows near numpad, and when I press them in "Auto Mapping" mode, nothing happens
The black screen you're seeing I believe is because of a lack of cycle-accurate M68000 emulation. There's a few games that use a wait loop on the "F" flag in the VDP status register. Other emulators raise this flag a few cycles before VINT occurs, which is wrong. The real hardware asserts this flag directly with the VINT. Exodus currently processes bus accesses at the start of the opcode, not at the correct delay during the opcode, which means the "F" flag always reads as false. These games won't work until the M68000 core improves. That's my next major goal for emulation accuracy.Black Zero wrote:Neither Rockman World or Mega Man The Wily Wars starts at all, it's just an big black empty screen staring at me and the controls doesn't get saved for some reason.
I open up Exodus and configure the control accordingly, I play some games and then I close and I have to configure it again the next time I start Exodus.
BTW I got my Sega Gensis bios dump that I used in Fusion, how do I use it here?
Glad to hear you're getting good performance on your machine, I spent quite a lot of time optimizing the cores and the system itself.King Of Chaos wrote:Nice! TMSS works great now. All games seem to be running at full speed but I notice the FPS maxes out at around 62FPS, any reasoning for this on a 60Hz monitor?
But damn, DEcapAttack still brings my 4770K to its knees!
You know, I did actually add support for this, and I was banging my head against the wall as to why this wasn't working, and then when I did hardware tests, I found that on the systems I tested on at least, the character also wasn't random on the hardware either. Never diagnosed past that. It'd be worthwhile going back and testing on your system, and if it is random for you, I'll need to know the specs of the unit you're using (region and board/chip revisions).X-Men 2 - Clone Wars (USA): The random character upon power on, hard reset and soft reset isn't supported (yet).
I had another look at this, and it actually looks like it's due to failed SRAM support. Megaman is doing some kind of strange read/write stress test on the SRAM, which is entering an infinite loop. On a quick look I can't see how this loop is ever supposed to pass. I'll have to compare with another emulator to see why they pass it. Fortunately I do own this cartridge, so I can test on the hardware too if I need to.Neither Rockman World or Mega Man The Wily Wars starts at all, it's just an big black empty screen staring at me and the controls doesn't get saved for some reason.
Nice!Nemesis wrote:And wow, you're not kidding about DecapAttack! I took a look, and it's due to the sound driver crashing from a bug in my Z80 core on a reset. The Z80 gets stuck in a loop hammering the M68000 bus access window every second cycle, which is an expensive operation. I'll release a fix in the next version. For now, you can turn off the Z80 in the debugger and it flies.
Go for it, hehe.Nemesis wrote:You know, I only just noticed the new M68000 register list in the debugger goes D1-D8 and A1-A8 instead of D0-D7 and A0-A7. That's pretty embarrassing mistake to miss, almost want to do another release right now just for that!
If I remember correctly, it's always been random for me. I remember back in the day constantly resetting to get Nightcrawler. Then I was using a US Model 2 Genesis - I don't know the board/chip revision off the top of my head. I'll try to get it out of storage this weekend along with the model 1 and test this though I'm fairly certain it'll be random there as well. All my Genesis models are US. Though I think the main difference is power on/hard reset vs soft reset in this case - all other emulators seem to have set characters for power on/hard reset and soft reset. Again, I'll retest this one.Nemesis wrote:You know, I did actually add support for this, and I was banging my head against the wall as to why this wasn't working, and then when I did hardware tests, I found that on the systems I tested on at least, the character also wasn't random on the hardware either. Never diagnosed past that. It'd be worthwhile going back and testing on your system, and if it is random for you, I'll need to know the specs of the unit you're using (region and board/chip revisions).
Fixed, thanks!King Of Chaos wrote:Also noticed if you go over 100 FPS the value is cut off on the bottom right (I hate to see what happens if/when we can go over 1,000 FPS!);
The Build directory is for build support files, like custom MSBuild files. Right now the build output goes to two places: Exodus.exe and system.exe go to the root, and all the plugins go to the "Assemblies" subdirectory.mickagame wrote:Nemesis.
I've just build successfully Exodus but all files (exe, dll ...) are build in the root directory of the project instead of the build directory.
Compatibility isn't as high as other emulators out there right now. No real effort has been put into any of the special cartridge hardware like mappers. A lot more time has gone into the platform itself, crazy corner cases of behaviour, and debugging features. Once the M68000 in particular has a cycle-accurate core, I'll probably spend more time worrying about individual game hardware.Black Zero wrote:Damn I really wanted to give this an honest go but if Rockman Mega World and Mega Man the Wily Wars ain't working I have no other choice then to go back to Fusion a little while longer.
This isn't as obvious as it probably should be, but settings like that are associated with the current system. If you want to save those settings, you need to save the system. Select "File -> Save System" to save the modified system to a file. If you create a new system configuration and want to load that by default, go to "Settings -> Platform Settings" and change the startup system.Thanks for 2.0.1 though but it seems like the controller settings doesn't get saved no matter what.
I can map the controller over and over but nothing gets saved and once you reset you have to map it again.
One other thing I noticed was that settings like the Show Status Bar under VDP System Settings doesn't get saved.
If you want an unfiltered output, go to "Settings -> VDP -> System Settings", and change "Enable Line Smoothing" to off.tryphon wrote:Is it possible to set the Image Window resolution to normal (320 x ???), unfiltered ?
It's an easy fix? Well that sounds really promising!Nemesis wrote: I had another look at this, and it actually looks like it's due to failed SRAM support. Megaman is doing some kind of strange read/write stress test on the SRAM, which is entering an infinite loop. On a quick look I can't see how this loop is ever supposed to pass. I'll have to compare with another emulator to see why they pass it. Fortunately I do own this cartridge, so I can test on the hardware too if I need to.
EDIT: Just noticed that MegaMan uses serial EEPROM rather than SRAM. Yeah, that's not supported in Exodus currently. Support for this game and others like it can easily be added by creating a device to emulate the EEPROM devices in question, and updating the Mega Drive ROM loader to recognize these games.
Either way you're doing a great job. I really hoped to switch Fusion with this one but I can definitely wait till things get better in Exodus, it's an emulator well worth waiting for because it's nice and clean.Nemesis wrote: Compatibility isn't as high as other emulators out there right now. No real effort has been put into any of the special cartridge hardware like mappers. A lot more time has gone into the platform itself, crazy corner cases of behaviour, and debugging features. Once the M68000 in particular has a cycle-accurate core, I'll probably spend more time worrying about individual game hardware.
It's that simple? Well I'll be sure to remember that till next time, thanks!Nemesis wrote: This isn't as obvious as it probably should be, but settings like that are associated with the current system. If you want to save those settings, you need to save the system. Select "File -> Save System" to save the modified system to a file. If you create a new system configuration and want to load that by default, go to "Settings -> Platform Settings" and change the startup system.