
//http://wiki.nesdev.com/w/index.php/Cartridge_connector
//http://benheck.com/Downloads/NES_Famicom_Pinouts.pdf
//http://kevtris.org/mappers/mmc1/index.html
//one day, i will redo mappers at the pin level and it will look something like this:
//public void Strobe(int PRG_A, int PRG_D, int PRG_READ, int CHR_A)
//{
//    if (PRG_READ == 1)
//    {
//        int PRG_A14 = (PRG_A >> 14) & 1;

//        int tmp_prg_A17_A14;
//        if (prg_mode == 0)
//            if (PRG_A14 == 0)
//                tmp_prg_A17_A14 = prg;
//            else
//                tmp_prg_A17_A14 = ((prg + 1) & 0xF);
//        else if (prg_slot == 0)
//            if (PRG_A14 == 0) tmp_prg_A17_A14 = 0;
//            else tmp_prg_A17_A14 = prg;
//        else if (PRG_A14 == 0)
//            tmp_prg_A17_A14 = prg;
//        else tmp_prg_A17_A14 = 0xF;

//        out_PRG_A = PRG_A;
//        out_PRG_A &= ~0x4000;
//        out_PRG_A |= (tmp_prg_A17_A14 << 14);
//    }
//}
//public int Read_CHR_A(int addr)
//{
//    int CHR_A10 = (addr >> 10) & 1;
//    int CHR_A11 = (addr >> 10) & 1;
//    int out_CIRAM_A10;
//    switch (mirror)
//    {
//        case 0: out_CIRAM_A10 = 0; break;
//        case 1: out_CIRAM_A10 = 1; break;
//        case 2: out_CIRAM_A10 = CHR_A10; break;
//        case 3: out_CIRAM_A10 = CHR_A11; break;
//    }

//    addr
//}