Posted to GitHub: Internal Serial Enabler

I have posted the source to “Internal Serial Enabler” – a small newton app that allows you to view and control a few of the signals of the internal serial slot on the MessagePad 2×00:

  • gpSerPortSel – the serial port 0 selection signal.  When high, the internal serial driver is disabled, leaving Serial0 available for the internal slot.
  • PortSelect – the serial port 3.  When high, Serial3 is available for the internal slot.  When low, Serial3 is dedicated for the external interconnect port.
  • General Purpose I/O – Pin 26 can either be an input or output signal.  Using the app, you can select whether you want the app to be an input or an output.  If you select ‘output’, you can control the signal.
The application polls all three I/O signals and updates the user interface state every 1/2 second.  This will allow you to see when other applications or NewtonOS makes changes.  The gpSerPortSel pin does toggle on and off, enabling/disabling the driver.  This is likely for power saving.
Once again, I can’t credit Eckhart K√∂ppen enough for posting the source to Newton-Blunt-Support.  It is how I learned to call arbitrary ROM functions.
This application is intended for developers working on hardware for the internal serial slot.  If you are not such a person, do not install this application.   It should be harmless for a Newton with an empty internal serial slot.  Even still, you are toggling hardware signals with undocumented ROM functions… there is the potential to do hardware damage.
You can find the source and a pre-built package on GitHub here:  I have released it under GPL v2.0 and as always, use it at your own risk!