delorie.com/archives/browse.cgi | search |
Message-ID: | <39986125.80837DE6@ntlworld.com> |
From: | Steven Watson <steven DOT watson AT ntlworld DOT com> |
X-Mailer: | Mozilla 4.7 [en] (Win95; I) |
X-Accept-Language: | en |
MIME-Version: | 1.0 |
Newsgroups: | comp.os.msdos.djgpp |
Subject: | Re: newbie makelong? |
References: | <39985C49 DOT 3542BDAC AT ntlworld DOT com> |
Lines: | 59 |
Date: | Mon, 14 Aug 2000 22:14:13 +0100 |
NNTP-Posting-Host: | 62.254.82.194 |
X-Complaints-To: | abuse AT net DOT ntl DOT com |
X-Trace: | news6-win.server.ntlworld.com 966287946 62.254.82.194 (Mon, 14 Aug 2000 22:19:06 BST) |
NNTP-Posting-Date: | Mon, 14 Aug 2000 22:19:06 BST |
Organization: | ntlworld News Service |
To: | djgpp AT delorie DOT com |
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
Reply-To: | djgpp AT delorie DOT com |
hi I am sorry I found out how to do it #include <sys/nearptr.h> #include <crt0.h> void * MK_FP (unsigned short seg, unsigned short ofs) { if ( !(_crt0_startup_flags & _CRT0_FLAG_NEARPTR) ) if (!__djgpp_nearptr_enable ()) return (void *)0; return (void *) (seg*16 + ofs + __djgpp_conventional_base); } it works a treat! next time I will try to read all the docs Regards Steven Watson Steven Watson wrote: > > Hi Everyone, > I am sorry to have to ask what is probably a silly question > but I am unable to figure out the conversion to djgpp for this > snippet I have looked at the faq but I have spent most of my time > programming windows so I have no dos programming experience. > the code comes from a C tutorial. > any help would be appreciated > Regards > > Steven Watson > > void print(char *str) > { > /* > Prints characters only directly to the current display page > starting at the current cursor position. The cursor is not > advanced. > This function assumes a colour display card. For use with a > monochrome display card change 0xB800 to read 0xB000 > */ > > int page; > int offset; > unsigned row; > unsigned col; > char far * ptr; > > page = activepage(); > curr_cursor(&row,&col); > > offset = page * 4000 + row * 160 + col * 2; > > ptr = MK_FP(0xB800,offset); > > while(*str) > { > *ptr++= *str++; > ptr++; > } > }
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |