summaryrefslogtreecommitdiffstats
path: root/contrib/bochs/bochs-writable-ROM-patch
blob: 1ab9a27a4954cb73913284bb023b8d810bddd3e0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Index: memory/memory.cc
===================================================================
RCS file: /cvsroot/bochs/bochs/memory/memory.cc,v
retrieving revision 1.71
diff -u -r1.71 memory.cc
--- memory/memory.cc	18 Oct 2008 18:10:14 -0000	1.71
+++ memory/memory.cc	21 Oct 2008 19:47:07 -0000
@@ -172,7 +172,11 @@
             break;
 
           case 0x0:   // Writes to ROM, Inhibit
-            BX_DEBUG(("Write to ROM ignored: address 0x" FMT_PHY_ADDRX ", data %02x", a20addr, *data_ptr));
+            if ((a20addr & 0xfffe0000) == 0x000e0000) {
+	      BX_DEBUG(("Write to ROM ignored: address 0x" FMT_PHY_ADDRX ", data %02x", a20addr, *data_ptr));
+	    } else {
+	      BX_MEM_THIS rom[(a20addr & EXROM_MASK) + BIOSROMSZ] = *data_ptr;
+            }
             break;
 
           default: