VisualNes/Core/macros.h
Souryo 65c32d7f36 -Better soft reset logic (changes ppu/cpu alignment like in a real NES)
-Fixes in logic for cpu read/writes in halfStep()
2017-01-08 20:58:34 -05:00

42 lines
No EOL
870 B
C

#pragma once
#include "stdafx.h"
extern uint8_t chrRam[0x2000];
extern uint8_t nametableRam[4][0x400];
extern uint8_t cpuRam[0x800];
extern uint8_t prgRam[0x8000];
extern int cycle;
enum class MirroringType
{
Horizontal,
Vertical,
ScreenAOnly,
ScreenBOnly,
FourScreens
};
void initChip(string state, bool softReset);
void halfStep();
void step();
int readBit(string name);
int readBits(string name, int n = 0);
void writeBits(string name, int n, int x);
void writeBit(string name, int x);
void floatBits(string name, int n);
int readPpuAddressBus();
int readPpuDataBus();
uint8_t mPpuRead(int a);
void mPpuWrite(int a, int d);
int mCpuRead(int a);
void mCpuWrite(int a, int d);
int readCpuAddressBus();
int readCpuDataBus();
void handleChrBus();
void handleCpuBusWrite();
void handleCpuBusRead();
DllExport void setMirroringType(MirroringType mirroringType);