[comp.sys.apple] ModemWorks

mdavis@pro-sol.cts.com (Morgan Davis) (04/20/89)

Michael Owen writes about ModemWorks:

> CS-ID: #6899.apple/net@pro-sol 3514 chars
> Date: Wed, 19 Apr 89 18:32:26 PDT
> From: pnet01!crash!beaver.cs.washington.edu!blake!aragorn (Michael Owen)
> Subject: ModemWorks and Instant Pascal questions
>
> I've been using ModemWorks 2.0 for about a year and a half now.  Does
> anybody know if there's a newer version than 2.0?  I've tried to get a
> hold of Morgan Davis through e-mail, but it doesn't seem to be working.
> Can someone post a verified address for him?

The current version of ModemWorks is 2.0C, which incorporates quite a few
changes in the way timing and screen I/O are handled.  But before getting
into this, let me restate that Living Legends Software no longer distributes
ModemWorks or ProLine.  They are now sold and supported by my own company:

	Morgan Davis Group
	10079 Nuerto
	Rancho San Diego, CA  92078-1736

	Office:	+1 619/670-0563, Monday-Friday, 8AM to 5PM Pacific
	BBS:	+1 619/670-5379, 300 to 9600bps, 24 hours
	FAX:	+1 619/670-9643

We are still in a transitional phase while my company ramps up business and
promotional activities.  Update notices for new disks/manuals will be sent
out shortly.  But, ModemWorks owners can have their disks updated at any time
by sending their original disk to us.

> I can't get MW 2.0 to work properly with AE's Transwarp.
> However, regardless of what speed the TW is running at, the system hangs.

This is an anomally with many TransWarp cards.  The ratio of working to
non-working cards that allow programmable speed control seems to be about
1:1.  The problem is due to rapid speed changing when hitting the TW's speed
control register.

Rather than continue to support the TW's speed control scheme, later versions
of ModemWorks do not even attempt to change the TW's speed.  Instead, 2.0B
and newer versions, incorporate a precise timing system based on the vertical
blanking signal (VBL) in the IIe and IIGS.  Timing is approximated in
software on the Apple II+ and IIc since they don't have pollable VBL signals.

&FAST and &SLOW now only support the Apple IIGS.  But don't dispair.  A new
command, & WAIT, allows you to create perfect pauses...no more empty FOR-NEXT
loops.  Example:

	10 PRINT "Waiting 10 seconds...";
	20 & WAIT 10
	30 PRINT "all done!"

> * & FILES("/my.volume",F$),CT% doesn't work.  The number of files, stored in
>   CT%, will always be 0.  & FILES works fine when the file counter is a real
>   variable.

I just checked this with my version of AmperWorks using the following program:

	10 DIM F$(51)
	20 & FILES ("/A", F$), F%
	30 PRINT F%

I always get the correct (a non-zero) result.  All of the functions in
ModemWorks and AmperWorks that return a numeric result use the same
subroutine.  It handles floating point and integer variables properly.

> * & BEEP(1,0) doesn't *totally* disable speaker output.  An audible click is
>   still heard, and when multiple CHR$(7)s are output, the result is short
>   "bzzzzz" sound.

This is fixed in later versions.  A pitch of zero causes no sound.  That
would be &BEEP (0,1).  Also, &BEEP without arguments now beeps the speaker.

> * You can't display mousetext to the screen after executing the & SCRN()
>   command.

You can now.  The terminal emulation manager also supports the ability
to handle MouseText emulation using the &IOCTL functions 27 and 28.

> * If you aren't using an Apple II computer with the 'ProDOS xmodem', MW's
>   xmodem takes a while to start a transfer: at least three or four errors.

There's an undocumented flag in the &SND and &RCV commands that allows you to
bypass ProDOS XMODEM and use standard XMODEM.  But this was merely a
temporary hack for testing, as I'm on the verge of rewriting the file
protocol manager to handle modularized protocol drivers.  Therefore, the
syntax will change.  I'd rather not encourage usage of the undocumented flag
until this rewrite is completed.  Write to me if you really need to know what
the flag's syntax is.

>   Also, I've found that ARC files uploaded from an IBM, when downloaded,
>   don't unARC properly.

This could be because of null padding at the end of ARC files, minus a
Control-Z that some UnARC programs might be looking for.

> * The Apple80 terminal emulation doesn't send CRs to the local screen; just
>   LFs.  It's a mess.  I've only experimented with the various terminal
>   emulations for a short time, but this seems to be the case with all of the
>   ones I've tried.

The problem is not with your software.  The effect you're getting is rather
interesting as it is *ProDOS* that caused this.  The manual unintentionally
uses the input buffer ($200) when BLOADing a terminal template file.  If you
have a clock in your system, the input buffer will get trashed!  This causes
important codes in the loaded template to be interpreted incorrectly by
ModemWorks after using the &TSET command.  Instead, use location 768 ($300)
when BLOADing your templates...it will work flawlessly.

> * I couldn't get & TIME() to work with the No-Slot Clock; the patch to
>   ProDOS seemed to work with other programs; & TIME() kept returning the
>   dummy date/time string.

The No-Slot Clock driver does not deposit ASCII time information in the input
buffer ($200) to fully emulate official ProDOS-compatible clocks (See ProDOS
Technical Note #1), providing a day-of-week code and seconds.  It therefore
can't be fully supported by &TIME, unfortunately.

> Aragorn III (Michael Owen)
> aragorn@blake.acs.washington.edu
> Starfleet HQ: (206) 783-5589
> 3/12/24 8N1 24 hrs - A ModemWorks BBS

--Morgan Davis

UUCP: crash!pnet01!pro-sol!mdavis		ProLine:  mdavis@pro-sol
ARPA: crash!pnet01!pro-sol!mdavis@nosc.mil	MCI Mail: 137-6036
INET: mdavis@pro-sol.cts.com			APE, BIX: mdavis