From f7df65b086d44cfea3d718a616b077e72ed117a9 Mon Sep 17 00:00:00 2001 From: angelosa Date: Thu, 17 Oct 2024 11:36:52 +0200 Subject: video/upd7220.cpp: fix sync position * fix pc98:daremo booting --- hash/pc98.xml | 93 +++++++++++++++++++++++++++++++------------ src/devices/video/upd7220.cpp | 2 +- src/mame/nec/pc9801_v.cpp | 1 + 3 files changed, 69 insertions(+), 27 deletions(-) diff --git a/hash/pc98.xml b/hash/pc98.xml index dd2bbdb21d4..5389be144ab 100644 --- a/hash/pc98.xml +++ b/hash/pc98.xml @@ -11478,7 +11478,6 @@ Course names draws a full square kanji block between nation and "GP" (verify) - Cranston Manor @@ -11505,9 +11504,9 @@ Course names draws a full square kanji block between nation and "GP" (verify) - + - Cranston Manor (2HD conversion) + Cranston Manor (unofficial 2HD disk) 1983 スタークラフト (Starcraft) @@ -13333,10 +13332,13 @@ Fails to boot with "E4" error (2dd disks?) - + Danchi Tsuma no Yuwaku 1983 光栄 (Koei) + @@ -13442,11 +13444,14 @@ Fails to boot with "E4" error (2dd disks?) - - + Dare mo Shiranai... Ushinawareta Kioku no Tobira 1994 エクシィーズ (Xyz) + @@ -24272,11 +24277,14 @@ Draws garbage GVRAM during install (verify) - + Hozonban Lode Runner 1989 システムソフト (SystemSoft) + @@ -24287,11 +24295,14 @@ Draws garbage GVRAM during install (verify) - + Lode Runner 1983 システムソフト (SystemSoft) + @@ -24383,6 +24394,7 @@ Draws garbage GVRAM during install (verify) + @@ -24398,7 +24410,7 @@ Draws garbage GVRAM during install (verify) - + @@ -50264,11 +50276,13 @@ Doesn't recognize [FDC] disk 3 swap after title screen - AI Go 3 1990 サムシンググッド (Something Good) + @@ -50522,12 +50536,14 @@ Doesn't recognize [FDC] disk 3 swap after title screen - - Beast Lord II 1992 ホビージャパン (Hobby Japan) + @@ -51545,11 +51561,13 @@ Doesn't recognize [FDC] disk 3 swap after title screen - Flashback 1994 ビクターエンタテインメント (Victor Entertainment) + @@ -51593,7 +51611,7 @@ Doesn't recognize [FDC] disk 3 swap after title screen - + G Senryaku 1991 グレイト (Great) @@ -51617,6 +51635,9 @@ Doesn't recognize [FDC] disk 3 swap after title screen Gai Flame 1987 NCS + @@ -51633,26 +51654,29 @@ Doesn't recognize [FDC] disk 3 swap after title screen - + Gaias Lord 1993 オレンジハウス (Orange House) + - + - + - + @@ -51837,11 +51861,13 @@ Doesn't recognize [FDC] disk 3 swap after title screen - The Golem Master 1993 シュールド・ウェーブ (Sur De Wave) + @@ -52127,6 +52153,9 @@ Doesn't recognize [FDC] disk 3 swap after title screen Hydlide 1985 ティーアンドイーソフト (T&E Soft) + @@ -52136,11 +52165,13 @@ Doesn't recognize [FDC] disk 3 swap after title screen - Hyper Mahjong Mangan Zenseki 1993 河合楽器制作所 (Kawai Gakki Seisakushou) + @@ -52259,11 +52290,13 @@ Doesn't recognize [FDC] disk 3 swap after title screen - J. League Hyper Soccer - Wave no Arashi 1993 C^2 World + @@ -54032,12 +54065,14 @@ Black screen, keeps hitting an empty divide by zero exception at PC=1fcb6 - - Nihon Juudan Cessna Flight 1988 コムパック (Compac) + @@ -55363,11 +55398,13 @@ unsupported .fix format - Solitaire Royale (alt format) 1988 ゲームアーツ (Game Arts) + @@ -55458,11 +55495,13 @@ unsupported .fix format - Star Command 1989 ヒューリンクス (Hulinks) + @@ -56035,11 +56074,13 @@ unsupported .fix format - Vermilion (alt format) 1990 グレイト (Great) + diff --git a/src/devices/video/upd7220.cpp b/src/devices/video/upd7220.cpp index 12b9e034efd..8b8417e83f2 100644 --- a/src/devices/video/upd7220.cpp +++ b/src/devices/video/upd7220.cpp @@ -329,7 +329,7 @@ inline void upd7220_device::dequeue(uint8_t *data, int *flag) inline void upd7220_device::update_vsync_timer(int state) { - int next_y = state ? m_vs : 0; + int next_y = state ? (m_vs + m_vbp) : 0; attotime duration = screen().time_until_pos(next_y, 0); diff --git a/src/mame/nec/pc9801_v.cpp b/src/mame/nec/pc9801_v.cpp index a398bfdc0a3..e23f010421d 100644 --- a/src/mame/nec/pc9801_v.cpp +++ b/src/mame/nec/pc9801_v.cpp @@ -23,6 +23,7 @@ void pc9801_state::video_start() std::fill(std::begin(m_ex_video_ff), std::end(m_ex_video_ff), 0); std::fill(std::begin(m_video_ff), std::end(m_video_ff), 0); + save_pointer(NAME(m_video_ff), 8); } uint32_t pc9801_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) -- cgit v1.2.3