Stock mvsc Euro 980123: selected 68000 instruction excerpts

Source identity: chun-li/provenance.json in the downloadable archive, also
published as /blog/mvsc-mash/evidence/provenance.json. These are CPU addresses
in the decrypted opcode view, not patch offsets in a ROM member. The bytes
shown are decrypted instructions. Ordinary absolute ROM data requires the
data view. Addresses below $080000 belong to program ROM03; $080000-$0FFFFF
belong to ROM04. Runtime fields such as fighter+$D4 are RAM, not chip offsets.

Fragments intentionally omit surrounding setup, gates and cleanup. See the
associated receipts and runtime logs for reachability and scope. No full ROM
or full linear disassembly is included.

## Input edge construction ($0136BC)
$0136BC  46 41                    not.w      d1
$0136BE  c0 41                    and.w      d1, d0
$0136C0  3d 40 00 d4              move.w     d0, $d4(a6)
$0136C4  3d 40 00 da              move.w     d0, $da(a6)

## Common direction / attack helpers ($01A3A8)
$01A3A8  4a 2e 00 03              tst.b      $3(a6)
$01A3AC  67 00 00 62              beq.w      $1a410
$01A3B0  4a 2e 02 b9              tst.b      $2b9(a6)
$01A3B4  66 10                    bne.b      $1a3c6
$01A3B6  30 2e 00 d4              move.w     $d4(a6), d0
$01A3BA  02 40 00 0f              andi.w     #$f, d0
$01A3BE  67 06                    beq.b      $1a3c6
$01A3C0  00 3c 00 01              ori.b      #$1, ccr
$01A3C4  4e 75                    rts
$01A3C6  02 3c 00 fe              andi.b     #$fe, ccr
$01A3CA  4e 75                    rts
$01A3CC  4a 2e 00 03              tst.b      $3(a6)
$01A3D0  67 3e                    beq.b      $1a410
$01A3D2  4a 2e 02 b9              tst.b      $2b9(a6)
$01A3D6  66 10                    bne.b      $1a3e8
$01A3D8  30 2e 00 d4              move.w     $d4(a6), d0
$01A3DC  02 40 07 70              andi.w     #$770, d0
$01A3E0  67 06                    beq.b      $1a3e8
$01A3E2  00 3c 00 01              ori.b      #$1, ccr
$01A3E6  4e 75                    rts
$01A3E8  02 3c 00 fe              andi.b     #$fe, ccr
$01A3EC  4e 75                    rts

## Gold Proton Cannon: timer initialization ($02A8E2)
$02A8E2  1d 7c 00 60 00 4e        move.b     #$60, $4e(a6)
$02A8E8  42 2e 00 4f              clr.b      $4f(a6)
$02A8EC  42 2e 00 50              clr.b      $50(a6)

## Gold Proton Cannon: missile cadence ($02A90E)
$02A90E  52 2e 00 50              addq.b     #$1, $50(a6)
$02A912  10 2e 00 50              move.b     $50(a6), d0
$02A916  12 00                    move.b     d0, d1
$02A918  02 00 00 03              andi.b     #$3, d0
$02A91C  66 10                    bne.b      $2a92e
$02A91E  e4 09                    lsr.b      #$2, d1
$02A920  02 01 00 03              andi.b     #$3, d1
$02A924  10 3c 00 0e              move.b     #$e, d0
$02A928  4e b9 00 09 4d 7a        jsr        $94d7a.l

## Gold Proton Cannon: countdown ($02A944)
$02A944  53 2e 00 4e              subq.b     #$1, $4e(a6)
$02A948  66 00 e9 e0              bne.w      $2932a

## Gold Proton Cannon: new direction reimburses one tick ($02A9CA)
$02A9CA  4a 2e 00 03              tst.b      $3(a6)
$02A9CE  67 0c                    beq.b      $2a9dc
$02A9D0  4e b9 00 01 a3 a8        jsr        $1a3a8.l
$02A9D6  64 04                    bcc.b      $2a9dc
$02A9D8  52 2e 00 4e              addq.b     #$1, $4e(a6)
$02A9DC  4e 75                    rts

## Ryu beam: mash credits ($0478FE)
$0478FE  70 0c                    moveq      #$c, d0
$047900  4a 2e 00 03              tst.b      $3(a6)
$047904  66 02                    bne.b      $47908
$047906  70 18                    moveq      #$18, d0
$047908  3d 40 03 82              move.w     d0, $382(a6)

