The tables on this page provide an overview of which Portable features are available in which variant of the module. Note that the contents of this page should only be used as a guide; programs wishing to use the Portable module should always use the appropriate interfaces (e.g. Portable_ReadFeatures?) to determine the availability of the features they require.
This table lists the supported SWIs. The SWIs which the Stork version “Kinda” support are present in the source code, but are currently disabled.
| # | Name | A4 | Stork | 75/CX | HAL | A9 | VirtualRPC | RPCEmu |
|---|---|---|---|---|---|---|---|---|
| 42FC0 | Portable_Speed | Y | – | – | Y | ? | ? | ? |
| 42FC1 | Portable_Control | Y | Y | – | – | ? | ? | ? |
| 42FC2 | Portable_ReadBMUVariable | Y | Y | – | – | Y | Y | ? |
| 42FC3 | Portable_WriteBMUVariable | Y | Y | – | – | – | – | – |
| 42FC4 | Portable_CommandBMU | Y | Y | – | – | ? | ? | ? |
| 42FC5 | Portable_ReadFeatures? | – | Y | Y | Y | Y? | Y? | Y? |
| 42FC6 | Portable_Idle? | – | Y | Y | Y | Y? | Y? | Y? |
| 42FC7 | Portable_Stop? | – | Y | – | – | ? | ? | ? |
| 42FC8 | Portable_Status? | – | Y | – | – | ? | ? | ? |
| 42FC9 | Portable_Contrast? | – | Kinda | – | – | ? | ? | ? |
| 42FCA | Portable_Refresh? | – | Kinda | – | – | ? | ? | ? |
| 42FCB | Portable_Halt? | – | Kinda | – | – | ? | ? | ? |
| 42FCC | Portable_SleepTime? | – | Kinda | – | – | ? | ? | ? |
| 42FCD | Portable_SMBusOp? | – | Kinda | – | – | ? | ? | ? |
| 42FCE | Portable_Speed2 | – | – | – | Y | – | – | – |
This table lists the reason codes supported by Service_Portable.
| # | Name | A4 | Stork | 75/CX | HAL | A9 | VirtualRPC | RPCEmu |
|---|---|---|---|---|---|---|---|---|
| 0 | PowerDown | Y | Y | – | – | ? | ? | ? |
| 1 | PowerUp | Y | Y | – | – | ? | ? | ? |
| 2 | TidyUp | – | – | – | – | ? | ? | ? |
| 3 | Freeze | – | Y | – | – | ? | ? | ? |
| 4 | Unfreeze | – | Y | – | – | ? | ? | ? |
| 5 | FreezeRequest | – | Y | – | – | ? | ? | ? |
This table lists the supported *Commands.
| Name | A4 | Stork | 75/CX | HAL | A9 | VirtualRPC | RPCEmu |
|---|---|---|---|---|---|---|---|
| FreezeTime | – | Y | – | – | – | – | ? |
This table lists the status/control bits supported by Portable_Control.
| # | Name | A4 | Stork | 75/CX | HAL | A9 | VirtualRPC | RPCEmu |
|---|---|---|---|---|---|---|---|---|
| 0 | Econet power | Y | – | – | – | ? | ? | ? |
| 1 | LCD power | Y | Y | – | – | ? | ? | ? |
| 2 | External display power | Y | Y | – | – | ? | ? | ? |
| 3 | Serial bufer & oscillator | Y | Y | – | – | ? | ? | ? |
| 4 | Dual panel mode | Y | – | – | – | ? | ? | ? |
| 5,6 | Video clock control | Y | – | – | – | ? | ? | ? |
| 7 | Invert video clock | Y | – | – | – | ? | ? | ? |
| 8 | Backlight | Y | Y | – | – | ? | ? | ? |
| 9 | 1/2 extra display lines | Y | – | – | – | ? | ? | ? |
| 10 | 1/2 DRAMs | Y | – | – | – | ? | ? | ? |
| 11 | Sound filters & amplifiers | – | Y | – | – | ? | ? | ? |
| 12 | PCMCIA | – | Y | – | – | ? | ? | ? |
| 13 | Parallel port | – | Y | – | – | ? | ? | ? |
| 14 | FDC oscillator power | Y | Y | – | – | ? | ? | ? |
| 15 | IDC hard disc | – | Y | – | – | ? | ? | ? |
| 16 | Invert LCD palette | Y | Y | – | – | ? | ? | ? |
| 17 | Internal tracker ball in use | – | Y | – | – | ? | ? | ? |
| 18 | External mouse in use | – | Y | – | – | ? | ? | ? |
| 19 | External kb & mouse power | – | Y | – | – | ? | ? | ? |
This table lists the BMU variables supported by the BMU SWIs.
| # | Name | A4 | Stork | 75/CX | HAL | A9 | VirtualRPC | RPCEmu |
|---|---|---|---|---|---|---|---|---|
| 0 | Version & BMU memory map | Y | – | – | – | Y | – | ? |
| 1 | Nominal battery capacity | Y | – | – | – | Y | – | ? |
| 2 | Measured battery capacity | Y | – | – | – | Y | – | ? |
| 3 | Used battery capacity | Y | – | – | – | Y | – | ? |
| 4 | Usable battery capacity | Y | – | – | – | Y | – | ? |
| 5 | Reserved | Y | – | – | – | – | – | ? |
| 6 | Charge estimate | Y | – | – | – | – | – | ? |
| 7 | Instantaneous voltage | Y | Y | – | – | – | – | ? |
| 8 | Instantaneous current | Y | – | – | – | – | – | ? |
| 9 | Instantaneous temperature | Y | Y | – | – | – | – | ? |
| 10 | Flags | Y | Y | – | – | Y | – | ? |
| 11 | Charge rate | Y | Y | – | – | Y | – | ? |
| 12 | Charge current | – | Y | – | – | – | – | ? |
| 13 | Discharge current | – | Y | – | – | – | – | ? |
| 14 | Voltage | – | Y | – | – | Y | – | ? |
| 15 | Temperature 1 | – | Y | – | – | – | – | ? |
| 16 | Temperature 2 | – | Y | – | – | – | – | ? |
| 17 | Charge level | – | Y | – | – | – | – | ? |
| 18 | Status flags (as variable 10) | – | Y | – | – | – | – | ? |
| 19 | Input signals | – | Y | – | – | – | – | ? |
| 20 | Battery capacity | – | Y | – | – | – | – | ? |
| 21 | Battery time remaining, seconds | – | – | – | – | – | Y | ? |
| 22 | Max battery life in seconds | – | – | – | – | – | Y | ? |
This table lists the supported flags in BMU variable 10, variable 18 (which is identical to 10), and by the Portable BMU event. Note that there is some confusion over bit 0; the RISC OS Select documentation lists it as “Battery replaced”, while the Stork module describes it as an extra threshold, “Battery charged”.
| # | Name | A4 | Stork | 75/CX | HAL | A9 | VirtualRPC | RPCEmu |
|---|---|---|---|---|---|---|---|---|
| 0 | Battery replaced | – | – | – | – | ? | – | ? |
| – | Threshold 3 (battery charged) | – | Y | – | – | – | – | ? |
| 1 | Lid open | Y | Y? | – | – | ? | – | ? |
| 2 | Threshold 2 (battery flat) | Y | Y? | – | – | ? | – | ? |
| 3 | Threshold 1 (battery low) | Y | Y? | – | – | ? | – | ? |
| 4 | Charge system fault | Y | Y? | – | – | ? | – | ? |
| 5 | Charge state known | Y | Y? | – | – | ? | – | ? |
| 6 | Battery present | Y | Y? | – | – | ? | – | ? |
| 7 | Charger connected | Y | Y? | – | – | ? | – | ? |
h4(#bmu%20commands). BMU commands
This table lists the supported Portable_CommandBMU reason codes. Note that although most documentation lists reason codes 2 and 3 as being reserved, the A4 source suggests that they were used to control battery charging.
| # | Name | A4 | Stork | 75/CX | HAL | A9 | VirtualRPC | RPCEmu |
|---|---|---|---|---|---|---|---|---|
| 1 | Remove power | Y | Y | – | – | ? | ? | ? |
| 2 | Set part charge | Y | – | – | – | ? | ? | ? |
| 3 | Set full charge | Y | – | – | – | ? | ? | ? |
| 4 | Set autostart | Y | – | – | – | ? | ? | ? |
| 5 | Turn off AC power | – | Y | – | – | ? | ? | ? |
| 6 | Turn on AC power | – | Y | – | – | ? | ? | ? |
| 7 | Disable BMU event generation | – | Y | – | – | ? | ? | ? |
| 8 | Enable BMU event generation | – | Y | – | – | ? | ? | ? |
This table lists the supported Portable_Stop? wakeup reasons.
| # | Name | A4 | Stork | 75/CX | HAL | A9 | VirtualRPC | RPCEmu |
|---|---|---|---|---|---|---|---|---|
| 1 | Keyboard | – | Y | – | – | ? | ? | ? |
| 2 | RTC | – | – | – | – | ? | ? | ? |
This table lists the various bits returned by Portable_Status?.
| # | Name | A4 | Stork | 75/CX | HAL | A9 | VirtualRPC | RPCEmu |
|---|---|---|---|---|---|---|---|---|
| 0 | Docked | – | Y | – | – | ? | ? | ? |
| 1 | External FDC connected | – | Y | – | – | ? | ? | ? |
| 2 | External trackball connected | – | – | – | – | ? | ? | ? |
| 3 | Internal display in use | – | Y | – | – | ? | ? | ? |