Posts for Bisqwit


Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Here is something I have been working on for the most recent few months. Link to video It is just a programming hobby project. Sure, it can run TASes, but it's just a hobby project. And it's only 940 lines of source code. Examples of it running TASes: ― Rockman TAS by Bisqwit (tasvideos movie 726)Metroid TAS by Lord Tom (tasvideos movie 1144)Part 2/2 which demonstrates this particular revision of the emulator. I only showcase a maximum of 15 minutes long TASes because that's what my account is capped to. But it does sync with e.g. Mega Man 2 by Shinryuu (24 minutes)... It does not have savestates yet. And in fact, it does not even have an UI yet. It reads joypad input from a Famtasia movie file; it does not react to any other inputs. But due to its architecture, adding savestates would be trivial. It does not have many features; for example, iNES mapper 4 support is completely missing so far (which means e.g. SMB3 won't run), but those that are implemented are fairly accurate. It scores fewer failures in Blargg's tests than FCEUX does, for those parts that are implemented (mostly CPU & PPU related tests). The RAM & waveform displays shown on these videos are non-realtime add-ons; they are not part of the 940-line source code.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
la mammal wrote:
Wow. Your gif worked perfectly on me. You must use the exact same ClearType setting as I do. Otherwise I would have spotted it. Well done.
Windows XP default or something. But didn't you spot it? Otherwise you would not have posted.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Dada wrote:
There are some advantages to doing it, though. It simplifies URLs, for one thing. The Internet Archive's URLs can be pretty messy and long. And of course it's much easier to look something up in a database when you have some ID to refer to. In our case it probably wouldn't matter too much, performance wise, because we have only thousands of entries (and not millions of entries, like comments on Reddit for example), but it helps.
No, for the purpose of shortening URLs one should create a shortened URL scheme, spefically linking "this corresponds to this". For example, in one of the projects developed at where I work, both this and this are URLs created with an algorithm that does not expose database-internals. If some day the platform of implementation changes, or the database layout is changed radically, the URLs will still continue to be valid, because they do not expose anything that is in any way tied to how the database works. What we have at TASVideos is just me having been lazy.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
If it were up to me I would suddenly jump to movie in whim just to stop this kind of questions (or make them seem insignificant in comparison) ;-) There is a general development principle that database-internal numbers should not be exposed in public interface. According to that principle, the URLs referring to movies should be like /TAS/SMB1byKlmz/v1 rather than /1330M.html . But the fact is that these numbers are a handy way to refer to individual movies. I would just prefer that people take it as that, a handy way to refer to individual movies, without trying to assign any particular meaning to those numbers; their magnitude or their relative ordering. Yes, the database assigns the number with a certain algorithm, in a successive sequence, but the numbers may also skip, and have irregular sequences depending on a (small) number of issues.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Though the soundscape in this movie is a little bad, especially with the puzzles completed so bad, I remember playing this game once a long time ago (around or prior the time it was published in Finland) and found it very challenging. This TAS is therefore very interesting to watch for a few minutes and very well made. Vote=yes.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
la mammal wrote:
What is the worst word to say?
"I don't care." Well, that's three or four words.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
ledauphinbenoit wrote:
Found answers to the first 2 on page 9. Thank goodness I started looking from page 1 instead of page 72
Good thing you found them: I had to see it myself, as well. I had no idea what my anwers were. I guess I had a rather generic answer. If I had to answer today, I am not sure what my answer would be -- whether it would be different. I've grown fond of the so called "old" testament, i.e. Hebrew writings, lately, and I find usually myself reading more of it than the "new" testament. Just recently I have been fascinated with Ezekiel 20, for instance.
ledauphinbenoit wrote:
What book of the Bible do you think is the most important?
Today, I'd say Genesis. It contains everything important; everything that comes thereafter is already shown in Genesis. Or so I hear -- I am only beginning to find the extent of the veracity of that claim. But I cannot possibly see any other part of it as more important...
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Interesting trivia: The theme song of Jenka, the old hag, is or begins as actually a Finnish traditional song called "letkajenkka", which popularized the rhythm / dance known in Finland as "jenkka".
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Jungon wrote:
I would like to see a "Bubbler" challenge, that weapon is extremely hard to use and to keep level 3... XD
Bubbler is cool, but it requires some backtracking to acquire it in the first place, and secondly, it's not so easy to define which weapons can or can not be used in addition to Bubbler. "Before you acquire Bubbler, use anything at your disposal, but once you get Bubbler, use it and only it" is rather arbitrary. The subtitles in the Youtube video have been fine for me so far.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
I just began playing the game, Cave Story, for the first time, in order to enjoy this TAS. I played until what equals the first 24 minutes of the TAS, and then watched the TAS (until that point, so far). Even with the language difference considered, I can agree that the TAS becomes a whole lot more enjoyable after you've played the game yourself. I can appreciate the work put into it, and how efficient it is. Obvious yes vote. [Edit: Oh, it was published while I was playing. Missed that.]
Post subject: Re: Looking to upgrade my GPU.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Warp wrote:
Uh? It's not the physical size that matters, it's the resolution. Graphics cards support different fullscreen resolutions.
For instance on my laptop, Portal 2 does not allow 640x480 full-screen; does allow it in windowed mode though. EDIT: For the record, I don't see any derailing whatsoever.
Post subject: Re: Looking to upgrade my GPU.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Warp wrote:
That's an endless loop. It's not like they will publish a new card and announce "this is it, this is the last card we will ever publish". There will always be new cards announced immediately after each other.
Wonder if there is a mathematical stable point (equilibrium) between the two curves formed by inconvenience caused by the gadget's age and the inconvenience of knowing how much cheaper you could get the same gadget anew now than when you bought it. Someone should study it.
Post subject: Continuation
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
And the same tale continues.
From: WESTERN UNION TRANSFER <redacted> Reply-To: <redacted> To: undisclosed recipients: ; Subject: YOUR PAYMENT MTCN: 0341153617 Parts/Attachments: 1 Shown ~56 lines Text (charset: UTF-8) 2 OK ~32 lines Text (charset: UTF-8) ---------------------------------------- Attention Beneficiary, We have concluded to effect your payment through western union $5,000. Daily until the total of $950,000.00 is completely transferred. The money is available for pick up which was deposited for transfer to you by UNITED NATION COMPENSATION COMMISSION OF SCAM VICTIMS. The money is available for pick up by receiver (you) but when you track it, it will display PICKED UP due to the fact that it has been deactivated from our head office for security reason because it has stayed too long in the air as we do not have your correct phone number which we would have use it to reach you, so it was blocked. therefore you can not cash it out in any western union office due to its restriction from our head Office, which was a security measure because the money has been in the air for three days now and maybe in danger, hence the mtcn has to b e reactivated to enable you cash out the money in any western union office in your area, the reactivation of the MTCN will cost you a token of $165,once this is paid, our Head Office will release the fund on hold to enable you cash it. To be sure of this please log on to www.westernunion.com And click on track to and enter the sender's info and MTCN below. Hide quoted text - Sender's Fist name: <redacted> Sender's Last Name: <redacted> MTCN: 0341153617 Question: When Answer: Now Amount: $5000.00USD Total Amount To be cashed:$950,000.00 USD. With due respect proceed ahead with this bellow information and send the $165 to us for the reactivation of your payment MTCN as matter of urgency to enable us commernce with your immediate transfer without any kind of delay: Receiver Name <redacted> Country Benin Republic City Cotonou Test Question When Test Answer Now Amount $165usd We are waiting for the Mtcn and sender information to enable us pick it up and finalize the needful arrangement for your transfer to commernce immediately. The Western union Agent: Mr. Godwin Ben Call 00229 9855-6769
I particularly like how it segues from official-looking text into something that looks like SMS speak on first glance, and back, in the same message. It is also interesting how they cut the chase. Instead of going back and forth a few messages luring the victims progressively deeper into the "send-us-some-money-so-we-can-send-you-millions" scheme, this one sets all the cards on the table in the first round. The spurious "hide quoted text" in the middle is also quite random.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
DarkKobold wrote:
Are there any games that have noticeable music slowdown due to lag? I don't remember this ever happening.
Yes, Castlevania 2 and TMNT. EDIT: After watching TASes, I think I may have been mistaken about TMNT both. I wonder why is that. Is it my memory that is at fault is it the emulator(s) that is/are at fault? Or did the authors just do very good job at minimizing the kind of lag that delays even the music? Or is there just a certain kind of lag that produces the music delay, maybe when it has very much PPU data to update (fast scrolling) and not when there is lots of AI to run?
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Patashu wrote:
What's the finest level of quantization the NES can produce music at? Can it only change the tone once per frame or more often than that, and if so how often?
The CPU runs at about 1789800 cycles per second. It takes a minimum of 12 cycles to reprogram the signal generator of one channel for a new wave length. Which means it can be done about 149150 per second. Even if it takes 10 times that (120 cycles), it's still 14915 times per second; an interval of 67 about microseconds. Of course, this is assuming that the program will do absolutely nothing else than reprogram the signal generators in an infinite sequence. Actual games usually update the sound in one of these three places: The NMI, which runs at the same rate as the framerate of the console (about 60.098 per second); the APU-generated IRQ, which is about 60.000 times per second, or in the main code after polling for the NMI flag (60.098 times per second, minus lag).
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Warp wrote:
Given that, unlike RAM, the maximum ROM size on a NES cartridge is absolutely humongous (considering when the NES was released) I don't think that's a problem. (I think some games took up to 4 megabytes. Is that the physical maximum size of a NES cartridge?)
Well, take Rockman 1 cartridge for example (I am well familiar with it). The ROM is divided into eight 16-kilobyte banks, for a total of 128 kilobytes. The address bus from the CPU is 16-bit. (15-bit in practice, because $0000-$7FFF are used for other purposes than ROM.) Address space $C000-$FFFF is always hard-wired to bank 7. The address space $8000-$BFFF can be switched: It can be mapped to any of the eight banks. The mapping can be changed at any time, but doing so requires routing through code that is in the fixed bank ($C000-$FFFF). This is the contents of the eight banks in the Rockman 1 ROM:
  • $8000-$BFFF, bank 0: Level data for Cutman; Wily1.
  • $8000-$BFFF; bank 1: Level data for Iceman; Wily2.
  • $8000-$BFFF; bank 2: Level data for Bombman; Wily3.
  • $8000-$BFFF; bank 3: Level data for Fireman; Wily4.
  • $8000-$8FFF; bank 4: Level data for Elecman; Startup screen data. $9000-$BFFF; bank 4: Music engine; Song data; Sound effect data.
  • $8000-$8FFF; bank 5: Level data for Gutsman, End demo data. $9000-$BFFF; bank 5: Program code.
  • $8000-$BFFF; bank 6: Program code; graphics data.
  • $C000-$FFFF; bank 7: Program code; program data.
