Okay so I'm comparing to regular startup.
CV2J stores 3 save files at address
$07D9, 13 bytes per file, up to $07FF. First byte denotes active file (#$00 = empty, #$FF = valid). Then 5 name letters (from #$D3 = ',' to #$F4 = 'Z'). Then some stats of your playthrough,
reportedly these: items acquired, character level, time taken in game in days.
At frame 12730 all these save files get filled with garbage.
Code samples
This code checks which save files are not empty. Even if there is data in them, as long as their Active byte is 0, they are considered empty. When viewing in FDSExplorer, bank is #6, ID 16, DRQ_OPEN.
Language: asm6502
$6785: AD D9 07 LDA $07D9 ; check save 1
$6788: F0 09 BEQ $6793 ; skip if 0
$678A: A9 00 LDA #$00
$678C: A2 25 LDX #$25
$678E: A0 CF LDY #$CF
$6790: 20 E3 6A JSR $6AE3
$6793: AD E6 07 LDA $07E6 ; check save 2
$6796: F0 09 BEQ $67A1 ; skip if 0
$6798: A9 01 LDA #$01
$679A: A2 26 LDX #$26
$679C: A0 0F LDY #$0F
$679E: 20 E3 6A JSR $6AE3
$67A1: AD F3 07 LDA $07F3 ; check save 3
$67A4: F0 09 BEQ $67AF ; skip if 0
$67A6: A9 02 LDA #$02
$67A8: A2 26 LDX #$26
$67AA: A0 4F LDY #$4F
$67AC: 20 E3 6A JSR $6AE3
$67AF: AD 91 01 LDA $0191
$67B2: 8D 90 01 STA $0190
$67B5: 4C A8 66 JMP $66A8
Then, in the same bank, this code compares each Active byte to 0 again.
Language: asm6502
$66DF: A2 00 LDX #$00 ; init
$66E1: 86 93 STX $93
$66E3: 86 16 STX $16
$66E5: 86 17 STX $17
$66E7: BD D9 07 LDA $07D9,X ; check each file using X reg as offset
$66EA: F0 04 BEQ $66F0
$66EC: E6 17 INC $17 ; occupied slot count
$66EE: D0 02 BNE $66F2
$66F0: E6 16 INC $16 ; empty slot count
$66F2: E6 93 INC $93
$66F4: A5 93 LDA $93
$66F6: 20 73 66 JSR $6673
$66F9: AA TAX
$66FA: E0 27 CPX #$27
$66FC: 90 E9 BCC $66E7
$66FE: 60 RTS
Same bank, finally Active byte is compared to #$FF.
Language: asm6502
$66A8: 20 DF 66 JSR $66DF ; do the above subroutine
$66AB: AD 90 01 LDA $0190 ; current save index
$66AE: C9 03 CMP #$03 ; OoB?
$66B0: B0 11 BCS $66C3 ; stop
$66B2: 20 70 66 JSR $6670
$66B5: A8 TAY ; copy index to Y reg
$66B6: B9 D9 07 LDA $07D9,Y ; load save Active flag
$66B9: C9 FF CMP #$FF ; #$FF = -1 = valid
$66BB: F0 21 BEQ $66DE
$66BD: EE 90 01 INC $0190 ; increment current save index
$66C0: 4C AB 66 JMP $66AB
Observations
Writing 00 to Active flag of any save makes the game completely ignore its data when save selection screen shows. Writing #$FF there makes it possible to erase or load the save. Having anything else, which this movie does, makes the game unable to acknowledge or disregard the saves.
If I write #$FF, each state loads just fine, and then after switching the disk side, the game loads with whatever stats your save data contained.
Save 1
Stats data: 00000100000800
Save 2
Stats data: C797949AC79794
Save 3
Stats data: CE929392937E7F
Pressing pause for slot 3 freezes the game.
This movie
The game finds no empty saves, and no valid ones, so it doesn't allow you to load them, and sets the cursor to Erase. But when you select that, it can't find any saves to erase and freezes.
Setting any of these to #$00 or #$FF allows you to either load/erase or create a save:
$07D9
$07E6
$07F3
So the conclusion is, both RAM and save data are corrupted. It is possible to poke a single byte to make everything work, even though the results may be corrupted as well.
But the ending occurs the proper way.