^thanks, that saves e a bit of time. Is there a standard one for PAL, or is it the same?
I'm making decent progress overall. Savestates seem to be working and I can load basic games. Still have to do keyboard and a few other details.
This one seems to be going at about 450 fps compared to the 550 I had with GG. The cpu is the same at same speed, and the sound isn't much different, so the ppu must be much slower here. This will be a good chance to see what kind of things work on the ppu side to speed things up.
With some effort I'm pretty sure I can end up around 600 fps through obvious optimizations. I still want / need to be around 800 though, so I've got a very long way to go.
Yes it is. Confirmed that after doing some tests:
First I changed BlueMSX's Video Frequency to Auto, then loaded a regular MSX game using the "MSX - French" and "MSX - German" profiles (because they're undebatably PAL territories). The idea was checking if their FPS would display as 50. BlueMSX has no native FPS display like Bizhawk, so I had to use Fraps for that. As expected, the counter kept fixed at 50 for both.
Then did the same with "MSX - Brazilian" and "MSX - Japanese" and the counter went up to 60, so those were also working as intended. Last thing to check was the regular "MSX" profile (which corresponds to MSX.rom). The counter showed 50 like the first two, therefore that's definitely the PAL standard.
Alright thanks for the help, I'll go with that then.
I'm leaving some notes here as I try to make performance improvements.
One of the most important things I realized is that performance is directly related to video buffer size. This was unexpected. At first I was trying to compare to gambatte which was getting 800 fps. But then I removed all calls to MSXhawk and just ran the core doing nothing and it only got 700 fps. I struggled to figure out what was going on until I decided to change the screen size as a last resort. I changed it to only be 100 x 100 and got over 1100 fps. This also means I was wrong with my previous guess that the ppu was slowing things down.
I'm not sure what to make of this. I seem to recall this not being the case before. I ran up QuickNES to double check, and sure enough it only goes at ~600 fps, where as in my memory I'm pretty sure it used to go double that.
But anyway, using 700 fps as a starting point, adding in fetching the video buffer and sound buffer from the core and processing controller input and other once per frame tasks like that costs negligible performance as expected.
Processing video is actually quite fast, costing only about 25 fps.
Processing audio costs 50fps.
So roughly speaking with the cpu turned off the core does 625 fps. Not too great considering this is roughly equal to quicknes running correctly. With the CPU running in it's current state I'm at 450.
Knowing this gives me at least a more realistic target. I can't get to gambatte speeds but if I can get to around 600 fps I'll be in good shape.
Joined: 10/12/2011
Posts: 6438
Location: The land down under.
It would be nice to have the full lineup of the original Atari systems. All that's missing is 5200.
Apparently Altirra or Atari800 are the best cases and both of them feature the Atari 8-bit (400, 800, XL, XE & XEGS).
Disables Comments and Ratings for the YouTube account.Something better for yourself and also others.
^I'll leave A5200 for any potential future devs to work on as an easy case. MSX (and O2) will be the last two 8 bit systems I work on personally. There's a lot of low hanging fruit right now, I hope it peaks someone's interest.
I've added keyboard support to MSX and made some optimizations that give about a 10% performance boost. I'd say it's almost ready for general testing. I probably won't be adding floppy disc support at this time, so I'm starting to think about MSX 2.
Joined: 9/12/2014
Posts: 540
Location: Waterford, MI
Dobbie station(ps2 emulator) might be viable at this point. Lately it has been in active development, and save states and frame advance and video dumping is already included. Recently dirge of cerberus and midnight club 3 were fixed. And that team is looking into tasing as well.
I have added MSXHawk to the dev build. Currently it will load with Jp bios to NTSC mode. It also uses the JP keyboard layout.
It doesn't support basic yet, only loading cartridge ROMs.
Please test and let me know of any deficiencies.
NOTE: most games don't require the keyboard, so I have default controller settings to joysticks only, change it in sync settings if you want / need to use the keyboard.
Joined: 10/12/2011
Posts: 6438
Location: The land down under.
No DobieStation isn't. It's still practically a beta.
When you look at PlayStation 2 as a whole the emulator can only do a handful of games properly and the rest either
- Crash the Emulator
- Loads into a void with the character
- Plays FMVs at 5fps (or less)
Ah, understandable then.
Disables Comments and Ratings for the YouTube account.Something better for yourself and also others.
Did you download the most recent dev build? Do you have MSXHawk.dll in your dll folder?
Those are the freeware BIos files from C bios 0.29a that I use for testing.
(The most recent dev build works fine for me.)
Yes, and now I tried with that one you submitted some hours ago, that says "MSXHawk: more testing options".
I have MSXHawk.dll in my dll folder, [URL=https://i.imgur.com/mj7VzCq.png]here[/URL].
And this is my [URL=https://i.imgur.com/yy3opPE.png]firmware folder[/URL]. It has a combination of multiple bioses from the TOSEC collection, what comes in the BlueMSX package, and what's contained in this [URL=https://sourceforge.net/projects/cbios/files/cbios/0.29/cbios-0.29a.zip/]c-bios compilation[/URL].
I managed to find find basic_test among them, but none of the above matches bios_test.
I don't know where else to look at this point. Since it's freeware, could you please post a download link here?
Not having much luck with the MSX core - I just get a black screen when trying to load a cartridge. Bios files are present in firmware and no error message (only thing mising is bios_test).
That's the same link I posted in my previous message, so turns out I already had the right stuff. :P
Anyway, I tried to load a game without MSXJ and it complained about the lack of bios:
And if I put it in, it gives that missing dll error. So yeah, not sure what else to do.
All other cores work fine btw, just MSX that's being problematic.
Did you hit ok on that screen? What happened then? It should start with the test hios.
Everything works fine for me right out of the box so I'm not sure what's wrong. The dll is compiled for 64 bit , could that be effecting you?
EDIT: oh, wait I messed up, I committed a fix, now try the latest dev build with the test bios.
I was actually thinking about implementing Altirra into BizHawk since a long time. I don't really know about the accuracy of the acid test suite given in the altirra page but it seems like atari800 doesn't pass half of them and altirra passes most of them as you can see in this thread by me.
I hit ok. It then switches to the missing dll window and if I press ok there nothing else happens.
Now I tried with the fixed build and still no luck. It persists on the dll error.
I'm thinking what's causing it is the fact I don't have the right hash for bios_test:
it's the only one that's missing out of the five. None of the bioses you shared above matches it. Could you upload a .zip containing only the right bios_test and nothing else?
Joined: 11/27/2017
Posts: 87
Location: United Kingdom
I don't see the SHA1 hash (B398CFCB94C9F7E808E0FECE54813CFDFB96F8D0) for this test bios anywhere in TOSEC and a google search returns no results. Perhaps a typo still in the dev branch?
In the current dev build that file is not even used. Only bios_test_ext is used, which you have.
Can anyone else confirm a missing dll error? I can't reproduce this error without deleting the dll from the dll folder so I don't know how to go about tracking down this error.
Removed the other bioses and just have bios_test_ext: can confirm it works!
The audio seems to be very quiet and only plays out of the left channel - not really familiar with the system, so not sure if this is by design or not.