Posts for Bisqwit


Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Awesome work! The ghost script with information was also very entertaining to watch, along with constantly pausing and checking the submission text (which was a bit briefer than I hoped for) for reference.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
For reference, currently TASVideos seems to only have warpless completions of this game. This is the first any%. The non-TAS any% record for this game is 12 minutes and 31 seconds, although it is timed differently. Although technically, my TAS of this game was an any% because it did not qualify for 100% for using one (1) warp. The reason is because back when I made the run, I was not aware that the game has warps, and I ran into one by accident.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
I have not followed this thread, but I assume you are talking from the point of a zipless/glitchless run. The rules I defined in http://tasvideos.org/userfiles/user/Bisqwit (refined from the post at http://tasvideos.org/forum/p/365009#365009) for a glitchless run of Mega Man, original, was to categorically ban any manifestation of player-caused movement of Mega Man faster than he could normally run or walk. Zips that cause him to momentarily move slower are still fine, an example being a collision check instantly zeroing his subpixel component. This includes the example in your post above. The most arguable application of this rule involves ladders. Ladders can instantly zip Mega Man both horizontally and vertically to align with the ladder, and this happens trivially in casual play even. When such movement speed exceeds Mega Man’s jumping speed (as measured by compared to what happens if up/down is not pressed at that moment), it is banned. The underlying guideline behind my rules is to ban any abuse of tradeoffs between the game’s perfect/correct behavior and code size/performance, whether intentional (as in “<developer> Yes, I know it’s not exactly correct, but vast majority of players will never notice anything wrong, and fixing it would increase chances we run out of budget for money, ROM space, or production schedule”) or unintentional (as in “<developer> Oops! The game is not supposed to do that.”).
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Alyosha wrote:
Out of curiousity, what happens when you reset the console?
On the NES version, this happens. (Annotations added)
Language: asm6502

_Reset $FFD0 D8: cld $FFD1 78: sei $FFD2 EE FF FF: inc _data_1FFFF $FFD5 4C 00 C0: jmp Main_ProgramBegin Main_ProgramBegin $C000 AD 02 20: lda $2002 $C003 10 FB: bpl Main_ProgramBegin - $C005 AD 02 20: lda $2002 $C008 10 FB: bpl - ; $C005 $C00A A2 FF: ldx #$FF $C00C 9A: txs $C00D 20 D8 C0: jsr ResetPPUtoKnownState $C010 20 9D C0: jsr ResetAPUtoKnownState $C013 E8: inx ; Sets X = 0 $C014 8A: txa $C015 85 00: sta TempPtr00_lo ; Pointer initialized as $0000 $C017 85 01: sta TempPtr00_hi ; Pointer itself is at $00—$01 $C019 A0 FE: ldy #$FE - $C01B 88: dey $C01C 91 00: sta (TempPtr00_lo),y ; Zero-initialises $00—$FD $C01E D0 FB: bne - ; $C01B $C020 E6 01: inc TempPtr00_hi ; Pointer initialized as $0100 $C022 A0 00: ldy #$00 $C024 A2 08: ldx #$08 - $C026 91 00: sta (TempPtr00_lo),y ; Zero-initializes $100—$7FF $C028 C8: iny $C029 D0 FB: bne - ; $C026 $C02B E6 01: inc TempPtr00_hi $C02D E4 01: cpx TempPtr00_hi $C02F D0 F5: bne - ; $C026 ;… ResetPPUtoKnownState $C0D8 A9 00: lda #$00 $C0DA 8D 06 20: sta $2006 $C0DD 8D 06 20: sta $2006 $C0E0 8D 00 20: sta $2000 $C0E3 8D 01 20: sta $2001 $C0E6 60: rts ResetAPUtoKnownState $C09D A9 0F: lda #$0F $C09F 8D 15 40: sta $4015 $C0A2 A9 C0: lda #$C0 $C0A4 8D 17 40: sta $4017 $C0A7 60: rts
In other words, it unconditionally zero-initializes all RAM except $00FE and $00FF. And sets $01 to #$08, but it will of course do many more memory writes after that. The RAM addresses $FE and $FF store the cached/planned values of registers $2001 and $2000 respectively. During the reset process, they will be initialized to #$1E and #$A8 respectively, before reading. In other words, all RAM addresses will be initialized to a known value before they are read the first time. The FDS version does something similar:
Language: asm6502

