2026年2月6日 星期五

20260130 購入 steam 版 ff7 original

原本有 4cd 的實體版本, 所以一直沒買 steam 版。





後來看到 list 1 的消息, 就購入 steam 版本 ff7, 賭新版本的好處。主要是持有舊版 ff7, 會送新版 ff7 (不是 ff7 remake/rebirth), 是送新版 ff7 original。

list 1. An Update Regarding the Re-Release of FINAL FANTASY VII - 2013 Edition on Steam
To our FINAL FANTASY VII community,

We will be releasing a new version of FINAL FANTASY VII on Steam.

Following the launch of this new version, the current version will be renamed FINAL FANTASY VII – 2013 Edition.

Please review the below information to understand how this update will affect existing owners:

Availability of Versions
  • When the new version launches, FINAL FANTASY VII – 2013 Edition will no longer be available for purchase on the Steam Store.
  • Existing owners will continue to have access to FINAL FANTASY VII – 2013 Edition in their library.
  • The new version will be listed on the Steam Store as FINAL FANTASY VII.
Access for Existing Owners
  • All players who already own the 2013 Edition are eligible to access the new version at no additional cost.
  • Both versions will remain accessible in the owner’s Steam Library once the new version is released.
Save Data Information
  • Save data will not be compatible between the two versions.
  • 2013 Edition saves will only work with the 2013 Edition.
  • New version saves will only work with the new version.
Thank you for your continued support of FINAL FANTASY VII.
fig 1. 20260130 購入 steam 版 ff7 original, 140nt

不過後來發現每次玩都要登入 Square Enix account (購買頁面有注明: 需要第三方帳戶: Requires a Square Enix account), 為此還要註冊一個 Square Enix account, 而 ff8 remaster 卻不需要登錄就能玩。

用 steam deck 執行, 每次玩都要打一次帳號密碼, 蠻麻煩的, steam deck 又沒有實體鍵盤, 不好打字。

用 7th Heaven Mod Manager 解決這問題, 每次都要登錄真的很煩。

麻煩的來了, 在 windows 上很容易安裝 7th Heaven Mod Manager, 在 steam deck/linux 怎麼辦?

事實上安裝 7th Heaven Mod Manager 也真的比我想的還要複雜。

https://github.com/dotaxis/7thDeck 提供了一個 script, 可以輕鬆安裝 7th Heaven Mod Manager, 可惜不知道什麼緣故, 我沒能成功透過這個 script 安裝成功。不過透過安裝一個非 steam 遊戲倒是把 7th Heaven Mod Manager 3.5 成功安裝起來。以下是 debug 安裝 7th Heaven Mod Manager 過程。

以下影片介紹如何用 https://github.com/dotaxis/7thDeck 安裝 7th Heaven Mod Manager, 也成功執行 ff7。



影片很有趣還拿 ff7 重製版當開頭畫面, 都玩 ff7 original, 怎麼不拿 ff7 original 的片頭畫面。

透過安裝一個非 steam 遊戲安裝起來的的 app id 是 4176347364, STEAM_COMPAT_DATA_PATH: /home/deck/.steam/steam/steamapps/compatdata/4176347364。

ff7 是 39140, STEAM_COMPAT_DATA_PATH 有 2 個地方, 我不確定是不是因為把 ff7 安裝在 sd card 的關係。
  • /home/deck/.local/share/Steam/steamapps/compatdata/39140
  • /run/media/deck/SPCC/steamapps/compatdata/39140
而安裝一套遊戲除了建立 compatdata 還有其他目錄, 例如遊戲本身安裝在哪個目錄: "/run/media/deck/SPCC/steamapps/common/FINAL FANTASY VII"

compatdata 是一個 windows 環境, 對應到 windows 那些目錄, 大概像 list 2:
list 2
 1 .
 2 ├── dosdevices
 3 │   ├── c: -> ../drive_c
 4 │   ├── com1 -> /dev/ttyS0
 5 │   ├── com10 -> /dev/ttyS9
 6 │   ├── com11 -> /dev/ttyS10
 7 │   ├── com12 -> /dev/ttyS11
 8 │   ├── com13 -> /dev/ttyS12
 9 │   ├── com14 -> /dev/ttyS13
