Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.os.msdos.programmer > #687
| From | "Rod Pemberton" <do_not_have@notemailnot.cmm> |
|---|---|
| Newsgroups | comp.os.msdos.programmer |
| Subject | Re: [Hook out HW interrupt IRQ14 with Watcom C+DOS/32a in DOS ] |
| Date | 2012-07-27 16:13 -0400 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <juusl5$jrc$1@speranza.aioe.org> (permalink) |
| References | <82fd41a6-ff0c-4077-82b9-a56291dc4530@googlegroups.com> |
"liaoo" <jimmyliaoo@gmail.com> wrote in message news:82fd41a6-ff0c-4077-82b9-a56291dc4530@googlegroups.com... ... > - created by combining Watcom C and DOS32/A. Memory model is "flat" > - written for running on DOS mode only... > - now I can access >1M memory and allocate large memory with dos > extender... > The mention of DOS32/A suggests this is a DPMI application. Are you compiling for 16-bit RM DOS as "wcl/l=dos" or for 32-bit DOS PM DPMI as "wcl386/l=dos4g" ? The reason I ask is because 32-bit DPMI applications call PM interrupts in the DPMI's IDT table. This means there are *two* interrupt tables when using DPMI applications: the BIOS's RM IVT and the DPMI host's PM IDT. The DPMI host won't call RM interrupts in the BIOS' IVT table. You have to set up that code yourself using DPMI calls. This can cause missed interrupts if setup incorrectly or not setup. That might be what you're experiencing. I.e., a specific interrupt may be called, but is calling the wrong interrupt routine in the wrong cpu mode. E.g., you're triggering RM interrupt, but the PM interrupt is being called. Or, the opposite is occuring. Either way, you'll have to setup at least one interrupt in one of them (either the PM IDT or RM IVT). You may also need to setup an interrupt in the other. Or, you may need to install a callback from the interrupt in one mode to call the interrupt in the other mode. There are DPMI calls which will setup both RM IVT or PM IDT vectors, and callbacks so an IVT can call and IDT, or an IDT can call an IVT. For DPMI calls with OpenWatcom, you'll have to use int386x() and RMI struct since OpenWatcom doesn't have function wrappers for DPMI calls, unlike the DJGPP compiler. See basic use of int386x() here: http://www.openwatcom.org/index.php/Accessing_the_Harddisk_using_LBA_under_DPMI > 1. in watcom C's lib document, there is one sample code using > _dos_getvect, _dos_setvect, and _chain_intr to hook INT 0x1C... > That's for a RM IVT. You might need a PM IDT interrupt routine since you're using DOS32/A. It depends on your code. Rod Pemberton
Back to comp.os.msdos.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[Hook out HW interrupt IRQ14 with Watcom C+DOS/32a in DOS ] liaoo <jimmyliaoo@gmail.com> - 2012-07-25 08:50 -0700
Re: [Hook out HW interrupt IRQ14 with Watcom C+DOS/32a in DOS ] cg_chas <cg_chas@hotmail.com> - 2012-07-25 22:41 -0400
Re: [Hook out HW interrupt IRQ14 with Watcom C+DOS/32a in DOS ] liaoo <jimmyliaoo@gmail.com> - 2012-07-25 20:06 -0700
Re: [Hook out HW interrupt IRQ14 with Watcom C+DOS/32a in DOS ] cg_chas <cg_chas@hotmail.com> - 2012-07-26 00:06 -0400
Re: [Hook out HW interrupt IRQ14 with Watcom C+DOS/32a in DOS ] liaoo <jimmyliaoo@gmail.com> - 2012-07-25 21:42 -0700
Re: [Hook out HW interrupt IRQ14 with Watcom C+DOS/32a in DOS ] cg_chas <cg_chas@hotmail.com> - 2012-07-26 09:07 -0400
Re: [Hook out HW interrupt IRQ14 with Watcom C+DOS/32a in DOS ] liaoo <jimmyliaoo@gmail.com> - 2012-07-26 08:10 -0700
Re: [Hook out HW interrupt IRQ14 with Watcom C+DOS/32a in DOS ] "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-07-27 16:13 -0400
Re: [Hook out HW interrupt IRQ14 with Watcom C+DOS/32a in DOS ] liaoo <jimmyliaoo@gmail.com> - 2012-07-27 23:04 -0700
Re: [Hook out HW interrupt IRQ14 with Watcom C+DOS/32a in DOS ] liaoo <jimmyliaoo@gmail.com> - 2012-07-27 23:38 -0700
Re: [Hook out HW interrupt IRQ14 with Watcom C+DOS/32a in DOS ] cg_chas <cg_chas@hotmail.com> - 2012-07-25 22:51 -0400
Re: [Hook out HW interrupt IRQ14 with Watcom C+DOS/32a in DOS ] JJ <jaejunks_at@_googlemail_dot._com> - 2012-07-26 14:05 +0000
Re: [Hook out HW interrupt IRQ14 with Watcom C+DOS/32a in DOS ] liaoo <jimmyliaoo@gmail.com> - 2012-07-26 07:41 -0700
Re: [Hook out HW interrupt IRQ14 with Watcom C+DOS/32a in DOS ] "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-07-27 16:13 -0400
Re: [Hook out HW interrupt IRQ14 with Watcom C+DOS/32a in DOS ] liaoo <jimmyliaoo@gmail.com> - 2012-07-27 22:57 -0700
Re: [Hook out HW interrupt IRQ14 with Watcom C+DOS/32a in DOS ] "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-07-28 05:06 -0400
Re: [Hook out HW interrupt IRQ14 with Watcom C+DOS/32a in DOS ] liaoo <jimmyliaoo@gmail.com> - 2012-07-28 05:52 -0700
Re: [Hook out HW interrupt IRQ14 with Watcom C+DOS/32a in DOS ] liaoo <jimmyliaoo@gmail.com> - 2012-08-14 20:15 -0700
csiph-web