On BizHawk 1.11.3, using VBA-Next core.
I'm not sure if I'm going nuts or not, but the SaveRam for "Monster House (USA) (En,Fr).gba" is rather bugged. For some reason, if I save in game, then reset core or close the emulator, the save file doesn't get updated and just writes "FF" for all values when viewed in a hex editor.
It works using the MGBA core however.
Rainshower (Modern)
Easy mode took me 21:48.60 to get 1000 points. Hard mode took me 17:18.78.
0x3DDEC is Mario's spot; there are 4 possibilities
Balloons are like this:
Colors - X values occupied (left, right)
green - 87, 155
red - 71, 176
black - 50, 202
blue - 29, 220
Seems to start at 0x03C7E4 with offset for each balloon being 0x7c
at balloon+0x54, its the "state" in binary; in an attempt to describe it better, I'll use lua:
Language: lua
local i = 0x03C7E4
if bit.check(memory.readbyte(i+0x54),0) then
gui.drawText(0,10, "???")
end
if bit.check(memory.readbyte(i+0x54),1) then
gui.drawText(0,10, "Hit an NPC")
end
if bit.check(memory.readbyte(i+0x54),2) then
gui.drawText(0,10, "1st set of ropes passed")
end
if bit.check(memory.readbyte(i+0x54),3) then
gui.drawText(0,10, "2nd set of ropes passed")
end
if bit.check(memory.readbyte(i+0x54),4) then
gui.drawText(0,10, "???")
end
if bit.check(memory.readbyte(i+0x54),5) then
gui.drawText(0,10, "Hit the ground")
end
if bit.check(memory.readbyte(i+0x54),6) then
gui.drawText(0,10, "Not a balloon; its a moon. Oddly never used")
end
if bit.check(memory.readbyte(i+0x54),7) then
gui.drawText(0,10, "About to hit an NPC")
end
No idea what address determine's it's color yet. Offset 0x1B seems to be it's speed; sadly it only increases after like 600 or so points scored.
Balloon sprite seems to be at offset 0x11.
Green - 0x3B,0x3C
Red - 0x2B,0x2C
Black - 0x33,0x34
Blue - 0x1E, 0x1F
Moon - 0x19
There's a speed address for each balloon at offset 0x1A. It's a 2 byte unsigned value that starts at 80, 112, and 320 for Easy. Hard and Very Hard respectively. No idea why the numbers are that large though. 320 seems the highest; didn't managed to get a speed over that even on Very Hard.
Address 0x03E456 affects the speed itself; it starts at 5,7 and 20 for Easy. Hard and Very Hard respectively and corresponds to the above values by a factor of 16.
Anyways, here's a script to display all the balloons at once:
Language: lua
memory.usememorydomain("Combined WRAM")
local balloon = 0x03C7E4
while true do
local p = 10
for i = balloon, 0x03D85C, 0x7c do --First Balloon's X pos; offset of others is 7C; enough for 35 balloons
if memory.read_u16_le(i+0x1A) == 0 then
else
if memory.readbyte(i+0x11) == 0x3B or memory.readbyte(i+0x11) == 0x3C then
gui.drawText(memory.readbyte(i)-29,memory.readbyte(i+2)-10, memory.read_u16_le(i+0x1A),'LawnGreen')
gui.drawText(memory.readbyte(i)-29,memory.readbyte(i+2), memory.readbyte(i)..","..memory.readbyte(i+2).."("..((i-balloon)/0x7c)..")",'LawnGreen')
elseif memory.readbyte(i+0x11) == 0x2B or memory.readbyte(i+0x11) == 0x2C then
gui.drawText(memory.readbyte(i)-29,memory.readbyte(i+2)-10, memory.read_u16_le(i+0x1A),'Red')
gui.drawText(memory.readbyte(i)-29,memory.readbyte(i+2), memory.readbyte(i)..","..memory.readbyte(i+2).."("..((i-balloon)/0x7c)..")",'Red')
elseif memory.readbyte(i+0x11) == 0x33 or memory.readbyte(i+0x11) == 0x34 then
gui.drawText(memory.readbyte(i)-29,memory.readbyte(i+2)-10, memory.read_u16_le(i+0x1A),'Black')
gui.drawText(memory.readbyte(i)-29,memory.readbyte(i+2), memory.readbyte(i)..","..memory.readbyte(i+2).."("..((i-balloon)/0x7c)..")",'Black')
elseif memory.readbyte(i+0x11) == 0x1E or memory.readbyte(i+0x11) == 0x1F then
gui.drawText(memory.readbyte(i)-29,memory.readbyte(i+2)-10, memory.read_u16_le(i+0x1A),'Blue')
gui.drawText(memory.readbyte(i)-29,memory.readbyte(i+2), memory.readbyte(i)..","..memory.readbyte(i+2).."("..((i-balloon)/0x7c)..")",'Blue')
elseif memory.readbyte(i+0x11) == 0x19 then
gui.drawText(memory.readbyte(i)-29,memory.readbyte(i+2)-10, memory.read_u16_le(i+0x1A),'Gold')
gui.drawText(memory.readbyte(i)-29,memory.readbyte(i+2), memory.readbyte(i)..","..memory.readbyte(i+2).."("..((i-balloon)/0x7c)..")",'Gold')
end
end
end
gui.drawText(0,0,"Speed: "..memory.readbyte(0x03E456),'Black')
emu.frameadvance()
end
Bot done
http://tasvideos.org/userfiles/info/27198392647936026
For those who don't care about TASing and only want to get points, have fun with 9,999 points using this.
Edit: Fixed some bugs regarding if statements and grabbing the moons.
Now also adjusted for 17 objects.
Changed to 34 objects. Seriously what the hell
Edit2: This bot still fails at the worse case scenario where 3+ balloons are about to hit at 15+ speed and/or with waluigi pulling on one of them.
Here's how NPCs join the group along with difficulty:
Easy - 0 points
Toad
DK
50 points
Toad
DK,Peach
350 points
Toad
Wario DK,Peach
550 points
Toad Yoshi
Wario DK,Peach
680 points
Luigi,Toad Yoshi
Wario DK,Peach
Hard - 0 points
Luigi Yoshi
Wario
150 points
Luigi Yoshi
Wario DK
280 points
Luigi,Toad Yoshi
Wario DK
450 points
Luigi,Toad Yoshi
Wario DK,Peach
Very Hard
Luigi,Toad Yoshi
Wario DK,Peach
This is important since grabbing the moon 5 times in a row gives 20 points. For both 280 and 680, if you managed to grab a moon during the x80th point, you'll knock Bowser down, gain 20 points, then immediately have BOTH the 100 point "cutscene" along with Luigi/Toad joining you at the same time. This saves a bit of time.
If entertainment is the only factor, does running a demoscene ROM count? Especially for things like Atari demos found on youtube; one can technically have a "movie" of 1 frame long and be entertaining since the whole ROM itself is basically a movie.
Also self-playing SMW hacks come to mind.
Since I was directed to here from this:
You know the cheats used in MM9 was a gecko code (not in game) instead of an ingame cheat like the Metroid TAS you linked right? Since if you meant the former, what's stopping people from heavily modifying the game using cheats (without calling it a romhack) and claim it's a different branch? Then they could make a romhack of it, and claim a new record as well and say "it's not a cheat now it's a totally different game new record please."
Sorry for asking, but when I try something like
gui.text(0, 30, '\226\131\151')
but it gives me â and uses only \226. How would I make it use the arrow?
Using
gui.text(0, 30, '\20D7')
gui.text(0, 30, '\8407')
or
gui.text(0, 30, '\\u20D7')
doesn't seem to work.
TehLegendaryMudkip and I are starting to work on Street Fighter 2010, already 75 frames saved in the first level.
I managed to get 121 frames ahead at the first level. I wish you luck; I got stuck trying to remove lag frames at the 2nd level and ended up demotivated.
Are you sure this code is inside the loop? I use something similar and it definitely is updated every frame (and can be updated even when the emulator is paused).
Language: lua
memory.usememorydomain("EWRAM")
gui.DrawNew("native")
client.setwindowsize(2) --Sets size so that everything fits
client.SetGameExtraPadding(0, 0, 0, 20)
local peppermints = 0x3DE9 --6%+ total
local bottles = 0x3E11 --3% total
local brassHeart = 0x3E13 --6% total
local events = 0x3EA2 --17% total
local candyBox = 0x4730 --1% total
local keyItems = 0x4731 --11% total
local toys = 0x4732 --12% total
local toys2 = 0x4733 -- 10% total
local waterguns = 0x4734 --16% total
local gear = 0x4735 --12% total + 3% at gear+1
local characters = {'DJ','Chowder','Jenny'}
local water = {0x37D0,0x37D2,0x37D4} --Water supply
local water2 = {0x3DF6,0x3DF8,0x3DFA} --Water capacity; only updates when gun is upgrade via chest
--Checks the bit of 'mem' at position 'pos' and returns 'value' if it's 1
function addFlags(mem,pos,value)
if bit.check(mem,pos) then return value
else return 0 end
end
function percent()
local percent = 0
--Checks if the player has the peppermints
percent = memory.read_s8(peppermints) + percent
--Check if the player has all 3 bottles (1% each)
percent = addFlags(memory.read_s8(bottles),0,1) + percent --All Bottles are 1%
percent = addFlags(memory.read_s8(bottles),1,2) + percent --But getting the 2nd bottle makes the value for the above 0
--Check if the player has a brass heart (2% each)
percent = memory.read_s8(brassHeart) * 2 + percent
--Check if the player has the Candy box (1%)
percent = addFlags(memory.read_s8(candyBox),1,1) + percent
--Checks if the player has the following: Fuse (3%), Dynamite (3%), Elevator Gear (3%), Walkie-Talkie (1%), Flashlight (1%)
percent = addFlags(memory.read_s8(keyItems),3,1) + percent --Flashlight
percent = addFlags(memory.read_s8(keyItems),4,1) + percent --Walkie-Talkie
percent = addFlags(memory.read_s8(keyItems),5,3) + percent --Elevator Gear
percent = addFlags(memory.read_s8(keyItems),6,3) + percent --Dynamite
percent = addFlags(memory.read_s8(keyItems),7,3) + percent --Fuse
--Checks if the player has the following: Rover's bone (2%), RC Car (2%), Chicken doll (2%), Boomerang (2%), Chowder's basketball (2%), Skull's action figure (2%)
percent = addFlags(memory.read_s8(toys),2,2) + percent --Skull's action figure
percent = addFlags(memory.read_s8(toys),3,2) + percent --Chowder's basketball
percent = addFlags(memory.read_s8(toys),4,2) + percent --Boomerang
percent = addFlags(memory.read_s8(toys),5,2) + percent --Chicken doll
percent = addFlags(memory.read_s8(toys),6,2) + percent --RC Car
percent = addFlags(memory.read_s8(toys),7,2) + percent --Rover's bone
--Checks if the player has the following: Watergun ugrade (DJ 1, 1%), ?? (1%), Wendy the Dancing Walrus doll (1%), Jenny's wagon (2%), Tricycle (2%), Penguin doll (2%), Bone's kite (2%)
percent = addFlags(memory.read_s8(toys2),0,2) + percent --Bone's kite
percent = addFlags(memory.read_s8(toys2),1,2) + percent --Penguin doll
percent = addFlags(memory.read_s8(toys2),2,2) + percent --Tricycle
percent = addFlags(memory.read_s8(toys2),3,2) + percent --Jenny's wagon
percent = addFlags(memory.read_s8(toys2),4,1) + percent --Wendy the Dancing Walrus doll
percent = addFlags(memory.read_s8(toys2),5,0) + percent --Doombringer unlocked; placeholder for this script
percent = addFlags(memory.read_s8(toys2),7,1) + percent --Watergun upgrade for DJ
--Checks if the player has the following: Watergun ugrade (Jenny 1, 2%), Watergun ugrade (Jenny 2, 2%), Watergun ugrade (Jenny 3, 2%), Watergun upgrade (Chowder 1, 2%), Watergun upgrade (Chowder 2, 2%), Watergun upgrade (Chowder 3, 2%), Watergun ugrade (DJ 2, 2%), Watergun ugrade (DJ 3, 2%)
percent = addFlags(memory.read_s8(waterguns),0,2) + percent --Watergun upgrade for DJ
percent = addFlags(memory.read_s8(waterguns),1,2) + percent --Watergun upgrade for DJ
percent = addFlags(memory.read_s8(waterguns),2,2) + percent --Watergun upgrade for Chowder
percent = addFlags(memory.read_s8(waterguns),3,2) + percent --Watergun upgrade for Chowder
percent = addFlags(memory.read_s8(waterguns),4,2) + percent --Watergun upgrade for Chowder
percent = addFlags(memory.read_s8(waterguns),5,2) + percent --Watergun upgrade for Jenny
percent = addFlags(memory.read_s8(waterguns),6,2) + percent --Watergun upgrade for Jenny
percent = addFlags(memory.read_s8(waterguns),7,2) + percent --Watergun upgrade for Jenny
--Checks if the player has the following: Trash can (1%), Slingshot upgrade (3%), Slingshot (1%), Cold Syrup (1%), Water balloon upgrade (3%), Water balloon (1%), Brass Key (1%)
percent = addFlags(memory.read_s8(gear),0,1) + percent --Camera
percent = addFlags(memory.read_s8(gear),1,1) + percent --Brass Key
percent = addFlags(memory.read_s8(gear),2,1) + percent --Water balloon
percent = addFlags(memory.read_s8(gear),3,3) + percent --Water balloon upgrade
percent = addFlags(memory.read_s8(gear),4,1) + percent --Cold Syrup
percent = addFlags(memory.read_s8(gear),5,1) + percent --Slingshot
percent = addFlags(memory.read_s8(gear),6,3) + percent --Slingshot upgrade
percent = addFlags(memory.read_s8(gear),7,1) + percent --Trash Can
percent = addFlags(memory.read_s8(gear+1),0,3) + percent --Camera upgrade
--Checks the story events done
if memory.read_s8(events) > 14 then percent = percent + 1 end
if memory.read_s8(events) > 18 then percent = percent + 1 end
if memory.read_s8(events) > 24 then percent = percent + 1 end
if memory.read_s8(events) > 30 then percent = percent + 2 end
if memory.read_s8(events) > 32 then percent = percent + 1 end
if memory.read_s8(events) > 37 then percent = percent + 2 end
if memory.read_s8(events) > 41 then percent = percent + 1 end
if memory.read_s8(events) > 45 then percent = percent + 1 end
if memory.read_s8(events) > 50 then percent = percent + 2 end
if memory.read_s8(events) > 54 then percent = percent + 3 end
if memory.read_s8(events) > 57 then percent = percent + 1 end
if memory.read_s8(events) > 62 then percent = percent + 1 end
gui.text(0, client.screenheight()-42, 'Percent: '..percent)
end
function miscflags()
local y = client.screenheight()-10
gui.text(0, y-18, 'Flags: ')
--Checks if the player has obtained the Camera flash at least once
if bit.check(memory.read_s8(candyBox),7) then gui.drawRectangle(0, y, 4, 10, 'WHITE', 'WHITE') end
--Checks if the player has obtained candy at least once
if bit.check(memory.read_s8(candyBox),2) then gui.drawRectangle(5, y, 4, 10, 'RED', 'RED') end
--Checks if the player has obtained soda at least once
if bit.check(memory.read_s8(candyBox),3) then gui.drawRectangle(10, y, 4, 10, 'GREEN', 'GREEN') end
--Checks if the player has obtained marbles at least once
if bit.check(memory.read_s8(candyBox),6) then gui.drawRectangle(15, y, 4, 10, 'BLUE', 'BLUE') end
--Checks if the player has obtained water at least once
if bit.check(memory.read_s8(keyItems),0) then gui.drawRectangle(20, y, 4, 10, 'AQUA', 'AQUA') end
--Checks if the player has obtained water bottle at least once
if bit.check(memory.read_s8(gear+1),1) then gui.drawRectangle(25, y, 4, 10, 'DARKCYAN', 'DARKCYAN') end
--Checks if the player has unlocked the Toys tab
if bit.check(memory.read_s8(keyItems),2) then gui.drawRectangle(30, y, 4, 10, 'DARKKHAKI', 'DARKKHAKI') end
end
function displaypos()
local x = (memory.read_u32_le(0xF9D8)+30720)/65536.0 --Adds 30720 for actual X
local y = (memory.read_u32_le(0xF9DC)+20480)/65536.0 --Adds 20480 for actual Y
gui.text(0, 60, 'X: '..string.format('%.5f',x) ..' Y: '..string.format('%.5f',y))
local char = memory.read_s8(0x3DE8)
if char < 3 then -- just in case
local supply = memory.read_s16_le(water[char+1]) --Char uses 0,1,2 but lua arrays are 1,2,3
local capacity = memory.read_s16_le(water2[char+1])
gui.text(0, 75, characters[char+1]..'('..supply..'/'..capacity..')')
end
end
while true do
percent()
miscflags()
displaypos()
emu.frameadvance()
end
At function "miscflags", for some odd reason, not only is "y" not updating, but the rectangles don't update. If I changed it to text (for example:)
function miscflags()
local y = client.screenheight()-10
gui.text(0, y-18, 'Flags: ')
--Checks if the player has obtained the Camera flash at least once
if bit.check(memory.read_s8(candyBox),7) then gui.text(0,0,'TESTING') end
--Checks if the player has obtained candy at least once
if bit.check(memory.read_s8(candyBox),2) then gui.drawRectangle(5, y, 4, 10, 'RED', 'RED') end
--Checks if the player has obtained soda at least once
if bit.check(memory.read_s8(candyBox),3) then gui.drawRectangle(10, y, 4, 10, 'GREEN', 'GREEN') end
--Checks if the player has obtained marbles at least once
if bit.check(memory.read_s8(candyBox),6) then gui.drawRectangle(15, y, 4, 10, 'BLUE', 'BLUE') end
--Checks if the player has obtained water at least once
if bit.check(memory.read_s8(keyItems),0) then gui.drawRectangle(20, y, 4, 10, 'AQUA', 'AQUA') end
--Checks if the player has obtained water bottle at least once
if bit.check(memory.read_s8(gear+1),1) then gui.drawRectangle(25, y, 4, 10, 'DARKCYAN', 'DARKCYAN') end
--Checks if the player has unlocked the Toys tab
if bit.check(memory.read_s8(keyItems),2) then gui.drawRectangle(30, y, 4, 10, 'DARKKHAKI', 'DARKKHAKI') end
end
gui.text(0,0,'TESTING') actually works, but the rectangles still won't update, nor will y.
Edit: Stopping the script clears the text, but not the rectangles. Is that intended?
while the script is running and I manually change the screen size? It seems to only takes the value when I run the script, rather than inside the loop every frame.
Because of the nature of the Extermination run, it is not respectful of the game or the story it presents to publish a TAS of it.
I have no idea what you're talking about, but if people honestly respect a game they won't be finding glitches to break it nor would they bitch about it every time their video gets taken down due to copyright.
Or is respect some kind of game mechanic?? Never played nor planning to.
This is a rather...different reason for "why doesn't a speedrun of game X exists?".
Actually, that makes me wonder if other companies can simply request this for every single game they create, and thus there will be no more illegal gameplay videos. lol
How feasible would brute forcing for this specific game? If possible, it could at least show the fastest possible time for this emulator, which then if it's still slower narrow down what may be wrong (emulation error or WR being false).
No new updates on the missing 3%, but...
Maybe I'm jumping the gun, but I believe I found a method to find the position address.
On ERAM, 0xF9D8 seems to be a value 30720 smaller than the X position. I assume it's related to the camera positions, since the addresses before it affect the camera. 0xF9DC appears to be a value 20480 smaller than the Y position. So add 30720 and search that value for the true X position, and similar for Y.
Positions seems to be 4 Bytes, Fixed Point 16.16. Unsigned also works is using the above method to find addresses. The addresses after it appears to be horizontal/vertical speed, but changing them doesn't affect me.
I need to investigate how NPC memory works since the addresses I found for them only corresponds to X/Y, but not health.
Edit: Sample code:
Language: lua
memory.usememorydomain("EWRAM")
while true do
local x = (memory.read_u32_le(0xF9D8)+30720)/65536.0 --Adds 30720 for actual X
local y = (memory.read_u32_le(0xF9DC)+20480)/65536.0 --Adds 20480 for actual Y
gui.text(0, 30, 'X: '..string.format('%.5f',x) ..' Y: '..string.format('%.5f',y))
emu.frameadvance()
end
It get's out of sync while moving due to how lua updates, and I can't seem to fix it with event.onframeend, so it might still be better to use the RAM watch instead.
Edit2:
0x473F and onward appears to be door/chests/obstacle flags
Seems that also includes certain cutscenes and events. 0x4773 is a binary which holds flags for the 3rd Nebbercracker. The doors in the rooms nearby along with the cutscenes triggered are for this.
Edit3:
https://www.youtube.com/watch?v=FGxI7OPn65Q
DoomBringer without Hard Mode.
Edit4: It appears I vastly underestimated Chowder's watergun; he's capable of 2HKOing bees and the floor monsters even at the beginning without needing to charge. Charging up can kill later monsters very quickly as well.
Edit5: Things that I tried and failed to trick the game to giving me more peppermints:
1. Killing Nebbercracker then pressing Start
2. Killing a latter Nebbercracker before going to a past one
3. Skipping a Nebbercracker, triggering a future event, then come back.
4. Pressing start before a peppermint
5. Using the chest delay glitch
Edit6:
Each and every single Nebbercracker fight has glitches, but none are abusable for percentage. It turns out Chowder's watergun and waterballoons are VERY powerful; I managed to beat the latter bosses in 30 seconds or less. I'm tempted to improve the current TAS, but I can't seem to find the values for NPC hp, oddly enough.
Also, I found out I can't simply camera glitch every room; it turns out for cases like Basement 3, the rooms have such a long "door" that by the time I reach the next room, half of it is already loaded. Worse is that if I tried glitching a different room to inch slowly there, it would either not be enough to unload the doors, or I get stuck (Trying to skip to Nebbercracker v2 for example).
Finally, it appears the position address uses a different location when I open interfaces. Which means the script won't help at all if I used the chest glitch unless I update it.
Edit7: ToDO: Find if the Thou Art Dead minigame affects percentage. Likely not since the key and DoomBringer doesn't, but I'm running low on ideas.
Edit 8: Thou Art Dead minigame score caps at 100,007 if done "legit". Legit as in without editing the score, but allowing say, grabbing the gold axe and freezing 0x30C02 for an hour or so and come back. It remains at 100,007 even after the killing the dragon (which usually hands out 10,000 points). Btw, it also loops over and over after a certain stage. Also it still doesn't affect percentage even after reaching 100,007.
Edit 9: Technically says 100,007, but hex is says 9F 86 01
Kinda late, but thanks! The speed for the game at a glance appears rather tied to the character I'm using, but I'm positive I can find some way to use the (somewhat) constant spawn/starting locations instead. :)
I think the RCs are pretty far behind on updates actually (though no idea if they are THAT far behind). I'll have to try to see if recent SVNs work on this though (though this isn't a priority for me).
At the time of my post, it was almost on par with the recent updates. Now its obviously far behind.
A few months ago, we announced our intentions to work on and release Dolphin 5.0 with a new release method. By using a stable branch, we hoped to avoid doing a feature freeze so that devs could both work on new features and continue to stomp out regressions. Unfortunately... that didn't work. Users wanted the newest features to be in Dolphin 5.0, developers were confused on what features needed to go to what branches, and things more or less ended up not working out the way we hoped.
Sometimes, it's best to just admit a mistake and do things right, so, in order to provide users and developers with the clearest path for Dolphin 5.0, we will be restarting the Dolphin 5.0 release process from scratch. That means abandoning the stable branch (along with merging all unique fixes over into Master) and eventually implementing a full feature freeze in order to give time to close all regressions and make Dolphin 5.0 the special release it needs to be.
We hope that users are understanding of the delay. With that, let us continue with our regularly scheduled Progress Report action!
Which I presume means use that latest SVN instead of v5 for now.
Nationaldex check skip. You can access the rest of Battle Zone without complete Sinnoh Pokedex. This pretty much means an any% round 2 speedrun would have the same pre-Elite 4 content as an any% one does.
With that said, should that type of run merge with the any% like how pokemon gold/silver does?
For some games, the relevant memory addresses for a run changes location every now and then. I have no idea how to find the pointer(s) for said addresses, and not every emulator has debugging tools, but I made a list of possible locations where said addresses may be. Using that list, would it be possible to locate the original pointer and offsets?
Whether savedata should go in savestates is some kind of controversial topic I'm not sure I've ever heard resolved clearly, it's possible for different programmers to have selected different approaches without ever knowing it. Major pain in the butt. Anyway, the needs of TASing should resolve it firmly in favor of keeping savedata in savestates, but many casual gamers hate it.
Responding here so it gets more attention, but would a valid compromise be that savestates during movie recording include save files and exclude them when not recording?
Sorry to bring this up again, but while trying to resync the current Monster House TAS to BizHawk, since the beginning requires a reset, this has a chance of causing desyncs.
I also tried making a savestate before the reset, but for whichever reason even if the movie file was then editted to not even start a new game, the savefile remains if the movie had generated one before.
No, it cannot. IWRAM is 32KB. Your list has a header IWRAM and then individual entries EWRAM. You want to enter 5 digits, then youre entering EWRAM addresses.
After correcting it to
Domain EWRAM
SystemID GBA
02E534 d u 0 EWRAM
02E630 d u 0 EWRAM
02F050 d u 0 EWRAM
02F120 d u 0 EWRAM
02F740 d u 0 EWRAM
02FDE8 d u 0 EWRAM
02FF48 d u 0 EWRAM
02E560 d u 0 EWRAM
It still won't let me edit 5 digits; erasing 1 of the digits gets me stuck to 4 digits only at the same interface.
Edit: Correcting as in changing the domain then resaving it.
For the GBA game monster house, a number of addresses end up in this location
Domain IWRAM
SystemID GBA
2E630 d u 0 EWRAM
2E534 d u 0 EWRAM
2FF48 d u 0 EWRAM
2F120 d u 0 EWRAM
2F740 d u 0 EWRAM
2FDE8 d u 0 EWRAM
However, attempting to change said addresses on the watch list ends up like this:
Can the 4 character limit be lengthened or removed? Currently I have to use notepad to change both the addresses if I want to add another one manually and change the memory region.
Glitchless, which I presume excludes using minor tweaking ones, would be rather long, but I can't tell yet if it would be worth watching yet. I'll wait for progress.
Also not exactly related, but in Platinum, after beating the Stark Mountain storyline, the E4's levels increase. I would like to see a run of that which uses all glitches known one day.
I'm not sure if it's been posted, but is there any information on how enemies choose to use which attacks? Is it just their current health (for some foes) and RNG?