summaryrefslogtreecommitdiff
path: root/newlib/libc/sys/go32/go32func.c
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2018-01-03 17:39:24 -0700
committerPikalaxALT <pikalaxalt@gmail.com>2018-01-03 17:39:24 -0700
commita6c1ed4716cf02626ea035beb6dd4a921642ba80 (patch)
treeef582c1b52819e27bdd16097ec03b69799d04ede /newlib/libc/sys/go32/go32func.c
parentf6c9a624fa8a6878a7fb2b02f55e4990a20feb59 (diff)
Use libc from agbcc instead of standalone newlib\nYou must have AGBCC commit 80d029caec189587f8b9294b6c8a5a489b8f5f88 in order to compile pmd_red.gbalibc
Diffstat (limited to 'newlib/libc/sys/go32/go32func.c')
-rw-r--r--newlib/libc/sys/go32/go32func.c69
1 files changed, 0 insertions, 69 deletions
diff --git a/newlib/libc/sys/go32/go32func.c b/newlib/libc/sys/go32/go32func.c
deleted file mode 100644
index ec3853b..0000000
--- a/newlib/libc/sys/go32/go32func.c
+++ /dev/null
@@ -1,69 +0,0 @@
-#include <sys/types.h>
-#include "go32.h"
-#include "dpmi.h"
-#include "dos.h"
-
-u_short _go32_my_cs()
-{
- asm("movw %cs,%ax");
-}
-
-u_short _go32_my_ds()
-{
- asm("movw %ds,%ax");
-}
-
-u_short _go32_my_ss()
-{
- asm("movw %ss,%ax");
-}
-
-u_short _go32_conventional_mem_selector()
-{
- return _go32_info_block.selector_for_linear_memory;
-}
-
-static _go32_dpmi_registers regs;
-static volatile u_long ctrl_break_count = 0;
-static int ctrl_break_hooked = 0;
-static _go32_dpmi_seginfo old_vector;
-static _go32_dpmi_seginfo new_vector;
-
-static ctrl_break_isr(_go32_dpmi_registers *regs)
-{
- ctrl_break_count ++;
-}
-
-u_long _go32_was_ctrl_break_hit()
-{
- u_long cnt;
- _go32_want_ctrl_break(1);
- cnt = ctrl_break_count;
- ctrl_break_count = 0;
- return cnt;
-}
-
-void _go32_want_ctrl_break(int yes)
-{
- if (yes)
- {
- if (ctrl_break_hooked)
- return;
- _go32_dpmi_get_real_mode_interrupt_vector(0x1b, &old_vector);
-
- new_vector.pm_offset = (int)ctrl_break_isr;
- _go32_dpmi_allocate_real_mode_callback_iret(&new_vector, &regs);
- _go32_dpmi_set_real_mode_interrupt_vector(0x1b, &new_vector);
- ctrl_break_count = 0;
- ctrl_break_hooked = 1;
- }
- else
- {
- if (!ctrl_break_hooked)
- return;
- _go32_dpmi_set_real_mode_interrupt_vector(0x1b, &old_vector);
- _go32_dpmi_free_real_mode_callback(&new_vector);
- ctrl_break_count = 0;
- ctrl_break_hooked = 0;
- }
-}