For the topic, the relevant bit is in the sound engine. It occupies the memory area $9000-$BFFF (12 kilobytes) of bank 4. The remaining 4 kilobytes of bank 4 is occupied by Elecman level data and startup screen data. The sound engine is limited to one bank for simplicity and speed. Bank switching is expensive, because it requires a lot of operations, and you can only execute about 2273 cycles of code during the NMI (majority of which is spent in updating PPU data for graphics, and during which the music is also updated for reasons of constant playback speed). Within the sound engine, the ROM space is spent as following:
  • $9000-$9990: Program code
  • $9991-$9A5F: Period table (translates a seminote index into a wavelength)
  • $9A60-$9AC5: Song and sound effect data pointers
  • $9AC6-$B897: 16 music tracks (average length: 477 bytes per song: shortest is 149 bytes, longest is 1163 bytes)
  • $B898-$BE3F: 34 sound effect tracks (average length: 45 bytes per sound effect)
  • $BE40-$BFFF: Unused (448 bytes)
Not really humongous. Sure it is not drawn to the last byte, but the space is not really wasted either. Remember that for each ROM chip they had to include in the cartridge, the ROM chip would have to be included in each copy of the cartridge sold, which increases the price. ROM was not cheap back then. For the reference, the sound engine not only has its dedicated nicely encapsulated "module" within the ROM, it also has its dedicated nicely encapsulated region of RAM. It is allocated as follows:
  • $0E0-$0F4: Various pointers and status flags
  • $500-$51E: Status for channel 1 (31 bytes).
  • $51F-$53D: Status for channel 2.
  • $53E-$55C: Status for channel 3.
  • $55D-$57B: Status for channel 4.
