カテゴリ 重要度 ステータス 解決状況 登録日時 最終更新
認証済み未処理2019-04-26 11:372019-05-05 06:02
 
テスターstar2root担当者 ソースcoco3.cpp
バージョン0.209発生バージョン0.203修正バージョン
フラグ
セット coco3 [tharogad]
セット詳細
coco3 - Color Computer 3 (NTSC)
 
概 要[tharogad] 動作しない。
詳 細The rom pak for Castle of Tharogad drop you into Extended Color BASIC instead of launching the game. This pak worked in release 0.192 and is currently broken. I am pretty sure it stopped working when the support for 32k CoCo 3 game paks was added. Other 16k rom like Thexder still work, and all the 32k roms I have tried work, so this may be the only one not working. The disk/hacked version of Tharogad still runs fine.
再現手順Run:
mame64 coco3 tharogad
追加情報The reason it's not work is probably related to this code update:

--- src/mame/video/gime.cpp 2019-04-25 08:57:14.000000000 -0400
+++ src/mame/video/gime.cpp 2019-04-25 09:03:33.000000000 -0400
@@ -97,6 +97,7 @@
#define LOG_INT_MASKING 0
#define LOG_GIME 0
#define LOG_TIMER 0
+#define LOG_PALETTE 0



@@ -558,12 +559,15 @@
// we're in ROM
static const uint8_t rom_map[4][4] =
{
- { 0, 1, 6, 7 },
- { 0, 1, 6, 7 },
+ { 0, 1, 4, 5 },
+ { 0, 1, 4, 5 },
{ 0, 1, 2, 3 },
- { 4, 5, 6, 7 }
+ { 6, 7, 4, 5 }
};

+ // Pin ROM page to MMU slot
+ block = (block & 0xfc) | (bank & 0x03);
+
// look up the block in the ROM map
block = rom_map[m_gime_registers[0] & 3][(block & 0x3F) - 0x3C];

@@ -1011,6 +1015,10 @@
{
offset &= 0x0F;

+ // perform logging
+ if (LOG_PALETTE)
+ logerror("%s: CoCo3 Palette: $%04x <== $%02x
", describe_context(), offset + 0xffB0, data);
+
/* has this entry changed? */
if (m_palette_rotated[m_palette_rotated_position][offset] != data)
{
--- src/mame/machine/coco_vhd.cpp 2019-04-25 08:56:28.000000000 -0400
+++ src/mame/machine/coco_vhd.cpp 2019-04-25 08:56:43.000000000 -0400
@@ -48,7 +48,7 @@
CONSTANTS
***************************************************************************/

-#define VERBOSE 1
+#define VERBOSE 0

#define VHDSTATUS_OK 0x00
#define VHDSTATUS_NO_VHD_ATTACHED 0x02
--- src/mame/machine/6883sam.cpp 2019-04-25 08:52:28.000000000 -0400
+++ src/mame/machine/6883sam.cpp 2019-04-25 08:54:20.000000000 -0400
@@ -151,6 +151,9 @@
/* if we're configuring a bank that never changes, update it now */
switch(bank)
{
+ case 3:
+ m_space_C000.point(m_banks[3], m_banks[3].m_memory_offset);
+ break;
case 4:
m_space_FF00.point(m_banks[4], 0x0000);
break;
--- src/devices/bus/coco/coco_pak.cpp 2019-04-25 08:51:06.000000000 -0400
+++ src/devices/bus/coco/coco_pak.cpp 2019-04-25 08:51:45.000000000 -0400
@@ -199,7 +199,7 @@

uint32_t coco_pak_banked_device::get_cart_size()
{
- return 0x4000;
+ return 0x20000;
}

//-------------------------------------------------
 
添付ファイル