Posts for pirohiko


1 2
7 8
Experienced Forum User, Published Author, Skilled player (1768)
Joined: 5/7/2008
Posts: 187
Location: Japan
ktwo wrote:
Just going to mention this so it has been said. I did check if the new door trick worked on the GB-version as well. I didn't check every single door, but I couldn't get the trick to work on the doors I tried and then assumed this trick had been lost in the conversion.
Apparently, there were no floating secret exits in the First Tower on any console other than the NES and Famicom. Perhaps it's an easter egg from the NES development staff. Anyway, your work is wonderful.
Experienced Forum User, Published Author, Skilled player (1768)
Joined: 5/7/2008
Posts: 187
Location: Japan
You've done a very good job despite the difficult task!
Experienced Forum User, Published Author, Skilled player (1768)
Joined: 5/7/2008
Posts: 187
Location: Japan
I posted a Japanese commentary on the forum. http://tasvideos.org/forum/viewtopic.php?p=505719#505719
Experienced Forum User, Published Author, Skilled player (1768)
Joined: 5/7/2008
Posts: 187
Location: Japan
従来より32階層でのメニューオープンでゲームがフリーズすることが知られていました。 32回の昇降後に単にメニューを開くだけだと"40:RTI"を踏んでしまうため、$0312に到達することが出来ません。
      00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
0300: 10 05 7A 10 06 00 07 0C 05 06 40 40 04 04 30 40
0303:10 06     BPL $030B
030B:40        RTI
しかし予めどこかでメニューを開いていると$0300-$030Fの上書き処理が完了され、$0312に到達できるようになります。
      00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
0300: 10 05 7A 10 06 00 01 13 02 00 80 7A 80 7A 80 00
0303:10 06     BPL $030B
030B:7A        NOP
030C:80 7A     NOP #$7A
030E:80 00     NOP #$00
0310:01 00     ORA ($00,X) @ $0000 = #$00
エンディングシーケンスに移行するにはbank:0Dに切り替える必要がありますが、幸いなことにそれはbank:0Fのカオス戦後のループ処理の中に存在します。
0F:C93A:20 2B E9  JSR $E92B
0F:C93D:A9 0D     LDA #$0D
0F:C93F:20 03 FE  JSR $FE03
0F:C942:20 03 B8  JSR $B803
0F:C945:4C 3A C9  JMP $C93A
このループのどこかに飛ぶことが出来ればカオスを呼び出すことなくゲームを終えることが可能ですが、0xC9や0x44以下の文字は登録できない上に7byteしか自由に使えないので非常に困難です。 そこで、スタックに既に積まれている0xC9を再利用し、0x38-0x44の値を"48:PHA"でプッシュすれば"60:RTS"でエンディングシーケンスへリターンすることが可能になります。 条件を満たすためには A = X = 0x38 or 0x3F に3byte、"9A:TXS(SP=X)"に1byte、"48:PHA"に1byte、0x5C-0x6Fが使用不能文字なので"60:RTS"を含んでいるアドレスにジャンプするために"4C:JMP $****"で3byte、合計8byteが必要になります。 残念なことに1byte足りないので無理やり捻出する事を考えます。 "48:PHA"からはじまり"60:RTS"で終わるサブルーチンがあれば1byteを削減できるので、探した結果ふたつの名前が候補に上がりました。 4人目の名前は「ちごあゆ」か「ちごにむ」のどちらかが使え、入力が楽なのは前者ですがムービーの最後に入力が余計に必要になるのでTASには向きません。 2人目の名前には "AF:LAX $****" という illegal opcode を使います、これにより37*2種類の候補の名前からカーソル移動の一番少ないものを選択できます。 「よるえき」という文字がカーソル移動10回で済むので、多分これが一番早いと思います。
      00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
