Alyosha
He/Him
Editor, Emulator Coder, Expert player (3821)
Joined: 11/30/2014
Posts: 2829
Location: US
Oh that's cool! Is the only reason there is no music because it's not in the file? Or am I missing something else that needs to be implemented?
Player (41)
Joined: 1/22/2014
Posts: 38
Location: Sweden
Alyosha wrote:
Oh that's cool! Is the only reason there is no music because it's not in the file? Or am I missing something else that needs to be implemented?
It's not in the file at all, and the way it's coded is that it uses SNES controllers and all 16-bits of them and that wasn't supported as an input device in SubNESHawk as far as I could see. It uses SNES controller mostly just because it worked well with the hardware replay setup, not because it was actually needed I think. So it should be possible to just recode the PCM player to use regular NES controllers. I'll see if I can get some time to take a look at that and submit a new movie with music included.
Alyosha
He/Him
Editor, Emulator Coder, Expert player (3821)
Joined: 11/30/2014
Posts: 2829
Location: US
2 SNES controllers are supported in the most recent dev build. Build: https://ci.appveyor.com/project/zeromus/bizhawk-udexo/builds/21572798/artifacts All available NES controllers in NESHawk should be available now.
Player (41)
Joined: 1/22/2014
Posts: 38
Location: Sweden
It uses not the regular SNES-controllers, but the fictive 16-button SNES controllers that uses the extra 4-bits of data as buttons, while a normal SNES controller only uses 12-bits for buttons. There's no need really to support that though since it's only used for this very specific thing, and it doesn't technically need to be used for that either with some code changes in the ASM code.
Alyosha
He/Him
Editor, Emulator Coder, Expert player (3821)
Joined: 11/30/2014
Posts: 2829
Location: US
Ah ok , got it. Good luck then!
Alyosha
He/Him
Editor, Emulator Coder, Expert player (3821)
Joined: 11/30/2014
Posts: 2829
Location: US
I added in subframe resets. You can reset at ppu cycle precision. How it works is when you pick a number to target and then press the reset button. If that cycle number comes up during the frame a reset will occur . If not no reset will occur. Note this breaks existing movies , sorry about that. I’m not sure if there are any useful test cases for this, but this is probably the last change that’s happening .
MESHUGGAH
Other
Skilled player (1918)
Joined: 11/14/2009
Posts: 1353
Location: 𝔐𝔞𝔤𝑦𝔞𝔯
30 NES movies with game restart sequence (this might includes in-game resets done by other input than reset button) Wiki: Movies-NES-C3045Y
PhD in TASing 🎓 speedrun enthusiast ❤🚷🔥 white hat hacker ▓ black box tester ░ censorships and rules...
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Is ppu cycle printed in the trace log or shown in any other way?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Alyosha
He/Him
Editor, Emulator Coder, Expert player (3821)
Joined: 11/30/2014
Posts: 2829
Location: US
feos wrote:
Is ppu cycle printed in the trace log or shown in any other way?
Good point, having that info in the trace log would make it much easier to work with. I just implemented it. EDIT: Note that other cores using the 6502 tracer will just return 0 for the ppu cycle. I guess I could work on giving them a proper counter as well.
Skilled player (1785)
Joined: 5/7/2008
Posts: 187
Location: Japan
I made Dragon Quest IV "Arbitrary Code Execution". http://tasvideos.org/userfiles/info/53190376578410193 Link to video
Alyosha
He/Him
Editor, Emulator Coder, Expert player (3821)
Joined: 11/30/2014
Posts: 2829
Location: US
Ha that's cool! All 3 save files involved that's intense.
Skilled player (1785)
Joined: 5/7/2008
Posts: 187
Location: Japan
I wrote a detailed comment in Japanese. https://ch.nicovideo.jp/TAS/blomaga/ar1622972
$6A21: 20 EC C8    JSR $C8EC      Jump to subroutine to get 2 pads and update 16 bits of $14.
$6A24: 4B 4B       ALR #$4B       A register AND #$4B, A = shift right A.
$6A26: A8          TAY            Transfer A register to Y register.
$6A27: D3 14       DCM ($14),Y    Decrement the 16-bit indirect address destination with two pads.
$6A29: 4B 4B       ALR #$4B
$6A2B: 4B 00       ALR #$00
$6A2D: 20 21 6A    JSR $6A21      Jump to $6A21
$6921: 49 1A       EOR #$1A       A = A XOR 0x1A
$6923: 20 91 FF    JSR $FF91      $FF91 is Bank switching subroutine.
$6926: 20 FC 98    JSR $98FC      Jump to the ending event in bank 0x1A
Banned User
Joined: 4/1/2016
Posts: 295
Location: Cornelia Castle
Would mid-frame resets do anything for FF1, 2, or 3 NES?
DJ Incendration Believe in Michael Girard and every speedrunner and TASer!
Masterjun
He/Him
Site Developer, Skilled player (1987)
Joined: 10/12/2010
Posts: 1185
Location: Germany
I wonder if it would be possible to implement the memory callbacks for Lua functions such as event.onmemoryexecute(). It would be very useful to have considering the core is mostly used by people who do a bit of debugging. It currently gives a NLua.Exceptions.LuaScriptException: function in the Lua console.
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Alyosha
He/Him
Editor, Emulator Coder, Expert player (3821)
Joined: 11/30/2014
Posts: 2829
Location: US
Fixed I think (I just forgot to point it to the right place.)
Masterjun
He/Him
Site Developer, Skilled player (1987)
Joined: 10/12/2010
Posts: 1185
Location: Germany
Isn't it just as simple to implement the getregister and setregister functions by uncommenting and adding subnes references?
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Alyosha
He/Him
Editor, Emulator Coder, Expert player (3821)
Joined: 11/30/2014
Posts: 2829
Location: US
Sure I can do that too. done. Honestly I never use any of that stuff, so I'm not familiar with it.
Player (69)
Joined: 10/2/2019
Posts: 6
pirohiko wrote:
I remembered "About the luck manipulation" of this movie. http://tasvideos.org/forum/viewtopic.php?t=9190
I just started using this tool with Dragon Warrior. See http://tasvideos.org/forum/viewtopic.php?p=488524#488524. This is an awesome tool! Pauses can skip an arbitrary number of random numbers, just like Acmlm said. I think I can get the number of frames used from VBlankCount in Header.txt in the bk2 file. Is that right? Is there a faster/easier way to get that? I checked how that value changes when I walk a few steps or open a chest and it seems right. I'm experimenting with pauses to see if short pauses use a fractional number of frames that each round off or if the frame count rounding happens only on the sum of the fractional pause frames.
Alyosha
He/Him
Editor, Emulator Coder, Expert player (3821)
Joined: 11/30/2014
Posts: 2829
Location: US
Lag Count is the same as frame count for SubNESHawk, so you can get frame count just by turning lag counter on. Just be aware it's only accurate if you are at the end of the movie / last emulated frame.
Player (69)
Joined: 10/2/2019
Posts: 6
Alyosha wrote:
Lag Count is the same as frame count for SubNESHawk, so you can get frame count just by turning lag counter on. Just be aware it's only accurate if you are at the end of the movie / last emulated frame.
Perfect, thanks!
Player (69)
Joined: 10/2/2019
Posts: 6
Is there somewhere I can file a bug report / feature request? Auto-adjust Input according to Lag does not work. That would be very convenient. I am really enjoying using SubNesHawk so far. Is there a way to transfer a game from FCEUX to BizHawk? Even if the inputs don't line up, it would be easier to adjust all the lag than to input everything all over again.
Editor, Player (69)
Joined: 6/22/2005
Posts: 1050
RationalMonkey wrote:
Is there a way to transfer a game from FCEUX to BizHawk?
Try File -> Movie -> Import Movies...
Current Projects: TAS: Wizards & Warriors III.
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11475
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
RationalMonkey wrote:
Is there somewhere I can file a bug report / feature request? Auto-adjust Input according to Lag does not work. That would be very convenient.
There's a ticket already, with no one to implement it.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Experienced player (941)
Joined: 9/18/2008
Posts: 153
Location: Japan
I wrote a Lua script to play a NesHawk movie on SubNesHawk. I confirmed it works for Dragon Quest (J). But I don't know if it works for other games.