00781B A2 FF ldx #$FF 00781D E8 inx 00781E A9 01 lda #$01 007820 85 01 sta $01 007822 8A txa 007823 86 00 stx $00 007825 A0 04 ldy #$04 007827 91 00 sta ($00),y ; Zero-initialize $104—$1FF 007829 C8 iny 00782A D0 FB bne $007827 <Lbl_0077F0+55> 00782C E6 01 inc $01 00782E A6 01 ldx $01 007830 E0 08 cpx #$08 ; Zero-initialize $200-$7FF 007832 D0 F3 bne $007827 <Lbl_0077F0+55> 007834 A0 00 ldy #$00 007836 98 tya 007837 99 00 00 sta $0000,y ; Zero-initialize $00—$F8 00783A C8 iny 00783B C0 F9 cpy #$F9 00783D 90 F8 bcc $007837 <Lbl_0077F0+71> ; RAM init done, launch the game 00783F A9 00 lda #$00 007841 8D 00 07 sta $0700 007844 20 AD 78 jsr $78AD 007847 20 96 BC jsr $BC96 ; Main loop, permute random seed 00784A A5 2E lda $2E 00784C 18 clc 00784D 65 1A adc $1A 00784F 85 2E sta $2E 007851 4C 4A 78 jmp $784A
This is from near the beginning of the DRQ_MAIN module, and according to my understand this is invoked at the reset, when the FDS BIOS passes control to it. Variables $F9—$FF are required by the FDS BIOS if I remember correctly (same purpose as in the USA version; the USA version did a straightforward reimplementation of the same stuff the BIOS does, for ease of porting), and $100—$103 are used by the game for purposes that I do not remember off-hand. Specific to FDS, it is preceded by some code that seems to be able to skip the RAM reset though.
Language: asm6502

