spark2k06 / RTC8088

Real Time Clock for your PC XT. Very low profile, simple and open hardware.
GNU General Public License v3.0
25 stars 12 forks source link

Add jumper to select the I/O address #3

Closed skiselev closed 6 months ago

skiselev commented 8 months ago

Currently the project uses different SPLD bitstreams to select the RTC I/O address. Therefore, to change the I/O address, it requires reprogramming the SPLD, which is not a viable option for most users.

I recommend two options for modifications to allow configuring the I/O addresses:

  1. Simple: Use currently unused pin 19 to select between two addresses. This is a really simple change. It will require adding a jumper and a pull-up resistor on this pin.
  2. More complicated: Free up 1-2 more pins. A few options here:
    • Don't decode A2, and perhaps even don't decode A3. The I/O port allocation in IBM PC-compatibles is typically done with 0x10/16 addresses increments anyway. Use freed up signals to add switches or jumpers.
    • Don't implement the IRQ. I don't think it is being used often, and perhaps not being used at all...
spark2k06 commented 8 months ago

Good proposals, I take note for a next version.

spark2k06 commented 6 months ago

With this version we will have 5 bits to play with the address mapping:

image

image

I will now think about their implementation in the SPLD.

spark2k06 commented 6 months ago

Thank you for your great contribution @skiselev, I merge your changes.