INES Mapper 173 is used to denote an unmarked board used by the original Idea-Tek releases (cartridge codes ET-xx) of several of their games:
Mapper 173 uses a custom IC (real number 05-00002-010, fake marking "ITC20V8-10LP", falsely suggesting a particular type of programmable logic) serving as a latch, adder and inverter. There are six registers: "P", "R", and Output (three bits each); "S", inCrement, and and inVert (one bit each).
Mask: $E100
read $4100: [xxxx SRRR]
|||| ||||
|||| ++++- Copy internal registers 'RRR' and 'S' XOR 'V' to data bus.
++++------ open bus
Mask: $E103
write $4100: If Increment is set, internal register 'RRR' <- 'RRR'+1
Otherwise, if Invert is clear, copy internal register 'PPP' to 'RRR'
if Invert is set, copy '~PPP' to 'RRR'
'S' is not changed at all.
write $4101: [.... ...V] - Invert Mode. This value is immediately inverted and used as CHR A14.
write $4102: [.... SPPP] - Copy data bus to internal registers 'S' and 'PPP'.
'S' can be read back immediately; 'PPP' must be copied using $4100 first.
write $4103: [.... ...C] - Increment Mode
Mask: $8000
write $8000: copy bottom two bits of internal register 'RRR' to CHR A15 and CHR A13 banking pins, in order.
In Mapper 173, bit 0 of the 8 KiB CHR ROM bank number (CHR A13) comes from Output bit 0, while bit 1 of the 8 KiB CHR ROM bank number (CHR A14) is the inverted value of the Invert register:
8 KiB CHR-ROM bank number := (Output &1) | (~Invert <<1);
Games therefore set Invert (writing $FF or $01 to $4101) to choose CHR banks 0 and 1, and clear Invert (writing $00 to $4101) to choose CHR banks 2 and 3.