10 │   ├── com15 -> /dev/ttyS14
11 │   ├── com16 -> /dev/ttyS15
12 │   ├── com17 -> /dev/ttyS16
13 │   ├── com18 -> /dev/ttyS17
14 │   ├── com19 -> /dev/ttyS18
15 │   ├── com2 -> /dev/ttyS1
16 │   ├── com20 -> /dev/ttyS19
17 │   ├── com21 -> /dev/ttyS20
18 │   ├── com22 -> /dev/ttyS21
19 │   ├── com23 -> /dev/ttyS22
20 │   ├── com24 -> /dev/ttyS23
21 │   ├── com25 -> /dev/ttyS24
22 │   ├── com26 -> /dev/ttyS25
23 │   ├── com27 -> /dev/ttyS26
24 │   ├── com28 -> /dev/ttyS27
25 │   ├── com29 -> /dev/ttyS28
26 │   ├── com3 -> /dev/ttyS2
27 │   ├── com30 -> /dev/ttyS29
28 │   ├── com31 -> /dev/ttyS30
29 │   ├── com32 -> /dev/ttyS31
30 │   ├── com4 -> /dev/ttyS3
31 │   ├── com5 -> /dev/ttyS4
32 │   ├── com6 -> /dev/ttyS5
33 │   ├── com7 -> /dev/ttyS6
34 │   ├── com8 -> /dev/ttyS7
35 │   ├── com9 -> /dev/ttyS8
36 │   ├── d: -> /media/9
37 │   ├── d:: -> /dev/loop0
38 │   ├── e:: -> /dev/sr0
39 │   └── z: -> /
40 ├── drive_c
41 │   ├── pm2win
42 │   │   ├── Data
43 │   │   └── uninst.exe
44 │   ├── ProgramData
45 │   │   └── Microsoft
46 │   ├── Program Files
47 │   │   ├── Common Files
48 │   │   ├── Internet Explorer
49 │   │   ├── Windows Media Player
50 │   │   └── Windows NT
51 │   ├── Program Files (x86)
52 │   │   ├── Common Files
53 │   │   ├── directx
54 │   │   ├── Hasbro Interactive
55 │   │   ├── InstallShield Installation Information
56 │   │   ├── Internet Explorer
57 │   │   ├── Kobo
58 │   │   ├── Windows Media Player
59 │   │   └── Windows NT
60 │   ├── users
61 │   │   ├── descent
62 │   │   └── Public
63 │   └── windows
64 │       ├── command
65 │       ├── Directx.log
66 │       ├── DPINST.LOG
67 │       ├── explorer.exe
68 │       ├── Fonts
69 │       ├── help
70 │       ├── hh.exe
71 │       ├── inf
72 │       ├── Installer
73 │       ├── logs
74 │       ├── notepad.exe
75 │       ├── pm2.ini
76 │       ├── regedit.exe
77 │       ├── rundll.exe
78 │       ├── system
79 │       ├── system32
80 │       ├── system.ini
81 │       ├── syswow64
82 │       ├── temp
83 │       ├── twain_32
84 │       ├── twain_32.dll
85 │       ├── twain_64
86 │       ├── twain.dll
87 │       ├── winhelp.exe
88 │       ├── winhlp32.exe
89 │       ├── win.ini
90 │       └── winsxs
91 ├── system.reg
92 ├── userdef.reg
93 ├── user.reg
94 └── winetricks.log
95 
96 40 directories, 53 files

我本來以為遊戲本身會和 wine 一樣, 安裝在 drive_c 裡頭, 不過 proton 看來不是這麼做。需要用 z: 來存取到 linux 根目錄。

這個 z: 不是 windows 磁碟 z 槽, 就是一個目錄, 名稱為 z:。不熟悉 linux 的使用者可以會覺得很奇怪, 不過單純就是這樣。

安裝 7th Heaven Mod Manager 應該要把程式裝到 39140 環境才是, 但透過非 steam 遊戲會有一個新的 app id。

