Talk:NROM: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(FamicomHDL)
 
No edit summary
Line 17: Line 17:
   connect (chipEnablePin chrrom) (ppuAddress !! 13);
   connect (chipEnablePin chrrom) (ppuAddress !! 13);
  };
  };
--[[User:Zzo38|Zzo38]] 22:38, 28 October 2012 (MDT)
Perhaps commands should be added for some of these things make shortcut. --[[User:Zzo38|Zzo38]] 22:38, 28 October 2012 (MDT)

Revision as of 05:07, 29 October 2012

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)