The per-channel status includes information such as current pointer to song data; current wavelength; various counters for e.g. vibrato, volume envelope, playback speed and so on.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Re: High speed arpeggios. Arpeggio requires more room from the ROM than no arpeggio. I can immediately think of two ways to implement arpeggio: -- List each alternating note/pitch. If it changes 40 times, list 40 notes. This increases space consumption very rapidly. -- Implement program code to perform arpeggios. Alter the music compression format in a manner that allows expressing arpeggiations. In the music decoder implement program code to detect and dispatch arpeggio commands. Both of these approaches increase the ROM size by a nonzero amount. Also, composers may feel uncomfortable working with arpeggios. Arpeggio introduces a feeling of a rapid rhythm and energy into the song, which may be not what the composer has in mind. Another factor is that compared to many contemporary systems, the NES had relatively a generous number of sound channels (and range), which allows a more natural composing workflow. The composers did not see need for arpeggio tricks; it may have been seen as unprofessional, compared to pure melodic music. Facing these thoughts, room for the music engine was better invested in vibrato functionality than in rapid-arpeggio functionality. Disclaimer: This is entirely unsourced analysis. Super Mario Bros. did use rapid arpeggios, but only in sound effects: The mushroom / grow / shrink / pipe-enter sound effects.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
DarkKobold wrote:
This is a perfect case of Poe's Law related to TASVideos.
Which once again leads to seeing how some perfectly valid was deleted from Wikipedia. Seriously, Wikipedia is doing things wrong.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
NrgSpoon wrote:
WORLD ORDER has released their latest music video.
Well that was matrix-esque.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
They say, it's because the meal produces acids in the mouth, that dissolves some of the minerals of the teeth, which do get reintegrated later. Brushing the teeth during before the remineralization is detrimental to the teeth. But brushing them before the meal does not have that harmful effect.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
AnS wrote:
So you think that TASing is fun even without all those "World record" and other ego boost measures? Lessee if someone agrees with you.
Are you being ironic? Because what you wrote is exactly the message that I taught when I created this site. feos, you wrote in a weird style which kind of implies feelings of a deeper meaning than was actually found in the text. The article was rather devoid of actual content, in my opinion, or maybe I just did not understand what was the big deal and somehow skimmed it. A TAS is about exceeding the expected and delving deep into the unexpected; it is about an aural and visual performance that that increases the appreciation towards the game; it is about entertainment that stimulates the brain in a number of ways. In a similar manner as performance by experienced and well trained dancers is pleasant to look at and increases the appreciation towards the human body as an artistic device and can take the mind to another realm, so does the extremely well choreographed TAS raise appreciation towards the realm of the game, and lead the human mind towards pondering the intricancies of that realm. An unassisted speedrun can do that too, of course. Demo coders and chiptune composers do that, as well, by exceeding the specifications of the platforms they are using, still yet without breaking them. I guess I did not understand the repeatedly made point about superstitions.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Wow, this spam is really meta. "So we hear you were scammed. Good news: You can be reimbursed. Just fall into our scam which is exactly the same type of scam we are notifying you of." Funny details include the mention of torture as means of extracting information.
Date: Fri, 14 Oct 2011 16:10:10 From: European Anti-Fraud <redacted> Reply-To: <redacted> To: undisclosed-recipients: ; Subject: Urgent Reply Needed European Anti-Fraud Office (OLAF) Rue Joseph II, Batiment 30 Bureau 14/72, B-1000 Brussels Attn: fund Inheritance We are dealing with The Advance Fee Fraud section deal mainly with cases of advance fee fraud (commonly called 419) such as obtaining by false pretence through different fraudulent schemes e.g. contract scam, credit card scam, inheritance scam, job scam, loan scam, lottery scam, ?wash? scam (money washing scam), marriage scam. Immigration scam, counterfeiting and religious scam. It also investigates cyber crime cases. This is to officially announce to you that some scam Syndicates were apprehended in Nigeria,USA,London,South Africa,Spain,Malaysia and other listed country in our file few days ago and after several interrogations and tortures your details were among those mentioned by some of the scam Syndicates as one of the victims of their operations. We have recover about (USD$17.9M) SEVENTEEN MILLION NINE HUNDRED THOUSAND DOLLARS and deposit with DEUTSCH BANK ZUERST which will be transferred to your account as soon as you comply and conclude with them. Contact the office through the email address stated below about this notification letter and the transfer of your fund, fill the APPLICATION DETAILS and send to them immediately for the process of your payment. Name:................................................ Other name (s ):....................................... Gender:................................................ Marital status :.......................................... Contact Address:.................................... City / Zip Code :................................ Country :................................................ .. Religion :.............................................. Date of birth :................................... Monthly Income / Yearly Income :................... Occupation :............................................. The Phone House :....................................... Cell Phone :...................................... Bank Details:??????????? Contact Mrs. Elizabeth Bernhard, Email: <redacted> Yours sincerely, Mr. Giovanni Kessler Director-General of the European Anti-Fraud Office (OLAF),
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Lamentations.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Good old Mips! I found it somewhat a nasty stinger that Luigi and Wario, who were not rescued in the movie, did not even appear get to appear in the ending... The only thing missing would have been a pan-out to a room where their skeletons are laying, long forgotten.
Editor, Experienced Forum User, Published Author, Active player (296)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Dwedit wrote:
Illegal instructions. DOP and TOP do nothing, DCP decreases memory, SRE shifts memory right, SLO shifts memory left.
I'm sorry if I step on your territory, but I could provide more accurate information as I'm right now in the process of developing an emulator... RRA = ROR + ADC RLA = ROL + AND ASR = AND + LSR SLO = LSR + ORA SRE = ASR + EOR DCP = DEC + CMP ISB = INC + SBC LAX = LDA + LDX DOP/TOP are indeed aliases to NOP. There are other illegal instructions but they are mostly rather special cases / irregular.