Mail Archives: djgpp/2014/07/11/04:45:08
X-Authentication-Warning: | delorie.com: mail set sender to djgpp-bounces using -f
|
Date: | Fri, 11 Jul 2014 10:38:11 +0200
|
From: | Mateusz Viste <mateusz DOT viste AT delorie DOT com>
|
User-Agent: | Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0
|
MIME-Version: | 1.0
|
Newsgroups: | comp.os.msdos.djgpp
|
Subject: | Re: Using outportb() with djgpp
|
References: | <almarsoft DOT 2508132549819646607 AT news DOT free DOT fr>
|
In-Reply-To: | <almarsoft.2508132549819646607@news.free.fr>
|
Lines: | 49
|
Message-ID: | <53bfa273$0$1981$426a74cc@news.free.fr>
|
Organization: | Guest of ProXad - France
|
NNTP-Posting-Date: | 11 Jul 2014 10:38:11 CEST
|
NNTP-Posting-Host: | 82.225.72.113
|
X-Trace: | 1405067891 news-1.free.fr 1981 82.225.72.113:51894
|
X-Complaints-To: | abuse AT proxad DOT net
|
Bytes: | 3019
|
To: | djgpp AT delorie DOT com
|
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp
|
Reply-To: | djgpp AT delorie DOT com
|
Hi,
Thank you all for your kind replies.
The "weird interrupt happening during I/O" sounded sexy enough that I
had to test it out immediately - I replaced all my inportb() and
outportb() calls with a function that first call disable(), then do the
in/out operation, and then call enable() if interrupts were enabled
before. Unfortunately this doesn't changed my problem - my PC still
reboots wildly on random i/o operations on the 0x330 port.
Some context: I am trying to play a few notes on my Sound Blaster 64
(ISA) card using its embedded MPU401 synth controller. It works pretty
well when compiled in realmode with Turbo C 2.0.1, but then I am having
a bit of hard time with memory management (64K limit et all), so I
thought I'd recompile it under DJGPP. And then I experienced those wild
reboots I was writing before. Interestingly enough, the protected mode
version works fine on DOSBox.
Of course I am aware that such 'bug report' is good for nothing - I was
just wondering whether there is some top secret information about doing
I/O calls from protected mode that I ignored, but I understand now that
there is nothing specific to do in protected mode (or at least nothing
much else than in real mode), so I will try to put together some
minimalistic test program to reproduce the problem on the smallest
possible example, and then I'll see where it leads me (might get back to
you then).
Again, thanks for all your prompt replies!
cheers,
Mateusz
On 07/10/2014 10:20 PM, Mateusz Viste wrote:
> Hi,
>
> I am trying to write to a hardware port from within djgpp, using
> outportb(). It does work from time to time, but often outportb() will
> make the whole PC reboot. Specifically I am writing to port 0x330 (to a
> MPU401 adapter). If using the same code with turbo C, it works
> perfectly. Hence I am wondering: are there any special "rules" I should
> be aware of when trying to outportb() from within protected mode?
>
> regards,
> Mateusz
- Raw text -