查看 https://github.com/dotaxis/7thDeck install.sh, 改寫為 r7th.sh, 把 7th Heaven Mod Manager 安裝到 39140 環境, 主要是需要 STEAM_COMPAT_DATA_PATH, STEAM_COMPAT_CLIENT_INSTALL_PATH 這2個環境變數, 並透過 proton 9.0 執行 ./7thHeaven-v3.5.1.0_Release.exe, ./7thHeaven-v3.5.1.0_Release.exe 會下載 c++ runtime, .NET Desktop Runtime, 所以省下手動安裝這些 dll 的功夫。當然, 現在我知道怎麼安裝 .NET Desktop Runtime 到特定 app id 了, 甚至只要其中一個 app id 有裝過, 可以透過 symbolic link 就好, 其他 app id 不用重新安裝。

注意: .NET Desktop Runtime 和 .NET Runtime 是 2 套 dll, 不是相同的東西。

r7th.sh
1 #!/bin/sh
2 STEAM_COMPAT_DATA_PATH=/run/media/deck/SPCC/steamapps/compatdata/39140 STEAM_COMPAT_CLIENT_INSTALL_PATH=/home/deck/.local/share/Steam /home/deck/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper/run -- /home/deck/.local/share/Steam/steamapps/common/Proton\ 9.0\ \(Beta\)/proton waitforexitandrun ./7thHeaven-v3.5.1.0_Release.exe

裝好之後要怎麼執行 7th Heaven Mod Manager 也是個問題, https://github.com/dotaxis/7thDeck 在安裝後會提供一個 script "7th Heaven.sh" 來執行, 稍微修改一下, 就可以成功執行 7th Heaven Mod Manager。

再來便是把 ./7thHeaven-v3.5.1.0_Release.exe 提供的 ff7.exe 換到 steam ff7, steam ff7 執行檔是 ff7_en.exe, 我的環境在 /run/media/deck/SPCC/steamapps/common/FINAL FANTASY VII, 再來便是透過 7th Heaven Mod Manager 執行這個 ff7.exe。

成功從 7th Heaven Mod Manager 執行 ff7.exe 之後, 遇到 mount 遊戲光碟失敗問題, list 3 的訊息, 這個是最難的一關, 透過 ai 查詢, 都沒屁用, 還說在 linux 無法透過 powershell mount 光碟。

mount 方法有 3 種, 在 7th Heaven Mod Manager 可以設定, 但都沒用。
https://forums.qhimm.com/index.php?topic=19831.0
1. Mount-DiskImage -ImagePath "C:\7th Heaven\Resources\FF7DISC1.ISO"
2. SeventhHeavenUI/Resources/WinCDEmu/PortableWinCDEmu.exe
第3種應該是程式自己 mount。7th Heaven Mod Manager 是 C# 寫的, 我有去追 7th Heaven Mod Manager source code mount disc 相關部份。

list 3. 無法 mount 遊戲光碟
1 7thWorkshop/applog.txt:75:11:25:59|INFO|_7thHeaven.Code.GameDiscMounter|        attempting to mount iso at Z:\home\deck\7th\Resources\FF7DISC1.ISO

FF7DISC1.ISO 是 7th Heaven Mod Manager 提供的 iso, 主要是騙過 ff7.exe 的檢查光碟機制, FF7DISC1.ISO 裡頭只有一個文字檔案。

最 tricky 的地方來了, 查看 https://github.com/dotaxis/7thDeck install.sh, 有類似 list 5 L1, L2 的修改, 看到後欣喜若狂, 終於被我找到差異點, 補上後, 一樣 mount 不到 FF7DISC1.ISO, 非常洩氣。

後來想到 compatdata 還有另外一個路徑, 就是 list 5 L3, 修改之後, 神奇的事情發生了, 可以 mount FF7DISC1.ISO, 終於可以成功進入 ff7 遊戲畫面, 玩個遊戲好像在 debug, 好累。

list 5.
1 echo "44000000" > /run/media/deck/SPCC/steamapps/compatdata/39140/pfx/drive_c/.windows-serial"
2 echo "FF7DISC1" > /run/media/deck/SPCC/steamapps/compatdata/39140/pfx/drive_c/.windows-label
3 echo "FF7DISC1" > /home/deck/.local/share/Steam/steamapps/compatdata/39140/pfx/drive_c/.windows-label

成功安裝之後, 把中文 mod 也加入測試, 嘗試一陣子, 還是只能對話中文, 選單指令是英文的結果, 就先這樣吧!
fig 11. 在 steam deck 安裝 7th Heaven Mod Manager 並安裝中文化 mod

