From dde3e0c50d6b4f975752b81a8fb0520239ce852b Mon Sep 17 00:00:00 2001 From: MetalliC <0vetal0@gmail.com> Date: Thu, 28 May 2015 15:49:30 +0300 Subject: [PATCH] beta128: patch some TR-DOS bug so Pentagon and Scorpion works ok with FDD until wd_fdc cant handle this (nw) --- src/mess/drivers/scorpion.c | 2 ++ src/mess/machine/beta.c | 10 +++++++--- src/mess/machine/beta.h | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/mess/drivers/scorpion.c b/src/mess/drivers/scorpion.c index de840193ade..80385da7774 100644 --- a/src/mess/drivers/scorpion.c +++ b/src/mess/drivers/scorpion.c @@ -322,6 +322,8 @@ ROM_START(scorpio) ROMX_LOAD("scorp2.rom", 0x018000, 0x4000, CRC(fd0d3ce1) SHA1(07783ee295274d8ff15d935bfd787c8ac1d54900), ROM_BIOS(7)) ROMX_LOAD("scorp3.rom", 0x01c000, 0x4000, CRC(1fe1d003) SHA1(33703e97cc93b7edfcc0334b64233cf81b7930db), ROM_BIOS(7)) + ROM_FILL( 0x1fe47, 1, 0x3e) // patch TR-DOS bug + ROM_REGION(0x01000, "keyboard", 0) ROM_LOAD( "scrpkey.rom", 0x0000, 0x1000, CRC(e938a510) SHA1(2753993c97ff0fc6cff26ed792929abc1288dc6f)) diff --git a/src/mess/machine/beta.c b/src/mess/machine/beta.c index add547aef97..ff7187ba3e3 100644 --- a/src/mess/machine/beta.c +++ b/src/mess/machine/beta.c @@ -1,5 +1,5 @@ // license:BSD-3-Clause -// copyright-holders:Curt Coder +// copyright-holders:Curt Coder, MetalliC /********************************************************************* beta.h @@ -11,8 +11,7 @@ *********************************************************************/ /* BUGS: -- random commands can be sent to FDC, so better keep .trd images write protected for now -goto TR-DOS, CAT -> files will be shown, CAT again -> NO DISK mesage as result of trash commands +- due to original firmware bug random commands can be sent to FDC instead of SEEK, current WD FDC emulation cant handle this correctly, use patch fix for now */ #include "emu.h" @@ -269,6 +268,11 @@ ROM_START( beta_disk ) //Default for now ROM_LOAD( "trd503.rom", 0x00000, 0x4000, CRC(10751aba) SHA1(21695e3f2a8f796386ce66eea8a246b0ac44810c)) + + // TR-DOS rom have a bug - semi-random commands sent to FDC instead of SEEK command sometimes + // however it works OK on real hardware but does not using our WD FDC emulation, both legacy and modern + // this patch fixes original bug + ROM_FILL( 0x3e47, 1, 0x3e) ROM_END diff --git a/src/mess/machine/beta.h b/src/mess/machine/beta.h index e1a69d9a337..c082819149e 100644 --- a/src/mess/machine/beta.h +++ b/src/mess/machine/beta.h @@ -1,5 +1,5 @@ // license:BSD-3-Clause -// copyright-holders:Miodrag Milanovic +// copyright-holders:Miodrag Milanovic, MetalliC /********************************************************************* beta.h