Skip to content

implement (partially) int21/8Ch call#291

Merged
stsp merged 1 commit into
masterfrom
sig
Mar 29, 2026
Merged

implement (partially) int21/8Ch call#291
stsp merged 1 commit into
masterfrom
sig

Conversation

@stsp
Copy link
Copy Markdown
Member

@stsp stsp commented Mar 29, 2026

INT 21 - European MS-DOS 4.0 - SET SIGNAL HANDLER
AH = 8Ch
AL = signal number (see #01793)
BL = action (see #01794)
DS:DX -> signal handler (see #01795)
Return: CF clear if successful
AL = previous action
ES:BX -> previous signal handler
CF set on error
AX = error code (01h,invalid SigNumber or Action)
Desc: set the routine which will be invoked on a number of exceptional
conditions

Allow only SIGHUP (signum = 2), and send it when EOF detected. This allows to interrupt syscalls with int16.

See dosemu2/dosemu2#1005 (comment)

INT 21 - European MS-DOS 4.0 - SET SIGNAL HANDLER
        AH = 8Ch
        AL = signal number (see #01793)
        BL = action (see #01794)
        DS:DX -> signal handler (see #01795)
Return: CF clear if successful
            AL = previous action
            ES:BX -> previous signal handler
        CF set on error
            AX = error code (01h,invalid SigNumber or Action)
Desc:   set the routine which will be invoked on a number of exceptional
          conditions

Allow only SIGHUP (signum = 2), and send it when EOF detected.
This allows to interrupt syscalls with int16.

See dosemu2/dosemu2#1005 (comment)
@stsp stsp merged commit d484086 into master Mar 29, 2026
2 checks passed
@stsp stsp deleted the sig branch March 29, 2026 18:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant