1 2 3 4 5
9 10
Site Admin, Skilled player (1255)
Joined: 4/17/2010
Posts: 11495
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
DIP switches will be added soon-ish. Sound fix may not be soon.
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.
CoolHandMike
He/Him
Editor, Judge, Experienced player (897)
Joined: 3/9/2019
Posts: 729
feos wrote:
DIP switches will be added soon-ish. Sound fix may not be soon.
OK thanks feos. Other than those things this is looking really good. Ram watch, ram search, tas studio, controller mapping, hot keys, etc all work. Game plays smoothly without slowdown. The turbo functionality is quick when seeking to a far off frame. No issues with save states as far as I see. Settings save and load properly. No graphic issues.
discord: CoolHandMike#0352
Joined: 7/17/2012
Posts: 545
Location: Switzerland
Sindbad Mystery
System.DivideByZeroException: Tentative de division par zéro.
   à BizHawk.Client.EmuHawk.Throttle.SpeedThrottle(Boolean paused)
   à BizHawk.Client.EmuHawk.Throttle.Step(Boolean allowSleep, Int32 forceFrameSkip)
   à BizHawk.Client.EmuHawk.MainForm.ProgramRunLoop()
   à BizHawk.Client.EmuHawk.Program.SubMain(String[] args)
My Citra 3DS rerecording movie files test repositery: https://cutt.ly/vdM0jzl Youtube playlist "Citra Tests": https://cutt.ly/AdM0wg9 http://www.youtube.com/user/phoenix1291
Pepper-Color
They/Them
Player (215)
Joined: 1/12/2019
Posts: 66
Location: Thailand, Bangkok, Vibhavadi rangsit 64 Alley
actually, How about Input mouse and gun. https://youtu.be/Qp6lbYHhHWk
Joined: 8/3/2020
Posts: 4
Hello Feos, Is there a plan to make the M68k System Bus writable? It would help me to port Mame/FBA scripts much more easily! If it is far off, I can make a wrapper methods for the memory function to parse the address to be read/written to the correct domain. Thanks for your work!
Site Admin, Skilled player (1255)
Joined: 4/17/2010
Posts: 11495
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Check in MAME's memory viewer if the address you're editing is editable.
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.
Joined: 8/3/2020
Posts: 4
I'm having trouble understanding what you mean by this. Here are my interpretations of your sentiment: 1) "MAME 0.222 has a memory viewer which has a feature that describeswhether an address can be edited" I'm not aware of such a feature if that's what you mean (and could not find documentation)! Apologies for my ignorance. I'm leaning toward this not being what you meant. 2) "Check if the memory address is a valid address in the memory space" a) MAME 0.222 contains this address in its memory map. (In the domain Motorola MC68000 ':maincpu' program space memory" b) BizHawks hex editor shows the System Bus as read only. c) BizHawk's memory editor shows the address range as being within the System Bus domain. d) It is a valid address in the space. In particular the domain that concerns most of the read/write operations I do are within the domain "m68000 : ram : 0xFF0000-0xFFFFFF" A Test: print("Memory Test") print("=============") usedDomain = memory.usememorydomain("m68000 : System Bus") print("Used Domain?", usedDomain) print("Using Mem: ", memory.getcurrentmemorydomain()) print("Size", memory.getcurrentmemorydomainsize()) print("Writing") memory.writebyte(0xFF0001, 0x00) Yields: Used Domain? True Using Mem: m68000 : System Bus Size 16777217 Writing Error: the domain m68000 : System Bus is not writable e) Setting the domain "m68000 : ram : 0xFF0000-0xFFFFFF" and writing to the same address with an offset for the domains start functions correctly. I hope I have given my thought process enough exposition, and that you can point out my misunderstanding or a solution. Appreciate your time and help! Happy to gather more information as needed.
Site Admin, Skilled player (1255)
Joined: 4/17/2010
Posts: 11495
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Run MAME with the -d switch so it starts with the debugger, open the memory window from debugger menu, select your memory space and try editing the address you need. It may not be editable. If writes to it aren't handled by MAME, I can't change that.
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.
Joined: 8/3/2020
Posts: 4
Thank you for the clarification feos. I wasn't aware that the mame debugger allowed you to change those values! I always did so via lua. It looks like the domain I would like to access is : "Motorola MC6800 ':maincpu' cpu space memory" Not all values are editable in this space, but the ones that I am interested are editable. This is not returned in the domain list within MAMEHawk. The values themselves are of course accessible via subdomains but they are chunked within ranges. To put it simply, all of my scripts refer to a 0 offset which starts at the beginning of the main cpu space domain. If it is possible and simple to get at this fuller range of addresses that would be wonderful. I have already created a few wrapper functions for changing domains, writing / reading to the appropriate addresses etc. If this is not possible, I will just refactor, it is however a large code base and I am willing to wait if it is a simple matter!
Expert player (2574)
Joined: 12/23/2007
Posts: 831
Great project, thank you feos. So excited to see Arcade games running on BizHawk. I tried a very quick Metal Slug 3 TAS with a few savestates. During the making, everything is great, no crash whatsoever. Unfortunately, I tried playback 3 times. First time desyncs on Mission 3, second time desyncs on Mission 1, the third time desyncs on Mission 3 but later than the first time. Can the playback desync issue be fixed? Thanks. :)
Recent projects: SMB warpless TAS (2018), SMB warpless walkathon (2019), SMB something never done before (2019), Extra Mario Bros. (best ending) (2020).
Site Admin, Skilled player (1255)
Joined: 4/17/2010
Posts: 11495
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Does it desync differently upon replaying? If it desyncs consistently, it must be the problem with savestates.
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.
Samsara
She/They
Senior Judge, Site Admin, Expert player (2241)
Joined: 11/13/2006
Posts: 2823
Location: Northern California
Tested four games in TAStudio and was able to reproduce the following crash on all of them: 1. Open TAStudio, turn off auto-restore if it's on, and let it create a few hundred frames of input 2. With the movie still playing, aggressively Ctrl+Ins or Ctrl+Del to add/remove frames until it crashes This seems to only happen in those circumstances: I haven't gotten a crash with the movie paused, or with auto-restore on, though the random nature of the crash could mean I just didn't happen to get it under those circumstances during my testing. I've gotten it within 5 or 6 frames deleted/added, other times it's taken upwards of a few hundred. Ow, my arm.
TASvideos Admin and acting Senior Judge 💙 Currently unable to dedicate a lot of time to the site, taking care of family. Now infrequently posting on Bluesky
warmCabin wrote:
You shouldn't need a degree in computer science to get into this hobby.
Expert player (2574)
Joined: 12/23/2007
Posts: 831
feos wrote:
Does it desync differently upon replaying? If it desyncs consistently, it must be the problem with savestates.
Differently. It could be a playback problem. Maybe something to do with my use of Turbo? But technically Turbo shouldn't relate to desync.
Recent projects: SMB warpless TAS (2018), SMB warpless walkathon (2019), SMB something never done before (2019), Extra Mario Bros. (best ending) (2020).
Site Admin, Skilled player (1255)
Joined: 4/17/2010
Posts: 11495
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Sounds like a problem with this game's determinism then. There's a way to run mame debugger from bizhawk (not in the current build tho), but it requires some skills to figure out the desync reason with 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.
Joined: 9/18/2018
Posts: 21
Location: Québec, Canada
Just to catch up on news, I would like to know how MAMEHawk is going and if it is possible to grab a copy in order to test some arcade games. I remember doing some test months ago, around august.
My new website, a blog about retro gaming! RetroGameUp Youtube channel featuring gameplay of old retro game! GlitchoMuseum
Site Admin, Skilled player (1255)
Joined: 4/17/2010
Posts: 11495
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Nothing changed since then.
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.
wrennnn
Other
Joined: 11/17/2020
Posts: 2
Location: Portland, OR
Jojo's HFTF (jojoban) has an ! for light, medium, strong, and stand. Vampire Savior: The Lord Of Vampire (vsav) has an ! for Volume Up and Down (not that important tbh) Street Fighter II: Champion's Edition (sf2ce) and Rainbow (gonna assume all versions) have ! for all attacks. Street Fighter III: Third Strike (sfiii3) also has ! for all attacks.
Site Admin, Skilled player (1255)
Joined: 4/17/2010
Posts: 11495
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Notes to self This is what mame uses to determine how many samples it needs to emit for any given AVI fame
Language: cpp

length = framenum_to_samplenum(framenum + 1 + m_soundbuf_frames) - framenum_to_samplenum(framenum + m_soundbuf_frames);
And here's the body
Language: cpp

inline std::uint32_t avi_file_impl::framenum_to_samplenum(std::uint32_t framenum) const { return (std::uint64_t(m_info.audio_samplerate) * std::uint64_t(framenum) * std::uint64_t(m_info.video_sampletime) + m_info.video_timescale - 1) / std::uint64_t(m_info.video_timescale); }
Great times. If I replicate this in hawk, hopefully av will sync. m_soundbuf_frames is a semi-arbitrary number of extra frames to prepare samples in advance for, 0.57 of a second, something around 45 frames of safety buffer. I hope I won't need it. framenum is current actual frame. Also I don't think I cleared the sound buffer when loading states lol. It just kept appending irrelevant samples.
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.
Site Admin, Skilled player (1255)
Joined: 4/17/2010
Posts: 11495
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Updated the mame core to 0.230 release. No hawk related fixes or changes yet. Just see if savestates magically started working in any games where they were broken, or if something that desynced now syncs. Will get to the hawk part soon.
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.
Joined: 9/12/2014
Posts: 543
Location: Waterford, MI
I tried Alpine racer with the download link in the OP and it crashed. Alpine racer works with actual mame.
Site Admin, Skilled player (1255)
Joined: 4/17/2010
Posts: 11495
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
People, please test audio again! AV sync on long periods of time as well as audio after save/loading. Maybe still not perfect but should be much better! Also added all the missing mnemonics ("!") mentioned in the thread. Link is in the OP.
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.
Banned User
Joined: 4/1/2016
Posts: 295
Location: Cornelia Castle
ScHlAuChi wrote:
feos wrote:
I asked to post here because I don't want to be searching through random PM archives just to remember what I want to find.
Well you might not know this, but unlike TASvideos we longplayers are more hesitant to give out our "source" files, as anyone can go and claim it was their recording :) Thats why I sent it to you directly via Discord :)
Just because anyone can claim it as theirs, doesn't mean they will. Therefore, it's ok.
DJ Incendration Believe in Michael Girard and every speedrunner and TASer!
Sonia
She/Her
Joined: 12/6/2013
Posts: 435
Location: Brazil
feos wrote:
People, please test audio again! AV sync on long periods of time as well as audio after save/loading. Maybe still not perfect but should be much better! Also added all the missing mnemonics ("!") mentioned in the thread. Link is in the OP.
I retested the games I listed in the second page and yes, the audio is better now. Good job! But Bad Dudes, Midnight Resistance and Gun.Smoke (to a lesser extent) still have a bit of audio issues at the beginning, so you might want to check on them. Pulirula still have garbled graphics and Gaiapolis still crashes the emu though. Just pointing that out if you want to look into those next.
Site Admin, Skilled player (1255)
Joined: 4/17/2010
Posts: 11495
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Sonia wrote:
Pulirula still have garbled graphics and Gaiapolis still crashes the emu though. Just pointing that out if you want to look into those next.
And they work fine in actual mame?
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.
Sonia
She/Her
Joined: 12/6/2013
Posts: 435
Location: Brazil
feos wrote:
Sonia wrote:
Pulirula still have garbled graphics and Gaiapolis still crashes the emu though. Just pointing that out if you want to look into those next.
And they work fine in actual mame?
Yes.
1 2 3 4 5
9 10