Hi Derek,
Yes, for the HD64180 chips, you will need to physically change the oscillator to change the CPU speed.
Under RomWBW, you do not change the serial port divisor. Rather, the divisor is calculated by RomWBW. For this to work, you just need to make sure that the CPU speed is correctly set in your RomWBW config file.
Now, here is the messy part. For the HD64180 ASCI serial ports, the CPU clock is used to derive the final serial port speed. The reason you normally see an oscillator of 18.432 MHz used is because it can be easily divided into common baud rates. A 20 MHz oscillator cannot be nicely divided to create common baud rates. Please see the
Z180 ASCI Baud Rate Options.pdf document in RomWBW. Note the specific list of possible divisors listed vertically on the left. For the HD64180, these are the
only possible divisors. RomWBW takes the CPU speed of the system and attempts to pick the correct divisor from the list. The CPU speeds listed along the top (horizontally) are the ones that work well for common baud rates.
You have a couple ways you can proceed. One way is to pick the next possible oscillator value from the chart. So, you could try 24.576 MHz. This would run the CPU at ~12 MHz. The possible baud rates do not include 57600, so you would need to use 38400 baud or one of the other possible baud rates from the table. Alternatively, you could pick any oscillator value you want knowing that RomWBW will not be able to derive a proper divisor and will therefore pick the fallback divisor of 480 arbitrarily. So, in this case if you used a 20 MHz osc, you would have a 10 MHz CPU speed and the baud rate will be 10,000,000 / 480 which is 20833. If your serial port can do that baud rate, then it should work. I would be inclined to use the recommended oscillator value from the chart. There is a good chance that your CPU will run at ~12 MHz even though rated for 10 MHz.
Thanks,
Wayne