HDTenEightyP/NetNews huggingface dataset:
From: jt@fuw.edu.pl (Jerzy Tarasiuk)
Subject: Re: Help needed using XMS function 'MoveExtendedMemory'
Organization: Warsaw University Physics Dept.
Date: Fri, 16 Oct 1992 16:46:10 GMT

>>>>> On 12 Oct 92 11:46:45 GMT, smhkotmans@mswe.dnet.ms.philips.nl said:
s> Can someone outthere please help me with the following question concerning
s> the XMS function 2Fh, sub-function 0Bh (Move Extended Memory Block).
s> This function can be used to move blocks of extended memory, that are allocated
s> by using function 2Fh sub-function 09h. It could however also be used by moving
s> blocks of data in conventional memory to or from extended memory, so the manual
s> says.
s> The structure used by the MoveExtendedMemory function to identify the memory
s> blocks is pictured below.
s> stuct {
s>     long length;		/* length of block to move */
s>     short sourceHandle;		/* handle of block to move */
s>     long sourceOffset;		/* ??? */
s>     short destHandle;		/* handle of block to move to */
s>     long destOffset;		/* ??? */
s> } XMS_move_struct;
s> My question is:
s>     a)	What does this 'sourceOffset' and 'destOffset' mean, because the 
- I suppose offset to begin of area for the handle. It would be nonsense
  to be able to access begin of area always.
s>     b)	What 'handle' do i specify when moving data between conventional
- Conventional memory has handle 0 and segment:offset instead offset.
s>     c)	Do i use the correct function at all?
- Yes.
s> I am a junior in XMS/EMS programming, so all advice is gratefully accepted.
- I never used it, but read NG Interrupts database carefully.
  Suppose setting: 5,0,0x10000*DataSeg+Offset,Handle,10 moves 5 bytes
  from DataSeg:Offset..Offset+4 to area at addresses 10..14 + starting
  address of block which handle is Handle.
Newsgroups: comp.os.msdos.programmer
From: downs@helios.nevada.edu (Lamont Downs)
Subject: Re: VGA 320x240@256 -P?
Organization: UNLV
Date: Thu, 15 Oct 1992 01:11:33 GMT

In article <Bw4o36.GMH@usenet.ucs.indiana.edu> ssalter@silver.ucs.indiana.edu (-=[SLS]=-) writes:
>From: ssalter@silver.ucs.indiana.edu (-=[SLS]=-)
>Subject: Re: VGA 320x240@256 -P?
>Date: 14 Oct 92 20:11:30 GMT
>mbfarah@isluga (Miguel Braxton Farah)
>>Hi! Is it true that there is a VGA (extended-non documented or whatever)
>>320x240@256 mode?. How can I access it - if it exists? I'm trying to write 
>>a GIF viewer of my own and this mode would be very useful for avoiding the
>>infamous distortion when one sees 640x480 images in 320x200.
>
>
>Is true..refer to DDJ articles by Michael Abrash for one source. This
>mode is one of several that are called mode-x and mode-y vga modes.
>There is an xlib02.zip library on wuarchives in MSDOS_UPLOADS that
>should help.

Also check out Abrash's book Power Graphics Programming (Que I think) for
reprints of articles he wrote for the now unfortunately defunct Programmer's
Journal. He covers a number of the "undocumented" VGA modes in these.

Lamont Downs
downs@helios.nevada.edu
Newsgroups: comp.os.msdos.programmer
From: jt@fuw.edu.pl (Jerzy Tarasiuk)
Subject: Re: Generating 80x86 code from a compiler (NO DOS)
Organization: Warsaw University Physics Dept.
Date: Tue, 13 Oct 1992 13:56:25 GMT

>>>>> On Tue, 13 Oct 1992 03:17:03 GMT, draper@ais.org (Patrick Draper) said:
PD> In article <9210061742.AA05172@deepthought.cs.utexas.edu> STDN%MARIST@VM.MARIST.EDU (Dan Newcombe) writes:
>What I want to do is this:
>  Generate pure 80x86 code from a compiler that could be used without
>DOS.  I don't want stuff like INT 21 and all of those functions.

