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. - email@example.com - http://www.wnet.silesia.pl/~philz/ (LINK BROKEN!) Andrew Kennan - for some helpful hints to avoid `busy waiting' - firstname.lastname@example.org Michael Graeber - for looking at my code, and bringing to my attention some problems with my serial buffer handling. - email@example.com Andreas Håkannson - for providing EFMuiLib, which now links Blitz2 to the Magic User Interface. - firstname.lastname@example.org 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) - email@example.com http://www.users.bigpond.com/vkelim/ - contains a lot of information about connecting the Newton to the Amiga.
Last modified 10th May 2000.