Talk:NROM

From NESdev Wiki
Revision as of 05:07, 29 October 2012 by Zzo38 (talk | contribs)
Jump to navigationJump to search

FamicomHDL

I have made some of FamicomHDL already and I think the following code seems to work for implementing NROM-128 with vertical mirroring:

import Language.FamicomHDL;
import Language.FamicomHDL.Cartridge;
import Language.FamicomHDL.Memory;
nrom :: Mapper ();
nrom = do {
  prgrom <- makeROM 0;
  chrrom <- makeROM 16384;
  connects $ zip cpuAddress (take 14 $ addressPins prgrom);
  connects $ zip cpuData (dataPins prgrom);
  connects $ zip ppuAddress (take 13 $ addressPins chrrom);
  connects $ zip ppuData (dataPins chrrom);
  connect romSelect (chipEnablePin prgrom);
  connect ppuA13inv ciramEnable;
  connect ciramA10 (ppuAddress !! 10);
  connect (chipEnablePin chrrom) (ppuAddress !! 13);
};

Perhaps commands should be added for some of these things make shortcut. --Zzo38 22:38, 28 October 2012 (MDT)