PD> You'll can do it with Borland C++, and I'm sure quite a few others. The two
PD> things you'll want to watch for is 1) the runtime libary and 2) the startup
PD> code. Borland includes the startup code for it's compiler, which you can
PD> modify and reassemble. The Borland 3.1 compiler also has source code for the
PD> runtime library which you can analyze to determine what functions don't use
PD> DOS.
PD> Straight C won't generate DOS, or BIOS calls. If you throw away the standard
PD> runtime library, you are reduced to writing your own functions. It's a lot
PD> of work, but it can be done. As a reference, I recommend P.J. Plaugher's

Seems would need compiler source code first and Borland surely don't
publish it (the startup code is useful if want to produce program which
can run in environment other than DOS, but it doesn't help run compiler
- must compile compiler first).
There is a GNU C compiler available with full source, so it can be used
for this purpose (to have compiler source, compile it and run without
DOS). But it is still a lot of work, what's about files without DOS ?
What way use a compiler without files ?
Newsgroups: comp.os.msdos.programmer
From: jt@fuw.edu.pl (Jerzy Tarasiuk)
Subject: Re: flicker free drawing
Organization: Warsaw University Physics Dept.
Date: Fri, 9 Oct 1992 10:45:58 GMT

Oh, no, cannot do without wait on retrace at all, regardless of how many
video pages you have (if your program is quick enough it can fill all
pages while first is displayed :-). And should be aware of some video
cards which doesn't switch page during display (they wait for retrace
to make the requested page active, before retrace they will not change
displayed page regardless of how many times program requests it),
I don't know what such a card does if page change is requested during
vertical retrace: display new page after end of retrace or display
once old ? I hope they display new...
And, about limiting time: can program timer interrupt to measure amount
of time requested by program and write servicing routine which switches
tasks; your program can 1. check how much time lasts vertical retrace
and how much time lasts displaying to determine how timer chip should
be programmed, 2. set timer interrupt service which waits for retrace
signal change, programs timer chip (note retrace and display times are
different, must reprogram rtimer chip on every interrupt) to get next
interrupt immediately before retrace signal change, and activates proper
task - display update during retrace, other (assume display updating
isn't the only what the program does ? :-) during display.
Note setjmp()/longjmp() can be used for task switching in TurboC.
For assembly programming - note every task must have own stack and
task switch is done by: save all registers on stack, save SS:SP in
task descriptor, load new SS:SP from new task descriptor, restore
registers from stack, return (registers can be saved in t.d., too).
Newsgroups: comp.os.msdos.programmer
From: downs@helios.nevada.edu (Lamont Downs)
Subject: Re: Intermediate Resolution modes for SVGA cards
Organization: UNLV
Date: Fri, 16 Oct 1992 04:15:56 GMT

In article <1992Oct15.180633.17448@ens.fr> rideau@dmi.ens.fr (Francois-Rene Rideau) writes:
>From: rideau@dmi.ens.fr (Francois-Rene Rideau)
>Subject: Intermediate Resolution modes for SVGA cards
>Date: 15 Oct 92 18:06:33 GMT
>
> The main problem with the graphics modes in the PC is that
>either le resolution is too low (320*200) or it is too slow
>(640*480) and demand too much memory.
> Is it possible to use some intermediate mode, like 400*256,
>400*320, 512*320, 512*384, or something like that ?
>
> Another question:
> How come the VGA and following cards used this stupid
>bit planes system ? When you want to modify a 256 color
>pixel, you must access 8 times the same adress, with
>IO manipulations between ! It's very slow, and it's
>pointless.

I'm not sure I follow what you mean. In a standard VGA, the 256-color
modes are simple 1-pixel-per-byte bitmaps, with the pixel at 0,0 stored
in byte 1, the pixel at the start of the next row (in 320x200 mode) at byte 
320, etc. It's the 16-color or less modes that use the bit planes. 'Course
when you get into non-standard super vgas things are different.

As I understand it, the basic idea behind all the bitplane business was
designed for speed. If you do everything manually in these modes (the 16-
color or less modes) it can get cumbersome; but there is quite a bit of
specialized hardware built into the VGA which does a lot of the bitplane
manipulation for you automatically after you set the approprite registers
and masks. See Ferraro, Wilton, et. al for the technical details.

The Tseng4000 based SVGA cards are still set up at one byte per 256-color
pixel for 640x480x256, etc., though you have to increment a bank register 
every 65,536 pixels. I think the Paradise cards use a five-nibble addressing 
scheme, with the top nibble loaded into a register instead of directly 
addressed, or something like that. In each case, the idea is still to keep 
the addressing space visible to the CPU limited to a 64K window since that's 
about all you can count on being free on a typical PC (the rest of the space 
above A0000h being taken up with ROMs, TSRs, EMS page frames and who knows 
what else).

For intermediate modes, check out the Dr. Dobbs Journal and Programmer's
Journal articles referred to in an earlier posting (such as 320x400x256,
320x240x256, etc.) by Michael Abrash. These are undocumented VGA modes
but work on most VGA cards as long as they follow the VGA standard. 

Lamont Downs
downs@helios.nevada.edu
Newsgroups: comp.os.msdos.programmer
From: shi@ics.uci.edu (Edmond C. Shi)
Subject: vert menu - graphic mode sw
Organization: Univ. of Calif., Irvine, Info. & Computer Sci. Dept.
Date: Thu, 8 Oct 1992 04:25:34 GMT

---------

i'm converting an application that uses a text mode screen
to one that uses a graphics mode screen.  the one little
hiccup i ran into was trying to develop the code to
support a vertical scrolling menu based on graphics code - 
there are a number of text mode variations i've seen.

rather than try to re-invent the wheel, does anybody out
there have some source code (or shareware) that supports this.

thanks,

-ed
Newsgroups: comp.os.msdos.programmer
From: jap@tko.vtt.fi (Jari Ihalainen)
Subject: Coverage analysis tool for PC ?????
Organization: VTT Technical Research Centre of Finland, Oulu
Distribution: comp
Date: Fri, 16 Oct 1992 15:18:14 GMT

Hi, everybody

	I'm lookin for a test coverage analyser for IBM-PC (MS DOS).
	The tool should have the following properties:

	1. Understands C language.

	2. Works with at least Borland C, Turbo C and Microsoft C compilers.

	3. Can analyse also part of the code - not necessarily the whole
	   program.

	4. Works also in non-interactive mode. (does not show up during
	   the execution of the program)

	5. Can cumulate analysis results from several test runs.

	6. Can provide at least statement and decision coverage measures.

	If anyone out there knows anything about such a program (or a
	company that makes such programs) that meets the requirements 
	above, please, let me also know about it.


		Jari Ihalainen

Newsgroups: comp.os.msdos.programmer
From: jt@fuw.edu.pl (Jerzy Tarasiuk)
Subject: Re: How can I determine the clock frequency on an 80xxx machine??
Organization: Warsaw University Physics Dept.
Date: Wed, 7 Oct 1992 20:46:03 GMT

>>>>> On Wed, 30 Sep 1992 13:42:48 GMT, menglund@unpcs1.cs.unp.ac.za (menglund) said:
m> I am wanting to know how to determine a machines clock frequency dynamically
m> within a program. (eg: 8MHz, 16MHz ect).
m> Purpose:
m>   I need to know this to program the timer chip (8253) correctly on an
m>   Analog to Digital card. The boards Timer derives its frequency from the
m>   mother-boards clock. To make my program portable to different speed
m>   machines (80xxx architecture) I have to determine what the mother-boards
m>   clock frequency is!

I don't see necessity to determine machine clock frequency. You can
compare periods on the ADC board timer chip and main board timer chip
(which has always same frequency on its input). Just the 8253 on the
ADC card makes the simplest way to determine the clock frequency!
Newsgroups: comp.os.msdos.programmer
From: jt@fuw.edu.pl (Jerzy Tarasiuk)
Subject: Re: any dos interrupt not in use?
Organization: Warsaw University Physics Dept.
Date: Tue, 13 Oct 1992 16:18:42 GMT

>>>>> On 12 Oct 92 21:40:21 GMT, KSADEGH@auvm.american.edu (Kayvon Z. Sadeghi) said:
Kayvon> I was wondering if all the 256 dos interrupts have been reserved already.
Kayvon> And if there is an interrupt vector that I can use it without harming anything.
Usually most of vectors 0x60-0x80 are free and they are 0000:0000 if
free - take first of them which is 0:0 (on AT 0x70-0x77 are used).

Newsgroups: comp.os.msdos.programmer
From: jt@fuw.edu.pl (Jerzy Tarasiuk)
Subject: Re: Expand DOS prompt?
Organization: Warsaw University Physics Dept.
Date: Wed, 7 Oct 1992 21:04:41 GMT

>>>>> On Friday, 2 Oct 1992 13:53:21 MDT, <ISSSEG@BYUVM.BITNET> said:
I> Appearantly DOS prompt only allows 128K (characters).  I need to know
I> how to expand DOS prompt beyond 128K using DOS and not and external
I> utility or application like 4DOS.
I suppose you mean you want enter command line longer than 127 characters.
Probably impossible: COMMAND.COM stores it in 128-byte array when reads it.
Newsgroups: comp.os.msdos.programmer
From: abutler@ariel.demon.co.uk (Tony Butler)
Subject: Video ??? 
Distribution: world
Organization: Megadodo, Inc.
Date: Fri, 16 Oct 1992 15:46:35 +0000


In article <.83@ccs.carleton.ca> @ccs.carleton.ca writes:

> 
> I am looking for a simple way to determine the type
> of video card present. (Mono, Herc, CGA, EGA, VGA, etc)
> 
> I had thought the value at 0040:0063 would be helpful, but
> Herc and VGA are the same ... Sigh
> 
> 

What language are you using? Pascal? C??? Basic?????

      ---  _   _
       |  (_) ( ) (_|.
      --------------|-
                   -


     +---+        Internet: abutler@ariel.demon.co.uk         +---+
    /   /|                                                    |\   \
   +---+ |        Fido net: Anthony Butler @ 2:250/408        | +---+
   |   | +                                                    + |   |
   |   |/      CompuServe : 100041,2055                        \|   |
   +---+                                                        +---+

Newsgroups: comp.os.msdos.programmer
From: pshen@image.mit.edu (Paul Shen)
Subject: Use parallel port for input and output
Organization: MIT Advanced Television Research Program
Date: Mon, 12 Oct 1992 21:39:58 GMT


Is there anyway I can use my parallel port for both input and output?
What is data rate they can support? Is there any system call or
subroutines that exist?

Thanks,
Paul Shen
--
/********************************************************/
/*	Paul Shen,	(619) 689-0143			*/
/********************************************************/
Newsgroups: comp.os.msdos.programmer
From: jt@fuw.edu.pl (Jerzy Tarasiuk)
Subject: Re: Port for keyboard indicator lights needed
Organization: Warsaw University Physics Dept.
	<1992Sep29.003035.10991@wam.umd.edu> <4369@news.chips.com>
	<JT.92Oct7204524@fizyk1.fuw.edu.pl>
Distribution: comp
Date: Sat, 10 Oct 1992 22:29:05 GMT

Sorry, there is one little bug in my program: it is not enough
to check status from port 64h tells 8042's input register is empty,
need check it when interrupts are disabled - otherwise it may be
not actual when will write to the register (an interrupt service
can write into the register, too, and leave it full after the check).
Newsgroups: comp.os.msdos.programmer
From: eda735a@monu6.cc.monash.edu.au (P.E. Mazur)
Subject: Loaders
Keywords: Sector One!
Organization: Monash University, Melb., Australia.
Date: Tue, 13 Oct 1992 06:06:59 GMT

Anyone have the source to the loader on sector one of a system disk?  Or 
does someone know how to code a similar loader?  Eg:  what makes the system
disk boot anyway?  A special checksum?  Some fancy code?
			- Shem

Newsgroups: comp.os.msdos.programmer
From: fox@rei.com (Fuzzy Fox)
Subject: Re: BOOTing AMI bios based IBM-PC compatible computer on drive B:
Date: Thu, 15 Oct 1992 22:01:02 GMT
Organization: Recognition Equipment, Inc.

bew@brahms.udel.edu (Ben Williams) writes:

>Is there some way I can boot from B: onto a 3.5" disk.

There is a program on Simtel called BOOT_B that does this.  It works by
writing a special boot sector to a disk in your A: drive.  When the A:
disk boots, it swaps the floppies and continue the boot process on drive
B.  Seems to work just fine.

If you are booting DOS, then B: will appear as A: after you do this.

-- 
#ifdef TRUE        | Fuzzy Fox (a.k.a. David DeSimone)       fuzzy@netcom.com
#define  TRUE   0  |
#define  FALSE  1  |     "History doesn't repeat itself, but it rhymes."
#endif             |                                   -- Mark Twain
Newsgroups: comp.os.msdos.programmer,comp.lang.c
From: allenli@cs.tamu.edu (Wei-Lun Li)
Subject: Re: C/C++7.0 .. 'null pointer assignments' .. but program's finished ! HELP!!
Organization: Computer Science Department, Texas A&M University
Date: Sat, 10 Oct 1992 21:43:54 GMT

In article <BvwHw3.Fu2@NCoast.ORG> brown@NCoast.ORG (Stan Brown) writes:
>In article <BvsL61.LEE@resntl.bhp.com.au> Bernard Orenstein <bernie@resntl.bhp.com.au> writes:
>>in the past with C6.0, but now, under C7.0 is giving the
>>error "null pointer assignment" when it finishes executing
>>(and it does execute correctly) . I have used 'CodeView' to step through it,
>>which shows that after the last "}" in my main() program, it
>
>Your program did not execute correctly; it _appeared_ to execute
>correctly because the consequences of the failure were not obvious.
>
>-- 
>Stan Brown, Oak Road Systems                      brown@Ncoast.ORG
>Cleveland, Ohio, USA

I agree with you.  There are definitely some errors in the program.
Borland has a good documentation explains what is "null pointer assignment"
and how to debug this error.  You can call Borland TechFAX at 1-800-822-4269
and ask for document #726.  (Don't tell them you are using MSC)

-- Allen
From: David.Instone@f252.n633.z3.fidonet.org (David Instone)
Sender: acsnet@csource.oz.au
Newsgroups: comp.os.msdos.programmer
Subject: Minor Details
Date: Thu, 01 Oct 1992 02:16:00 +1000

        Hi all, I'm just starting on asm programming on the PC and have
a slight problem. I have read a truckload of books on the subject but
nowhere can I find a couple of minor details.
        What I'm after is how the COM and EXE headers are constructed
and the format of the DOS boot sector. For instance I'm told that a COM
file has a PSP 100h bytes long, what exactly is in there and how is it
organised? Same with the EXE header and as for the boot sector I know it
contains information about the disk and the boot code but what is this
information, what is its offset into the sector and where do I find
this boot code?
        Hoping someone can help, my eyes are suffering from all this
reading. Perhaps one more book if someone could recommend one that is
COMPLETE and I'll be happy. Also I'm new to BBSs so could someone please
explain to me how to work out these addresses at the bottom of messages
and what on earth is a FAQ ?
        Ciao till next time David

 * Origin: The Bermuda Triangle BBS +61 (03) 725 4712: Sponsor Wanted
(3:633/252)
From: flash@aragorn.CSEE.Lehigh.Edu (Stephen Corbesero)
Newsgroups: comp.os.msdos.programmer
Subject: Help with Hardware Interrupt programming (2nd try)
Date: 13 Oct 92 17:37:07 GMT
Organization: Lehigh University

Can someone give me a few pointers on how to handle hardware
interrupts on the PC?  I have written a C library to do interrupt
driven communications.  [I know all about FOSSILs, but I need the
program to be stand alone.]  I have no problem attaching isr's to the
standrad irq's [IRQ 3 & 4], but I am now trying to support any irq
(0-15).  I do not know exactly how to proceed with the slave PIC.
Especially when it comes to IRQ9 which is documented as being
redirected to IRQ2.

My "feeling" at this point is
   when attaching IRQ9, write an ISR and put it in IRQ2's vector
      when doing the pic EOI, send it to the master and the slave
   when handling IRQ8,10,11,12,13,14,15, put the ISR
      at the appropriate INT vector (0x70, 0x72 through 0x77) and
      send the EOI to the master and the slave
   when handling the "normal" interrupts, use my existing code, which
      attached the appropraite int vector (0x08..0x0F) and send the
      EOI only to the master pic.

If anyone knows that I am doing something wrong, please let me know.
Similarly, if there is a good reference that discusses programming the
AT interrupts, I'd also be interested in hearing from you.


Thanks.  
--
Stephen Corbesero
CSEE Dept, Lehigh University
Newsgroups: comp.os.msdos.programmer
From: gay@beaufort.sfu.ca (Ian D. Gay)
Subject: Re: svga mouse drivers
Keywords: svga mouse assembly
Organization: Simon Fraser University, Burnaby, B.C., Canada
Date: Thu, 15 Oct 1992 16:23:55 GMT

downs@helios.nevada.edu (Lamont Downs) writes:

>Has anyone posted some public source code for svga mouse drivers at an
>FTP site? So far the only documentation I've found for unsupported modes
>is an _extremely_ brief article in the MicroSoft KnowledgeBase. In
>particular, how do you keep track of the mouse position in unsupported
>video modes? The MS snippet indicated that the x (CX) and y (DX) parameters 
>would not work and the delta_x and delta_y in mickeys had to be used--but 
>when I did so, I got a pointer that kept going down when the mouse moved up, 
>etc. I wound up using the pixel coordinates returned in CX and DX after
>all, and they worked (at least in the mode I was in, which was a TSENG
>4000 640x480x256 mode).

>I get nervous using something that's not supposed to work...

>Lamont Downs
>downs@helios.nevada.edu

I don't know a driver that handles the svga graphics modes. In my 
experience, on Paradise and ET4000, the Logitek drivers will work 
correctly in svga text modes (132x25 etc) whereas the MS drivers will 
not. Recent Logitek drivers appear to work ok with MS mice. There is a 
Logitek driver available in the Simtel collection.
Newsgroups: comp.os.msdos.programmer
From: pacebes@tid.es (Pedro Acebes Bayon)
Subject: Paralell character-set.
Organization: Telefonica I+D
X-Newsreader: Tin 1.1 PL4
Date: Tue, 13 Oct 1992 16:32:26 GMT


I want to make an application in a 386-computer with a VGA graphics
card where i need to change the ASCII table character-set because i
must use underlined chars and others non standard chars. For example,
i whant that when the user press the 'm' key in the keyboard, a
underlined em will be show in the screen and i don't know how to do
it. The question is : 
	How do to change a character in the ASCII character-set and how
	do to make a new character?

I'm working in text-mode with the Borland C++ 3.0 and Turbo Vision.


Thanks.

-- 

--------------------------
Pedro Antonio Acebes Bayon
E-mail: pacebes@tid.es
Newsgroups: comp.os.msdos.programmer
From: silvia@rcf.rsmas.miami.edu
Subject: abnormal
Reply-To: silvia@rcf.rsmas.miami.edu
Organization: RSMAS
Date: Sun, 11 Oct 92 16:43:48 GMT

What does it mean when i get Floating point error:Domain. I have been having that problem with i program i am wrting any help would be appreciated.

       Manolo
Newsgroups: comp.os.msdos.programmer
From: fox@rei.com (Fuzzy Fox)
Subject: Re: qsort() help
Date: Fri, 16 Oct 1992 04:31:30 GMT
Distribution: usa
Organization: Recognition Equipment, Inc.

icsg0131@cs.montana.edu (Jeff) writes:

>How bout?
>aa=*(int*)a;  bb=*(int*)b;

Hmm....what do you think this will accomplish?

-- 
#ifdef TRUE        | Fuzzy Fox (a.k.a. David DeSimone)       fuzzy@netcom.com
#define  TRUE   0  |
#define  FALSE  1  |     "History doesn't repeat itself, but it rhymes."
#endif             |                                   -- Mark Twain
Newsgroups: comp.os.msdos.programmer
From: 401yclee%vax9k.dnet@nchud1.nchu.edu.tw 
Subject: TV / OWL memory model?
Organisation: National Chung Hsing University, Taiwan
Organization: NCHU, TAIWAN 
Date: Fri, 9 Oct 1992 09:18:29 GMT

I got this BC++ & AF v3.0, and the project files in OWL/TV demos are set to
large model. Does this means the default memory model for these two library is

LARGE?