File tree Expand file tree Collapse file tree 3 files changed +21
-0
lines changed Expand file tree Collapse file tree 3 files changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -2242,3 +2242,21 @@ void int28(void)
2242
2242
{
2243
2243
usleep (1 ); // TODO: process messages?
2244
2244
}
2245
+
2246
+ void int29 (void )
2247
+ {
2248
+ int ax = cpuGetAX ();
2249
+ // Fast video output
2250
+ debug (debug_int , "D-29: AX=%04X\n" , ax );
2251
+ debug (debug_dos , "D-29: fast console out AX=%04X\n" , ax );
2252
+
2253
+ int ch = ax & 0xFF ;
2254
+ // If stdout is redirected or video is active, writes to video screen:
2255
+ if (devinfo [1 ] != 0x80D3 || video_active ())
2256
+ video_putch (ch );
2257
+ // Else, write to console
2258
+ else if (!handles [1 ])
2259
+ putchar (ch );
2260
+ else
2261
+ fputc (ch , handles [1 ]);
2262
+ }
Original file line number Diff line number Diff line change @@ -9,3 +9,4 @@ void int21(void);
9
9
void int2f (void );
10
10
void int22 (void );
11
11
void int28 (void );
12
+ void int29 (void );
Original file line number Diff line number Diff line change @@ -108,6 +108,8 @@ void bios_routine(unsigned inum)
108
108
}
109
109
else if (inum == 0x28 )
110
110
int28 ();
111
+ else if (inum == 0x29 )
112
+ int29 ();
111
113
else if (inum == 0x2A )
112
114
int2a ();
113
115
else if (inum == 0x2f )
You can’t perform that action at this time.
0 commit comments