initial commit
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
#include "mmc3.h"
|
||||
|
||||
char mmc3_shadow;
|
||||
|
||||
void mmc3_reset(void)
|
||||
{
|
||||
mmc3_shadow = 0;
|
||||
}
|
||||
|
||||
void mmc3_config(MMC3MPrgMode pmode, MMC3MChrMode cmode)
|
||||
{
|
||||
mmc3_shadow = (pmode << 6) | (cmode << 7);
|
||||
*(volatile char *)0x8000 = mmc3_shadow;
|
||||
}
|
||||
|
||||
void mmc3_bank(MMC3BankReg reg, char bank)
|
||||
{
|
||||
*(volatile char *)0x8000 = reg | mmc3_shadow;
|
||||
*(volatile char *)0x8001 = bank;
|
||||
}
|
||||
|
||||
void mmc3_bank_prg(char bank)
|
||||
{
|
||||
mmc3_bank(MMC3B_PRG0, bank * 2 + 0);
|
||||
mmc3_bank(MMC3B_PRG1, bank * 2 + 1);
|
||||
}
|
||||
|
||||
void mmc3_bank_chr0(char bank)
|
||||
{
|
||||
mmc3_bank(MMC3B_CHR0, bank);
|
||||
}
|
||||
|
||||
void mmc3_bank_chr1(char bank)
|
||||
{
|
||||
mmc3_bank(MMC3B_CHR1, bank);
|
||||
}
|
||||
Reference in New Issue
Block a user