## Ryu beam: active timer ($047926)
$047926  3d 7c 00 40 00 4e        move.w     #$40, $4e(a6)

## Ryu beam: spend credit or decrement timer ($047AB0)
$047AB0  4a 6e 03 82              tst.w      $382(a6)
$047AB4  67 0e                    beq.b      $47ac4
$047AB6  4e b9 00 01 a3 cc        jsr        $1a3cc.l
$047ABC  64 06                    bcc.b      $47ac4
$047ABE  53 6e 03 82              subq.w     #$1, $382(a6)
$047AC2  60 1e                    bra.b      $47ae2
$047AC4  53 6e 00 4e              subq.w     #$1, $4e(a6)
$047AC8  66 18                    bne.b      $47ae2
$047ACA  54 6e 00 08              addq.w     #$2, $8(a6)
$047ACE  70 2e                    moveq      #$2e, d0
$047AD0  72 0a                    moveq      #$a, d1
$047AD2  0c 2e 00 04 00 b4        cmpi.b     #$4, $b4(a6)
$047AD8  66 02                    bne.b      $47adc
$047ADA  72 0e                    moveq      #$e, d1
$047ADC  4e f9 00 01 35 e6        jmp        $135e6.l
$047AE2  4e f9 00 00 1d d8        jmp        $1dd8.l

## Ken-mode Shinryuken: new press accelerates animation ($048428)
$048428  30 2e 00 d4              move.w     $d4(a6), d0
$04842C  02 40 07 70              andi.w     #$770, d0
$048430  67 06                    beq.b      $48438
$048432  3d 7c 00 01 00 3e        move.w     #$1, $3e(a6)
$048438  4e b9 00 00 1d d8        jsr        $1dd8.l

## Kikosho: initialize budget ($04E2A4)
$04E2A4  3d 7c 00 08 03 98        move.w     #$8, $398(a6)
$04E2AA  70 2e                    moveq      #$2e, d0

## Kikosho: add repeat to child object ($04E2F4)
$04E2F4  4a 6e 03 98              tst.w      $398(a6)
$04E2F8  67 1e                    beq.b      $4e318
$04E2FA  4e b9 00 01 a3 cc        jsr        $1a3cc.l
$04E300  64 16                    bcc.b      $4e318
$04E302  53 6e 03 98              subq.w     #$1, $398(a6)
$04E306  30 2e 03 98              move.w     $398(a6), d0
$04E30A  02 40 00 01              andi.w     #$1, d0
$04E30E  66 08                    bne.b      $4e318
$04E310  20 6e 03 92              movea.l    $392(a6), a0
$04E314  52 68 00 50              addq.w     #$1, $50(a0)
$04E318  4e 75                    rts

## Kikosho child: initial repeats ($0986FA)
$0986FA  3d 7c 00 08 00 50        move.w     #$8, $50(a6)
$098700  1d 7c 00 40 00 80        move.b     #$40, $80(a6)

## Kikosho child: rearm attack and consume repeat ($09879A)
$09879A  32 3c 00 40              move.w     #$40, d1
$09879E  0c 6e 00 01 00 50        cmpi.w     #$1, $50(a6)
$0987A4  66 04                    bne.b      $987aa
$0987A6  32 3c 00 41              move.w     #$41, d1
$0987AA  1d 41 00 80              move.b     d1, $80(a6)
$0987AE  42 2e 00 84              clr.b      $84(a6)
$0987B2  42 2e 00 86              clr.b      $86(a6)
$0987B6  4a 2e 00 02              tst.b      $2(a6)
$0987BA  66 06                    bne.b      $987c2
$0987BC  52 6d c0 26              addq.w     #$1, -$3fda(a5)
$0987C0  60 04                    bra.b      $987c6
$0987C2  52 6d c0 28              addq.w     #$1, -$3fd8(a5)
$0987C6  61 00 00 3c              bsr.w      $98804
$0987CA  53 6e 00 50              subq.w     #$1, $50(a6)
$0987CE  64 22                    bcc.b      $987f2
$0987D0  54 6e 00 04              addq.w     #$2, $4(a6)

## Senretsukyaku: human / CPU budget and timer ($04E348)
$04E348  3d 7c 00 3c 03 98        move.w     #$3c, $398(a6)
$04E34E  4a 2e 00 03              tst.b      $3(a6)
$04E352  66 06                    bne.b      $4e35a
$04E354  3d 7c 00 14 03 98        move.w     #$14, $398(a6)
$04E35A  3d 7c 00 3c 00 4e        move.w     #$3c, $4e(a6)

