summaryrefslogtreecommitdiff
path: root/sys/src/games
diff options
context:
space:
mode:
authoraiju <devnull@localhost>2015-04-01 12:49:59 +0200
committeraiju <devnull@localhost>2015-04-01 12:49:59 +0200
commit86bfd0331d842c7210a3a4758b71231b18193b5b (patch)
treeaae29323e6e8c0bf7935e651acf2eccb7fa218ec /sys/src/games
parent2d0088598b50999949de98d6c4604fd8d42327b8 (diff)
games/c64: writes to I/O area do not affect underlying memory (documentation lied)
Diffstat (limited to 'sys/src/games')
-rw-r--r--sys/src/games/c64/mem.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/src/games/c64/mem.c b/sys/src/games/c64/mem.c
index 1b13f2465..5245a55e9 100644
--- a/sys/src/games/c64/mem.c
+++ b/sys/src/games/c64/mem.c
@@ -280,8 +280,11 @@ memread(u16int a)
void
memwrite(u16int a, u8int v)
{
- if(a >> 12 == 13 && !((pla & (HIRAM|LORAM)) == 0 || pla == 1 || (pla & CHAREN) == 0 && (pla & (EXROM|GAME)) != EXROM))
+ if(a >> 12 == 13 && !((pla & (HIRAM|LORAM)) == 0 || pla == 1 || (pla & CHAREN) == 0 && (pla & (EXROM|GAME)) != EXROM)){
miowrite(a & 0xfff, v);
+ io();
+ return;
+ }
ram[a] = v;
if(a == 1)
pla = pla & ~7 | v & 7;