Tracing the VIA towards the BCD display revealed an interesting circuit to emulate. The 6522 VIA has a poor mans UART builtin in the form of a 8 bit shift register that is very versatile. It can shift both in and out clocked by internal timers, the VIA clock or an external clock. It also has a continuous mode so all together there are numerous ways to use it. In the prodigy it is used to drive the segments of the BCD display.
The BCD display is of common anode type where two bits on VIA port B selects one of the four anodes to light up through a TTL 74145 chip. The shift register is set up by the Prodigy ROM to put the internal VIA clock on CB1 and data on CB2 which is connected to a 74164 chip which translates the bits shifted in to it to an 8 bit output which drives the segments for one of the 4 BCD displays selected by the 74145. There is a need for more current than the TTL circuits can drive to lit up the segments and why there is also 4 x PN2907 transistors and 2 x 75491 chips to boost the current.
Now, how would we emulate this in MAME? First we need to check what chips are already emulated and a quick check in the source code repository reveals that there was no 74164 device.
So the next thing to do is writing a 74164 device and add that to MAME.
Inga kommentarer:
Skicka en kommentar