0300: 10 05 7A 10 06 00 01 13 02 00 80 7A 80 7A 80 00 
0310: 01 00 AF B2 8D 90 15 0C 13 06 B0 40 12 04 A0 40 
0320: 02 00 4C 51 50 55 07 18 05 12 40 A0 04 10 30 A0
0330: 03 00 9A 4C 9F AA 15 18 13 12 B0 A0 12 10 A0 A0
$0310:01 00     ORA ($00,X) @ $0000 = #$00 A:05 X:05 Y:0E S:11 P:nvubdIzc
$0312:AF B2 8D  LAX $8DB2 = #$38           A:05 X:05 Y:0E S:11 P:nvubdIzc -- A = X = #$38 
$0315:90 15     BCC $032C                  A:38 X:38 Y:0E S:11 P:nvubdIzc 
$032C:04 A0     NOP $A0                    A:38 X:38 Y:0E S:11 P:nvubdIzc
$032E:30 A0     BMI $02D0                  A:38 X:38 Y:0E S:11 P:nvubdIzc
$0330:03        ASO ($00,X) @ $010B = #$00 A:38 X:38 Y:0E S:11 P:nvubdIzc -- * Be careful *
$0332:9A        TXS                        A:38 X:38 Y:0E S:11 P:nvubdIzc -- SP = X
$0333:4C 9F AA  JMP $AA9F                  A:38 X:38 Y:0E S:38 P:nvubdIzc
$AA9F:48        PHA                        A:38 X:38 Y:0E S:38 P:nvubdIzc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$FE2D:60        RTS                        A:00 X:EF Y:00 S:37 P:nvubdIZC
$C939:0E 20 2B  ASL $2B20 = #$08           A:00 X:EF Y:00 S:39 P:nvubdIZC -- Wrong address
$C93C:E9 A9     SBC #$A9                   A:00 X:EF Y:00 S:39 P:nvubdIZc
$C93E:0D 20 03  ORA $0320 = #$02           A:56 X:EF Y:00 S:39 P:nvubdIzc
$C941:FE 20 03  INC $0320,X @ $040F = #$00 A:56 X:EF Y:00 S:39 P:nvubdIzc
$C944:B8        CLV                        A:56 X:EF Y:00 S:39 P:nvubdIzc
$C945:4C 3A C9  JMP $C93A                  A:56 X:EF Y:00 S:39 P:nvubdIzc

$C93A:20 2B E9  JSR $E92B                  A:56 X:EF Y:00 S:39 P:nvubdIzc -- Correct address
$C93D:A9 0D     LDA #$0D                   A:FF X:00 Y:00 S:39 P:nvubdIZC 
$C93F:20 03 FE  JSR $FE03                  A:0D X:00 Y:00 S:39 P:nvubdIzC -- Bank Change
$C942:20 03 B8  JSR $B803                  A:00 X:00 Y:00 S:39 P:nvubdIZC -- Ending Sequence
ここで注意が必要なのは、4人目の職業が赤魔道士[03]の場合Aの値が$010Bの値とAの論理和になるが、$010Bはエミュレータの初期化パターンによって#$00になっている。 $010Bの初期値はコンソールによって個体差があるので白魔道士[04]でなければ成功しない事がある。
Stack 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
0100: FF 00 00 00 FF FF FF FF 00 00 00 00 FF FF 68 E1
0110: 02 03 0E BA 62 B8 EB AD 45 CA F6 C8 92 C9 01 18
0120: 00 0B 05 92 C9 01 08 00 0B 05 92 C9 01 18 00 0B
0130: 05 92 C9 01 08 00 0B 05 92 C9 01 18 00 0B 05 92
Character List
8A 8B 8C 8D 8E 48 49 4A 4B 4C
 あ い う え お   が ぎ ぐ げ ご
8F 90 91 92 93 4D 4E 4F 50 51
 か き く け こ   ざ じ ず ぜ ぞ
94 95 96 97 98 52 53 54 55 56
 さ し す せ そ   だ ぢ づ で ど
99 9A 9B 9C 9D 57 58 59 5A 5B
 た ち つ て と   ば び ぶ べ ぼ
