🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: mod.mac.sources
Article #9

modemDTR desk accessory sources

#9
From: Brian H. Powell
Date: Thu, 14 Aug 1986 14:02
120 lines
4360 bytes
     In a recent INFO-MAC, I mentioned that I had a desk accessory that
kept the new Mac+ serial driver from negating DTR the next time it was
closed.  I've had some requests for it, so here it is.
     This is useful when, for instance, you just want to quit a terminal
program for a short period of time without the modem hanging up.
     To use it, just select it inside your favorite terminal program.
It only works for the next time the driver is closed, so you'll have to
select it each time you want to quit the program and not hang up during
a modem session.
     This version is assembled to use the modem port.  To use it with
the printer port you can re-assemble it (making the obvious change to
the source).  A skilled ResEdit or FEdit user can find the -7 in the
code and change it to a -9, without needing to re-assemble it.
     I've tested it on a Mac+ and a 128K (that's RAM, not ROM) Mac.
(It faithfully beeped on the 128K Mac.)
     The .hqx file is being posted to mod.mac.binaries.  Here is a shar
file with the MDS assembly source, a link file and an rmaker file.

---
# This is a shell archive.  Remove anything before this line,
# then unpack it by saving it in a file and typing "sh file".
#
# Wrapped by sally!brian on Wed Aug 13 16:20:41 CDT 1986
# Contents:  modem.asm modem.link modem.r
 
echo x - modem.asm
sed 's/^@//' > "modem.asm" <<'@//E*O*F modem.asm//'
;------------------------
; modemDTR desk accessory
;	by Brian H. Powell	brian@sally.UTEXAS.EDU
;				cs.Powell@r20.UTEXAS.EDU
;				brian@ut-sally.UUCP
;
;	This desk accessory is used to tell the 128K ROM serial driver
;   to not negate DTR the next time it closes.  This is useful when you
;   want to quit a terminal program and not lose the connection.  (For
;   example, to change terminal programs or return to the Finder for
;   housekeeping.)  On a Macintosh with 64K ROMs, it just beeps.
;------------------------

	include	:equ_files:traps.txt
	include	:equ_files:sysequ.txt

OrnEntry
	dc.w	0		; We don't need time, need a goodbye kiss,
				;  or respond to control calls.
	dc.w	0		; We don't need time
	dc.w	0		; We don't respond to any events
	dc.w	0		; We don't have a menu

; offsets to driver routines:
	dc.w	OrnOpen-OrnEntry	; Open
	dc.w	done-OrnEntry		; Prime
	dc.w	done-OrnEntry		; Control
	dc.w	done-OrnEntry		; Status
	dc.w	done-OrnEntry		; Close

OrnTitle	dc.b	9,0
		dc.b	'modemDTR'
		.align	2

; The following are the driver reference numbers for the two output ports.
modemPort	equ	-7
printerPort	equ	-9

; We'll need 29 bytes for the parameter block.
paramblocksize	equ	29

;______________________________________________________________________

OrnOpen
	move.l	#paramblocksize,d0	; Create a pointer to a parameter
	_NewPtr				;   block.
	bne.s	error1			; If it failed, beep

	clr.l	ioCompletion(a0)	; no completion routine
	move.w	#modemPort,ioRefNum(a0)	; use the modem port
	move.w	#16,csCode(a0)		; secret code for this control call
	move.b	#$80,csParam(a0)	;  ditto
	_Control
	tst.w	d0			; Was there an error?
	bne.s	error2			; If so, release memory and beep
	_DisposPtr			; If not, release memory and return
	bra.s	done

error2	_DisposPtr
error1	move.w	#15,-(sp)		; if there was an error, beep.
	_SysBeep
done	rts

	end
@//E*O*F modem.asm//
chmod u=rw,g=r,o=r modem.asm
 
echo x - modem.link
sed 's/^@//' > "modem.link" <<'@//E*O*F modem.link//'

]

modem
/Output modem_DA
/Type 'TEMP'
$
@//E*O*F modem.link//
chmod u=rw,g=r,o=r modem.link
 
echo x - modem.r
sed 's/^@//' > "modem.r" <<'@//E*O*F modem.r//'
modem DA
DFILDMOV

TYPE DRVR = PROC
\0modemDTR ,25
modem_DA

@//E*O*F modem.r//
chmod u=rw,g=r,o=r modem.r
 
exit 0
Technical Details
Message-ID: <1462@felix.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!mnetor!seismo!lll-crg!lll-lcc!pyramid!hplabs!felix!macintosh

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: arc1-ca.pugleaf.net!utzoo!mnetor!seismo!lll-crg!lll-lcc!pyramid!hplabs!felix!macintosh
From: brian@ut-sally.UUCP (Brian H. Powell)
Newsgroups: mod.mac.sources
Subject: modemDTR desk accessory sources
Message-ID: <1462@felix.UUCP>
Date: Thu, 14-Aug-86 10:02:57 EDT
Article-I.D.: felix.1462
Posted: Thu Aug 14 10:02:57 1986
Date-Received: Thu, 14-Aug-86 21:47:39 EDT
Sender: macintosh@felix.UUCP
Reply-To: macintosh@felix.UUCP (The Moderator)
Organization: FileNet Corp., Costa Mesa, CA
Lines: 120
Approved: bytebug@felix.UUCP (Roger L. Long)