module CartPort (SYSTEM_CLK, M2, CIC_TO_MB, CIC_TO_CART, CIC_CLK, CIC_RST, 
	CPU_D, CPU_A, CPU_RnW, nROMSEL, EXP, nIRQ, 
	PPU_D, PPU_A, PPU_nA13, VRAM_A10, VRAM_nCE, PPU_nRD, PPU_nWR);

	input SYSTEM_CLK; 		// NES Board specific ⚠️
	input M2;
	output CIC_TO_MB; 		// NES Board specific ⚠️
	input CIC_TO_CART; 		// NES Board specific ⚠️
	input CIC_CLK;			// NES Board specific ⚠️
	output CIC_RST;			// NES Board specific ⚠️

	// CPU Part
	inout [7:0] CPU_D;
	input [14:0] CPU_A; 	// not using A15
	input CPU_RnW;
	input nROMSEL;
	input [9:0] EXP;		// NES Board specific ⚠️
	output nIRQ;

	// PPU Part
	// If you've been doing NES/Famicom for a long time, you've long known that the cartridge controls the VRAM access for the PPU. For everyone else, welcome to the world of Alien.
	inout [7:0] PPU_D;
	input [13:0] PPU_A;
	input PPU_nA13;
	output VRAM_A10;
	output VRAM_nCE;
	input PPU_nRD;
	input PPU_nWR;

endmodule // CartPort