https://github.com/auntiepickle/ff7seventhheavensteamdeck 這邊是另外一個安裝文件, 這個我沒看, 步驟太複雜。

https://github.com/dotaxis/7thDeck install.sh 惠我良多, 讓我知道要設定什麼環境變數才可以正確執行 proton。

自己安裝的 7th heaven 是裝在 STEAM_COMPAT_DATA_PATH: /home/deck/.steam/steam/steamapps/compatdata/4176347364。
相關的目錄
/home/deck/.local/share/Steam/steamapps/shadercache/4176347364
/home/deck/.local/share/Steam/steamapps/compatdata/4176347364
ff7 相關安裝目錄:
(130)(deck@steamdeck ~)$ sudo find / -name 39140
/home/deck/.local/share/Steam/userdata/138196433/760/remote/39140
/home/deck/.local/share/Steam/steamapps/shadercache/39140
/home/deck/.local/share/Steam/steamapps/downloading/39140
/home/deck/.local/share/Steam/steamapps/common/Steam Controller Configs/138196433/config/39140
/home/deck/.local/share/Steam/steamapps/compatdata/39140
/home/deck/.local/share/Steam/appcache/librarycache/39140
/run/media/deck/SPCC/steamapps/temp/39140
/run/media/deck/SPCC/steamapps/compatdata/39140

ff7 dir : /run/media/deck/SPCC/steamapps/common/FINAL FANTASY VII
從 install.sh 挖出來的相關路徑:
ff7 dir : /run/media/deck/SPCC/steamapps/common/FINAL FANTASY VII
ff7 WINEPATH: /run/media/deck/SPCC/steamapps/compatdata/39140/pfx
ff7 RUNTIME: /home/deck/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper/run
ff7 LIBRARY: /home/deck/.local/share/Steam
/home/deck/.local/share/Steam/steamapps/compatdata/39140/pfx/drive_c.org

STEAM_COMPAT_DATA_PATH=/run/media/deck/SPCC/steamapps/compatdata/39140 
STEAM_COMPAT_DATA_PATH=/home/deck/.steam/steam/steamapps/compatdata/39140
STEAM_COMPAT_CLIENT_INSTALL_PATH=/home/deck/.local/share/Steam

額外一個 pfx
/home/deck/.local/share/Steam/steamapps/compatdata/39140/pfx/drive_c.org

STEAM_COMPAT_APP_ID=39140
STEAM_COMPAT_DATA_PATH=/run/media/deck/SPCC/steamapps/compatdata/39140
STEAM_COMPAT_CLIENT_INSTALL_PATH=/home/deck/.local/share/Steam 
/home/deck/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper/run -- /home/deck/.local/share/Steam/steamapps/common/Proton\ 9.0/proton waitforexitandrun /VERYSILENT /DIR="Z:$INSTALL_PATH" /LOG="7thHeaven.log" # 需要 STEAM_COMPAT_DATA_PATH, STEAM_COMPAT_CLIENT_INSTALL_PATH 才能正確執行
/home/deck/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper/run -- /home/deck/.local/share/Steam/steamapps/common/Proton 9.0 (Beta)/proton waitforexitandrun /home/deck/7th/7th Heaven.exe

/home/deck/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper/run
 1 #!/bin/sh
 2 # Generated file, do not edit
 3 
 4 set -eu
 5 
 6 me="$(readlink -f "$0")"
 7 here="${me%/*}"
 8 me="${me##*/}"
 9 
10 dir=sniper_platform_3.0.20251216.191774
11 pressure_vessel="${PRESSURE_VESSEL_PREFIX:-"${here}/pressure-vessel"}"
12 
13 export PRESSURE_VESSEL_ARCHITECTURES=x86_64-linux-gnu:i386-linux-gnu
14 export PRESSURE_VESSEL_COPY_RUNTIME=1
15 export PRESSURE_VESSEL_RUNTIME="${dir}"
16 unset PRESSURE_VESSEL_RUNTIME_ARCHIVE
17 export PRESSURE_VESSEL_RUNTIME_BASE="${here}"
18 
19 if [ -z "${PRESSURE_VESSEL_VARIABLE_DIR-}" ]; then
20     export PRESSURE_VESSEL_VARIABLE_DIR="${here}/var"
21 fi
22 
23 exec "${pressure_vessel}/bin/pressure-vessel-unruntime" "$@"

