[comp.lang.pascal] Resident programs in High Level Langs

kim@amdahl.UUCP (Kim DeVaughn) (11/12/86)

[ "Send lawyers, guns, and money ..." ]

In article <649@A60.UUCP>, lee@A60.UUCP (G. Lee) writes:
>     Does anyone have any experience writing a resident program on the PC
> in a language other than Assembly.  I've had limited success writing SMALL
> ones in Turbo Pascal but even to make those work I have to lie to DOS and
> tell him my program is about 20K longer than it really is.  Please don't
> flood me with responses about doing this with ASSEMBLY!!!!
> 
>  I'm only interested in doing this with TURBO PASCAL or LATTICE-C.

I recently picked up a book that should answer most of your questions.  It
is one of those rare books that actually lives up to its title:

	"Turbo Pascal   Advanced Applications"
	Judie Overbeek, Editor  (208 pages)

	Copyright 1986 by:
	Rockland Publishing
	190 Sullivan Crossroad
	Columbia Falls, MT  59912

This book is a collection of 16 chapters written by various "heavyweights"
in the Turbo Pascal world.  Each chapter is a self-contained treatment of
a particular topic, much like a collection of papers in a conference's
Proceedings.  

Here's a list of the contents:

	o  Optimization Techniques
	o  Using the DOS Background Print Spooler
	o  System Level Tools
	   [includes Installing a Resident Interrupt Handler, and
		     Vectored I/O Drivers]
	o  Creating Libraries
	o  Exploiting Command Line Arguments
	o  Using a Binary Search Tree
	o  Techniques For Data Compression
	o  Claiming CP/M Memory
	o  Break the 64K Data Limit
	o  Linked Lists for Data Structuring
	o  Interrupts From Turbo Pascal
	o  Calling the DOS Command Processor
	o  Bit Mapped Graphics
	o  Teaching an Old Screen New Tricks
	o  Implementing 2D Core Graphics
	o  Build a Subset Pascal Compiler
	o  Resource Directory and Appendix

The System Level Tools chapter, in particular, covers material useful in
developing memory resident applications.

This is one book that anybody who is developing serious applications in
Turbo Pascal ought to take a look at.  Sorry, I don't remember the price,
but it was in the $20-$30 range.



Another excellent source of information you (or any serious TP developer)
should check out is:

	Turbo User Group  (TUG)
	PO Box 1510
	Poulsbo, WA  98370

They publish the bi-monthly Journal of the Turbo User Group, "TUG Lines".
Also, they support a couple of BBS's, and provide several disks of PD s/w,
etc.  Most of their emphasis has been (and still is) on Turbo Pascal,
though the amount of coverage of Turbo Prolog is increasing;  there are
occasional articles, etc. on other Borland products, such as Reflex,
Sidekick, and so forth. 

The most recent issue of their Journal is #15, and back-issues of all
previous issues are available ($3.50 US/$4.50 Overseas).  Some issues
that would be of special interest to you are:

	#6 and #7 - two-part article on Writing Interrupt Procedures/
		    Stay-Resident Programs

	       #8 - SORTDATA: A Memory Resident Data Sorter

Current annual membership dues in TUG are $22 US/Canada/Mexico, and $35
Overseas, though I believe the Canada/Mexico and Overseas rates will be
going up a bit in January, 1987.

I should also mention that TUG Lines supports all experiance levels of
programmers and Borland product users, from "novice" to "guru".



>     Thanks in advance for GOOD advice

No advice in the above, just references to a couple of excellent resources.
You want advice?  Do it in Assembly language ... :-)!

/kim


Ah yes, I almost forgot ... I have no connection with Rockland Publishing
except I bought their book;  I am a member of TUG, but have no financial
interest in them, etc;  I buy and use Borland's products, but that's all.

[Has anyone ever figured out how much these stupid disclaimers have cost?]
  
-- 
UUCP:  {sun,decwrl,hplabs,pyramid,ihnp4,seismo,oliveb}!amdahl!kim
DDD:   408-746-8462
USPS:  Amdahl Corp.  M/S 249,  1250 E. Arques Av,  Sunnyvale, CA 94086
CIS:   76535,25

[  Any thoughts or opinions which may or may not have been expressed  ]
[  herein are my own.  They are not necessarily those of my employer. ]