## Senretsukyaku: skip decrement on accepted press ($04E440)
$04E440  4a 6e 03 98              tst.w      $398(a6)
$04E444  67 0e                    beq.b      $4e454
$04E446  4e b9 00 01 a3 cc        jsr        $1a3cc.l
$04E44C  64 06                    bcc.b      $4e454
$04E44E  53 6e 03 98              subq.w     #$1, $398(a6)
$04E452  4e 75                    rts
$04E454  53 6e 00 4e              subq.w     #$1, $4e(a6)
$04E458  66 2c                    bne.b      $4e486
$04E45A  54 6e 00 08              addq.w     #$2, $8(a6)

## Hulk Gamma Wave: fixed child cadence ($09F596)
$09F596  53 2e 00 4e              subq.b     #$1, $4e(a6)
$09F59A  66 00 fe 9c              bne.w      $9f438
$09F59E  1d 7c 00 0a 00 4e        move.b     #$a, $4e(a6)
$09F5A4  60 00 fe 94              bra.w      $9f43a

## Hulk Gamma Quake: 48-update timer ($0A96DA)
$0A96DA  1d 7c 00 30 00 4e        move.b     #$30, $4e(a6)

## Hulk Gamma Quake: eleven scheduled rocks ($0A96F6)
$0A96F6  53 2e 00 4e              subq.b     #$1, $4e(a6)
$0A96FA  67 20                    beq.b      $a971c
$0A96FC  10 2e 00 4e              move.b     $4e(a6), d0
$0A9700  02 00 00 03              andi.b     #$3, d0
$0A9704  66 00 fe ea              bne.w      $a95f0
$0A9708  52 2e 00 4f              addq.b     #$1, $4f(a6)
$0A970C  02 2e 00 01 00 4f        andi.b     #$1, $4f(a6)
$0A9712  12 2e 00 4f              move.b     $4f(a6), d1
$0A9716  70 02                    moveq      #$2, d0
$0A9718  60 00 fe d8              bra.w      $a95f2

## Hulk Gamma Crush: held direction chooses trajectory ($031C4C)
$031C4C  10 2e 01 50              move.b     $150(a6), d0
$031C50  4a 2e 00 03              tst.b      $3(a6)
$031C54  67 04                    beq.b      $31c5a
$031C56  10 2e 00 d7              move.b     $d7(a6), d0
$031C5A  12 00                    move.b     d0, d1
$031C5C  02 01 00 02              andi.b     #$2, d1
$031C60  67 06                    beq.b      $31c68
$031C62  42 6e 03 80              clr.w      $380(a6)
$031C66  4e 75                    rts
$031C68  12 00                    move.b     d0, d1
$031C6A  02 01 00 01              andi.b     #$1, d1
$031C6E  67 08                    beq.b      $31c78
$031C70  3d 7c 00 02 03 80        move.w     #$2, $380(a6)
$031C76  4e 75                    rts
$031C78  12 00                    move.b     d0, d1
$031C7A  02 01 00 0f              andi.b     #$f, d1
$031C7E  67 08                    beq.b      $31c88
$031C80  3d 7c 00 04 03 80        move.w     #$4, $380(a6)
$031C86  4e 75                    rts
$031C88  20 6e 00 c0              movea.l    $c0(a6), a0
$031C8C  30 28 00 0c              move.w     $c(a0), d0

## Wolverine Berserker Barrage: punch continuation latch ($0352CA)
$0352CA  4a 2e 00 4f              tst.b      $4f(a6)
$0352CE  6e 18                    bgt.b      $352e8
$0352D0  0c 2e 00 01 00 4e        cmpi.b     #$1, $4e(a6)
$0352D6  6f 10                    ble.b      $352e8
$0352D8  30 2e 00 d4              move.w     $d4(a6), d0
$0352DC  02 40 00 70              andi.w     #$70, d0
$0352E0  67 00 00 06              beq.w      $352e8
$0352E4  50 ee 00 4f              st.b       $4f(a6)
$0352E8  4e 75                    rts
$0352EA  53 2e 00 4e              subq.b     #$1, $4e(a6)
$0352EE  6b 40                    bmi.b      $35330
$0352F0  7c 02                    moveq      #$2, d6
$0352F2  0a 2e 00 01 00 50        eori.b     #$1, $50(a6)
$0352F8  66 0e                    bne.b      $35308
$0352FA  7c 00                    moveq      #$0, d6
$0352FC  4a 2e 00 03              tst.b      $3(a6)
$035300  67 06                    beq.b      $35308
$035302  4a 2e 00 4f              tst.b      $4f(a6)
$035306  6a 28                    bpl.b      $35330
$035308  61 00 03 52              bsr.w      $3565c

