shithub: psxe

ref: 3c4b089ee47e1b25e7e7c47f00f84453823c4c75
dir: /psx/dev/mc2.h/

View raw version
#ifndef MC2_H
#define MC2_H

#include <stdint.h>

#define PSX_MC2_BEGIN 0x1f801060
#define PSX_MC2_SIZE  0x4
#define PSX_MC2_END   0x1F801063

typedef struct {
    uint32_t bus_delay;
    uint32_t io_base, io_size;

    uint32_t ram_size;
} psx_mc2_t;

psx_mc2_t* psx_mc2_create(void);
void psx_mc2_init(psx_mc2_t*);
uint32_t psx_mc2_read32(psx_mc2_t*, uint32_t);
uint16_t psx_mc2_read16(psx_mc2_t*, uint32_t);
uint8_t psx_mc2_read8(psx_mc2_t*, uint32_t);
void psx_mc2_write32(psx_mc2_t*, uint32_t, uint32_t);
void psx_mc2_write16(psx_mc2_t*, uint32_t, uint16_t);
void psx_mc2_write8(psx_mc2_t*, uint32_t, uint8_t);
void psx_mc2_destroy(psx_mc2_t*);

#endif