Function | Address | Description |
---|---|---|
DOS_SET_MESSAGE | 014E | Enable/disable disk error messages |
Synopsys
Enable/disable disk error messages.
This should be used to make +3DOS aware of your own ALERT subroutine. When +3DOS detects an error, it will call your ALERT subroutine, passing to it the values documented below. The ALERT subroutine should print the text of the message that +3DOS passes it, then should wait for the user to press a key. If the key is in the reply string (that +3DOS also passes - version V1.0 only), then a 'ret' should be made with A = 0, 1 or 2, or containing the character (depending on the version of +3DOS).
Entry Parameters
Register | Content |
---|---|
A | Enable 0xff or disable 0x00 |
HL | Address of ALERT routine if enabled |
Exit Parameters
- HL = address of previous ALERT routine, 0 if none
- Always:
- AF BC DE IX corrupt, all other registers preserved.
ALERT implementations
Note that if you are substituting your own ALERT subroutine, the 'entry conditions' are the conditions passed to your subroutine and the 'exit conditions' are the values that your subroutine must produce and the registers you are allowed to corrupt.
There are two routine interfaces for ALERT, depending on which version of +3DOS is installed.
If you provide an ALERT function, you should have two subroutines, or one with switchable entry and exit conditions, and check the +3DOS version number before deciding which one to use.
+3DOS V1.0
Entry Parameters
Register | Content |
---|---|
DE | Address of reply string in page 7 terminated by 0xFF |
HL | Address of error message in page 7 terminated by 0xFF |
Exit Parameters
- A = Reply character
- Always:
- F BC DE HL IX corrupt, all other registers preserved.
+3DOS V1.1 and above
The second version allows the user to provide non-UK error messages and is generally more flexible, is present in +3DOS versions V1.1 and upwards.
Entry Parameters
Register | Content |
---|---|
B | Error number |
C | Drive A…P |
D | Logical track if required by message |
E | Logical sector if required by message |
HL | Address of UK error message in page 7 terminated by 0xFF |
Exit Parameters
-
A = Reply
0 = cancel
1 = retry
2 = ignore - Always:
- F BC DE HL IX corrupt, all other registers preserved.