ferry@chorus.fr (Ferry de Jong) (03/29/91)
I have received some mail from people saying that they don't like left&right justified text. In order to find out what is generaly prefered I invite you to send me mail telling me whether you want it left&right justified (Like this document) or just left- justified. Left-justified wins if they form >40% of the mail. MONTHLY POSTING: Frequently Asked Questions and Answers V1.2 (April 1991) This article contains a list of frequently asked questions and answers. It is posted by me every month in comp.sys.amiga.introduction. Pay attention to the version number of this article. It indicates what kind of changes are made to the contents compared to the previous posting. First number changed: New questions and answers added. Second number changed: Answers to existing questions changed or updated. If you have suggestions about this article, feel free to mail them to me so I can improve this document. You can reach me by e-mail: ferry@chorus.fr or ferry%chorus.fr@mcsun.eu.net I'd like to thank the following people for their contributions: Kent Paul Dolan(xanthian@zorch.sf-bay.org) For sending several parts of information for this article. Richard Gering(rgering@mentor.com) Edwin Hoogerbeets(ehoogerbeets@watyew.uwaterloo.ca) Mic Kaczmarczik(mic@emx.utexas.edu) UT Austin Computation Center Jerry J Trantow(trantow@csd4.csd.uwm.edu) Joe Smith(jms@tardis.tymnet.com) For his article in c.s.a.games about display modes, I used. Dan Zerkle(zerkle@iris.eecs.ucdavis.edu) Peter Kittel(cbmvax!cbmger!peterk@uunet.UU.NET) For the part about driving printers in AmigaBasic. DISCLAIMER Use the information in this posting at your own risk and cost. All opinions expressed are mine, not necessarily those of my employer. ----------8<----------8<----------8<----------8<----------8<---------- You can find answers to the following questions HARDWARE 1.1. Why does my battery backup-ed clock not work properly? 1.2. What are the 8520's? 1.3. What hardware is broken and can I repair it myself? 1.4. During a boot or RESET the screen changes. What does this mean? 1.5. Can I replace the 68000 with an 68010 to get a higher performance? 1.6. What is the difference between the A2000 and the B2000? 1.7. What is the difference between al these kinds of memory? 1.8. On boot time on an AMIGA 2000 the first key pressed isn't read. 1.9. What is done upon boot time? 1.10.What display modes are there? 1.11.How do I connect a trackball instead of a mouse to my amiga? 1.12.Can I change the speed of my battery-backup-ed clock? SOFTWARE 2.1. Who is Fred Fish and what are the AmigaLibDisks? 2.2. What is CATS and how do I become a developer? 2.3. What are RKM's? 2.4. How do I controll a printer from AmigaBASIC? COMMUNICATION 3.1. How can I exchange disks between a UNIX system and the AMIGA? 3.2. How can I post articles if I'm not on usenet? 3.3. How can I read the comp.sys.amiga.* newsgroups when I'm not on usenet? 3.4. How can I ftp by mail? 3.5. What file transfer protocols are there for a modem? 3.6. In what forms can files be transferred if I load them with my modem? 3.7. How does ftp work and what is the contents of several sites? Answers about HARDWARE questions. 1.1. Why does my battery backup-ed clock not work properly? Symptoms: 1. Clock is several minutes/hours early/late. 2. Clock is RESET to first day of the AMIGA's life. 3. Clock can't be read from and written to. The battery backup-ed clock draws its power during power-off of the AMIGA from a small NiCd-battery. There are two often occuring reasons for the strange behaviour of the clock: 1. The battery is (almost) empty. This should normally only happen after a very long power-off of the AMIGA. (Several weeks/months.) 2. The battery is old and can't supply the clock with the voltage or current it needs to operate properly. To solve the problem in the first case you should turn your AMIGA on for several hours to allow the battery to recharge. After this you can set the setclock command and everything should work OK. The solution in the second case is to have the battery checked and replaced by your AMIGA dealer. In the third case your computer might be infected by a virus that puts some date in the Clock memory that makes it no longer respond. If you execute the command: setclock opt reset everything should work normal again. NB. Use the setclock from your Work- bench V1.2, the V1.3 version might not work always. 1.2. What are the 8520's? The 8520 is a chip inside the AMIGA. In the 500/1000/2000 there are two of them. They are custom chips of the company that designed and built the AMI- GA. 1.3. What hardware is broken and can I repair it myself? Symptoms: Printer doesn't work properly anymore. Audio sampler produces one constant or random values. Modem doesn't work properly anymore. Joy-sticks seem not to be working. All the previous mentioned devices are driven by the two 8520's in your AMIGA. These are very delicate chips and history has proven that they are very fragile. It might well be the case that one of them is broken. You can check this by exchanging them inside your AMIGA. (They are both socket-ed.) ONLY do this (Opening the AMIGA isn't allowed during the guarantee period!) if you know what you are doing. If exchanging does make a difference one of them is broken and you can replace the broken chip by a new one. You can buy them only at certain places eg. at your dealer. They cost about $10,- $15,- a piece. If you don't want to repair the machine yourself, bring your computer to a qualified repair company. 1.4. During a boot or RESET the screen changes. What does this mean? To indicate problems detected within the hardware, the screen is changed to one of the following colours: [See also question 1.9..] Colour Diagnostic dark gray Hardware OK light gray Software OK blue Bad Custom Chips green Bad CHIP RAM red Checksumerror ROM (Bad ROM) yellow exception before a GURU-meditation could be given 1.5. Can I replace the 68000 with an 68010 to get a higher perfor- mance? Yes, in general you can replace the 68000 with an 68010. It is an operation that needs to be done with care because they are large chips and aren't very easy to get out/in the socket. NB Don't put the 68010 in the socked the wrong way around! Don't expect to much performance increase. Only programs with a lot of cal- culation might run a bit faster but the overall performance increase will be less than 5%. Because of bad programming there are several programs that will stop run- ning when you are using a 68010. Keep this in mind. List of known programs that won't run with an 68010 [none] [Send updates to ferry@chorus.fr] 1.6. What is the difference between the A2000 and the B2000? Commodore in Braunschweig (Germany) has built the A2000 based on the AMIGA 1000. They added the slots and 512 KBytes RAM. This was done in order to allow an XT-card inside the computer. Later Commodore developed the B2000 which was based on the new hardware also used in the AMIGA 500. It has 1 MByte of RAM and is prepared for 1 MByte of CHIP RAM. Although the B2000 is different from the A2000, both are called Amiga-2000. (Or even A2000.) Both have the same case but are completely different in- side. Also, from a software point of view small differences might be discovered. 1.7. What is the difference between al these kinds of memory? These are the most common terms used that have to do with memory: Autoconfig RAM Memory that is available and known to the system as you power on the machine. This means that you don't have to execute a program to let the operating system know this memory is available. On the other hand NonAutoconfig RAM needs to be made available, which is usually done with programs like AddMem and AddRAM. With these you are telling the OS where in the addressing space the memory board can be found. Public RAM [Good explanation needed.] FAST RAM is any RAM out of the reach of the custom chips. It is known as FAST RAM because code and data may be accessed by the CPU there faster, as it does not have to deal with the bus contention in the CHIP RAM addressing space. On the CHIP RAM bus, time has to be shared by both the processor and the custom chips. If the custom chips are very active at a given time, the CPU must wait for the bus to be free for it's use. [Some activities of the custom chips can 'cycle steal' from the CPU, causing it to be forced to wait.] Normally, the 680x0 on the Amiga only needs the bus every alternate clock cycle in order to run full speed...thus the other cycles not used are taken up by the custom chips. However, when the blitter is in use, or the copro- cessor (COPPER), you see some of this cycle stealing. As a result, the CPU can usually run quite close to full speed on the CHIP RAM bus, but there is almost always some activity which slows it down a bit. And of course any heavy graphics use will cause considerable slowing if the CPU is forced to run code out of the CHIP RAM area. Now, with FAST RAM on the system, the CPU can generally run full speed, provided the code/data being accessed is in FAST RAM, because the custom chips cannot access this memory medium, and are not using it's bus. 32 bit RAM There is no difference in the chips themselves. What IS different is how they are accessed. On a 16 bit bus (16-bit memory), 16 bits of data can be operated on at one time (transferred about, etc...). The 32-bit bus can work with 32-bits of data at a time. Thus if you are running two different buses...on 16-bit and one 32-bit, the 32-bit bus can handle more data at a given interval (assuming appropriate processors for each and equivalent bus speeds). This is handled at the interface logic and bus level, not within the memory chips themselves. RAM waitstates You will run into having to have wait states if the memory being utilized is slower than the speed at which the processor needs it to come back. For instance, FAST RAM on the A2000 (68000) is usually rated at 120-100ns...this is perfectly fine for zero-wait state operation on that bus. The processor is incapable of "asking for" the data any fas- ter. Putting 80ns memory here would be a waste of money, as the processor will not be able to access it any faster. [The processor/bus is running at a certain speed. It will not speed up for faster memory]. Now, if you were to put 200ns parts on a FAST RAM expansion board, you would have to put some wait states into that. FastMemFirst Memory on the Amiga is prioritized. Now, normally CHIP RAM is given a priority on the system of -10. This is to insure it is not used by programs requesting simply "I want a chunk of memory", and not say- ing "and it needs to be CHIP". This helps to prevent CHIP RAM from being used for things which do not need to be there. Now, FastMemFirst is special. On Amigas with 512KBytes of CHIP RAM, the other 512KBytes which make up the 1 MByte std. complement is what is called "SLOW-FAST" RAM. This is because, while the custom chips cannot use it, it is still subject to the bus contention for CHIP RAM, as it is in fact on that bus. [When you upgrade to the 1-MByte Agnus, this "SLOW-FAST" memory is what becomes the other 512KBytes of CHIP RAM.] FastMemFirst is useful if you have this "SLOW-FAST" memory, and also have true FAST memory on the system. What it does is place your "SLOW-FAST" memory at the same -10 priority as CHIP RAM. Since most true FAST RAM will default to a priority of 0, it places your true FAST RAM ahead of the CHIP and SLOW-FAST memory on the memory lists. This is so programs which do not need to use CHIP RAM (and a program's actual CODE never does for the most part) will be placed in you FAST RAM, and run somewhat faster. SLOW-FAST and CHIP will only be used when either requested specifically by a program, or when your FAST RAM is filled. 1.8. On boot time on an AMIGA 2000 the first key pressed isn't read. This can be caused by the fact that the computer thinks that a special key is being held down. E.g. CTRL or LEFT-A, in the last case the m and n (LEFT-A n and m swap screens.) won't work. This can be solved by pressing the CTRL or LEFT-A key yourself. To permanently solve the problem it might be needed to adjust the computer hardware. (Cutting two capacitors on the motherboard.) Your dealer should be able to help you with this. 1.9. What is done upon boot time? The following things are done: [See also question 1.4..] Clear Chips Disable DMA and Interrupts Clear the Screen Check the Hardware Pass or fail the Hardware to the Screen Checksum the ROMs Pass or fail the ROMs to the Screen System setup Check the for RAM at $C00000 Move SYS_BASE to $C00000 if it exists RAM Test Pass or fail the RAM to the Screen Check the Software Pass or fail the Software to the Screen Set up the RAM Link the Libraries Find External RAM and link it to the list Set up Interrupts and DMA Start default Task Check for 68010, 68020, and 68881 Check for an Exception System Reset 1.10. What display modes are there? Mode NTSC PAL E HF #C Lores 320x200 320x256 - 15K 32 4096 Lores-ExtraHalfBrite 320x200 320x256 * 15K 64 4096 (restricted) Lores-HAM 320x200 320x256 - 15K 4096 4096 (restricted) Hires 640x200 640x256 - 15K 16 4096 Super-Hires 1280x200 1280x256 + 15K 4 64 (35 ns) Lores-Interlaced 320x400 320x512 - 15K 32 4096 Lores-EHB-Interlaced 320x400 320x512 * 15K 64 4096 (restricted) Lores-HAM-Interlaced 320x400 320x512 - 15K 4096 4096 (restricted) Hires-Interlaced 640x400 640x512 - 15K 16 4096 Super-Hires-Interlaced 1280x400 1280x512 + 15K 4 64 (35 ns) VGA-ExtraLores 160x480 160x480 + 31K 32 4096 VGA-Lores 320x480 320x480 + 31K 16 4096 Productivity 640x480 640x480 + 31K 4 64 VGA-ExtraLores-Interaced 160x960 160x960 + 31K 32 4096 VGA-Lores-Interlaced 320x960 320x960 + 31K 16 4096 Productivity-Interlaced 640x960 640x960 + 31K 4 64 A2024-10Hz 1008x800 1008x1024 - sp. 4 16 (gray) A2024-15Hz 1008x800 1008x1024 - sp. 4 16 (gray) Notes: - E stands for ESC. - HF stands for HFrequency. * Some early A1000's did not have ExtraHalfBrite. It is easy to up- grade. * The 2nd 32 colours of EHB mode are restricted. They are the same as the first 32 colours with the red, green, and blue values reduced to one half. * HAM mode (Hold And Modify mode) allows all 4096 colours to be displayed, but has restrictions affecting adjacent pixels of differing colours. 1.11. How do I connect a trackball instead of a mouse to my amiga? With some modifications you can connect a trackball to your amiga to re- place the mouse. There is a list with changes for the following trackballs: Atari 2600 trackballWico trackball A file with the instructions can be FTP-ed from ab20.larc.nasa.gov in the incoming/amiga/HARDWARE directory. If you don't have FTP access feel free to send e-mail to blgardne@javelin.es.com (Blaine Gardner), he is the "keeper of the trackball hacks" and can send you (t)his list by e-mail. Make sure to give him a working '@' style (Internet) address. 1.12. Can I change the speed of my battery-backup-ed clock? Yes you can, on the printed circuit board is a small trimmer (Usually yel- low) that changes the clock-speed of the battery-backup-ed clock. Turn it slightly to change the clock speed. NOTE: This voids warranty, so only do this if you know what you are doing! Answers about SOFTWARE questions. 2.1. Who is Fred Fish and what are the AmigaLibDisks? The AmigaLibDisks are disks with public-domain software and shareware pro- grams (If possible with sources.) assembled by Fred Fish. It is the larg- est set of public-domain disks available for the AMIGA. You can find hun- dreds of utilities and games on these disks often with their sources in- cluded. The contents of these disks can be found on the same sites mentioned in the following paragraph, in the magazine Amazing Computing and with the Aquari- um database program (FishDisk #???). These disks are available from Fred Fish (See postings in comp.sys.amiga.announce.) and are available by anonymous ftp on the follow- ing sites: Name Address Directory ux1.cso.uiuc.edu 128.174.5.59 amiga/fish/ff*** etana.tut.fi 128.214.1.1 2.2. What is CATS and how do I become a developer? CATS stands for Commodore Applications and Technical Support. (CATS) provides technical support to Amiga developers. This is provided through a number of channels, including network suppport, phone support for commercial developers, and technical documentation. CATS-Admin 1200 Wilson Drive West Chester, PA 19380 Ask for information on the developer support program if you want to become an developer. There are two developer levels, both require that you be working on a pro- duct that you believe will make it to market. Developer status includes a subscription to AmigaMail (our technical newsletter), access to beta software, access to developers conferences, and access to closed conferences on BIX. Commercial status also includes phone support. Certified Developer, $75/year, no phone support, no other require- ments. $25 signup cost. Commercial Developer, $450/year, phone support, requires that you have an existing product on the market. $50 signup cost. 2.3. What are RKM's? RKM stands for ROM Kernel Reference Manual. The RKM's are part of a serie of books describing the Amiga's Hardware and OS Software in detail. You can buy (or order) them in any bookstore. Amiga ROM Kernel Reference Manual: Libraries and Devices Addison Wesley, Dec 1989, ISBN 0-201-18187-8 Amiga ROM Kernel Reference Manual: Includes and Autodocs Addison Wesley, Jan 1989, ISBN 0-201-18177-0 Amiga Hardware Reference Manual Addison Wesley, Sept 1989, ISBN 0-201-18157-6 2.4. How do I controll a printer from AmigaBASIC? There are two ways the Amiga Operating System can access a printer: a) via the printer driver you selected in Preferences b) directly via the (parallel or serial) port driver without any driving software inbetween. What does the printer driver in case a)? Two things: It translates the spe- cial Amiga characters to character codes (plus control sequences) which this 'special' printer understands, and secondly it translates all other control sequences (for bold print, underline, but also for all graphics output) to the language your printer speaks. Those control sequences for bold print and those things are standardized on the Amiga, they are called "ANSI sequences", and you should find them in an appendix of your user manual (as well as in the official documentation, the ROM Kernel Manuals. See question 2.3..). The idea behind this is that any application program on the Amiga uses these ANSI sequences as standards, and as soon there is a printer driver available for your special printer, all these applications can use this printer. So the application programmer does not need to pro- vide hundreds of printer drivers with his program, but can simply build on ONE standard. How does all this affect AmigaBASIC? Well, the normal command to access a printer is the LPRINT statement. This uses method a), the printer driver. Thus it can talk to any printer of the world, if it comes with a printer driver. But it only "understands" ANSI control sequences, and NOT those es- cape sequences you find in your printer manual! LPRINT has also a not so nice feature: If you have once used it in one program execution, then the printer channel is occupied by it and can't be freed unless you END the program regularly. (If your program breaks, it's a good idea to give an END command by hand in the Output Window to reset this printer channel; else every following access would result in an error.) So, the first recommendation is: DO NOT USE LPRINT! But what else? You can access the printer in two ways: as device named "PRT:" (like LPRINT via printer driver, but you can CLOSE it properly), or as device "PAR:" (or "SER:", if connected to the serial port), where no driver program gets into your way. You use the printer in this way if: 1. Output of normal text OPEN "PRT:" FOR OUTPUT AS 1:PRINT#1,"your stuff": .. :CLOSE 1 This way you are sure that every character is translated to the printer's alphabet (you know we Germans have those umlauts...). 2. Output of standard control sequences (ANSI) Just like in 1., but with those CHR$(27);"[1m"; like commands. You need no extra OPEN to separate this from normal text output. 3. Output of printer-own control sequences (Generally try to avoid this whereever you can, because this program will be restricted to be used only on this very brand of printer and will fail on any other one!) If the printer channel is already open from 1. or 2.: CLOSE 1 : OPEN "PAR:" FOR OUTPUT AS 1 : PRINT#1,CHR$(27);..; : .. : CLOSE 1 So, unlike the examples in the printer manuals, use PRINT# instead of LPRINT! If your printer is connected to the serial port, use "SER:" in- stead of "PAR:" (plus make sure you have set up the serial interface prop- erly in Preferences). Answers about COMMUNICATION questions. 3.1. How can I exchange disks between a UNIX system and the AMIGA? The most common [and only?] way to exchange floppies between a UNIX machine and the AMIGA is by writing them in MS-DOS format. Programs and utilities for this are: UNIX utilities: MTOOL (Available via anonymous ftp at:) Name Address Directory gatekeeper.dec.com 16.1.0.2 pub/comp.sources.misc/*11/*mtools/* cerl.cecer.army.mil 129.229.1.101 pub/mtools/* [Version 2.0.3] Usage: 1) Log into a SUN 3/80 or SPARCstation and add the directory of mtools to your path: set path = ($path [path to mtools]) ; rehash or PATH=$PATH:[path to mtools] 2) Insert a floppy into the drive. To format the disk at high-density and install an MS-DOS file system on it, type: mkdfs -f -h If you want to use a low-density 720K disk instead (what you normally want if you use if for AMIGA conversion), type: mkdfs -f You only need to put a file system on the disk the first time you use it as an MS-DOS diskette; you definitely want to reformat the disk if it has previously been used for another filesystem. 3) To copy files to and from a formatted and initialized floppy, use the mcopy program. For example, to copy the files file1, file2, and file3 to the root of the MS-DOS file system on the floppy, type: mcopy file1 file2 file3 a:/ To copy a single file on the MS-DOS floppy to your Unix directory, type: mcopy a:/file1 . The data in the file is copied AS-IS, with no format translation; you can use the -t option to mcopy to translate text files into the MS-DOS notion of a text file, and vice versa. 4) You can use the mdir command to list files on the MS-DOS floppy mdir 5) You can also remove files mdel mdsos-filename 6) To eject the disk, type: eject [Not part of mtools but a SUNOS command.] AMIGA utilities: Dos2dos: (Available as a commercial product) CrossDos: (Available as a commercial product US$40) This product allows you to mount drives as MSDOS and Amiga format and recognizes either. Comes with some TextFilters and other utilities. MSH(messydos): (Available on FishDisk #382) This is a utility that gives you the needed files and programs so you can add a device to your Mountlist which makes any floppy drive use- able with MS-DOS formatted disks. 3.2. How can I post articles if I'm not on usenet? You can send news to all seven main newsgroups (comp.* rec.* misc.* etc.) by sending it to: news-group-name@ucbvax.berkeley.edu where news-group-name is the groupname with the character '-' instead of the '.'. For example to send something to misc.forsale.computers, e-mail it with: mail misc-forsale-computers@ucbvax.berkeley.edu At the moment it is not yet possible to send an article to the new created newsgroups in comp.sys.amiga.*. Please be patient. Note that these addresses should *not* be used for (un)subscribe messages. [See question 3.3..] 3.3. How can I read the comp.sys.amiga.* newsgroups when I'm not on usenet? You can (un)subscribe to an amiga newsgroup by sending e-mail to: news-group-name-request@ucbvax.berkeley.edu where news-group-name is the groupname with the character '-' instead of the '.'. And where the subject (and body) of the message contains the text "subscribe" of "unsubscribe". (Without the quotes!) For example to subscribe to comp.sys.amiga.introduction, e-mail it with: mail comp-sys-amiga-introduction-request@ucbvax.berkeley.edu At the moment it is not yet possible to send an (un)subscribe request to the new created newsgroups in comp.sys.amiga.*. Please be patient. 3.4. How can I ftp by mail? If don't have ftp access you can send mail to a special server that processes the ftp commands in your mail message and sends you back the result, also in mail messages. For an explanation send mail to: BITFTP@PUCC.Princeton.edu With a subject line containing the text Help. This will send you informa- tion. 3.5. What file transfer protocols are there for a modem? The absolutely simplest way for an executable file to come to you is in raw, binary mode, exactly the file you want to execute. This is most unusu- al. Normally they are converted [See question 3.6..]. To download such a file, you have to start getting concerned with the method you use to download it, called the protocol, since many (most) com- munications lines are not directly capable of transporting a raw binary file. (They tend to use some of the possible bit combinations as control signals for the line software and hardware.) Here are some protocols your terminal program may support: ASCII, xmodem, ymodem, zmodem, umodem, kermit. (There are others.) ASCII protocol is used to transmit only printable characters. The eight bits that form a character can represent decimal integer values from zero to two hundred fifty five. The printable ones are the ones from 32 (space) to 126 (tilda), plus the codes for tab, newline, and carriage return (the latter only in older systems). This won't work for raw binary data, whether your executable files or other kinds of binary. The x,y,z,u-modem protocols are a family of ever more capable protocols, which are capable (with some tricks you can ignore) of transmitting all 256 possible character values. One, xmodem, is not especially good for transmitting executable Amiga programs, though. It is left over from the days of the old CP/M operating system, when all files were allocated in blocks of 128 bytes (characters), with a special code in the last block at the correct point after the last data character (byte) to indicate the end of file, and junk after that mark filling out the rest of the block. This extra junk makes the Amiga executable program loader program "sick", be- cause it does "scatter loading" (puts parts of programs in parts of memory that don't necessarily "touch"), and it tries to interpret the junk (it doesn't know about the old CP/M file format) as scatter loading instruc- tions. This problem with xmodem can be one of the reasons a file you down- load doesn't "work" after it is downloaded. The next difficulty can come because these programs are written to do file transfers among both MS-DOS and Unix computers. It happens that, for print- ed text, many older systems, including the IBM-PC MS-DOS ones, use two characters (carriage return, line feed) to indicate the end of a line, while newer systems, including Unix and AmigaOS, use a single character (now called "newline", but the same code as the old line feed) to indicate the end of a line. To "simplify" transferring text files, the x,y,z,u-modem and kermit transfer protocols automatically translate the two characters to the one character when copying files between certain systems, and this translation is the _default_ operation of these protocols. In each one, to transfer an archive (below) or an executable file, you have to do whatever is appropriate to the protocol to specify *binary* or *image* transfer mode. 3.6. In what forms can files be transferred if I load them with my modem? To make it easier to transfer files they might be stored in special ways. For example with only printable characters. (For ASCII transfer.) More often several program are packed together in a special large archive to be able to transfer them in one go. Because so many older communications systems had trouble transferring raw binary data, there are a couple of ways to translate raw binary files into (bigger) printable files, move the printable files from computer to comput- er until at the destination or the next host above it, and then translate the printable data back to raw binary data. There are two common transla- tion pairs: uuencode <-> uudecode btoa <-> atob you will rarely see the latter, even though it is a few percent more effi- cient. You can recognize a uuencoded (and now printable) file, often embedded in a larger file such as a news article, by a first line like: begin nnn filename where "nnn" is some three digit octal number for the Unix file protection bits to apply to the back-translated raw binary file, and "filename" is the name the file should have when it is translated back to binary. Sometimes there are two lines ahead of this one with the keyword "table" and some characters that require special care when transporting a file from ASCII machines to EBCDIC (IBM mainframe) machines, but again, except for includ- ing it in what you pass to the uudecode program, you can ignore this most times. Where the uuencoded file is not part of a larger file, it will almost al- ways have a name ending in either "uu" or "uue" (depending on a minor difference in which flavor of uuencode is used to create it - ignorable); more on this below. Three other considerations affect the way you find a file packaged. First, files contain lots of "redundant" information, which causes them to take up a larger than necessary amount of storage space and transfer time. So called "compression" programs attempt to squeeze files into less space us- ing various tricks. In almost every case, the output is a smaller, raw binary file which is not executable. Common programs used to compress files that you might want to transfer to the Amiga for your use are: compress <-> uncompress arc zoo lharc lhwarp pkazip Second, files often occur in groups, which should be kept together, such as the source, documentation, executable, icon, data, and control files for the same program. Many archive methods exist to group many small files into one larger file. Ones you are likely to encounter trying to get software to your Amiga are: shar <-> unshar arc zoo lharc lhwarp pkazip Third, groups of files often have some (tree shaped) file structure, just like the directory of your disk, which you would like to preserve from where the files are packaged in an archive to where they are unpackaged for use. Archive methods that can recreate a directory structure that you will encounter are: shar <-> unshar (sometimes) zoo lharc lhwarp (it actually packages a whole floppy disk trackwise) Moreover, combinations of the various packaging methods can be used; among the most common combinations are: FILES -> uuencode -> shar -> TRANSFER -> unshar -> uudecode -> USE FILES -> shar -> compress -> TRANSFER -> uncompress -> unshar -> USE FILES -> arc -a -> uuencode -> TRANSFER -> uudecode -> arc -x -> USE FILES -> zoo a -> uuencode -> TRANSFER -> uudecode -> zoo e// -> USE FILES -> lharc a -> uuencode -> TRANSFER -> uudecode -> lharc x -> USE normally, shar files have names ending in .sh, compressed files in .Z, compressed uuencoded files in .Z.uu (or .Z.uue), arced files in .arc, arced uuencoded files in .arc.uu, (or rarely .auc), zooed files in .zoo, zooed uuencoded files in .zuu, lharced files in .lzh, lharced uuencoded files in .lzh.uu, lhwarped files in .lzw, and pkazipped files in .zip. Since the uuencoded file includes the other file's name, sometimes the com- pound names like .arc.uu are not used and just .uu is used instead. So if you have one of the news articles with a uuencoded file in it, your first step, on your host system, is to edit it and cut off the news article header and any introductory material, and any signature file at the end. If the file was published in several news articles (many comp.binary.amiga file archives are), you have to trim the trash off all the articles, then join the files that result into one file. On a Unix system, this is done by saying something like: cat filename1 filename2 filename3 > wholefilename.uu while on an Amiga, this would be done by saying: join filename1 filename2 filename3 as wholefilename.uu instead. When you have a file that starts with (the optional table and) a begin line, and ends with an end line, you can then say, on a Unix system: uudecode wholefilename.uu and it will create a file with whatever name and permissions are on the be- gin line, while, if you have the Amiga uudecode program, it works just the same, but the permissions are ignored (they're wrong for an Amiga). While if the file was instead a shar file, you would have started with: unshar filename perhaps after trimming off the news header depending upon how clever your unshar program is. This is the usual way to do the comp.sources.amiga arti- cles. If you are still on your host system, you will either have, if uudecoding, created (normally) a .zoo or .lzh file, or, if unsharing, created a (sub- directory tree) of files. If the latter, and your host site has zoo or the Unix lharc patched for the Amiga, get in the top directory created by/from the shar, and say either: find * -print | zoo aI somefilename.zoo or lharc aA * to make respectively a .zoo or .lzh archive of all the files. Transfer it to your machine using one of y,z,umodem or kermit, in binary mode. Use the zoo or lharc program from the directory/disk where you want the program files to live, like zoo e// pathtofile/somefilename.zoo or lharc -x -m x pathtofile/somefilename.lzh (for files packed on a Unix system, or lharc -a -x -m x pathtofile/somefilename.lzh for files packaged on an Amiga). You can find all of the programs and documentation for them on the Fred Fish public domain software collection. [See question 2.1..] 3.7. How does ftp work and what is the contents of several sites? For an explanation of ftp(1) see the UNIX manualpages. The basic operations are: o 128.174.5.59 [Make connection with host 128.174.5.59] [asks for Name]anonymous [asks for passwd/Here you should type your e-mail address]myname@mysite binary [For transfering programs etc.] ls [Directory contents] cd newdirectory get filename [Copy the file to your machine.] close [End the connection with the other machine.] bye [Exit ftp.] Remember that anonymous ftp is a service, use it only during off-work hours or during week-ends. A list of anonymous ftp sites with their contents is regularly posted in comp.misc. ----------8<----------8<----------8<----------8<----------8<---------- ___ ___ ___ ___ _ _ _ _ ( _)( _)( ,) ( ,)( \/ )|( \/\/ )riting software takes twice as long ) _) ) _) ) \ ) \ \ / | \ / as you expect it to take... (_) (___)(_)\_)(_)\_)(_/ | \/\/ Even if you keep this in mind! e-mail: ferry@chorus.fr or ferry%chorus.fr@mcsun.eu.net
jms@tardis.Tymnet.COM (Joe Smith) (03/31/91)
In article <8990@chorus.fr> ferry@chorus.fr writes: > 1.7. What is the difference between al these kinds of memory? Here's how I would describe the various type of memory. -------------- Chip RAM = Memory that can be accessed by the Amiga's custom chips. All graphics images (screens, windows, sprites, etc) must be in Chip RAM to be displayed. Likewise, all audio samples must be in Chip RAM to be played. On the original Amiga, only the first 512K bytes of memory could be accessed by the custom chips. Newer A500 and A2000 systems come with 1 meg of Chip RAM, and the A3000 can be upgraded to 2 meg of Chip RAM. Slow RAM = Alias for Chip RAM. Anytime the custom chips need to access Chip RAM, they have priority over the CPU's access to that memory. In particular, displaying a hi-res screen of 640x400x16-colors will lock out the CPU about 80% of the time. Fast RAM = Anything that is not Slow RAM. This includes both Autoconfig RAM and 32-bit RAM. Programs run faster when the executable code is loaded into Fast RAM, since the 68000 CPU is not competing with the custom chips. Slow-Fast RAM (aka C00000 RAM) = An unfortunate side effect in the original A500 and A2000 implementations. They came out with a "Fat Agnus" that only knew how to talk to 512K, even when 1 meg of memory was installed. This 2nd 512K was like Fast RAM in that it could not be used for graphics and sound, however, it was just as slow as Chip RAM. The A501 RAM/Clock card for the A500 is Slow-Fast RAM on a machine without the "1-meg Agnus". Expansion RAM = Additional memory, either AutoConfig RAM or AddMem RAM. AutoConfig RAM = Expansion RAM that automatically identifies itself when the Amiga is booted. It is designed to fit into the 8-meg address space between 200000 and 9FFFFF, and usually comes in 2-meg, 4-meg, or 8-meg sizes. Memory boards for the A2000 are AutoConfig RAM. AddMem RAM = Expansion RAM that is not known to the Amiga until the AddMem (or similar) program is run. Most memory boards for the A1000 are AddMem RAM, since the AutoConfig process was not defined when the A1000 came out. NoFastMem = A program that optimizes things on an Amiga with a combination of Chip RAM, AutoConfig RAM, and Slow-Fast RAM. It rearranges a system list such that when a program tries to allocate memory (and does not specify that it needs Chip RAM or Fast RAM), the memory will be allocated from Expansion RAM in preference to Slow-Fast RAM. It keeps things running faster longer. 32-bit RAM = High speed memory mounted on a 68020 or 68030 processor upgrade board. It also applies to the Fast RAM on the A3000 motherboard, and memory boards conforming to the Zorro-3 specification. It allows the 32-bit CPU to access 32-bit quantities in a single memory cycle, instead of as two 16-bit cycles. Since one cycle is faster than two, the 68020 or 68030 CPU runs faster if it has 32-bit RAM available. In most cases, 32-bit RAM cannot be accessed by A2000-compatible DMA devices (such as disk controllers) because Zorro-2 boards are limited to 24 address bits. -- Joe Smith (408)922-6220 | SMTP: jms@tardis.tymnet.com or jms@gemini.tymnet.com BT Tymnet Tech Services | UUCP: ...!{ames,pyramid}!oliveb!tymix!tardis!jms PO Box 49019, MS-C51 | BIX: smithjoe | CA license plate: "POPJ P," (PDP-10) San Jose, CA 95161-9019 | humorous dislaimer: "My Amiga 3000 speaks for me."
theacct@bill.ucsc.edu (El hombre de pelo estranja) (03/31/91)
Kudos for your thorough definitions of the RAM types. -- ----------------------------------------------------------------------------- Daniel Jalkut -- Amiga guy | "And didn't I read that these devices snozer@toast.santa-cruz.ca.us /// | go two way and everything I do or say 408-429-8628 -- Day /// | is goin' on a tape somewhere right now 408-423-6926 -- Night \XX/ | planted in my cavities?" -- LARD -----------------------------------------------------------------------------
kpjeacle@unix1.tcd.ie (Karl Jeacle) (03/31/91)
In <1682@tardis.Tymnet.COM> jms@tardis.Tymnet.COM (Joe Smith) writes: >Here's how I would describe the various type of memory. >NoFastMem = A program that optimizes things on an Amiga with a combination >of Chip RAM, AutoConfig RAM, and Slow-Fast RAM. It rearranges a system list >such that when a program tries to allocate memory (and does not specify that >it needs Chip RAM or Fast RAM), the memory will be allocated from Expansion >RAM in preference to Slow-Fast RAM. It keeps things running faster longer. NoFastMem??? You mean FastMemFirst. NoFastMem makes the Amiga think it has absolutely no Fast memory available. >Joe Smith (408)922-6220 | SMTP: jms@tardis.tymnet.com or jms@gemini.tymnet.com -- --//------------------------------------------------------------------------- \X/ Fido: Karl.Jeacle @ 2:253/151 kpjeacle@vax1.tcd.ie
phoenix@ms.uky.edu (R'ykandar Korra'ti) (03/31/91)
In article <1682@tardis.Tymnet.COM> jms@tardis.Tymnet.COM (Joe Smith) writes: >NoFastMem = A program that optimizes things on an Amiga with a combination >of Chip RAM, AutoConfig RAM, and Slow-Fast RAM. It rearranges a system list >such that when a program tries to allocate memory (and does not specify that >it needs Chip RAM or Fast RAM), the memory will be allocated from Expansion >RAM in preference to Slow-Fast RAM. It keeps things running faster longer. Ah, right definition, wrong programme. This definition is for FastMemFirst. NoFastMem is a programme which removes Slow-Fast RAM and Fast RAM from the system availability list, so that _all_ ram allocations must come from Chip RAM. This is provided so that certain old, "broken" programmes that do not properly allocate their Chip RAM (i.e., which call for _any_ ram when they specifically need Chip RAM) can continue to function on a machine with Fast RAM. Personally, I don't run programmes that do this. :-) I can tell this was a typo, but I thought I'd post anyway to get the correction out ASAP. Very nice list otherwise, by the way... - R'ykandar. -- R'ykandar Korra'ti | Editor, LOW ORBIT Science and Fiction "I hate you, you timepiece from Hades." - Plucky Duck phoenix@ms.uky.edu | editor@lorbit.UUCP | ukma!lorbit!editor
jms@tardis.Tymnet.COM (Joe Smith) (04/01/91)
In article <1991Mar31.153534.4535@ms.uky.edu> phoenix@ms.uky.edu (R'ykandar Korra'ti) writes: >In article <1682@tardis.Tymnet.COM> jms@tardis.Tymnet.COM (Joe Smith) writes: >>NoFastMem --- FastMemFirst > Ah, right definition, wrong programme. Absolutely correct. Due to a failure in associative memory the wrong keyword was inserted. That is, my brain doesn't work too well when I've been up too long. Thanks for pointing out the error. -- Joe Smith (408)922-6220 | SMTP: jms@tardis.tymnet.com or jms@gemini.tymnet.com BT Tymnet Tech Services | UUCP: ...!{ames,pyramid}!oliveb!tymix!tardis!jms PO Box 49019, MS-C51 | BIX: smithjoe | CA license plate: "POPJ P," (PDP-10) San Jose, CA 95161-9019 | humorous dislaimer: "My Amiga 3000 speaks for me."
ferry@chorus.fr (Ferry de Jong) (06/03/91)
MONTHLY POSTING: Frequently Asked Questions and Answers V1.2 (June 1991) This article contains a list of frequently asked questions and answers. It is posted by me every month in comp.sys.amiga.introduction. Pay attention to the version number of this article. It indicates what kind of changes are made to the contents compared to the previous posting. First number changed: New questions and answers added. Second number changed: Answers to existing questions changed or updated. If you have suggestions about this article, feel free to mail them to me so I can improve this document. You can reach me by e-mail: ferry@chorus.fr or ferry%chorus.fr@mcsun.eu.net I'd like to thank the following people for their contributions: Kent Paul Dolan(xanthian@zorch.sf-bay.org) For sending several parts of information for this article. Richard Gering(rgering@mentor.com) Edwin Hoogerbeets(ehoogerbeets@watyew.uwaterloo.ca) Mic Kaczmarczik(mic@emx.utexas.edu) UT Austin Computation Center Jerry J Trantow(trantow@csd4.csd.uwm.edu) Joe Smith(jms@tardis.tymnet.com) For his article in c.s.a.games about display modes, I used. Dan Zerkle(zerkle@iris.eecs.ucdavis.edu) Peter Kittel(cbmvax!cbmger!peterk@uunet.UU.NET) For the part about driving printers in AmigaBasic. DISCLAIMER Use the information in this posting at your own risk and cost. All opinions expressed are mine, not necessarily those of my employer. ----------8<----------8<----------8<----------8<----------8<---------- You can find answers to the following questions HARDWARE 1.1. Why does my battery backup-ed clock not work properly? 1.2. What are the 8520's? 1.3. What hardware is broken and can I repair it myself? 1.4. During a boot or RESET the screen changes. What does this mean? 1.5. Can I replace the 68000 with an 68010 to get a higher performance? 1.6. What is the difference between the A2000 and the B2000? 1.7. What is the difference between al these kinds of memory? 1.8. On boot time on an AMIGA 2000 the first key pressed isn't read. 1.9. What is done upon boot time? 1.10.What display modes are there? 1.11.How do I connect a trackball instead of a mouse to my amiga? 1.12.Can I change the speed of my battery-backup-ed clock? SOFTWARE 2.1. Who is Fred Fish and what are the AmigaLibDisks? 2.2. What is CATS and how do I become a developer? 2.3. What are RKM's? 2.4. How do I controll a printer from AmigaBASIC? COMMUNICATION 3.1. How can I exchange disks between a UNIX system and the AMIGA? 3.2. How can I post articles if I'm not on usenet? 3.3. How can I read the comp.sys.amiga.* newsgroups when I'm not on usenet? 3.4. How can I ftp by mail? 3.5. What file transfer protocols are there for a modem? 3.6. In what forms can files be transferred if I load them with my modem? 3.7. How does ftp work and what is the contents of several sites? Answers about HARDWARE questions. 1.1. Why does my battery backup-ed clock not work properly? Symptoms: 1. Clock is several minutes/hours early/late. 2. Clock is RESET to first day of the AMIGA's life. 3. Clock can't be read from and written to. The battery backup-ed clock draws its power during power-off of the AMIGA from a small NiCd-battery. There are two often occuring reasons for the strange behaviour of the clock: 1. The battery is (almost) empty. This should normally only happen after a very long power-off of the AMIGA. (Several weeks/months.) 2. The battery is old and can't supply the clock with the voltage or current it needs to operate properly. To solve the problem in the first case you should turn your AMIGA on for several hours to allow the battery to recharge. After this you can set the setclock command and everything should work OK. The solution in the second case is to have the battery checked and replaced by your AMIGA dealer. In the third case your computer might be infected by a virus that puts some date in the Clock memory that makes it no longer respond. If you execute the command: setclock opt reset everything should work normal again. NB. Use the setclock from your Work- bench V1.2, the V1.3 version might not work always. 1.2. What are the 8520's? The 8520 is a chip inside the AMIGA. In the 500/1000/2000 there are two of them. They are custom chips of the company that designed and built the AMI- GA. 1.3. What hardware is broken and can I repair it myself? Symptoms: Printer doesn't work properly anymore. Audio sampler produces one constant or random values. Modem doesn't work properly anymore. Joy-sticks seem not to be working. All the previous mentioned devices are driven by the two 8520's in your AMIGA. These are very delicate chips and history has proven that they are very fragile. It might well be the case that one of them is broken. You can check this by exchanging them inside your AMIGA. (They are both socket-ed.) ONLY do this (Opening the AMIGA isn't allowed during the guarantee period!) if you know what you are doing. If exchanging does make a difference one of them is broken and you can replace the broken chip by a new one. You can buy them only at certain places eg. at your dealer. They cost about $10,- $15,- a piece. If you don't want to repair the machine yourself, bring your computer to a qualified repair company. 1.4. During a boot or RESET the screen changes. What does this mean? To indicate problems detected within the hardware, the screen is changed to one of the following colours: [See also question 1.9..] Colour Diagnostic dark gray Hardware OK light gray Software OK blue Bad Custom Chips green Bad CHIP RAM red Checksumerror ROM (Bad ROM) yellow exception before a GURU-meditation could be given 1.5. Can I replace the 68000 with an 68010 to get a higher perfor- mance? Yes, in general you can replace the 68000 with an 68010. It is an operation that needs to be done with care because they are large chips and aren't very easy to get out/in the socket. NB Don't put the 68010 in the socked the wrong way around! Don't expect to much performance increase. Only programs with a lot of cal- culation might run a bit faster but the overall performance increase will be less than 5%. Because of bad programming there are several programs that will stop run- ning when you are using a 68010. Keep this in mind. List of known programs that won't run with an 68010 [none] [Send updates to ferry@chorus.fr] 1.6. What is the difference between the A2000 and the B2000? Commodore in Braunschweig (Germany) has built the A2000 based on the AMIGA 1000. They added the slots and 512 KBytes RAM. This was done in order to allow an XT-card inside the computer. Later Commodore developed the B2000 which was based on the new hardware also used in the AMIGA 500. It has 1 MByte of RAM and is prepared for 1 MByte of CHIP RAM. Although the B2000 is different from the A2000, both are called Amiga-2000. (Or even A2000.) Both have the same case but are completely different in- side. Also, from a software point of view small differences might be discovered. 1.7. What is the difference between al these kinds of memory? These are the most common terms used that have to do with memory: Autoconfig RAM Memory that is available and known to the system as you power on the machine. This means that you don't have to execute a program to let the operating system know this memory is available. On the other hand NonAutoconfig RAM needs to be made available, which is usually done with programs like AddMem and AddRAM. With these you are telling the OS where in the addressing space the memory board can be found. Public RAM [Good explanation needed.] FAST RAM is any RAM out of the reach of the custom chips. It is known as FAST RAM because code and data may be accessed by the CPU there faster, as it does not have to deal with the bus contention in the CHIP RAM addressing space. On the CHIP RAM bus, time has to be shared by both the processor and the custom chips. If the custom chips are very active at a given time, the CPU must wait for the bus to be free for it's use. [Some activities of the custom chips can 'cycle steal' from the CPU, causing it to be forced to wait.] Normally, the 680x0 on the Amiga only needs the bus every alternate clock cycle in order to run full speed...thus the other cycles not used are taken up by the custom chips. However, when the blitter is in use, or the copro- cessor (COPPER), you see some of this cycle stealing. As a result, the CPU can usually run quite close to full speed on the CHIP RAM bus, but there is almost always some activity which slows it down a bit. And of course any heavy graphics use will cause considerable slowing if the CPU is forced to run code out of the CHIP RAM area. Now, with FAST RAM on the system, the CPU can generally run full speed, provided the code/data being accessed is in FAST RAM, because the custom chips cannot access this memory medium, and are not using it's bus. 32 bit RAM There is no difference in the chips themselves. What IS different is how they are accessed. On a 16 bit bus (16-bit memory), 16 bits of data can be operated on at one time (transferred about, etc...). The 32-bit bus can work with 32-bits of data at a time. Thus if you are running two different buses...on 16-bit and one 32-bit, the 32-bit bus can handle more data at a given interval (assuming appropriate processors for each and equivalent bus speeds). This is handled at the interface logic and bus level, not within the memory chips themselves. RAM waitstates You will run into having to have wait states if the memory being utilized is slower than the speed at which the processor needs it to come back. For instance, FAST RAM on the A2000 (68000) is usually rated at 120-100ns...this is perfectly fine for zero-wait state operation on that bus. The processor is incapable of "asking for" the data any fas- ter. Putting 80ns memory here would be a waste of money, as the processor will not be able to access it any faster. [The processor/bus is running at a certain speed. It will not speed up for faster memory]. Now, if you were to put 200ns parts on a FAST RAM expansion board, you would have to put some wait states into that. FastMemFirst Memory on the Amiga is prioritized. Now, normally CHIP RAM is given a priority on the system of -10. This is to insure it is not used by programs requesting simply "I want a chunk of memory", and not say- ing "and it needs to be CHIP". This helps to prevent CHIP RAM from being used for things which do not need to be there. Now, FastMemFirst is special. On Amigas with 512KBytes of CHIP RAM, the other 512KBytes which make up the 1 MByte std. complement is what is called "SLOW-FAST" RAM. This is because, while the custom chips cannot use it, it is still subject to the bus contention for CHIP RAM, as it is in fact on that bus. [When you upgrade to the 1-MByte Agnus, this "SLOW-FAST" memory is what becomes the other 512KBytes of CHIP RAM.] FastMemFirst is useful if you have this "SLOW-FAST" memory, and also have true FAST memory on the system. What it does is place your "SLOW-FAST" memory at the same -10 priority as CHIP RAM. Since most true FAST RAM will default to a priority of 0, it places your true FAST RAM ahead of the CHIP and SLOW-FAST memory on the memory lists. This is so programs which do not need to use CHIP RAM (and a program's actual CODE never does for the most part) will be placed in you FAST RAM, and run somewhat faster. SLOW-FAST and CHIP will only be used when either requested specifically by a program, or when your FAST RAM is filled. 1.8. On boot time on an AMIGA 2000 the first key pressed isn't read. This can be caused by the fact that the computer thinks that a special key is being held down. E.g. CTRL or LEFT-A, in the last case the m and n (LEFT-A n and m swap screens.) won't work. This can be solved by pressing the CTRL or LEFT-A key yourself. To permanently solve the problem it might be needed to adjust the computer hardware. (Cutting two capacitors on the motherboard.) Your dealer should be able to help you with this. 1.9. What is done upon boot time? The following things are done: [See also question 1.4..] Clear Chips Disable DMA and Interrupts Clear the Screen Check the Hardware Pass or fail the Hardware to the Screen Checksum the ROMs Pass or fail the ROMs to the Screen System setup Check the for RAM at $C00000 Move SYS_BASE to $C00000 if it exists RAM Test Pass or fail the RAM to the Screen Check the Software Pass or fail the Software to the Screen Set up the RAM Link the Libraries Find External RAM and link it to the list Set up Interrupts and DMA Start default Task Check for 68010, 68020, and 68881 Check for an Exception System Reset 1.10. What display modes are there? Mode NTSC PAL E HF #C Lores 320x200 320x256 - 15K 32 4096 Lores-ExtraHalfBrite 320x200 320x256 * 15K 64 4096 (restricted) Lores-HAM 320x200 320x256 - 15K 4096 4096 (restricted) Hires 640x200 640x256 - 15K 16 4096 Super-Hires 1280x200 1280x256 + 15K 4 64 (35 ns) Lores-Interlaced 320x400 320x512 - 15K 32 4096 Lores-EHB-Interlaced 320x400 320x512 * 15K 64 4096 (restricted) Lores-HAM-Interlaced 320x400 320x512 - 15K 4096 4096 (restricted) Hires-Interlaced 640x400 640x512 - 15K 16 4096 Super-Hires-Interlaced 1280x400 1280x512 + 15K 4 64 (35 ns) VGA-ExtraLores 160x480 160x480 + 31K 32 4096 VGA-Lores 320x480 320x480 + 31K 16 4096 Productivity 640x480 640x480 + 31K 4 64 VGA-ExtraLores-Interaced 160x960 160x960 + 31K 32 4096 VGA-Lores-Interlaced 320x960 320x960 + 31K 16 4096 Productivity-Interlaced 640x960 640x960 + 31K 4 64 A2024-10Hz 1008x800 1008x1024 - sp. 4 16 (gray) A2024-15Hz 1008x800 1008x1024 - sp. 4 16 (gray) Notes: - E stands for ESC. - HF stands for HFrequency. * Some early A1000's did not have ExtraHalfBrite. It is easy to up- grade. * The 2nd 32 colours of EHB mode are restricted. They are the same as the first 32 colours with the red, green, and blue values reduced to one half. * HAM mode (Hold And Modify mode) allows all 4096 colours to be displayed, but has restrictions affecting adjacent pixels of differing colours. 1.11. How do I connect a trackball instead of a mouse to my amiga? With some modifications you can connect a trackball to your amiga to re- place the mouse. There is a list with changes for the following trackballs: Atari 2600 trackballWico trackball A file with the instructions can be FTP-ed from ab20.larc.nasa.gov in the /amiga/hardware directory. If you don't have FTP access feel free to send e-mail to blgardne@javelin.sim.es.com (Blaine Gardner), he is the "keeper of the trackball hacks" and can send you (t)his list by e-mail. Make sure to give him a working '@' style (Internet) address. 1.12. Can I change the speed of my battery-backup-ed clock? Yes you can, on the printed circuit board is a small trimmer (Usually yel- low) that changes the clock-speed of the battery-backup-ed clock. Turn it slightly to change the clock speed. NOTE: This voids warranty, so only do this if you know what you are doing! Answers about SOFTWARE questions. 2.1. Who is Fred Fish and what are the AmigaLibDisks? The AmigaLibDisks are disks with public-domain software and shareware pro- grams (If possible with sources.) assembled by Fred Fish. It is the larg- est set of public-domain disks available for the AMIGA. You can find hun- dreds of utilities and games on these disks often with their sources in- cluded. The contents of these disks can be found on the same sites mentioned in the following paragraph, in the magazine Amazing Computing and with the Aquari- um database program (FishDisk #???). These disks are available from Fred Fish (See postings in comp.sys.amiga.announce.) and are available by anonymous ftp on the follow- ing sites: Name Address Directory ux1.cso.uiuc.edu 128.174.5.59 amiga/fish/ff*** etana.tut.fi 128.214.1.1 2.2. What is CATS and how do I become a developer? CATS stands for Commodore Applications and Technical Support. (CATS) provides technical support to Amiga developers. This is provided through a number of channels, including network suppport, phone support for commercial developers, and technical documentation. CATS-Admin 1200 Wilson Drive West Chester, PA 19380 Ask for information on the developer support program if you want to become an developer. There are two developer levels, both require that you be working on a pro- duct that you believe will make it to market. Developer status includes a subscription to AmigaMail (our technical newsletter), access to beta software, access to developers conferences, and access to closed conferences on BIX. Commercial status also includes phone support. Certified Developer, $75/year, no phone support, no other require- ments. $25 signup cost. Commercial Developer, $450/year, phone support, requires that you have an existing product on the market. $50 signup cost. 2.3. What are RKM's? RKM stands for ROM Kernel Reference Manual. The RKM's are part of a serie of books describing the Amiga's Hardware and OS Software in detail. You can buy (or order) them in any bookstore. Amiga ROM Kernel Reference Manual: Libraries and Devices Addison Wesley, Dec 1989, ISBN 0-201-18187-8 Amiga ROM Kernel Reference Manual: Includes and Autodocs Addison Wesley, Jan 1989, ISBN 0-201-18177-0 Amiga Hardware Reference Manual Addison Wesley, Sept 1989, ISBN 0-201-18157-6 2.4. How do I controll a printer from AmigaBASIC? There are two ways the Amiga Operating System can access a printer: a) via the printer driver you selected in Preferences b) directly via the (parallel or serial) port driver without any driving software inbetween. What does the printer driver in case a)? Two things: It translates the spe- cial Amiga characters to character codes (plus control sequences) which this 'special' printer understands, and secondly it translates all other control sequences (for bold print, underline, but also for all graphics output) to the language your printer speaks. Those control sequences for bold print and those things are standardized on the Amiga, they are called "ANSI sequences", and you should find them in an appendix of your user manual (as well as in the official documentation, the ROM Kernel Manuals. See question 2.3..). The idea behind this is that any application program on the Amiga uses these ANSI sequences as standards, and as soon there is a printer driver available for your special printer, all these applications can use this printer. So the application programmer does not need to pro- vide hundreds of printer drivers with his program, but can simply build on ONE standard. How does all this affect AmigaBASIC? Well, the normal command to access a printer is the LPRINT statement. This uses method a), the printer driver. Thus it can talk to any printer of the world, if it comes with a printer driver. But it only "understands" ANSI control sequences, and NOT those es- cape sequences you find in your printer manual! LPRINT has also a not so nice feature: If you have once used it in one program execution, then the printer channel is occupied by it and can't be freed unless you END the program regularly. (If your program breaks, it's a good idea to give an END command by hand in the Output Window to reset this printer channel; else every following access would result in an error.) So, the first recommendation is: DO NOT USE LPRINT! But what else? You can access the printer in two ways: as device named "PRT:" (like LPRINT via printer driver, but you can CLOSE it properly), or as device "PAR:" (or "SER:", if connected to the serial port), where no driver program gets into your way. You use the printer in this way if: 1. Output of normal text OPEN "PRT:" FOR OUTPUT AS 1:PRINT#1,"your stuff": .. :CLOSE 1 This way you are sure that every character is translated to the printer's alphabet (you know we Germans have those umlauts...). 2. Output of standard control sequences (ANSI) Just like in 1., but with those CHR$(27);"[1m"; like commands. You need no extra OPEN to separate this from normal text output. 3. Output of printer-own control sequences (Generally try to avoid this whereever you can, because this program will be restricted to be used only on this very brand of printer and will fail on any other one!) If the printer channel is already open from 1. or 2.: CLOSE 1 : OPEN "PAR:" FOR OUTPUT AS 1 : PRINT#1,CHR$(27);..; : .. : CLOSE 1 So, unlike the examples in the printer manuals, use PRINT# instead of LPRINT! If your printer is connected to the serial port, use "SER:" in- stead of "PAR:" (plus make sure you have set up the serial interface prop- erly in Preferences). Answers about COMMUNICATION questions. 3.1. How can I exchange disks between a UNIX system and the AMIGA? The most common [and only?] way to exchange floppies between a UNIX machine and the AMIGA is by writing them in MS-DOS format. Programs and utilities for this are: UNIX utilities: MTOOL (Available via anonymous ftp at:) Name Address Directory gatekeeper.dec.com 16.1.0.2 pub/comp.sources.misc/*11/*mtools/* cerl.cecer.army.mil 129.229.1.101 pub/mtools/* [Version 2.0.3] Usage: 1) Log into a SUN 3/80 or SPARCstation and add the directory of mtools to your path: set path = ($path [path to mtools]) ; rehash or PATH=$PATH:[path to mtools] 2) Insert a floppy into the drive. To format the disk at high-density and install an MS-DOS file system on it, type: mkdfs -f -h If you want to use a low-density 720K disk instead (what you normally want if you use if for AMIGA conversion), type: mkdfs -f You only need to put a file system on the disk the first time you use it as an MS-DOS diskette; you definitely want to reformat the disk if it has previously been used for another filesystem. 3) To copy files to and from a formatted and initialized floppy, use the mcopy program. For example, to copy the files file1, file2, and file3 to the root of the MS-DOS file system on the floppy, type: mcopy file1 file2 file3 a:/ To copy a single file on the MS-DOS floppy to your Unix directory, type: mcopy a:/file1 . The data in the file is copied AS-IS, with no format translation; you can use the -t option to mcopy to translate text files into the MS-DOS notion of a text file, and vice versa. 4) You can use the mdir command to list files on the MS-DOS floppy mdir 5) You can also remove files mdel mdsos-filename 6) To eject the disk, type: eject [Not part of mtools but a SUNOS command.] AMIGA utilities: Dos2dos: (Available as a commercial product) CrossDos: (Available as a commercial product US$40) This product allows you to mount drives as MSDOS and Amiga format and recognizes either. Comes with some TextFilters and other utilities. MSH(messydos): (Available on FishDisk #382) This is a utility that gives you the needed files and programs so you can add a device to your Mountlist which makes any floppy drive use- able with MS-DOS formatted disks. 3.2. How can I post articles if I'm not on usenet? You can send news to all seven main newsgroups (comp.* rec.* misc.* etc.) by sending it to: news-group-name@ucbvax.berkeley.edu where news-group-name is the groupname with the character '-' instead of the '.'. For example to send something to misc.forsale.computers, e-mail it with: mail misc-forsale-computers@ucbvax.berkeley.edu At the moment it is not yet possible to send an article to the new created newsgroups in comp.sys.amiga.*. Please be patient. Note that these addresses should *not* be used for (un)subscribe messages. [See question 3.3..] 3.3. How can I read the comp.sys.amiga.* newsgroups when I'm not on usenet? You can (un)subscribe to an amiga newsgroup by sending e-mail to: news-group-name-request@ucbvax.berkeley.edu where news-group-name is the groupname with the character '-' instead of the '.'. And where the subject (and body) of the message contains the text "subscribe" of "unsubscribe". (Without the quotes!) For example to subscribe to comp.sys.amiga.introduction, e-mail it with: mail comp-sys-amiga-introduction-request@ucbvax.berkeley.edu At the moment it is not yet possible to send an (un)subscribe request to the new created newsgroups in comp.sys.amiga.*. Please be patient. 3.4. How can I ftp by mail? If don't have ftp access you can send mail to a special server that processes the ftp commands in your mail message and sends you back the result, also in mail messages. For an explanation send mail to: BITFTP@PUCC.Princeton.edu With a subject line containing the text Help. This will send you informa- tion. 3.5. What file transfer protocols are there for a modem? The absolutely simplest way for an executable file to come to you is in raw, binary mode, exactly the file you want to execute. This is most unusu- al. Normally they are converted [See question 3.6..]. To download such a file, you have to start getting concerned with the method you use to download it, called the protocol, since many (most) com- munications lines are not directly capable of transporting a raw binary file. (They tend to use some of the possible bit combinations as control signals for the line software and hardware.) Here are some protocols your terminal program may support: ASCII, xmodem, ymodem, zmodem, umodem, kermit. (There are others.) ASCII protocol is used to transmit only printable characters. The eight bits that form a character can represent decimal integer values from zero to two hundred fifty five. The printable ones are the ones from 32 (space) to 126 (tilda), plus the codes for tab, newline, and carriage return (the latter only in older systems). This won't work for raw binary data, whether your executable files or other kinds of binary. The x,y,z,u-modem protocols are a family of ever more capable protocols, which are capable (with some tricks you can ignore) of transmitting all 256 possible character values. One, xmodem, is not especially good for transmitting executable Amiga programs, though. It is left over from the days of the old CP/M operating system, when all files were allocated in blocks of 128 bytes (characters), with a special code in the last block at the correct point after the last data character (byte) to indicate the end of file, and junk after that mark filling out the rest of the block. This extra junk makes the Amiga executable program loader program "sick", be- cause it does "scatter loading" (puts parts of programs in parts of memory that don't necessarily "touch"), and it tries to interpret the junk (it doesn't know about the old CP/M file format) as scatter loading instruc- tions. This problem with xmodem can be one of the reasons a file you down- load doesn't "work" after it is downloaded. The next difficulty can come because these programs are written to do file transfers among both MS-DOS and Unix computers. It happens that, for print- ed text, many older systems, including the IBM-PC MS-DOS ones, use two characters (carriage return, line feed) to indicate the end of a line, while newer systems, including Unix and AmigaOS, use a single character (now called "newline", but the same code as the old line feed) to indicate the end of a line. To "simplify" transferring text files, the x,y,z,u-modem and kermit transfer protocols automatically translate the two characters to the one character when copying files between certain systems, and this translation is the _default_ operation of these protocols. In each one, to transfer an archive (below) or an executable file, you have to do whatever is appropriate to the protocol to specify *binary* or *image* transfer mode. 3.6. In what forms can files be transferred if I load them with my modem? To make it easier to transfer files they might be stored in special ways. For example with only printable characters. (For ASCII transfer.) More often several program are packed together in a special large archive to be able to transfer them in one go. Because so many older communications systems had trouble transferring raw binary data, there are a couple of ways to translate raw binary files into (bigger) printable files, move the printable files from computer to comput- er until at the destination or the next host above it, and then translate the printable data back to raw binary data. There are two common transla- tion pairs: uuencode <-> uudecode btoa <-> atob you will rarely see the latter, even though it is a few percent more effi- cient. You can recognize a uuencoded (and now printable) file, often embedded in a larger file such as a news article, by a first line like: begin nnn filename where "nnn" is some three digit octal number for the Unix file protection bits to apply to the back-translated raw binary file, and "filename" is the name the file should have when it is translated back to binary. Sometimes there are two lines ahead of this one with the keyword "table" and some characters that require special care when transporting a file from ASCII machines to EBCDIC (IBM mainframe) machines, but again, except for includ- ing it in what you pass to the uudecode program, you can ignore this most times. Where the uuencoded file is not part of a larger file, it will almost al- ways have a name ending in either "uu" or "uue" (depending on a minor difference in which flavor of uuencode is used to create it - ignorable); more on this below. Three other considerations affect the way you find a file packaged. First, files contain lots of "redundant" information, which causes them to take up a larger than necessary amount of storage space and transfer time. So called "compression" programs attempt to squeeze files into less space us- ing various tricks. In almost every case, the output is a smaller, raw binary file which is not executable. Common programs used to compress files that you might want to transfer to the Amiga for your use are: compress <-> uncompress arc zoo lharc lhwarp pkazip Second, files often occur in groups, which should be kept together, such as the source, documentation, executable, icon, data, and control files for the same program. Many archive methods exist to group many small files into one larger file. Ones you are likely to encounter trying to get software to your Amiga are: shar <-> unshar arc zoo lharc lhwarp pkazip Third, groups of files often have some (tree shaped) file structure, just like the directory of your disk, which you would like to preserve from where the files are packaged in an archive to where they are unpackaged for use. Archive methods that can recreate a directory structure that you will encounter are: shar <-> unshar (sometimes) zoo lharc lhwarp (it actually packages a whole floppy disk trackwise) Moreover, combinations of the various packaging methods can be used; among the most common combinations are: FILES -> uuencode -> shar -> TRANSFER -> unshar -> uudecode -> USE FILES -> shar -> compress -> TRANSFER -> uncompress -> unshar -> USE FILES -> arc -a -> uuencode -> TRANSFER -> uudecode -> arc -x -> USE FILES -> zoo a -> uuencode -> TRANSFER -> uudecode -> zoo e// -> USE FILES -> lharc a -> uuencode -> TRANSFER -> uudecode -> lharc x -> USE normally, shar files have names ending in .sh, compressed files in .Z, compressed uuencoded files in .Z.uu (or .Z.uue), arced files in .arc, arced uuencoded files in .arc.uu, (or rarely .auc), zooed files in .zoo, zooed uuencoded files in .zuu, lharced files in .lzh, lharced uuencoded files in .lzh.uu, lhwarped files in .lzw, and pkazipped files in .zip. Since the uuencoded file includes the other file's name, sometimes the com- pound names like .arc.uu are not used and just .uu is used instead. So if you have one of the news articles with a uuencoded file in it, your first step, on your host system, is to edit it and cut off the news article header and any introductory material, and any signature file at the end. If the file was published in several news articles (many comp.binary.amiga file archives are), you have to trim the trash off all the articles, then join the files that result into one file. On a Unix system, this is done by saying something like: cat filename1 filename2 filename3 > wholefilename.uu while on an Amiga, this would be done by saying: join filename1 filename2 filename3 as wholefilename.uu instead. When you have a file that starts with (the optional table and) a begin line, and ends with an end line, you can then say, on a Unix system: uudecode wholefilename.uu and it will create a file with whatever name and permissions are on the be- gin line, while, if you have the Amiga uudecode program, it works just the same, but the permissions are ignored (they're wrong for an Amiga). While if the file was instead a shar file, you would have started with: unshar filename perhaps after trimming off the news header depending upon how clever your unshar program is. This is the usual way to do the comp.sources.amiga arti- cles. If you are still on your host system, you will either have, if uudecoding, created (normally) a .zoo or .lzh file, or, if unsharing, created a (sub- directory tree) of files. If the latter, and your host site has zoo or the Unix lharc patched for the Amiga, get in the top directory created by/from the shar, and say either: find * -print | zoo aI somefilename.zoo or lharc aA * to make respectively a .zoo or .lzh archive of all the files. Transfer it to your machine using one of y,z,umodem or kermit, in binary mode. Use the zoo or lharc program from the directory/disk where you want the program files to live, like zoo e// pathtofile/somefilename.zoo or lharc -x -m x pathtofile/somefilename.lzh (for files packed on a Unix system, or lharc -a -x -m x pathtofile/somefilename.lzh for files packaged on an Amiga). You can find all of the programs and documentation for them on the Fred Fish public domain software collection. [See question 2.1..] 3.7. How does ftp work and what is the contents of several sites? For an explanation of ftp(1) see the UNIX manualpages. The basic operations are: o 128.174.5.59 [Make connection with host 128.174.5.59] [asks for Name]anonymous [asks for passwd/Here you should type your e-mail address]myname@mysite binary [For transfering programs etc.] ls [Directory contents] cd newdirectory get filename [Copy the file to your machine.] close [End the connection with the other machine.] bye [Exit ftp.] Remember that anonymous ftp is a service, use it only during off-work hours or during week-ends. A list of anonymous ftp sites with their contents is regularly posted in comp.misc. ----------8<----------8<----------8<----------8<----------8<---------- Ferry de Jong Two hundred<something> down, Twenty to go... AND COUNTING -- Ferry de Jong Two hundred<something> down, Twenty to go... AND COUNTING