From 90f1da94209172bbfecc3eb6caa8e890134504aa Mon Sep 17 00:00:00 2001 From: Raki Date: Wed, 8 Dec 2021 10:32:47 +0900 Subject: [PATCH] Add some parameters for K5295 1. Double height mode: supports x2 height sprites. 2. Save framebuffer capacity: Konami used 1Mb buffer for the unused, unknown interlaced mode. It's enough for 512kb. This will save huge resources. --- .../BubSysROM_component/asic/K005295.v | 8 +++++--- .../BubSysROM_video/BubSysROM_video.v | 15 +++++---------- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/BubSysROM_core_ModelSim/BubSysROM_component/asic/K005295.v b/BubSysROM_core_ModelSim/BubSysROM_component/asic/K005295.v index ab2c2b8..db05df7 100644 --- a/BubSysROM_core_ModelSim/BubSysROM_component/asic/K005295.v +++ b/BubSysROM_core_ModelSim/BubSysROM_component/asic/K005295.v @@ -3,6 +3,10 @@ */ module K005295 +#( + parameter __ENABLE_DOUBLE_HEIGHT_MODE = 1'b0, + parameter __SAVE_FRAMEBUFFER_CAPACITY = 1'b1 +) ( //emulator input wire i_EMU_MCLK, @@ -59,8 +63,6 @@ module K005295 ////// GLOBAL SIGNALS //// -reg __ENABLE_DOUBLE_HEIGHT_MODE = 1'b0; - reg hsize_parity = 1'b0; reg pixellatch_wait_n; @@ -1556,7 +1558,7 @@ begin if(i_VBLANK_n == 1'b0 && prev_vblank == 1'b1) //async reset by VBLANK begin - buffer_frame_parity <= ~buffer_frame_parity; + buffer_frame_parity <= ~buffer_frame_parity | __SAVE_FRAMEBUFFER_CAPACITY; end end end diff --git a/BubSysROM_core_ModelSim/BubSysROM_video/BubSysROM_video.v b/BubSysROM_core_ModelSim/BubSysROM_video/BubSysROM_video.v index a60bfa1..a96af77 100644 --- a/BubSysROM_core_ModelSim/BubSysROM_video/BubSysROM_video.v +++ b/BubSysROM_core_ModelSim/BubSysROM_video/BubSysROM_video.v @@ -805,15 +805,9 @@ SRAM2k8 OBJTABLE ); - - - - - - -/////////////////////////////////////////////////////////// -////// K005295 -//// +// +// asic section +// wire [7:0] OCA; wire CHAOV; @@ -832,7 +826,8 @@ wire [2:0] PIXELSEL; //declare K005295 core -K005295 K005295_main +K005295 #(.__ENABLE_DOUBLE_HEIGHT_MODE(1'b0), .__SAVE_FRAMEBUFFER_CAPACITY(1'b1)) +K005295_main ( .i_EMU_MCLK (i_EMU_MCLK ), .i_EMU_CLK6MPCEN_n (o_EMU_CLK6MPCEN_n ),