2026年2月4日 星期三

n64/ps2 遊戲重新編譯為 pc 版本

PS2遊戲告別模擬器!神工具PS2Recomp讓經典變原生PC版,效能畫質大躍進!, 嚇了一跳, 竟然還有這種技術可以把主機遊戲放到 pc 玩。

這是參考 https://github.com/N64Recomp/N64Recomp 的作法, 看到這種作法, 我嚇傻了, 這種難度比寫模擬器高很多, 不像模擬器, 寫好後所有的 rom 都可以跑起來, 這是對每一款 rom 都要做 decompile 工程, 太難了。

目前有這幾個成功案例: 下載 release 檔案後 (有 windows, mac, linux 平台, steam deck 下載 linux 版本), 需要載入原版 rom, 就可以把遊戲跑起來, 太神了。主要流程大概是這樣, 把 rom binary data 轉成 c code, 再用 pc/os 編譯器把這個 rom 編譯成執行檔, 然後直接執行這個檔案把遊戲跑起來。steam deck/linux 也可以正常執行。



2013 年就有人針對 nes rom 做這種嘗試, Statically Recompiling NES Games into Native Executables with LLVM and Go, 真是太瘋狂了, 厲害。

https://github.com/andrewrk/jamulator 實用性不高, 但技術含量超高, 也只有針對 Zelda rom 作, 並不是每個 nes rom 都可以。Andrew Kelley 只要拿出這專案, 應該沒有拿不到的工作。

2026年1月25日 星期日

Arkham Knight 中文化 on steam deck

蝙蝠俠阿卡漢系列 各代中文化檔案

在 windows 上就照著操作, 選擇 Arkham Knight 的遊戲目錄, 沒什麼問題, 在 steam deck 上該怎麼辦?

本來想用 proton 在 steam deck 執行這中文 patch 執行檔, 可惜失敗了。沒什麼好辦法, 最後把 steam deck 的 Arkham Knight 檔案複製到 windows, 在 windows 上執行中文 patch 檔案, 再把所有檔案覆蓋回 steam deck 的 Arkham Knight 目錄, 看起來好像有成功中文化, 不過開啟字幕時, dlc 的故事的提示畫面是中文, 但是字幕還是英文; 主故事的字幕則是有正常中文, 看懂劇情後終於知道要怎麼玩, 推進到其他故事章節。

看 youtube 影片, 有中文化成功應該是連 dlc 的故事的字幕也是中文, 不知道是那出問題。

2026年1月20日 星期二

20251204 民進黨政府封鎖小紅書一年

由於民進黨政府對小紅書發出一年的限制令, 理由是該平台「詐騙案數量攀升」, 且未回覆台灣當局的資訊安全改善建議。20251204 起點選小紅書應用程式頁面, 將會呈現網路轉圈圈或連結不上的狀態。

ref:
  1. 台灣以「打擊詐騙」為由封鎖小紅書一年,為何引發爭議?
  2. 中天新聞台不予換照事件
  3. 衛廣法修法助中天復台? NCC:要回到52台頻道幾乎不可能

2026年1月15日 星期四

FF7 remake/rebirth/Crisis Core reunion 和諧蒂法牛仔服飾

tifa 牛仔服飾的黑色內衣出現在以下遊戲, 本篇會提到如何用 mod 修正回無黑色內衣版本。
ff7 remake              2020/04/10 ps4
ff7 crisis core reunion 2022/12/13 ps4
ff7 rebirth             2024/02/29 ps5
2024/2/26 ff7 remake 1.003 有一個 8G 大小的更新, tifa 牛仔服飾更新為 fig 12, 那時我剛好玩到這, 已經是更新後 (和諧) 的畫面, 覺得很不爽, 這個更新很神祕, 只寫了如 list 1 的內容, 但是高達 8G 更新。

而正是因為這種事後更新, 讓玩家更害怕原本沒 dei 的內容會被更新為 dei, 這樣玩家根本拿廠商沒辦法, 算詐騙了吧!

