2
3
4
5
6
7#ifndef EVMU_MEMORY_EVENT_H
8#define EVMU_MEMORY_EVENT_H
10#include <gimbal/meta/instances
11#include "../types/evmu_typedefs.h"
13#define EVMU_MEMORY_EVENT_TYPE (GBL_TYPEID
(EvmuMemoryEvent))
14#define EVMU_MEMORY_EVENT(self) (GBL_CAST(EvmuMemoryEvent, self))
15#define EVMU_MEMORY_EVENT_CLASS(klass) (GBL_CLASS_CAST(EvmuMemoryEvent, klass))
16#define EVMU_MEMORY_EVENT_GET_CLASS(self) (GBL_CLASSOF(EvmuMemoryEvent, self))
18#define GBL_SELF_TYPE EvmuRamEvent
22GBL_DECLARE_ENUM(EVMU_MEMORY_EVENT_OP) {
23 EVMU_MEMORY_EVENT_OP_READ_LATCH,
24 EVMU_MEMORY_EVENT_OP_READ_PORT,
25 EVMU_MEMORY_EVENT_OP_WRITE
29
30
31
32GBL_CLASS_DERIVE_EMPTY(EvmuMemoryEvent, GblEvent)
35
36
37
39 EVMU_MEMORY_EVENT_OP op;
#define EVMU_EXPORT
Define used for adding attributes to export public symbols.
uint8_t EvmuWord
Represents a single 8-bit CPU word.
uint32_t EvmuAddress
Represents a generic absolute address.
GblEvent-derived type for memory-related events.
#define GBL_CLASS_CAST(cType, klass)
#define GBL_CLASSOF(cType, self)
#define GBL_CAST(cType, self)