9E 9F A0 A1 A2 70 71 72 73 74
 な に ぬ ね の   ぱ ぴ ぷ ぺ ぽ
A3 A4 A5 A6 A7 7C 7D 7E 7F B9
 は ひ ふ へ ほ   ゃ ゅ ょ っ 。
A8 A9 AA AB AC 80 81 82 83 84
 ま み む め も   0 1 2 3 4
AD AE AF B0 B1 85 86 87 88 89
 ら り る れ ろ   5 6 7 8 9
B2 B3 B4 B5 B6 C2 C4 C5 C3 FF
 や ゆ よ わ ん   - ! ? ‥  
Experienced Forum User, Published Author, Skilled player (1768)
Joined: 5/7/2008
Posts: 187
Location: Japan
Spikestuff wrote:
While the author writes up information: Link to video Claiming for Publication. Edit: Did the thing again. - Free frame cause Hawk (which we don't talk about). - Patched up character naming. Requesting co-author again I guess.
"ご" should be "ULULU" instead of "LULU / U".
Experienced Forum User, Published Author, Skilled player (1768)
Joined: 5/7/2008
Posts: 187
Location: Japan
This video was created using the Lua script built into Aviutl's ExEdit. Reading the frame data is troublesome, but the clipped MAP, etc. works with the following simple script. Map Script
x =  w[0xAd8]
y =  w[0xAd9]
if(w[0xAD8]==0 or w[0xAD6]==24) then
    p = 0x5d8+0x700*s[0x1fe0]
    x = s[p]
    y = s[p+1]
elseif(w[0xAd6] ~=0 ) then
    x = w[0xAF7]
    y = w[0xAF8]
end
obj.ox = -8*x
obj.oy = -8*y
Save1 Script
local x1 = s[0x5d8+0x700*1] - x
local y1 = s[0x5d9+0x700*1] - y
obj.ox = x1*8
obj.oy = y1*8
https://drive.google.com/open?id=1ZuUlLbY7h02zmwxqH-KR9yri5spAwpkp
Experienced Forum User, Published Author, Skilled player (1768)
Joined: 5/7/2008
Posts: 187
Location: Japan
I wanted this!!!! Yes vote!!
Experienced Forum User, Published Author, Skilled player (1768)
Joined: 5/7/2008
Posts: 187
Location: Japan
Great improvement 😂
Experienced Forum User, Published Author, Skilled player (1768)
Joined: 5/7/2008
Posts: 187
Location: Japan
It's an awesome RNG manip! By the way, SubNESHawk which can subframe input has been developed recently. I examined it and found that there were two input responses per frame. As a result, the cursor can be moved continuously once every frame. I tried that and made "Arbitrary Code Execution" of Dragon Quest IV. http://tasvideos.org/forum/viewtopic.php?p=481230#481230
Experienced Forum User, Published Author, Skilled player (1768)
Joined: 5/7/2008
Posts: 187
Location: Japan
I wrote a detailed comment in Japanese. https://ch.nicovideo.jp/TAS/blomaga/ar1622972
$6A21: 20 EC C8    JSR $C8EC      Jump to subroutine to get 2 pads and update 16 bits of $14.
$6A24: 4B 4B       ALR #$4B       A register AND #$4B, A = shift right A.
$6A26: A8          TAY            Transfer A register to Y register.
$6A27: D3 14       DCM ($14),Y    Decrement the 16-bit indirect address destination with two pads.
$6A29: 4B 4B       ALR #$4B
$6A2B: 4B 00       ALR #$00
$6A2D: 20 21 6A    JSR $6A21      Jump to $6A21
$6921: 49 1A       EOR #$1A       A = A XOR 0x1A
$6923: 20 91 FF    JSR $FF91      $FF91 is Bank switching subroutine.
$6926: 20 FC 98    JSR $98FC      Jump to the ending event in bank 0x1A
Experienced Forum User, Published Author, Skilled player (1768)
Joined: 5/7/2008
Posts: 187
Location: Japan
I made Dragon Quest IV "Arbitrary Code Execution". http://tasvideos.org/userfiles/info/53190376578410193 Link to video
Experienced Forum User, Published Author, Skilled player (1768)
Joined: 5/7/2008
Posts: 187
Location: Japan
I remembered "About the luck manipulation" of this movie. http://tasvideos.org/forum/viewtopic.php?t=9190
Experienced Forum User, Published Author, Skilled player (1768)
Joined: 5/7/2008
Posts: 187
Location: Japan
Experienced Forum User, Published Author, Skilled player (1768)
Joined: 5/7/2008
Posts: 187
Location: Japan
I agree. 207 frames were saved according to the setting of NoMemryCards / 2 Controllers. There were 2 frame updates on the title screen, but they were absorbed by lag or frame rules. RNG has become the same as the previous movie from Stage 6. I finished one frame earlier than the previous movie by adjusting the in-game frame counter. http://tasvideos.org/userfiles/info/52171968936863291
Experienced Forum User, Published Author, Skilled player (1768)
Joined: 5/7/2008
Posts: 187
Location: Japan
I forgot the memory cards setting. I will remake it.
Experienced Forum User, Published Author, Skilled player (1768)
Joined: 5/7/2008
Posts: 187
Location: Japan
Details added.
Experienced Forum User, Published Author, Skilled player (1768)
Joined: 5/7/2008
Posts: 187
Location: Japan
A second controller is using only once to reduce 1 frame in choice of an option mode.
Experienced Forum User, Published Author, Skilled player (1768)
Joined: 5/7/2008
Posts: 187
Location: Japan
grassini wrote:
guardian zombie skip is the same as onett skip technique applied with those 2 zombies?
There is one trash box, two zombies and two transparent barriers on the screen there. Since the maximum generation number of enemies is 10, we need to lead NPC that makes random walk. Even though it is possible, Nightmare will be difficult if Paula does not exist. By the way, if you use the bug that subtracts the present value of the number of enemies twice in the next map by the number of enemies that were on the screen at the moment of the map change, you can generate 10 or more enemies, but in the tunnel We can only get one butterfly.
Experienced Forum User, Published Author, Skilled player (1768)
Joined: 5/7/2008
Posts: 187
Location: Japan
Basically, the above flag is necessary. You can skip the rest in the stairs glitch, but you need to run to the Jeff's part for the stairs glitch. In the past we only skipped Twoson, but now we have "Onett skip" and "Winters skip". Threed's guardian zombie skip may be possible although it is very difficult.
Experienced Forum User, Published Author, Skilled player (1768)
Joined: 5/7/2008
Posts: 187
Location: Japan
If you run it with your hand, eating a sandwich after being caught in a deep position on an oblique wall is relatively fast. Link to video
Experienced Forum User, Published Author, Skilled player (1768)
Joined: 5/7/2008
Posts: 187
Location: Japan
Thanks brunovalads!! When the sprite exceeds the 22nd, it is overwritten by the 1st sprite. Link to video Link to video Link to video MOTHER 2 Lua Script https://pastebin.com/eHDyPHEt
Experienced Forum User, Published Author, Skilled player (1768)
Joined: 5/7/2008
Posts: 187
Location: Japan
I examined whether you could pass the west side of Winters. When Ness moves slantingly at the time of use of a skip sandwich, a sub-pixel decreases a little by multiplication arithmetic error, and he moves to the upper left a little. Link to video
Experienced Forum User, Published Author, Skilled player (1768)
Joined: 5/7/2008
Posts: 187
Location: Japan
The ID of debug room seems to be 0x0000.
Experienced Forum User, Published Author, Skilled player (1768)
Joined: 5/7/2008
Posts: 187
Location: Japan
I added detailed routes and updated texts.
Experienced Forum User, Published Author, Skilled player (1768)
Joined: 5/7/2008
Posts: 187
Location: Japan
I like subframe resets.
1 2
7 8