## Wolverine Tornado Claw: current or buffered punches ($034A8E)
$034A8E  34 2e 00 d4              move.w     $d4(a6), d2
$034A92  84 6e 00 de              or.w       $de(a6), d2
$034A96  02 42 00 70              andi.w     #$70, d2
$034A9A  67 0a                    beq.b      $34aa6
$034A9C  3d 7c 00 01 00 4e        move.w     #$1, $4e(a6)

## Morrigan Soul Eraser: direction flag and limited button extension ($05FD96)
$05FD96  42 2e 03 90              clr.b      $390(a6)
$05FD9A  4e b9 00 01 a3 a8        jsr        $1a3a8.l
$05FDA0  64 0a                    bcc.b      $5fdac
$05FDA2  4a 2e 00 03              tst.b      $3(a6)
$05FDA6  67 04                    beq.b      $5fdac
$05FDA8  50 ee 03 90              st.b       $390(a6)
$05FDAC  4e b9 00 01 a3 cc        jsr        $1a3cc.l
$05FDB2  64 14                    bcc.b      $5fdc8
$05FDB4  4a 2e 00 03              tst.b      $3(a6)
$05FDB8  67 0e                    beq.b      $5fdc8
$05FDBA  4a 2e 03 91              tst.b      $391(a6)
$05FDBE  67 08                    beq.b      $5fdc8
$05FDC0  53 2e 03 91              subq.b     #$1, $391(a6)
$05FDC4  52 6e 00 4e              addq.w     #$1, $4e(a6)

## Morrigan satellites: direction flag doubles orbit step ($081298)
$081298  10 2e 00 bc              move.b     $bc(a6), d0
$08129C  d1 2e 00 4c              add.b      d0, $4c(a6)
$0812A0  20 6e 00 54              movea.l    $54(a6), a0
$0812A4  4a 28 03 90              tst.b      $390(a0)
$0812A8  67 04                    beq.b      $812ae
$0812AA  d1 2e 00 4c              add.b      d0, $4c(a6)

## Shadow Lady Big Bang Laser: budget and countdown ($06AC5C)
$06AC5C  4a 6e 03 98              tst.w      $398(a6)
$06AC60  67 10                    beq.b      $6ac72
$06AC62  4e b9 00 01 a3 cc        jsr        $1a3cc.l
$06AC68  64 08                    bcc.b      $6ac72
$06AC6A  53 6e 03 98              subq.w     #$1, $398(a6)
$06AC6E  60 00 00 1a              bra.w      $6ac8a
$06AC72  53 6e 00 4e              subq.w     #$1, $4e(a6)
$06AC76  64 12                    bcc.b      $6ac8a
$06AC78  54 6e 00 08              addq.w     #$2, $8(a6)

## Hyper Mega Man: accelerated emission schedule ($06455E)
$06455E  53 6e 00 50              subq.w     #$1, $50(a6)
$064562  67 1e                    beq.b      $64582
$064564  4e b9 00 01 a3 cc        jsr        $1a3cc.l
$06456A  64 36                    bcc.b      $645a2
$06456C  52 2e 03 ad              addq.b     #$1, $3ad(a6)
$064570  0c 2e 00 01 03 ad        cmpi.b     #$1, $3ad(a6)
$064576  6d 2a                    blt.b      $645a2
$064578  42 2e 03 ad              clr.b      $3ad(a6)
$06457C  59 6e 00 50              subq.w     #$4, $50(a6)
$064580  6e 20                    bgt.b      $645a2
$064582  32 2e 00 0a              move.w     $a(a6), d1
$064586  30 3b 10 1c              move.w     $645a4(pc, d1.w), d0
$06458A  0c 40 ff ff              cmpi.w     #$ffff, d0
$06458E  67 12                    beq.b      $645a2
$064590  58 6e 00 0a              addq.w     #$4, $a(a6)
$064594  4e b9 00 0a 86 0e        jsr        $a860e.l

