Example: Extended Basic
This is an example of a software module, a very popular one: Extended Basic. Due to the limitations of the console TI BASIC, Extended Basic somewhat became the reference point for BASIC development. You may safely assume that most TI users owned this cartridge.
I will take it as an example of cartridge composition.
The two smaller circuits on the left are GROMs. These are TI-proprietary chips with a capacity of 6 KiB each. If you look closely, the GROMs have different type declarations; they are active in different address ranges. Hence, GROMs are usually referred to as GROM 0, GROM 1, and so on, up to GROM 7. GROMs 0-2 are located in the console, so cartridges can add up to 5 additional GROMs. In the case of Extended Basic, we have four GROMs (GROM 3 - GROM 6), but on this picture there seem to be only two. Actually, they are stacked:
The bigger circuits in the middle of the board are mask ROMs; they are directly accessed by the memory bus. One of the chips is a 4 KiB ROM, the other is a 8 KiB ROM.
Finally, we have two smaller TTL chips on the right that are used for the board logic; they do not contain data.
In order to emulate the cartridge in MAME, we need the contents of the GROMs and the ROMs. The board logic is already emulated inside MAME, but as mentioned, we cannot deliver the ROM contents for copyright reasons.
It is important to understand that the RPK and ZIP cartridge concepts are significantly different when it comes to the memory contents.
More content to follow