Posts for Amaraticando


1 2
5 6 7
26 27
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
You didn't get all the platinum relics, despite getting all the non-time-trial boxes at the same time, often taking the "side quest" crystal path, or not caring at all for hitting the number boxes that weren't in the way? Vote for rejection... rejection for moons and acceptance for stars!
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
In most emulators, the default (opaque) alhpa channel is 0, so it's not necessary to write it in the most significant bytes of the number. BizHawk oddly is the reverse: 0xFF is fully opaque and 0 is fully transparent.
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
If this seems counter-intuitive: In the long run, most numbers have at least a digit '9'. As the number of digits goes to infinity, the percentage of those numbers goes to 100%.
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
lsnes was made before BizHawk, at least before SNESHawk. Ilari wanted to support subframe input, subframe resets, hard resets, etc, stuff that is very hard to implement in a multi-system emulator like BizHawk, for some technical reason.
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
Danfun64 wrote:
How long is LSNES going to be around before it's depreciated, if that's the plan? Also, anybody have any compiled git builds of LSNES? Not that I plan on doing so, but are git builds considered acceptable for submissions?
I don't think there's a reason to ever ban lsnes. true has an up-to-date repository with windows binaries https://lsnes.truecontrol.org/
Waterbox doesn't touch input, only savestates, if I get it right.
Yes. But I noticed that movies pre-Waterbox desync under Waterbox, the later being much closer to lsnes timing.
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
I'd pick lsnes as more reliable, if you wanna verify your movie on console, at least for SNES/SBG. BizHawk's movies from an earlier version might not work in recent ones, due to improvements. The new Waterbox concept might have fixed most problem with bsnes core, but it's yet to be verified whether both emulators produce identical outputs with the same input. Lsnes can be compiled to use bsnes v87 too, but most patches were done for v85, including a recent one that allows new kinds of arbitrary code execution. lsnes "beta" is much better than the delta version, this name is kinda obsolete. About the SRAM, the interface is not obvious... While creating a new movie (File > New > Movie), you have to pick the SRM file.
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
What the hell?
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
I don't believe there's enough free memory to do it.
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
Pokota wrote:
So, question. Is there a function for reading specific bytes from the file on disk, or should I just use the lua IO functions?
You should use the complete Lua I/O model. If I understood your question correctly, you wanna grab the content of the nth byte of a file. You should use the seek method. According Ierusalimschy's book, Programming in Lua:
The seek method can both get and set the current position of a file. Its general form is f:seek(whence,offset) , where the whence parameter is a string that specifies how to interpret the offset. Its valid values are “ set ”, when offsets are interpreted from the beginning of the file; “ cur ”, when offsets are interpreted from the current position of the file; and “ end ”, when offsets are interpreted from the end of the file. Independently of the value of whence , the call returns the new current position of the file, measured in bytes from the beginning of the file.
Pokota wrote:
Alternatively, is there a lua function that exposes the SNES header?
Please, explain. You wanna a function that returns true if the ROM is headered? Wanna read its contents? AFAIK, in BizHawk, there's no way to do it beautifully. Maybe using gameinfo.getromname().
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
andymac wrote:
Sorry to double post, but does anyone know what yoshi related glitches are and aren't allowed in a non ACE run? Also have there been any tricks that haven't been documented in the TAS resources section for this game? I'm thinking of making a 100% TAS of another SMW hack.
Complementing Valads' answer, I'd like to make a distinction. We usually define ACE as executing arbitrary RAM values (that you can control) or making the game jump to an open bus address. The later is what happens often. For instance, getting the cloud in the reserve by eating the chuck will always make the game jump to open bus, no matter what. Sometimes the game returns to normal execution without any side effects (that's what speedrunners aim in the 11-exit run). However, it's banned for TASers. Some glitches MIGHT trigger an ACE execution, but doesn't always do. For instance, powerup incrementation. Therefore, PI is allowed if you avoid ACE. Lastly, in 100% runs it's conventional to BAN eating any Chuck. This was "decided" because one could backtrack, eat a chuck and get the orb to beat any level. Or get a key in the reserve. Not cool, but depends on the hack.
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
This game is a bitch to control and has the worst terrain detection ever... but this TAS is very well done! The amount of glitches, zips, graphical bugs and sprites all over the place is insane. Good job making a boring game look interesting. The optimization is noticeable.
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
You can try to convert a Snes9x movie to lsnes format, accounting for different lag frames. It has been done and depends on the game.
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
Related and inspired, but not dependent on it. Some people believe that mathematics is just a meaningless game of symbols. I don't like this though. It surely must have some metaphysical meaning.
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
Smudge wrote:
Amaraticando wrote:
3) https://github.com/TASVideos/BizHawk/blob/1.9.1/output/Lua/SNES/Super%20Mario%20World.lua (very basic, only hitboxes)
For link, do I just copy the text into a text file and name it .lua and then run in the lua console? Thanks!
Yes. Or click raw and save the file.
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
The problem with BizHawk is that Lua API changes very often. A script written for version 1.11 will most likely have issues in version 1.12 or 2.0. Try those scripts in the following order 1) https://github.com/rodamaral/smw-tas#how-to-use (full featured) 2) The script that comes with BizHawk in the Lua folder. 3) https://github.com/TASVideos/BizHawk/blob/1.9.1/output/Lua/SNES/Super%20Mario%20World.lua (very basic, only hitboxes) Or maybe update to BizHawk 2.x
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
natt wrote:
It would be harder to do on something like the SNES because waiting was done with dumb spinning loops, which look more or less the same as all other executed code. Still, some emulators have "idle loop detection", so there probably are heuristics that would work in some cases, and if you were interested in a particular game, identifying that game's idle loops and then using LUA exec hooks might be enough?
It can be done, but in a game by game basis. https://www.youtube.com/watch?v=tD6fCPPmBMA
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
Why don't you ask BizHawk to skip lag frames already? By the way, while judging the movie, the actual loss of frames due to emulation improvement is not a disapproval factor. It has happenned: [2827] SNES Super Mario World "warps" by bahamete, Masterjun, PangaeaPanga in 09:59.85 which beats [1944] SNES Super Mario World "warps" by bahamete, kaizoman666, Mister & PangaeaPanga in 09:57.82
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
rv wrote:
Does BizHawk2.2 generate less lags if i change settings?
You shouldn't choose the emulator that "generates less lag". Lag management is done only during gameplay by avoiding enemies and the like. You're supposed to get the same amount of lag as the actual console (or very close).
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
FractalFusion: you're right. Although some 5th degree polynomials are impossible to solve with radicals (x^5 - x + 1 = 0, for instance), all sin(pi/n) can be solved using the n-th root of the unity. For me there's no point doing that though, or using i in the answer. And if n is a product of zero or more distinct Fermat primes times a power of 2 it's even better: you can express the sin with only square roots (no cubic roots) and arithmetic operations on integers. https://mathoverflow.net/questions/36276/when-is-sinr-pi-expressible-in-radicals-for-r-rational
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
Have you verified whether the ROM is clean? I'm pretty sure I've tested this game. Post here the MD5/SHA1/SHA256 checksum of the file. You can use web services like that and tell us the result https://hash.online-convert.com/sha256-generator EDIT: BizHawk displays a check mark when the ROM is verified too and a question block if not.
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
Yes, the golden ratio appears a lot in the pentagon. It's possible to get the sin/cos/tan of all integers angles (in degrees), because sin(2x) is a 2nd degree function of sin(x) and sin(3x) is a 3rd degree function of sin(x). A table with all values: http://intmstat.com/blog/2011/06/exact-values-sin-degrees.pdf By the way, all the regular polygons with a mersenne fermat prime number of sides (5, 17, 257, ...) can be drawn with ruler and compass. So, something like that can be done (in a much more complicated fashion).
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
There're at least two kinds of copies: http://lua-users.org/wiki/CopyTable
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
Warp wrote:
sin(18°) is famous in that its precise value can be calculated geometrically. If somebody hasn't seen or done it before, perhaps they could give a try.
Let ABCDE be a regular pentagon with side = 1. By playing a little bit, we can get those angles quite easily. Let d = AC, x = GC, y = BF, h = CF. ΔGBC ≅ ΔBCA --> AC/AB = CB/CG --> d/1 = d = 1/x (I) ΔABG is isosceles. Therefore AG = AB = 1. AC = AG + GC --> d = 1 + x (II) By I and II we have: 1/x = 1 + x --> 1 = x + x² --> x² + x - 1 = 0 delta = 5 --> x = (-1 +- sqrt(5))/2 x is positive, so we have x = (sqrt(5) - 1)/2 By II, d = 1 + (sqrt(5) - 1)/2 = (sqrt(5) + 1)/2 (III) By Pythagoras theorem, y² + h² = 1 (IV) By Pythagoras theorem, (1 + y)² + h² = d² Using III: y² + 2y + 1 + h² = (5 + 2*sqrt(5) + 1)/4 (y² + h²) + 1 + 2y = (6 + 2*sqrt(5))/4 Using IV: 2y + 2 = (3 + sqrt(5))/2 2y = (3 + sqrt(5))/2 - 4/2 = (sqrt(5) - 1)/2 y = (sqrt(5) - 1)/4 But, sin(18°) = BF/BC = y/1 = (sqrt(5) - 1)/4
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
When I say SNES RAM can be initialized to basically any value, this is what I mean: here are four different SNES consoles' RAM on power-up: https://twitter.com/byuu_san/status/900466268825939968
Amaraticando
It/Its
Editor, Experienced Forum User, Published Author, Player (158)
Joined: 1/10/2012
Posts: 673
Location: Brazil
If the game is famous, there's probably a discord server for each one. What you have in mind? A google search might reveal what you want.
1 2
5 6 7
26 27