Re: [閒聊] 洛克人X1鬼故事:你已成為正版的受害者
推
08/05 11:46,
08/05 11:46
→
08/05 11:46,
08/05 11:46
→
08/05 17:01,
08/05 17:01
→
08/05 17:18,
08/05 17:18
→
08/05 17:19,
08/05 17:19
→
08/05 17:19,
08/05 17:19
推
08/06 09:34,
08/06 09:34
→
08/06 09:35,
08/06 09:35
一時之間不知道去哪邊找詳細的changelog,
花了一小時左右爬了一下github的tag comment,
在v011找到
- Added basic ROM mirroring support.
Fixes copy protection issues in MMX, etc.
是這個嗎?
→
08/06 09:37,
08/06 09:37
→
08/06 09:37,
08/06 09:37
→
08/06 09:38,
08/06 09:38
→
08/06 09:40,
08/06 09:40
→
08/06 09:40,
08/06 09:40
→
08/06 09:40,
08/06 09:40
我覺得是相反的。
我認為在這點上作者並沒有放棄這個堅持,
因為這樣比較符合實機的記憶體映射。
同時我並不認為用模擬器去驗證如何觸發是浪費時間。
Rockman X (1.0) 在日版卡帶上面有個跳線+二極體的修正。
這個部分對照過電路後,效果會是「阻止 Bank $00-2F mirror到 $30-3F」。
這個部分我們有找到兩組不同的人分別對此的討論,
兩組作法我們都有利用電路模擬工具驗證過,我想應該是正確的。
bsnes 對此的應對方式,是 「記錄下這個電路板上的內容」※註1
- 這個電路板上有12Mbit的ROM
mapping是 $00-2F:8000-FFFF
mirror到 $80-AF:8000-FFFF, $40-6F:0000-FFFF, $C0-EF:0000-FFFF
- 這個電路板上沒有 SRAM。
畢竟這不能從 ROM 猜出來,而是實際上打開卡帶才能看到有這個跳線,
也才能從他的電路與超任的 LoROM 規則去推算出這個 mapping 。
所以我認為 bsnes 在做的與其說是模擬一個 ROM 的執行,
而是模擬一個卡帶的運作,包含其中的電路板上面的晶片,與這個外加跳線。
因此我認為這是符合實機情況的模擬方式;
相對的,放棄實作出這個跳線取消的 mapping ,會比較偏離實機運作的情況。
除此之外,bsnes 讓我們能夠自行定義卡帶的內容,
因此我們透過 bsnes 達成以下的測試:
(1) 手動加上 $30-3F 的 mapping
這相當於取消了這個跳線修正的效果,會讓爆炸計數器生效。
(2) 手動加上 SRAM
這會同時讓 爆炸計數器/落下計數器/受傷計數器 三個機制同時生效,
這符合許多磁碟機玩家的記憶;
但確實有一些磁碟機能夠躲過這個判定,
我無法判斷裡面是不是有刻意阻止SRAM讀寫?
理論上這有可能判斷,因為ROM Header裡面其實有紀錄SRAM大小。
(3) 手動取消 $00-3F 到 $40-7F 的 mapping
這會讓開場的demo中的X沒有鎧甲,以及全裝甲密碼進入關卡中被拔光裝備。
這個機制之前有在 ZSNES 1.2 中看過。
如上,我覺得使用 bsnes 讓我能夠比較有系統地重現了上面的這些機制,
而且也因為(1)我們才能相信把跳線修正取消掉就會讓爆炸計數器生效,
因此決定下去剪掉二極體,在實機上讓原本修正過的卡帶產生了爆炸計數器的效果。
所以我認為使用模擬器進行驗證並沒有在浪費時間。
不過我對於「現在所有模擬器都比實機不容易觸發」這點很有興趣,
雖然實機做了跳線修正後不太會觸發這問題,而且把二極體剪掉之後能夠重現,
但我想這邊指的應該不是在說實機會不會觸發,而是單指模擬器可以不會觸發?
但我所知道的模擬器不太多,
目前我只知道 bsnes 主動避免這個觸發,
snes9x 1.56-1.61 會觸發這個問題,1.40-1.55不會,1.62後不會。
zsnes 一如既往地都會,snesgt會,
我滿想知道還有哪些模擬器不容易觸發?
※註1
bsnes 有紀錄 Rockman X 1.0(J) 的 ROM 會對應到 SHVC-2A0N-01#A 的電路板。
那個 #A 描述的就是那個跳線修正;
但其實我們有看到同樣是 1.0 的版本,卻使用了不同的電路板。
XGOD 手上的 1.0 使用的電路版是 SHVC-2A0N-11,
我手上的 1.0 使用的電路板是 SHVC-2A0N-01。
兩個卡帶都能夠讓冰車擊倒boss的時候不會破碎,因此我們相信這是1.0。
1.1在這個場合應該會立刻碎掉。
實際上兩個電路板都有跳線,
同樣都是一個電阻+一個二極體+切斷原本的一個BA5輸入,
主要是在74LS00的連接方式上有所差異,
因此可以從外觀上看到跳線連接的方式不一樣,
但內容都是1.0。
所以我滿有興趣的 - 為什麼同一個 ROM 會用到不同的電路板?
除此之外也有點好奇 bsnes 當初知不知道有 RMX 1.0 也有對應到 SHVC-2A0N-11。
雖然我們也從他接線的方式判斷出,這應該會有一樣的效果,所以其實並不影響。
--
███◣ ◢██◣ ◢██◣ █ ◢█ ◣ ◢ ◢██◣ ◣ █
█ ██ █ ██ █ ██ █◢█◤ █◣◢█ █ ██ █◣ █
█ ██ █ ██ █ ██◤ ████ █ ██ ██◣█ @ ptt.cc
███◤ █ ██ █ ██◣ █◥◤█ ████ ████
█◥█◣ █ ██ █ ██ █◥█◣ █ █ █ ██ █◥██ 鴉片(Append)
█ ◥█ ◥██◤ ◥██◤ █ ◥█ █ █ █ ██ █ ◥█twitch.tv/append
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.127.47.181 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Rockman/M.1722920203.A.4FD.html
推
08/06 20:16,
2月前
, 1F
08/06 20:16, 1F
→
08/06 20:17,
2月前
, 2F
08/06 20:17, 2F
→
08/06 23:17,
2月前
, 3F
08/06 23:17, 3F
→
08/06 23:17,
2月前
, 4F
08/06 23:17, 4F
→
08/06 23:17,
2月前
, 5F
08/06 23:17, 5F
→
08/06 23:32,
2月前
, 6F
08/06 23:32, 6F
→
08/06 23:33,
2月前
, 7F
08/06 23:33, 7F
推
08/06 23:46,
2月前
, 8F
08/06 23:46, 8F
→
08/06 23:47,
2月前
, 9F
08/06 23:47, 9F
→
08/07 00:12,
2月前
, 10F
08/07 00:12, 10F
→
08/07 00:13,
2月前
, 11F
08/07 00:13, 11F
→
08/07 00:13,
2月前
, 12F
08/07 00:13, 12F
→
08/07 01:43,
2月前
, 13F
08/07 01:43, 13F
→
08/07 01:43,
2月前
, 14F
08/07 01:43, 14F
→
08/07 01:44,
2月前
, 15F
08/07 01:44, 15F
→
08/07 01:47,
2月前
, 16F
08/07 01:47, 16F
→
08/07 01:50,
2月前
, 17F
08/07 01:50, 17F
→
08/07 01:50,
2月前
, 18F
08/07 01:50, 18F
→
08/07 01:51,
2月前
, 19F
08/07 01:51, 19F
※ 編輯: Append (59.127.47.181 臺灣), 08/07/2024 23:29:41
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Rockman 近期熱門文章
PTT遊戲區 即時熱門文章
11
12