Or the latest version from here.
Short: v1.4 Load packages into the Newton
Uploader: David Fong < Dr.David.Fong@medical.net.au >
Author: David Fong < Dr.David.Fong@medical.net.au >
Type: misc/emu
Replaces: misc/emu/AmigaNPI*
Version: 1.4
AmigaNPI 1.4 - 28th December 1997
Amiga Newton Package Installer
Converted into Blitz2 Basic by David Fong
Based on source code by Filip R. Zawadiak
Based on information graciously provided by Apple Computer and Newton Inc.
AIM
To upload packages from the Amiga to the Newton without using
a Macintosh emulator.
Three versions are provided. A generic WB/CLI version (v1.4),
a CLI only version (v1.4) and another CLI only version (v0.2a).
REQUIREMENTS
Can be used from CLI - a fast Amiga is recommended.
Used from CLI on an Amiga 1200 with a 40 MHz 030 and the standard
serial port, AmigaNPI consumes approximately 75% of available CPU
processor power. This requirement drops to about 60% if an external
serial port (such as provided on the Surf Squirrel) is used.
Graphical user interface requires OS 2.0 (3.0 recommended) and
Magic User Interface v3.8. On the same Amiga as above, AmigaNPI
consumes 80% of available CPU power when uploading a package.
USAGE
Can be used from Workbench, or from CLI.
Workbench
Double click the program's icon, or type in just `AmigaNPI'
from the CLI.
From the main window, the package to be uploaded can be
chosen. The button immediately below the chooser can be used
to set preferences, including both serial and wait times.
These preferences can be saved to env:AmigaNPI.prefs (and
will then be copied to envarc:AmigaNPI.prefs). NOTE THAT THE
PREFERENCE FILE FORMAT CHANGED FROM VERSION 1.1A TO VERSION
1.2. Wait time (Amiga) is the time the Amiga will wait for
the Newton before timeout. Wait time (Newton) is the time the
Newton will (hopefully) wait for the Amiga to respond.
The bottom button will then transfer the package to the
Newton. During transfer, the transfer can be stopped by
pressing the `Abort' button.
CLI
From CLI type...
AmigaNPI filename [device [device_unit [bps [flags [buffer size]]]]]
Where filename is the name of the package file you are uploading.
`AmigaNPI ?' is a special case, and will result in a help and
information file being displayed in the shell window.
Optionally, the serial device and serial options can be specified.
Flags is a value derived by adding the possible numbers below.
Flags - 128 - Disable Xon/Xoff
- 64 - Enable EOF checking
- 32 - Enable shared mode
- 16 - Enable high speed mode
- 8 - Break command waits for buffer empty
- 4 - use RTS/CTS
- 2 - Select odd parity (otherwise use even)
- 1 - Enable parity checking
The default is
serial.device 0 38400 148 64
Defaults can also be read from the AmigaNPI.prefs file, in the
default directory, or env:AmigaNPI.prefs file. In this file,
the arguments are separated by line feeds (ASC 10). To see the
format, look at the example prefs file provided.
Note that AmigaNPI will only upload package files, which are usually
suffixed with a `.pkg' extension.
Stuffit files, with a `.sit' extension, are archive files, like
the Amiga's .lha files, or the .zip files commonly used on
Windows machines. Unfortunately, only very old Stuffit de-archiver
programs are available for the Amiga. It is called something
like `unsit', it is available on the Aminet. It does not work
properly with modern .sit files.
Many Macintosh archives are suffixed with `.hqx'. These files
are in BinHex format, which is similar to the `.uu' type files
which are occasionally used on the Amiga. BinHex files allow
binary files to transmitted over Internet lines which can
only handle text. There are a few BinHex converter programs
available for the Amiga, but unfortunately you will usually
end up with a Stuffit file anyway. Stuffit Expander (Mac or
Windows) will de-archive .hqx and .sit files, although there
are separate BinHex converters available for the Mac as well.
Fortunately, most Newton packages are also provided in Zip format.
Good UnZip programs are available for the Amiga e.g. from InfoZip.
Try the Aminet, or ADE (ftp.ninemoons.com).
PROBLEMS
Only tested on my MessagePad 2000 and 2100 :)
However, others report success with NOS 2.0 powered MP120s.
Many people have had trouble using one version or another of
AmigaNPI (especially version 1.0). This might be a Blitz2
problem, since Blitz2 was designed with speed rather than
system-friendliness in mind.
I experienced the same problems myself after upgrading from
a 68030EC processor to a 68060. The `solution' is to turn
off the 68060 caches, superscalar mode etc..
Currently, it is difficult to claim that AmigaNPI is truly
multitasking, in the sense that the Newton will stop downloading the
package if the Amiga is significantly delayed for any reason. For
example, trying to use the Amiga's menu (by pressing the Amiga's right
mouse button) often results in the Newton stopping the transfer!
Speed is probably slower than it should be.
Cannot interpret compressed information, which is part of the
V42bis standard. Contrary to what I had earlier thought, this
does not appear to be a problem (yet).
FUTURE PLANS
Transfer data with PocketMoney's Wildcat
Transfer data with Steve Weyer's Sloup.
AmigaE/C++ version?
CREDITS
Blitz2 BASIC
Filip R. Zawadiak - provided the original source code, which
is present in the src_c directory.
- philz@silesia.linux.org.pl
- http://www.wnet.silesia.pl/~philz/ (LINK BROKEN!)
Andrew Kennan - for some helpful hints to avoid `busy waiting'
- bewilder@coastlink.com.au
Michael Graeber - for looking at my code, and bringing to my attention
some problems with my serial buffer handling.
- mgraeber@abo.rhein.zeitung.de
Andreas Håkannson - for providing EFMuiLib, which now links Blitz2
to the Magic User Interface.
- andy@bjuv.mail.telia.com
Apple Computer, Newton Inc.
- for at last providing the necessary information
to make non-Mac package uploaders
- for making the wonderful MessagePad 2000.
- Newton Incorporated
The Makers of the Amiga
HISTORY
0.1 - 13th September, 1997. First release
- added code to `round-up' files to the next largest number
evenly divisible by four. This is a requirement according
to the Newton Load Package protocol. In fact, most packages
seem to have been carefully manicured to the appropriate
size anyway.
- note that Blitz2's lof() function doesn't seem to work
properly if the end of the file has already been reached.
0.2 - 23rd September, 1997. (beta)
- added code to cope with time-outs or disconnections.
Unfortunately, the implication of this is that AmigaNPI
will `busy wait' while waiting for serial port activity.
I hope this fix this problem shortly...probably at
the same time that I write a GUI interface for AmigaNPI.
- NEW - optional specification of device (usually serial.device)
and serial options. This is for use with FastSerialConn
by Filip Zawadiak, or if you need a slower than usual
transfer rate.
- BUG FIX - corrected Bad CRC reporting format.
0.2a - 25th September, 1997.
- BUG FIX - now uses RTS/CTS handshaking (instead of none)
1.0 - 4th October, 1997
- NEW - Graphical User Interface via MUI 3.8
- NEW - AmigaNPI no longer busy waits if the Newton is
not responding.
- NEW - User can manually abort the transfer (if using the
graphical user interface).
- NEW - User can set the serial flags personally.
- NEW - Save serial preferences to ENV:AmigaNPI.prefs (from
graphical user interface only)
- BUG FIX - now turns off Xon/Xoff handling (I hope this is
a bug fix, rather than introducing a new bug!)
- Source code now split into four separate files.
1.1 - 11th October, 1997
- BUG FIX - Used Delay_(1) instead of VWait in the serial
handling code. Many people seemed to be experiencing serial
problems with 1.0, I hope this fixes the problem... Delay_(1)
is supposed to be more system friendly, and also happens to
further decrease processor load.
1.1a - 19th October, 1997
- NEW - changed wildcard from * to #?. (Thanks Michael Boehmer)
1.2 - 22nd October, 1997
- NEW - New preference file format, not compatible with
version 1.1.
- NEW - preferences options including wait times for Newton
and desktop.
- NEW - displays information received in kdNewtonName frame
in the Package Upload information window.
1.3 - 12th December, 1997
- BUG FIX - Considerable change in MUI handling routines. This
will not be apparant to the user, but will hopefully result in
more people being able to run AmigaNPI.
- BUG FIX - Some cleaning up of the MUI display, and also
another replacement of a VWait with a Delay_(1)
- NEW - CLI only v1.3 provided.
- NEW - attempts to load AmigaNPI.prefs from default directory
first. If AmigaNPI.prefs is found in the default directory,
then AmigaNPI will also try to save the prefs in the default
directory. If this fails, AmigaNPI will ask permission to try
to save AmigaNPI.prefs in the env: directory, but will only to
env: in the NEXT attempt. (This behaviour is more Amiga User
Interface Style Guide compliant).
1.3a - 13th December, 1997
- BUG FIX - Numerous fixes to MUI handling routines.
1.4 - 28th December, 1997
- NEW - user-definable serial device buffer length.
Default is 64 bytes (used to be 8000 bytes!)
- BUG FIX - AmigaNPI was ALWAYS trying to set the buffer
length to 8000, and ALWAYS trying to set this buffer
length for serial unit zero! This bug has been fixed.
- BUG FIX - fixed some misleading `usage' information
displayed when AmigaNPI is called from CLI.
CONTACT
Dr.David.Fong@medical.net.au (this is my permanent address)
- vkelim@onaustralia.com.au
http://www.users.bigpond.com/vkelim/
- contains a lot of information about connecting the Newton
to the Amiga.
Last modified 10th May 2000.