For whatever reason, I felt the need today to figure out how a Holy Diver cart could be made. (I'll never go anywhere near a soldering iron, so this is all hypothetical).
I don't know much EE, so bear with me:
You would need an 8 bit latch. You could hook up three bits of the latch to the PRG mask rom through a 7432 just like in UxROM. You could hook up 4 bits of the latch directly to the CHR mask rom just like in CNROM. So you're left with 1 latched bit, interpreted as H\V, for mirror control.
This is where I get a bit fuzzy. From what I've jotted down, it seems a simple 2:1 mux will do the job. The two inputs are CHR A10 and CHR A11, the output is CIRAM A10. This corresponds to how you would do fixed mirroring control using H and V solder pads. So the mux's input select would be the last bit on the latch.
I think you can do a 2:1 mux using a 7400 quad NAND, like this:
1A - H
1B - H
2A - 1Y
2B - CHR A10
3A - H
3B - CHR A11
4A - 2Y
4B - 3Y
4Y - CIRAM A10
When H is low, CHR A10 is propagated to CIRAM A10 ("Vertical Mirroring")
When H is high, CHR A11 is propagated to CIRAM A10 ("Horizontal Mirroring")
So that is all of Holy Diver (I think), implemented in a 74377, a 7432, and a 7400.
But looking at the cart on bootgod: http://bootgod.dyndns.org:7777/profile.php?id=4038, there's a 74245 as well. What would that be for?
I don't know much EE, so bear with me:
You would need an 8 bit latch. You could hook up three bits of the latch to the PRG mask rom through a 7432 just like in UxROM. You could hook up 4 bits of the latch directly to the CHR mask rom just like in CNROM. So you're left with 1 latched bit, interpreted as H\V, for mirror control.
This is where I get a bit fuzzy. From what I've jotted down, it seems a simple 2:1 mux will do the job. The two inputs are CHR A10 and CHR A11, the output is CIRAM A10. This corresponds to how you would do fixed mirroring control using H and V solder pads. So the mux's input select would be the last bit on the latch.
I think you can do a 2:1 mux using a 7400 quad NAND, like this:
1A - H
1B - H
2A - 1Y
2B - CHR A10
3A - H
3B - CHR A11
4A - 2Y
4B - 3Y
4Y - CIRAM A10
When H is low, CHR A10 is propagated to CIRAM A10 ("Vertical Mirroring")
When H is high, CHR A11 is propagated to CIRAM A10 ("Horizontal Mirroring")
So that is all of Holy Diver (I think), implemented in a 74377, a 7432, and a 7400.
But looking at the cart on bootgod: http://bootgod.dyndns.org:7777/profile.php?id=4038, there's a 74245 as well. What would that be for?