Posts for Alyosha

Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Pretty cool. I can't recall ever seeing MUGG's submission before, and I've personally never even thought about playing SMB on PAL, so seeing that it's faster is quite a surprise, voting yes!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
BizHawk and FCEUX set the RNG on different frames because FCEUX (erroneously) delays PPU startup by an extra frame. This at least is well understood. NESHawk or Mesen are you're only chances at matching console for behaviour this precise, trying to use FCEUX would be wasting your time. Otherwise yes, this RNG is very sensitive to initial condiitions of the NES. Aside from CPU/PPU alignment, there is also VBlank flag which is a variable. Aside from that, I strongly suspect that there are other variations in power up state as well. Your initial assessment that NES emulation may not be at a state where this can be easily duplicated may be correct. If Mesen doesn't give you the desired result, it is very unlikely that this can be reproduced at this time. It would be pretty easy to create a LUA script that will just randomly press buttons until you get the desired state you want (assuming it is possible) but the resulting input would obviously be useless for real time purposes.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
CLChambers00 wrote:
Does Mesen have a TAS Editor and a way to watch Ram Addresses? I will write up what I am looking for later on and we can go from there. Thanks!
It doesn't have a TAS Editor, but it does have savestates and an excellent debugger and memory viewer to keep track of RAM. I recommend giving it a try, it give you what you want right out of the box.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
phoenix1291 wrote:
Just a little question, because I never test it, but in cores that support light gun or equivalent in BizHawk, is it possible to use the mouse for it?
Yes, it works with mouse.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
It will be basically hopeless to try to match console with FCEUX or QuickNES. NESHawk I can work with, but I would need to know what state you are trying to achieve (i.e. what does it look like on hardware that is wrong in NESHawk.) Also, have you tried Mesen? It is another very accurate emulator that behaves very slightly differently from NESHawk, maybe it will give you what you want.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
@MESHUGGAH: I'll look at the nemonics next to see what went wrong, hopefully I should be able to get it to match up. In the mean time, I added light gun support. It still needs testing but I believe it is working correctly. I tested on Sentinel and Crossbow. The detection is not very good in general, so it's a bit hard to spot actual errors, so let me know if anything looks wrong.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
The CPU reads the ROM according to the memory mapping of the cart. Here is a list of most mappers and there logic: http://blog.kevtris.org/blogfiles/Atari%202600%20Mappers.txt The simplest ones just read the ROM directly, you just need to locate it correctly in the CPU address space. If you are trying to do the A2600, one of the most important documents you will need is this one: http://www.atarihq.com/danb/files/TIA_HW_Notes.txt If you are just getting started in emulation, A2600 is actually pretty complicated. You need to get every low level hardware timing pretty much perfect for it to look right. If you are open to suggestions, I might recommend doing A7800 instead as a first project. It uses the same 6502 CPU, but in my opinion is much simpler to get working (A7800 DMA is much easier then A2600 HMove.)
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
http://tasvideos.org/userfiles/info/40608078650579692 Here is a converson from Mupen to BizHawk for this run. I didn't see that exact plug in settings to convert with so I just used the defaults. (I'll even submit it if you want, since it's been like a week already might as well wrap this up)
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
@MESHUGGAH: sorry about the nemonics, I don't recommend trying to do any serious TAS stuff until the core is released, as other thing could still change. Also thank you for the continued testing. I'm making progress on finalizing some of the DMA timing stuff, and have fixed numerous small bugs in emulation. Now the bottom line in Xenophobe is fixed. There are only 3 graphical issues I am currently aware of. Sewer level in Scrapyard Dog: honestly, I'm not sure how to fix this one, The NMI is happening too early, but at the correct scanline according to the Maria DMA's, so I can't really change anything to change the behaviour. Tow Line in Water Ski: On one frame the tow line appears in the wrong spot, not sure what is causing it. Tower Toppler: Intentionally uses color artifacting, not yet implemented I'm also working on some of the more obscure ROMs out there. Here is Rescue on Fractalus, a pretty cool prototype. I'm always impressed by the clever things people are able to come up with to make good use of limited resources.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
I rewrote the Maria renderer in A7800Hawk to make it pixel accurate. Now the one stray line in Kung Fu Master is fixed. This also brought with it a dramatic simplification of the code, which makes it much more managable. As accuracy picks up the core is starting to slow down a bit though. I used to be stable 240 FPS at 4x speed, but now I'm maxed out at 200 or so. I'll try to recover a bit of that slowdown once all the bugs are worked out.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Water Ski: Works fine for me, needs 2 button controller plugged in . 7800 Birthday: Can you post the name of the ROM you are using? Xenophobe: DMA timing issue, this is a work in progress. (There are a couple such issues, the most serious one being Scrapyard Dog Sewer level.) Tower Toppler: I still need to emulate color artifacting to make it look right. I think one other game needs this too.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Difficulty switches need be accesible in moveis and TAStudio, so I don't think it can be a dialog box. And I do want them to be accessible real time unlike the DIP switches in NES (which are considered sync setting in BizHawk.) I do like the A-B naming convention though, maybe I'll try implementing that and see how it looks.
MESHUGGAH wrote:
1. Alyosha, can I ask what documents you are using for implementing features? 2. For difficulty switch (previous post), I see this for PAL (probably ntsc same), schematic: http://imgur.com/9EmVuKd NTSC http://imgur.com/4WYWxtY I'm not sure what am I seeing, but does this mean these buttons (l diff, r diff, pause, select, reset) can be pressed at... every frame? every interrupt? vblank? 3. Remaining, non listed bugs - 7800 Birthday (homebrew) can't be started, same apply for EMU7800 - Spikes added (homebrew) boots! However, I think there should be a jump button (atleast I can't jump) (todo: check for source code) - Super Stunt Cycle boots! However, can't do much. (todo: download source code, check what should happen) - Snake (homebrew) - random lag frame fixed! But, for menu, you need to hold the buttons for 4 frames (todo: check for source code)
1. The best source is this thread: [MOD EDIT: Removed link to site with commercial ROM content. -Mothrayas] (I posted there recently too looking for extra info) The linked software guide there is my main source of video encoding info: [MOD EDIT: Removed link to site with commercial ROM content. -Mothrayas] For mappers, I use this: http://atarihq.com/danb/7800cart/7800%20bankswithcing%20guide.txt That's about it. A7800 is pretty simple. 3. Is the Birthday one Apple Snaffle? That one works for me. Did you try the most recent dev build?
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
A note about difficulty switches: Currently I have them as basically toggles. Press the button and it changes it's state. At the moment however I have no good way to show the user what state the switch is in. If anyone has any ideas on how I can make this more clear, feel free to suggest it. I thought about using 2 buttons instead, one for each setting of the difficulty switch, but doubling the amount of controls doesn't seem like an efficient solution.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
User Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_2 like Mac OS X) 
AppleWebKit/603.2.4 (KHTML, like Gecko) Version/10.0 Mobile/14F89 Safari/602.1
Vector	Block	Result	Duration
12	3	correct	605.50ms
13	3	correct	736.20ms
14	3	correct	1437.90ms
15	3	correct	2853.40ms
16	3	correct	5656.80ms
12	4	correct	712.40ms
13	4	correct	1429.50ms
14	4	correct	2523.90ms
15	4	correct	5049.20ms
16	4	correct	10088.10ms
12	5	correct	1261.30ms
13	5	correct	2504.90ms
14	5	correct	5020.10ms
15	5	correct	10069.90ms
16	5	correct	20147.80ms
Status: Done.
iphone 5s
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
I've made several more commits that brings almost all games to a playable state. Only games that require Pokey sound chip remain. I've also implmeneted controller selection, fixing an annoyance of EMU7800. I still need to add the lightgun though and controller detection in a couple of games isn't working yet, but it's making progress. Numerous bug fixes have of course also occured. now that the core is reaching a maturity that meets or exceeds EMU7800, I'll be keeping track of a known bugs list in the opening post. Hopefully I can work them out in the next couple of weeks. Let me know what needs to be added to the list.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
I'm having a hard time following your post, but if what you want to do is change initial RAM settings, BizHawk has a method in NESHawk to do that. Go to NES->Advanced settings-> initial RAM pattern. There you can set a pattern that will be copied throughout all of RAM at startup. For example 00000000FFFFFFFF will recreate the typical FCEUX start up pattern. Also, if you want to change individual bytes, you can use the hex editor in Tools-> Hex Editor.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Yes. Yes. I don't know. A well known ROM hosting website has C64 roms seperated into regions with the typical (U) (E) designators, but I do not know how they confirm their information. GoodTools has a tool but I've never used it.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Cool! Nice work on this, and thanks for the trimmed down encode. I actually found this way more entertaining then most of the Genesis runs, the movement seems much smoother. Yes vote!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
User Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0
Vector	Block	Result	Duration
12	3	correct	62.30ms
13	3	correct	124.09ms
14	3	correct	245.51ms
15	3	correct	498.65ms
16	3	correct	998.11ms
12	4	correct	129.80ms
13	4	correct	256.20ms
14	4	correct	522.78ms
15	4	correct	1038.49ms
16	4	correct	2083.95ms
12	5	correct	264.19ms
13	5	correct	536.34ms
14	5	correct	1073.79ms
15	5	correct	2134.70ms
16	5	correct	4298.91ms
Status: Done.
intel i7-4700HQ @ 2.4 GHz
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
MESHUGGAH wrote:
Title Match Pro Wrestling NTSC palette didn't changed?
It looks correct to me, can you post a screen shot of what you are seeing? I just implemented the remaining video modes. They seem to be rarely used, but games like Beef Drop now display correctly as well as the title screen in scrapyard dog.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
I've updated the NTSC color palette to a much better one, so the palette issues should be resolved. I also started implementing the super game mappers, so most games marked A78SG in the DB should be playable now.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Thanks for the testing. I just made some commits that fix (some) PAL, fix lag detection, and fix Xeviious, I'll have to look into the palettes though. EDIT: Ok I commited a proper fix for PAL, those games should work now.
phoenix1291 wrote:
Are the two cores available or A7800 will replace definitely EMU7800? Only test Donkey Kong for now, but as comparison, is the sound right in A7800Hawk?
For now both cores are available (in Config->Cores->Atari 7800) I expect A7800Hawk to supercede EMU7800 especially for TASing once it reaches feature parity, as EMU7800 is not a very accurate emulator and is quite outdated. At that point it can probably be removed but that's not really up to me. As for the sound, that is a work in progress I'll look into a bit more later.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Now that I'm a fair way through development, I thought I might announce that a new Atari 7800 core is available in BizHawk. A7800Hawk aims to be a cycle accuracte 7800 core to replace EMU7800, which has bugs that are not easy to fix. Right now the core is only available for play testing and is not ready for TASing (although savestates do already work.) The core itself is built conveniently from available parts such as the A2600 TIA and the 6502 core used in other system cores as well. All mappers are supported. Known Bugs List: A2600 mode not supported Color Artifacting not supported (Tower Toppler) one on one basketball: Runs too fast? (need to time console.) Published EMU7800 runs resynced to BizHawk: Ninja Golf: http://tasvideos.org/userfiles/info/41337253856983444 Scrapyard Dog (does not sync): http://tasvideos.org/userfiles/info/41337966763585237 Choplifter (does not sync): http://tasvideos.org/userfiles/info/41403013459751971
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
Thanks to Challenger for finishing Cyborg Hunter! I already have Rygar (Argos no Juujiken) on the workbench since that one had a bad emulation bug. I still plan to do Rocky, but I might try to tackle King's Quest next.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3572)
Joined: 11/30/2014
Posts: 2744
Location: US
When you want to stop your movie, just go to File->Movie->Stop Movie. The movie will end at whatever frame you are currently on, you don't need to close BizHawk. You can set author when you start recording a movie in File->Movie->Record Movie. A field in the pop up movie will allow you to change the author. To change it after the fact, open the bk2 file in something like 7zip and change it in the header file.