Nova v0.7.0
以下是機翻潤飾
這款名為 Nova 的 Sega Saturn 和 Sega Titan Video ( ST-V )
模擬器由 Steve Kwok 創建,能夠運行多種商業遊戲。
Nova 採用 C++17 編寫,期望達到與其他家用遊戲機模擬器相同的水平。
Nova 目前不支援 CD-ROM 光碟版的遊戲,但可以播放以下 CD 映像格式:
CUE/MDS/CCD/BIN/CDG/CDI/CHD/CSO/DAX/ NRG/TOC/ZSO
自上一版本以來的變化如下:
- SH2:新增 FRT 的 TOCR 暫存器。
- SH2:新增 BSC 的 REF 暫存器。
- SH2:新增針對空閒循環的最佳化(初步)。
- SH2:重寫 DMAC。
- SH2:重寫INTC(衝破火網 2、OutRun)。
- SH2:重寫中斷處理。
- SH2:重寫指令 NEGC、MAC.L 和 MAC.W。
- SH2:重寫開機程式。
- SH2:重構的快取模擬。
- SH2:重構的指令執行。
- SH2:增加指令執行的吞吐量。
- SH2:支援的自動向量。
- SH2:修復快取區域的位址空間檢查。
- SH2:修復日誌記錄。
- SH2:修復FRT暫存器TIER的錯誤。
- SH2:修正設定 DMAC 的 CHCR 暫存器的錯誤。
- SH2.FRT:透過使用移位代替除法來提高性能。
- SH2.FRT:新增外部時鐘設定。
- DCC:為 MINIT 和 SINIT 新增長字存取。
- DCC:改進的雙 CPU 通訊。
- DCC:改良 MINIT(超級機器人大戰 F)的計時。
- DCC:將中斷等級變更為 0x0f、0x0d。
- PLL:固定 SCU.TIMER1 頻率。
- M68K:重寫異常處理。
- M68K:重寫 NMI 處理。
- SCU:重寫 DMAC(不完整)。
- SCU:重寫 INTC。
- SCU:改良 DMA(武裝飛鳥)的時序。
- SCU:修正中斷處理的計時問題(武裝飛鳥、鋼彈 Z)。
- SCU:修正有時 DMA 傳輸不完整的錯誤。
- SCU:修正有時 DMA 傳輸可能在未設定啟用/起始位元的情況下啟動的錯誤。
- SCU:修復 T0C、T1S 的初始化。
- SCU:修正中斷處理的錯誤(雷射超人)。
- SCU 和 SH2:修復中斷處理(雷射超人、侍魂 斬紅郎無双劍(無卡匣警告))。
- SCU.DSP:內聯所有指令和內部操作。
- SCU.DSP:修正 i_dma 透過 SlideHop 模擬器偵測的時序。
- SCU.DMAC:透過以移位替換除法來最佳化。
- SCU.DMAC:將 DMAC 作為可執行設備以獲得更好的時序。
- SCU.DMAC:修復 CDB.DATATRNS 傳輸(修復 Steam-Heart 的回歸)。
- SCU.DMAC:為 DMA 傳輸實現更準確的時序。
- SMPC:實現周邊資料收集的時間最佳化。
- SMPC:新增 3 個未記錄的指令(0x0a、0x0b、0xa0)。
- SMPC:重寫 INTBACK 指令,改進 INTBACK 指令的時序。
- SMPC:重寫外圍資料處理(銀河格鬥 - 宇宙戰士)。
- SMPC:將 sat_battery.sav 改為 sat_battery.bin。
- SMPC:修正 INTBACK 指令的錯誤(取消 INTBACK 指令)。
- SMPC:修正 CDON/CDOFF 指令的 SF 標誌設定的錯誤。
- SMPC:重寫取得外設資料。
- SMPC:修正輸入問題(雷射超人、貞本義行 插圖)。
- SMPC:將週邊資料擷取時間變更為 100 條掃描線(接近 SAROO 快速遊標移動速度)。
- SMPC:更改 INTBACK 指令的 cbGetStatus 計時(SegaSaturn Electronic Book
Operator)。
- VDP1:新增讀取超出範圍時傳回垃圾資料。
- VDP1:重寫幀緩衝區的初始化。
- VDP1:最佳化的色彩模式解碼。
- VDP1:修正暫存器鏡像(無鏡像)的錯誤。
- VDP1:重寫暫存器處理和更新時序,
修復 露娜(缺少樹木),皇家騎士團 2(選單閃爍)。
- VDP1:修正重設或開機時某些暫存器不應初始化的錯誤
(480P-Mode-Demo:修正自 v0.6.5011 以來的顏色問題,
以及不應顯示紫色折線的另一個錯誤)
- 光柵:精緻。
- VDP1:修正手動擦除/更改時間(機動戰士 Z 鋼彈 前編 ゼータの鼓動)。
- VDP1:修正手動變更(缺少 Sega Ages - OutRun 的圖形)。
- VDP1:修正 CMDLINK,必須忽略位元 1、0 (惡魔城 X)。
- VDP1:修復紋理取樣。
- VDP1.ERASER:實作用於處理擦除/寫入的擦除器
(修正 KOF 95、音速小子嘉年華 的圖形問題)。
- VDP1.ERASER:固定端 VBE。
- VDP2:新增 m_cpe(循環模式錯誤)的初始化。
- VDP2:在 checkV 處清除 m_cpe(循環模式錯誤)。
- VDP2:實施邊界繪圖。
- VDP2:最佳化顏色模式解碼,用於取得圖層資料和精靈活動表。
- VDP2:修正 VCNT 更新的錯誤(KOF95 的卡匣警告螢幕調色板錯誤)。
- VDP2:重寫循環模式處理。
- VDP2:修正 TVSTAT 暫存器處理的錯誤。
- VDP2:修正點陣圖位址換行的錯誤(NBG0、NBG1、RBG0、SPRITE、貞本義行 插圖)。
- SCSP:實現 DSP 的完全模擬。
- SCSP:為 CCR 暫存器增加更多讀取處理。
- SCSP:重寫 INTC。
- SCSP:重寫定時器。
- SCSP:清理未使用的表。
- SCSP:完全重構。
- SCSP:修復 M68K RAM 存取的時序,以透過 SlideHop 的模擬器檢測。
- SCSP:修正設定監聽槽後主叫位址未更新的錯誤(SRWF FMV)。
- SCSP:修正使用 16 位元資料設定時 EFSDL 的錯誤。
- SCSP:修正 SDIR 處理的錯誤(Waku Waku 7)。
- SCSP:修正 DMAC EX 標誌的錯誤。
- SCSP:通過 celeriyacon 的 scsp_test 的 13 項測試。
- CDB:新增 CR 暫存器的位址映射區域(Saturn 測試選單)。
- CDB:實現 subcodeRW 的處理。
- CDB:支援的多會話光碟。
- CDB:支援多索引光碟。
- CDB:支援 CD+G/CD+EG 播放。
- CDB:重寫 TOC 處理。
- CDB:重寫定期回應。
- CDB:重寫狀態轉換。
- CDB:重寫 subcodeQ 處理。
- CDB:重寫連接器處理。
- CDB:重寫位置處理。
- CDB:重寫資料傳輸處理。
- CDB:重構指令 CdPlay、CdSeek 和 ReadFile。
- CDB:上電後不啟動週期性回應。
- CDB:重設後讀取TOC。
- CDB:模擬狀態 RETRY、ERROR、FATAL。
- CDB:重寫狀態、週期回應、位置處理。
- CDB:重寫指令 CopySctData、MoveSctData。
- CDB:使用循環佇列最佳化子碼 R~W 解碼。
- CDB:重寫指令 E2,將其重新命名為 ReadRom。
- CDB:新增 SH1 假位址映射。
- CDB:更改週期性回應的變化條件。
- CDB:合併的 r/datatrns 讀/寫處理程序。
- CDB:實施 CdScan。
- CDB:反向掃描反轉輸出樣本順序。
- CDB:重寫 CD 報告。
- CDB:重寫非同步操作。
- CDB:修正 FATAL/OPEN/NODISC/STANDBY 狀態報告。
- CDB:修正 DATATRNS 暫存器的字存取(Steam Hearts)。
- CDB:再次修復指令 AbortFile 的計時。
- CDB:修正 GetdelSctData、CalActSiz、DataEnd(KOF95)、ReadDir/ChgDir
(當 infnum 為 254 時, drend 不正確)。
- CDB:修復目前播放位置和目標位置的錯誤。
- CDB:修正檔案系統有時無法存取目前/父目錄的錯誤。
- CDB:修正 CSCT 標誌的錯誤(應在磁區被丟棄時設定)
- CDB:修正 MPEG 影片播放兩次的錯誤。
- CDB:修正 EHST 標誌設定時間的錯誤(重裝機兵 Leynos 2)。
- 系統:實施 CAT(循環自適應定時)。
- 系統:實施FMA(快速記憶體存取)。
- 系統:實現的音訊串流緩衝區。
- 系統:為 PAL 模式實施新機制。
- 系統:實施通用系統時間片。
- SYSTEM:重寫框架結構。
- 系統:重寫通訊埠的處理。
- SYSTEM:修正位址對映(鎖定區域)的錯誤。
- 系統:修正 V-BLANK 期間 H-BLANK 的錯誤。
- SYSTEM:重寫 CS2 位址對映。
- 系統:新增未載入遊戲時的預設 BUP。
- 系統:新增開啟/關閉托盤。
- SATURN:更改 BUP 的名稱前綴。
- SATURN:修復 SCSP RAM 的初始化,以實現快速啟動和 HLE BIOS。
- SATURN:增加音訊 CD 的辨識。
- SATURN:為 HLE_BIOS 新增 VDP1 幀緩衝區初始化(銀河格鬥 - 宇宙戰士)。
- TITAN:修復 TITAN 模式。
- TITAN:修正來自 Suiko Enbu 的輸入。
- TITAN:將按鈕名稱從 PUSHSW 變更為 SELECT。
- TITAN:重寫 EEPROM 和 BUP 載入/儲存。
- TITAN:新增 SIMM。
- TITAN:通過 MIDI 測試。
- TITAN:通過扳機測試。
- TITAN:支援新的 7Z/RAR 格式。
- TITAN:支援多卡匣。
- TITAN:修正 Sport Fishing 2 的區域碼。
- PROLOGUE21:新增一個存根。
- 光柵:重寫光柵。
- READER:重寫非同步操作。
- 時間表:完善。
- 調度程序:修正幀退出時,下一個目標時間可能被丟棄的錯誤。
- 調度程式:修正計時器重複的錯誤。
- SCHEDULER:修復事件執行後可以執行的錯誤。
- MP1D:實作新機制(緩衝區已滿時等待)。
- MP1D:視訊和音訊使用單獨的解復用器。
- MP1D:減少記憶體使用。
- MP1DA:修正播放 露娜銀河之星 開場影片時的聲音故障。
- MP1DV:修復空 GOP 的錯誤。
- VCDCARD:與 CDBLOCK 解耦。
- VCDCARD:實現視窗、縮放功能。
- VCDCARD:修復指令 MpSetDec。
- VCDCARD:修復當機問題。
- VCDCARD.MPDV:修正幀緩衝區的顯示位置。
- VCDCARD.MPDV:修正視窗處理問題。
- VCDCARD.MPDV:實作雙線性過濾。
- VCDCARD.MPDV:以整數計算取代所有計算浮點。
- ODD:重寫非同步操作。
- ODD:修正BIOS CD播放器中釋放前進/後退按鈕後有時無法停止的錯誤。
- DRIVE:重構 CD 裝置狀態轉換。
- PAR:修正取得供應商 ID、產品 ID 的錯誤。
- 數據:新增 Hakken 的 Sega Saturn 記錄數據!電子寵物公園(感謝 Cafe-alpha)。
- 週邊設備:實現 PSY-Q 目標適配器的模擬(損壞)
- 週邊設備:實現 Satiator 的模擬(損壞)。
- 週邊:實施 SAROO 模擬。
- 連接埠:將 ASIC01、ASIC02 與 SMPC 解耦。
- FDD:將區塊大小變更為 512 位元組。
- BIOS:新增功能 S_AUTHENCD(SMMPPG1 要求),增加版本號碼。
- BIOS:指令的固定偏移量為 0600092E。
- BIOS:支援在啟用 SH2 快取的情況下運作。
- BIOS:新增 SH2(S)(Doom) 的預設 PC 和 SP。
- BIOS:修正 SH2(S)(Atal) 的 SYS_SETSCUIM。
- BIOS:啟用 Nova BIOS。
- BIOS:支援運行可執行檔。
- BIOS:修復從 sh2 初始化。
- BIOS:實作 SYS_CHGSYSCK、SYS_TASSEM、SYS_CLRSEM。
- BIOS:重寫 SCU 中斷的處理以及SYS和BUP函式的執行介面。
- BIOS:HLE BIOS 版本上升至 v0.94。
- BIOS 重寫 SH2_INIT 並中斷初始化。
- BIOS:修正 HLE BIOS 的錯誤,更新 HLE BIOS 的版本號。
- BUP:重新設計 BUP 格式。
- BUP:修正有時會損壞 BUP 檔案系統中現有遊戲記錄的錯誤。
- BUP:修正讀取/寫入遊戲記錄的錯誤。
- EXE:支援新的可執行 SRE 格式。
- EXE:改進入口位址 COF/ELF/SRE(DUKPLAYR.COF) 的處理。
- CD:CD 檔案名,當只有一個點而沒有副檔名時,點被省略。
- CD:修正讀取時可能超出檔案大小範圍的錯誤。
- CD:修正最後一首曲目無法結束或循環的錯誤。
- CDX:重寫實體 CD 裝置的處理。
- CDX:重寫 BIN/CCD/CUE/ISO/MDS 解析器。
- CDX:重構扇區/索引/追蹤/會話/CD 和 TOC 結構。
- CDX:支援多重會話和多重索引。
- CDX:支援新格式 CDG/CDI/CHD/CSO/DAX/NRG/TOC/ZSO。
- CDX:支援自動產生 ECC/EDC 代碼。
- CDX:將 ISO9660 內容與 CDB 分離。
- CDX:支援 PCM 和 WAV(大致)格式。
- CDX:修正 MDS/NRG 格式的 CD+G 回歸(由 0.6.5003 CdScan 支援引起)。
- CDX.CUE:支援的 WAV(大致)檔案。
- COMMON:實作 cirque(循環佇列)。
- 實用程式:新增區域 ID。
- MISC:實現的音訊電平表。
- MISC:實施「控制旋轉」。
- MISC:實作 Turbo 模式(選項卡)。
- MISC:實作步進模式(Ctrl + ->)。
- MISC:實作 per_game_bup。
- MISC:改進 FPS 控制,幀現在更加穩定和流暢。
- MISC:重寫汽車區域,PAL 區域現在具有更高的優先順序。
- MISC:支援的 64 位元架構。
- MISC:最佳化 INI 解析器檔案處理(載入整個檔案而不是逐行載入)。
- MISC:減少記憶體使用。
- 其他:新增暫停/播放切換(空白鍵)。
- MISC:新增 FPS 顯示的顏色和陰影。
- MISC:在「關於」對話方塊中新增「許可證」按鈕。
- MISC:在 nova.ini 中新增新選項 show_log,用於顯示/隱藏日誌控制台。
- MISC:在 nova.ini 中新增新選項 show_stat,用於顯示/隱藏 FPS 資訊。
- MISC:在 nova.ini 中新增新選項 log_xxx,用於設定各個模組的日誌等級。
- 其他:在 nova.ini 中將 stv_game 重新命名為 stv_slot#。
- MISC:在 nova.ini 中將 mpeg_card 重新命名為 vcd_card。
- MISC:修正 Saturn Standard Pad 的資料大小。
- MISC:修復記憶體洩漏。
- MISC:修復隨機當機。
- MISC:修正 INI 解析器的一個錯誤(遇到空白行時可能會當機)
- MISC:修正 CPE 格式的錯誤。
- MISC:更新 data.json。
- MISC:遷移到 C++17。
- MISC:透過選單顯示/隱藏輸出控制台。
- MISC:修正輸出控制台無法正常關閉的錯誤。
- MISC:支援碟片交換。
- MISC:讓 FPS 更加穩定。
- MISC:將 init 函數替換為適用於各種機器的 create 函數。
- D3D9:刪除 D3DX9 依賴項。
- D3D9:將 D3DFMT_X8R8G8B8 變更為 D3DFMT_A8R8G8B8 以實現相容性。
- 圖形:實現各種圖形濾鏡:
… 無
… 雙線性
… CRT(孔徑格柵大)
… CRT(孔徑格柵小)
… CRT(槽罩大)
… CRT(槽罩小)
… 點(圓形)
… 點(方形)
… LCD (Game Boy)
… LCD (Game Boy Light)
… 雜訊(動態)
… 雜訊(靜態)
… 電子墨水色彩
… Paperwhite
… 掃描線(螢光粉)
… 掃描線(直線)
… 單色
… 反色
- 圖形:實現全螢幕模式。
- 圖形:實現垂直同步。
- 聲音:改進的音訊串流。
- 聲音:支援的隨身聲音格式。
- 聲音:修正左右聲道顛倒的錯誤。
- GUI:垂直同步預設啟用。
- GUI:重新設計的檔案開啟/關閉邏輯。
- GUI:在主視窗的標題列上顯示版本號。
- GUI:支援各種寬高比。
- GUI:支援主視窗旋轉。
- GUI:在全螢幕模式下隱藏游標。
- GUI:使用 freetype 渲染覆蓋文字。
- GUI:修正恢復最小化視窗時的錯誤。
- 偵錯器:啟用偵錯器。
- 調試器:改進調試器。
- DEBUGGER:傳回 RTS 而不是從函數傳回。
- 偵錯器:修正執行偵錯器時退出程式的當機問題。
- 偵錯器:修正偵錯器在低 DPI 顯示器下當機的錯誤。
- 偵錯器:修正點擊 PC 圖示時的錯誤。
- NOVA:重構整個專案(未完成)。
- NOVA:關閉時釋放機器的記憶體。
相容性清單
https://literalmente-game.github.io/compatibility_lists/nova.html
原始網址
https://www.patreon.com/posts/nova-v0-7-0-118648844?utm_medium=social&utm_
source=twitter&utm_campaign=postshare_creator&utm_content=join_link
縮網址
https://reurl.cc/G5nj3y