list 1. 公開1.003版
《FINAL FANTASY VII REMAKE INTERGRADE》已推出更新。

【更新內容】
‧ 修正了數個錯誤。

fig 11. 和諧前 fig 12. 和諧後

fig 11, fig 12 展示了更新後的差異。





遊戲內容在 CHAPTER7-伍號魔晄爐的陷阱 (A Trap Is Sprung), 抵達伍號魔晄爐之前, 從 CHAPTER7 開始沒多久就會遇到這個場景了。

維持一致性?《FF7重製版》最新更新和諧牛仔蒂法 關鍵PC模組無法使用, 目前可以用 Uncensored Nibelheim Flashback 改回來, 這不是 mod 是, ff7 remake 1.002 版的影片檔案。

ff7 rebirth 可以用 Cowboy Tifa Uncensored 1.0 mod 改回來, 2 部曲終於一致了。

回顧:牛仔 Tifa 服裝現在可以玩了!

CowGirl Tifa - 3DM - DELETED at Final Fantasy VII Remake Nexus - Mods and community

真的有病, 連這個 mod 也要刪除, 感覺只要和原公司作對的 mod 都會被刪除。好消息是這個 mod 被備份在 https://basedmods.org/mod/de128a0f-3b71-44e8-b6b5-417ca19c34c4 這是區塊鍊, 應該無法被刪除了。

這裡也有備份: 《最终幻想7:重制版》蒂法少女牛仔装MOD

核心危機 - Final Fantasy VII Crisis Core reunion 也有 tifa cowboy outfit, 一樣被和諧, Remake_Tifa 可以還原, 不過這個 mod 就沒有被刪除, 奇怪, 標準是怎麼定的?

fig 21. Crisis Core reunion: Final Fantasy VII tifa

Crisis Core reunion 之前 tifa 牛仔服正常, Crisis Core reunion 之後, 就變成多加一件黑色內衣。
ff7 crisis core         2007/09/13 psp
ff7 remake              2020/04/10 ps4
ff7 crisis core reunion 2022/12/13 ps4
ff7 rebirth             2024/02/29 ps5
整理了一下 ff7 系列出版時間線, SE 從 ff7 crisis core reunion 2022/12/13 開始崩壞, 後面的作品就有多加一件黑色內衣。

fig 22. Crisis Core: Final Fantasy VII tifa

fig 22 Crisis Core: Final Fantasy VII 的牛仔服裝和 Crisis Core reunion 有所不同, 但也沒有黑色內衣打底。



2 版比較圖。

se 真有心, 還記得要把 ff7 remake 改成黑色內衣版本, ff7 crisis core 如果還在, 大概也會修正吧。

Crisis Core reunion, 使用 Remake_Tifa 還原。

fig 31. 原本黑色內衣 fig 32. 無黑色內衣
這個場景在 Crisis Core reunion chapter 8 一開始就會遇到。





NGplus chapter select 是每個章節的存檔。

2026年1月13日 星期二

[pc games] Lunar Eclipse

Lunar Eclipse

這是一個有點色色的解謎類遊戲, 不過難度蠻高, 提示太少, 第1個關卡就難倒我, 想了很久才知道怎麼解, 終於知道密碼打開門。第一次玩的時候還是看別人解開密碼, 照著按, 但不知道原因, 不過看著女主的身形移動, 也別有一番樂趣。



2026年1月9日 星期五

2026 投資整理

目前停購 006208 改買 0050, 20260102 購入 0050 300股 X 66.9 (這價格相當於 006208 152.95), 2026 是好的開始, +393, 收在 29357, 一舉突破 29000, 創台股新高, 當然, 我又買在高點, 永遠買在高點不是壞事, 難道你要永遠買在低點。
20260102


20260105 台股就突破 30000 點, 2026 第二個交易日, 台股也太強。
20260105


臺灣50指數

009816 採用 特選臺灣TOP 50指數, 標榜不配息, 注意其內扣費用, 比 006208, 0050 高, 特選臺灣TOP 50指數 從 20251017 才開始, 歷史數據不足, 對其比較沒有信心。採用 "市值前 50 + 流動性 + 連續四季盈餘 > 0" 策略, 條件愈多其實不一定績效更好, 單純的前 50 大市值其實就可以。