Posts for Alyosha
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Cool! Seems like a good start to me so far, nice work!
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
If you post your movie and provide a link I should be able to get it working and figure out what went wrong. I imagine it's something fixable since things seem to be working on my end.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
0.1703 should contain everything light gun related, all the mnemonics, and the addition of a filter selection option in the A7800Hawk menu. The filter doesn't do anything yet, it's just a stub for now, but I needed to do a bit of reorganizing to the core so I decided to have a place holder for it. Should probably be done this week though.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
That's strange, I am getting identical LogKeys (both match the top one), not sure what to make of that. I don't see anything else to change and it works on my end.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Another milestone is finally reached wiith Scrapyard Dog's sewer level finally being correctly emulated. This level was another main driver for me to create this emulator after seeing Mothrayas' TAS of this game contain a pretty bad graphical glitch in this level. What this glitch comes down to is DMA timing around what is called 'holey DMA.' Basically DMA can be told to ignore certain address blocks, and when it does so there is no DMA read penalty for addresses in that block. Except, there is a penalty for the first read in order to identify that block in the first place. Getting this (and pretty much everything else DMA related) right is what fixes scrapyard dog. EDIT: @MESHUGGAH: I unified the controller definitions between EMU7800 and A7800Hawk (at least for 2 button and joystick controllers) so you should be able to compare movies now I think.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
I still can't repro this, does it still happen in master? I rewrote the lgiht gun algorithm to match what Barnyard Blaster expects. That game goes through a two step process of first detecting light to a resolution of about 20 pixels, then going through a second loop that improves the resolution to about 4 pixels. This should clear up the issues experienced in shooting cans in Barnyard Blaster. I also imrpoved vertical accuracy a bit, but if I go up too much then Sentinel is aiming too high, so I chose a middle ground. This is probably as good as lightgun is going to get, as I don't think I'll put a lot more effort into it.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
Thanks to The8bitbeast we are down to 12 runs now! I plan to get back to this after A7800 is sorted out.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
Location: US
MESHUGGAH wrote:
- I can't test it with controller (with cursor). Controllers joystick: can't shoot. I also had a random glitch from changing light gun to joystick, reset core, start game, white screen every 3rd-4th frame (like an autofire) without any input pressed/shown in display
I am unable to reproduce this, seems really strange though. Also the game only works with the 2 button controller. I am looking into the other lightgun issues now, I have a good idea what is going on, just need to find the best solution.
Alyosha
He/Him
Editor, Experienced Forum User, Published Author, Expert player (3602)
Joined: 11/30/2014
Posts: 2752
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 (3602)
Joined: 11/30/2014
Posts: 2752
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 (3602)
Joined: 11/30/2014
Posts: 2752
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 (3602)
Joined: 11/30/2014
Posts: 2752
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 (3602)
Joined: 11/30/2014
Posts: 2752
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 (3602)
Joined: 11/30/2014
Posts: 2752
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 (3602)
Joined: 11/30/2014
Posts: 2752
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 (3602)
Joined: 11/30/2014
Posts: 2752
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 (3602)
Joined: 11/30/2014
Posts: 2752
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 (3602)
Joined: 11/30/2014
Posts: 2752
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 (3602)
Joined: 11/30/2014
Posts: 2752
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 (3602)
Joined: 11/30/2014
Posts: 2752
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 (3602)
Joined: 11/30/2014
Posts: 2752
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 (3602)
Joined: 11/30/2014
Posts: 2752
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 (3602)
Joined: 11/30/2014
Posts: 2752
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 (3602)
Joined: 11/30/2014
Posts: 2752
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 (3602)
Joined: 11/30/2014
Posts: 2752
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.