2018-09-15 13:35:59 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <cstdint>
|
2018-11-16 23:49:52 +00:00
|
|
|
#include "Chip.h"
|
2018-09-15 13:35:59 +00:00
|
|
|
|
|
|
|
namespace EightBit {
|
2018-11-03 22:15:17 +00:00
|
|
|
|
2018-11-04 16:38:57 +00:00
|
|
|
class Memory;
|
2018-11-03 22:15:17 +00:00
|
|
|
|
2020-05-02 10:36:43 +00:00
|
|
|
struct MemoryMapping final {
|
2018-09-15 13:35:59 +00:00
|
|
|
|
2018-12-29 19:17:36 +00:00
|
|
|
enum class AccessLevel { Unknown, ReadOnly, WriteOnly, ReadWrite };
|
2018-09-15 13:35:59 +00:00
|
|
|
|
2018-11-04 16:38:57 +00:00
|
|
|
Memory& memory;
|
2018-11-16 23:49:52 +00:00
|
|
|
uint16_t begin = Chip::Mask16;
|
2018-11-01 23:43:29 +00:00
|
|
|
uint16_t mask = 0U;
|
2018-12-01 15:24:29 +00:00
|
|
|
AccessLevel access = AccessLevel::Unknown;
|
2018-09-15 13:35:59 +00:00
|
|
|
};
|
|
|
|
}
|