aboutsummaryrefslogtreecommitdiff
path: root/nes/bus.go
diff options
context:
space:
mode:
Diffstat (limited to 'nes/bus.go')
-rw-r--r--nes/bus.go21
1 files changed, 21 insertions, 0 deletions
diff --git a/nes/bus.go b/nes/bus.go
new file mode 100644
index 0000000..480d178
--- /dev/null
+++ b/nes/bus.go
@@ -0,0 +1,21 @@
+package nes
+
+func (n *Console) Read(addr uint16) uint8 {
+ switch {
+ case addr < 0x2000:
+ return n.RAM[addr&0x7FF]
+ case addr >= 0x4020:
+ return n.Cart.Mapper.CPURead(addr)
+ default:
+ return 0
+ }
+}
+
+func (n *Console) Write(addr uint16, v uint8) {
+ switch {
+ case addr < 0x2000:
+ n.RAM[addr&0x7FF] = v
+ case addr >= 0x4020:
+ n.Cart.Mapper.CPUWrite(addr, v)
+ }
+} \ No newline at end of file