.fds_file $05,$01,'DRQ_MAIN', $77F0, 26640, $00 ;Ends at $E000 Lbl_0077F0: 0077F0 A9 C0 lda #$C0 0077F2 8D 00 01 sta $0100 0077F5 A9 80 lda #$80 0077F7 8D 01 01 sta $0101 0077FA A9 00 lda #$00 0077FC 8D 03 01 sta $0103 0077FF AD 02 20 lda $2002 007802 10 FB bpl $0077FF <Lbl_0077F0+15> 007804 AD 02 20 lda $2002 007807 10 FB bpl $007804 <Lbl_0077F0+20> 007809 20 E3 78 jsr $78E3 00780C A9 00 lda #$00 00780E 20 46 BC jsr $BC46 ; What does this subroutine do? If it returns nonzero, instead of RAM reset, a full FDS BIOS reset is performed. 007811 F0 08 beq $00781B <Lbl_0077F0+43> 007813 A9 00 lda #$00 ; Skip 007815 8D 03 01 sta $0103 007818 4C 24 EE jmp $EE24 ; Jumps to FDS BIOS reset routine
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Awesome! An improvement for this game was long overdue, but the previous TAS was so good. But what an improvement. I am glad my favorite weapon of this game got so much screen time this time! Also with the entertainment choices, like collecting money bags, or manipulating randomness to get many consecutive amphoras or rosaries. Clever solutions, like the bump above screen or not using the timestopper with birds. Thank you for playing! You played the greatest role in this story.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Nach wrote:
To me, "meh = I'm not sure".
The original meanings that I outlined [unwritten] were roughly [after I changed the title from “should this movie be published?” to “did you find it entertaining?”]: — Yes = I liked it! I am glad I got to see it. — No = I didn’t like it at all. Remove it from my sight please. — Meh = Passable entertainment, white noise. I mean, it was okay I suppose in some regards, but had I known exactly in advance what I was in for, I would have preferred to see something else, and this is not because I don’t like the game or care about it, it’s just the movie was quite ”meh”.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Nice playing, but unfortunately this video, at its length of about 5:01, fails to demonstrate something very exceptional compared to other TASes, and fails to break the current speedrun record which is currently 04:57.31. I did like some of your actions in the video (such as the walljump in the first coin room), but as a whole this does not meet the site standards.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Nach wrote:
Our submissions are supposed to follow our rules.
I would like to add that new rules do not take effect retroactively. This submission was published somewhere between April 2004 and July 2004.* Here is a snapshot of what the site rules were in June 2004. https://bisqwit.iki.fi/jutut/nesv-old/rules.html EDIT: *) Apparently in April 10th, 2004.
Post subject: Re: Na, Na, Na, Na, Na, Na, Na, Na, Famtasia!
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
fsvgm777 wrote:
BTW, the SRC rules
The whole site, speedrun.com, did not even exist when this submission was created.
Post subject: Re: Na, Na, Na, Na, Na, Na, Na, Na, Famtasia!
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Spikestuff wrote:
Checking over how the input is placed it seems intentional that the input ends after the final hit, but what occurs after such as going straight to the credit sequence without additional input is unknown.
Without submitting a statement concerning what happened with this submission, I will add for the record, that it used to be a practice in the early days of TASVideos ­— and this submission certainly qualifies — that movies do not need to supply all input to advance the ending. Instead, the extra input would be supplied by the publisher. This was possible as long as the necessary input would be trivial, such as in Rygar where you just press a button at any time of your choosing, to flip the page in the ending scene. The purpose of this compromise was to put a line between skillful & speedy performance and a cutscene/ending, so that the ending, which is not part of a skillful & speedy performance, would not have to be fast-forwarded, but could be enjoyed in proper.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
There are people who elect to leave it unspecified.
Post subject: Add a previously unreleased backup site link
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Some archives: — https://bisqwit.iki.fi/jutut/backup-nesvideos.php February 2004 (this is roughly when I began to realize the site is a thing. At this point, the “site” was just one PHP file that included some general-purpose headers from my personal site.) — https://bisqwit.iki.fi/jutut/nesv-old/ June 2004 (shortly before the wiki rewrite. I had begun adding support for SNES & Genesis movies, but I realized the site is quickly becoming an unmaintainable mess if I continue using its then-current code, so I had to rewrite it. I also wanted to shift weight off my email box.) — https://bisqwit.iki.fi/wikisites/tasvideos-aural/ April 1st 2008 (Added aural entertainment) Aside from that April Fools prank, I never did live archives of the site after I converted it into a wiki. This is because there were too many components that would all have to be installed and configured; especially the databases. It was not as simple as just copying a directory. I did make backups of both databases individually, and also of the source code. For the source code, every single one of those backups still exist and are available in my Git repository (the oldest one is 2004-06-05). If the current admins have maintained good repository discipline, they have them too. The initial backups did not contain a copy of the forum software, as it was a stock phpBB2 and I did not think it would be worth it to backup separately. The first commit where I included the forum files was in February 2007. However, as for the databases, I have maintained a different backup policy. I use a rotation system for backups, where I maintain three latest backups, and always delete the oldest one. Because of that, I only have recent backups, not old ones. Nevertheless, the oldest archived database dump for TASVideos that I have, is from August 6 2012, separate from the primary backup system. This is several years after the site was no longer hosted on my server. There is a high likelihood that the database would be incompatible with the earlier source code in more than one way. EDIT: I found more backups. — https://bisqwit.iki.fi/jutut/nesv-old2/site2/ (This is a never-seen-before backup from the wiki site when I was still developing it, before I made it public. Because it pulls data from the 2012 database, there are lots of missing module errors.) There is also a backup of the initial wiki files, from the time before I had built an editing interface for them. I have put them here: http://tasvideos.org/Bisqwit/InitialWikiPages.html
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
MESHUGGAH wrote:
Is that an educational board game?
Othello is a strategy board game. It is also known as Reversi. Rules: — The board consists of 8x8 squares. — There are two players, one is black and the other is white. — The board is preinitialized with two stones of both colors in the center, in a cross-cut pattern. — Each player places a stone in alternating turns. — A new stone may be placed only in an empty square on the board. — If there exists somewhere on the board either another stone of the newly played color, or the board edge, and all squares in a straight line between that spot and the newly played stone (either horizontally, vertically, or diagonally) are occupied by the opponent’s stones, they are changed into the player’s stones (color change). This may happen simultaneously along multiple axis. The process is done only once per turn, i.e. after the turn completes, there may remain X-O-X sequences on the board without the O being flipped to X. — A play that does not result in changes in stone colors is invalid. — The game ends when one of the players is unable to place a new stone on the board such that it would satisfy the aforementioned rules. — When the game ends, the player that has more stones of their own color on the board than the opponent wins. Othello is solved for board sizes 4x4 and 6x6, but for 8x8 it remains unsolved, despite computers having consistently defeated best human players since the 1980s. The Othello 8x8 game tree size is estimated at 10⁵⁴ nodes, and the number of legal positions is estimated at less than 10²⁸.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
This is on an emulator right? Assuming there is no foul play, looks like the setting is prime for an object overflow, much like in the Rockman 1 ACE glitches.
Post subject: Definition of TASVideos
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Disclaimer: I am posting this fully aware that my official role and weight in TASVideos decision making at this point is akin to nothing but a cheerleader. History time! The focus of TASVideos, as I established it, was to provide high-quality videos of flabbergasting superhuman performances in videogames. Within that framework, the primary goal was “videos that people would enjoy watching”. Then, it was Nach, who suggested that I should bring up the community aspect around it — something that I had totally and completely underestimated the value of — and I did. And it has been a core aspect of TASVideos ever since. Both the IRC channel, and the discussion forums. And nowadays, the Discord server. TASVideos welcomed community submissions since day one. As more submissions poured in, it became evident that we need to define the site focus better. A focus on speedruns — performances that attempt to beat the game in absolute minimal time given particular goals — was inevitable; this is one of the few notions that are clearly quantifiable, that is, strictly comparable — able to be judged unambiguously in a lesser-greater order. Nonetheless, speedruns is not what TASVideos is. TASVideos is about entertaining videogame videos. The thing that brings people to this site, and the thing that keeps them coming back, is the expectation to find amazing video releases on the front page. This is the primary publications list. However, there is another factor that emerged at some point. TASVideos is also a one-of-a-kind library. It is the biggest and only website in the world that collects, nurtures and curates tool-assisted speedruns. (This is why I chose an .org domain, or earlier, .info, rather than a .com one.) This brings certain information-preservalist responsibilities. But being a library, and also an entertainment site, means that some of the conflicting responsibilities need clever compromises: We must collect all speedruns, or at least one of each game. We should also collect notable tool-assisted performances that are not speedruns. But we should also keep a high signal-to-noise ratio in terms of entertaining runs. We should also do the best to keep track of history, meaning knowledge of players, knowledge of history of each speedrun and speedrun category, knowledge of game versions that have been played, knowledge of the site itself, and so on. And we should document the findings and research that went into the making of each run, and knowledge that could go into making of future runs. And we should do all this in the highest and most lossless (or near lossless) quality possible. Yet, our files should be most accessible, so as to not exclude people who are behind slow and expensive Internet links or who use old performance-deficient computers: a library is public community service (despite being privately maintained), and it should provide equal access within reasonable limits. Equal access also benefits the entertainment aspect. All these factors contribute into defining what TASVideos is.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Today is day six of the crunchy stuff. We don’t speak of day five.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
I can’t believe you forgot to mention the day of prime product. It was there too! Happy happy.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Well that was unexpected. I would like to see a demonstration of how the sound continues to play even after exiting level or that sorts.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Gotta love Super Mega Kirboid Land games. Impressive that they actually customized an ending screen. These hack makers usually don’t expect anyone to actually beat the game. The TAS seems ok, but the game is quite bleh.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
My favorite part of this run was the aforementioned aspect of normal map music being played for every scene in the ending. I could not get into the specifics of the glitch, but the fact that a mid-save reset was involved somewhat erodes my happiness over this movie. It’s a yes vote, but not an emphatic one.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
I love the fact that you actually caught all the Pokémon instead of just writing all-ones directly into the memory area that lists which Pokémon you have caught — even if the distinction is as subtle as just the Pokéball animation being shown for every ‘mon.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Those crazy Iranians and their wacky architecture! Play looks clean. Video encoding stops abruptly though, one is left wondering what happens next. Why stop here. Even if it returns to the title screen, the fact would have been good to see in the video. Of course this is a problem with the encoding, not with the submitted movie.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Some in-video commentary would be helpful for those who have never seen this game before and have no idea what’s going on.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
The category, defining aspect of the run according to the author is “deathless”. As such, it brings nothing new to the table compared to the currently published SMB TAS, and is almost twice slower. Sorry, you need to be more clever.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Didn’t watch. Didn’t enjoy.