blob: ee41500a73913b8b7a2c2f8b022075ce56923deb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
//
// Copyright (c) 2012 Ian Cowburn
//
using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
namespace Noddybox.Emulation.EightBit
{
/// <summary>
/// Defines an interface for memory. Note that ints are used rather than smaller unsigned types due to the pain of
/// doing boolean operations on anything else in C# without copious casting.
/// </summary>
public interface IMemory
{
/// <summary>
/// Reads a byte at a given address.
/// </summary>
/// <param name="address">The address to read.</param>
/// <returns>The value at that address in the lower 8-bits.</returns>
int Read(int address);
/// <summary>
/// Writes a byte at a given address.
/// </summary>
/// <param name="address">The address to write to.</param>
/// <param name="value">The value to write. Only the lower 8-bits are taken.</param>
void Write(int address, int value);
}
}
|