## Hyper Roll: accelerated emission schedule ($042E56)
$042E56  53 6e 00 50              subq.w     #$1, $50(a6)
$042E5A  67 1e                    beq.b      $42e7a
$042E5C  4e b9 00 01 a3 cc        jsr        $1a3cc.l
$042E62  64 36                    bcc.b      $42e9a
$042E64  52 2e 03 ad              addq.b     #$1, $3ad(a6)
$042E68  0c 2e 00 01 03 ad        cmpi.b     #$1, $3ad(a6)
$042E6E  6d 2a                    blt.b      $42e9a
$042E70  42 2e 03 ad              clr.b      $3ad(a6)
$042E74  59 6e 00 50              subq.w     #$4, $50(a6)
$042E78  6e 20                    bgt.b      $42e9a
$042E7A  32 2e 00 0a              move.w     $a(a6), d1
$042E7E  30 3b 10 1c              move.w     $42e9c(pc, d1.w), d0
$042E82  0c 40 ff ff              cmpi.w     #$ffff, d0
$042E86  67 12                    beq.b      $42e9a
$042E88  58 6e 00 0a              addq.w     #$4, $a(a6)
$042E8C  4e b9 00 0a ca ea        jsr        $acaea.l

## Venom Web Throw: 22 events buy an animation loop ($03B03A)
$03B03A  30 2e 00 da              move.w     $da(a6), d0
$03B03E  02 40 00 7f              andi.w     #$7f, d0
$03B042  67 0c                    beq.b      $3b050
$03B044  53 2e 00 51              subq.b     #$1, $51(a6)
$03B048  66 06                    bne.b      $3b050
$03B04A  3d 7c 01 ff 00 50        move.w     #$1ff, $50(a6)
$03B050  4e 75                    rts

## Red Venom Web Throw: corresponding threshold ($067F16)
$067F16  30 2e 00 da              move.w     $da(a6), d0
$067F1A  02 40 00 7f              andi.w     #$7f, d0
$067F1E  67 0c                    beq.b      $67f2c
$067F20  53 2e 00 51              subq.b     #$1, $51(a6)
$067F24  66 06                    bne.b      $67f2c
$067F26  3d 7c 01 ff 00 50        move.w     #$1ff, $50(a6)
$067F2C  4e 75                    rts

## Red Venom Venom Rush: accumulate kicks and repeat ($068024)
$068024  30 2e 00 d4              move.w     $d4(a6), d0
$068028  81 6e 03 98              or.w       d0, $398(a6)
$06802C  4e 75                    rts
$06802E  72 ff                    moveq      #$ff, d1
$068030  30 2e 00 d4              move.w     $d4(a6), d0
$068034  80 6e 00 de              or.w       $de(a6), d0
$068038  80 6e 03 98              or.w       $398(a6), d0
$06803C  02 40 07 00              andi.w     #$700, d0
$068040  67 20                    beq.b      $68062
$068042  52 2e 00 50              addq.b     #$1, $50(a6)
$068046  70 00                    moveq      #$0, d0
$068048  3d 40 00 de              move.w     d0, $de(a6)
$06804C  3d 40 03 98              move.w     d0, $398(a6)
$068050  72 00                    moveq      #$0, d1
$068052  08 00 00 08              btst.b     #$8, d0
$068056  66 0a                    bne.b      $68062
$068058  72 02                    moveq      #$2, d1
$06805A  08 00 00 09              btst.b     #$9, d0
$06805E  66 02                    bne.b      $68062
$068060  72 04                    moveq      #$4, d1
$068062  53 2e 00 50              subq.b     #$1, $50(a6)
$068066  6b 12                    bmi.b      $6807a
$068068  4a 01                    tst.b      d1
$06806A  6b 30                    bmi.b      $6809c
$06806C  70 2c                    moveq      #$2c, d0
$06806E  06 41 00 40              addi.w     #$40, d1
$068072  4e b9 00 01 35 e6        jsr        $135e6.l

## Strider Ouroboros: owner punches create shots; cooldown ($093A56)
$093A56  0c 68 00 00 00 06        cmpi.w     #$0, $6(a0)
$093A5C  66 1c                    bne.b      $93a7a
$093A5E  30 28 00 d4              move.w     $d4(a0), d0
$093A62  02 40 00 70              andi.w     #$70, d0
$093A66  67 12                    beq.b      $93a7a
$093A68  70 00                    moveq      #$0, d0
$093A6A  4e b9 00 09 4a 72        jsr        $94a72.l
$093A70  1d 7c 00 16 00 b9        move.b     #$16, $b9(a6)
$093A76  53 2e 00 b9              subq.b     #$1, $b9(a6)
