The PCjr Technical Reference (2-107 thru 2-118 Program Cartridge and schematics B-20 thru B-22 Program Cartridge) documents the specifications for the cartridge. The original specifications for the ROM chips are found on 2-114. I've designed a few development-oriented cartridges from scratch, building a ROM-only cartridge is pretty straightforward.
Things to note:
0.) General/boilerplate warning for doing anything circuit related: if you're not familiar with how to read chip datasheets and schematics, and you mis-wire something, you can damage the machine. That is true of mucking with any electronic device, not specific to the PCjr.
1.) If you're designing your own PCBs pretty much any semi-modern EEPROM is likely to be fast enough. The Technical Reference lists 250ns response time and the electrical power and signals for the cartridge are 5V TTL, and the intended design expects <= 32K byte x 8 bit ROM modules.
2.) If you're trying to take existing OEM cartridges and swap out the ROMs, you either need to ensure you get EEPROMS with compatible pin-outs or build some kind of pin adapter
3.) Some of the cartridge software programs may expect to be loaded into a specific address range (using specific chip selects) so if you're attempting to write dumped copies to ROM chips and the cartridge maps them to other areas they may not work without patching (according to Hargle on the brutman forums [
https://www.brutman.com/forums/viewtopi ... 8522#p8522] PitFall 2 for example is hardcoded to find its int9 implementation in the D800 range).
4.) Most of the cartridge dumps online are not raw binary images and are instead dumped as ".jrc" format with a header pre-pended (unfortunately, there are two incompatible .jrc formats with different sized headers floating around - one from the PCJRCART program [128 byte header] and one from JRIPCART program [512 byte header]). The header must be removed prior to writing the ROM to the EEPROM.
5.) You didn't ask, but the cartridge slots don't support write signaling to the cartridge slot. A few folks have developed various workarounds (Integrity Technology back in the period created a real time clock cartridge, Raphnet designed the modern SD-Cart JR, I designed a modern development RAM cartridge, etc.), but due to the way they work their write access methods require custom read-access sequences that don't work the way standard programs would expect.