home *** CD-ROM | disk | FTP | other *** search
- 1 AMIGA HARDWARE
-
- 1.1 INTRODUCTION
-
- This chapter is intended to give you a brief introduction
- of the Amiga and its hardware.
-
-
-
- 1.2 AMIGA MODELS
-
- The first Amiga model was released in the middle of 1985 and
- caused much publicity. It was the first "home" computer with
- a so called "multi media architecture" (it can combine raw
- data with astonishing graphics and stereo sound) and it was
- using a new operating system with true multi-tasking (several
- programs/tasks can run at the same time).
-
- Although it was far superior to other available computers on
- the marked, it did not sell as good as could be expected. The
- main problem was, as with all new computers, that there did
- not exist any software that used the special features which
- the Amiga offered. The Amiga was expensive (although just a
- fraction of a similar computer would cost), and most software
- was simply "ported" from other computers and were therefore
- extremely bad. (Who wants to work with an Amiga which feels
- like an Atari or PC?)
-
- However, slowly more and more programs were written specially
- for the Amiga and people started to realize what the Amiga
- really could do (and what other computers could not do). Two
- new models (A2000 and A500) were released with even more
- features and with a more attractive price tag.
-
- Now everything started to accelerate. More people bought an
- Amiga and therefore more programmers started to write software
- for it, which encouraged even more people to buy it and so
- on... During 1989 and 1990 the Amiga community grew so fast
- that it became the best selling home computer.
-
- The success has continued since then, despite what all so called
- "professional" programmers have said. The Amiga has constantly
- been looked down on by the rest of the computer world, accusing
- it for being a game machine. The problem is that they do not
- understand that a computer that can play stunning games with
- stereo sound and fantastic graphics must have a computer power
- far beyond other so called "professional" computers which hardly
- could handle graphics not to mention sound.
-
- The attitude towards sound and graphics have luckily slowly
- changed, and now these so called "professional" people start
- to dream about operating system which offers good graphics, and
- maybe even some sound. I do not think we shall tell them that
- this already existed 1985, with true multi-tasking, on a machine
- which in their opinion "only" could play games...
-
-
-
- 1.2.1 AMIGA 1000
-
- The Amiga 1000 was the first Amiga model, and was released
- in the middle of 1985. The very first models were sold with
- only 256 KB of memory, but this was soon changed to 512 KB.
- At that time, this amount of memory was considered to be a
- lot, but most people using the Amiga realized that more,
- actually a lot more, could sometimes be needed.
-
- The Amiga 1000 consists of a main box (a bit smaller that
- the box of the A200) with a separate keyboard. It uses
- a 7 MHz Motorola 68000 processor (see below for more
- information), and came with DOS V1.0 and V1.1 (some are
- even using V1.2 and V1.3). This model is still used by some
- people, but more and more are switching over to newer models,
- or changing the mother board so it becomes very similar to an
- Amiga 2000. Most new programs does not support this model any
- more.
-
-
-
- 1.2.2 AMIGA 2000
-
- Two new models of the Amiga were released 1987/88 - Amiga 2000
- and Amiga 500. The A2000 was intended for the more professional
- part of the Amiga community. The main box contains five large
- slots (100 pins) and two smaller ones (intended for IBM PC
- cards), in total seven slots. To each slot you may connect
- external devices like hard disks, extra memory, internal
- modems, etc...
-
- Both the A2000 and A500 were released together with DOS V1.2,
- and was later upgraded to V1.3. It is now also possible to buy
- the new chips for V2.0.
-
- Both computers are sold with 512 KB of memory (so called "chip
- memory"). When upgraded the next 512 KB of memory is called
- "slow memory" and the rest (up to 8 MB) is called "fast".
- The Amiga's special chips (see below) can only reach the "chip
- memory", hence the name, while the main processor (the 68000)
- can reach all 9 MB. The 512 KB above the "chip memory" is called
- "slow memory" since the main processor may be interrupted by
- the custom chips while working with this memory type, and this
- memory is therefore not always as fast as the rest.
-
- The later models of the Amiga 2000 are sometimes called
- "2000C". This is because they have 1 MB of chip memory instead
- of only 512 KB as previous models.
-
-
-
- 1.2.3 AMIGA 500
-
- The smaller model is almost identical to its big brother A2000,
- but does not have any internal expansion slots. The keyboard
- and the computer are built together. It has only one (external)
- expansion slot on the left side and a small internal expansion
- slot for 512 KB of extra memory. This model is much cheaper than
- the A2000 and was intended to become a home computer for the
- family, which it one year later became.
-
- Many people thinks that the A2000 is far superior to the small
- A500, but this is actually not true. As said above, the only
- difference between these two models are that it is easier to
- expand (add on extra devices) an A2000, and that it has a
- separate keyboard. The rest is identical.
-
-
-
- 1.2.4 AMIGA 3000
-
- The Amiga 3000 is currently the most powerful model. It comes
- with a Motorola 68030 processor which is boasted with a 16 or
- 25 MHz mathematical coprocessor. All Amiga 3000s are sold with
- an internal hard disk of various sizes. This model comes with
- the latest version of the operating system V2.0 (explained
- below).
-
- This model comes with the new "Enhanced Chip Set" (ECS) and
- can address up to 2 MB of chip memory. On the mother board
- can up to 16 MB be installed, and if using one of the slots
- up to 1 Gigabyte can be used. This is a mean machine!
-
-
-
- 1.2.5 AMIGA 500+
-
- This is a new version of the Amiga 500. It comes also with the
- new "Enhanced Chip Set" (ECS) and can address up to 2 MB of
- chip memory. This model is also sold with the new V2.0 operating
- system.
-
- It still uses the old and trusted 68000 processor, but is still
- a nice update from the Amiga 500.
-
-
-
- 1.2.6 AMIGA 600
-
- The latest model is the Amiga 600. This machine comes in a much
- smaller box than the Amiga 500, and does not have any numeric
- key pad. This will definitely cause some problems with programs
- that are using these keys. However, this model is easier to
- take to your friends, and will probably be cheaper in the end.
-
- The Amiga 600 does not have the famous expansion slot on the
- left side as the Amiga 500 and Amiga 500+ have. Instead there
- is a new type of slot which is made for "electronic credit
- cards". These small cards can contain programs, games, extra
- memory up to 8 MB, and a lot of other useful stuff like sound
- samplers and video digitizers.
-
- Since there is no expansion bus on this model you can not
- connect existing hardwares like hard disk, and memory
- expansion slots to it. This is sad, but since the Amiga 600
- can use an internal hard disk I do not think this cause any
- problems.
-
- This model will definitely be called a "game machine", and will
- will undoubtedly appeal to many families who previously used
- game consoles.
-
-
-
- 1.2.7 FUTURE MODELS
-
- Everything is changing these days, and so is the Amiga. It is
- impossible to say what is coming next, but I would not mind
- an Amiga "4000" with 68040 processor, 1 Gigabyte hard disk, 16-
- bit stereo sound channels and a 24-bit graphics cards with
- built in genlock... One thing is sure at least, the Amiga will
- continue to live, more than ever.
-
-
-
- 1.3 PROCESSORS AND SPECIAL CHIPS
-
- The main processor on the Amiga is not specially strong or
- powerful, but together with several coprocessors (extra
- processors) which are specialized in doing certain things very
- fast, the Amiga can do things other computers can not.
-
- The main processor on the Amiga is a Motorola 680x0. The famous
- coprocessors are called ("Fat") Agnus, Paula, and Denise. These
- chips are close linked to each other and can only work with
- "chip memory" (explained below). These coprocessors are often
- referred as the "custom chips".
-
-
-
- 1.3.1 MOTOROLA MC680X0 PROCESSORS
-
- The main processor on all Amiga models except the Amiga 3000,
- is a simple Motorola 68000 with only 7 MHz. This is a very
- good processor although it is not very fast. This processor can
- physically address up to 16 MB, although the "maximum" on the
- Amiga is 8 MB.
-
- There exist newer models which are faster, and the nice thing
- is that all these new versions can be used by the Amiga. The
- first step up is the 68010, which is a bit faster than the
- previous model. However, it costs more than it gives in speed,
- and a faster 68000 in 14 MHz gives more value for money.
-
- The 68020 is a fast processor which is fitted on many so called
- turbo cards. If you give it 32 bit memory it can be very fast.
-
- The Amiga 3000 comes with a 68030 which is very fast. It can
- address up to 2 Gigabytes although the "maximum" on the Amiga is
- 1 Gigabyte. This processor is used together with either 16 MHz
- or a 25 MHz mathematical coprocessor to speed up the floating
- calculations.
-
- The latest Motorola processor is the 68040, which is (surprise)
- even faster.
-
- If you intend to do a lot of calculations a fast processor is
- essential. It should be noted that a faster processor does not
- necessarily increase the overall speed that much. To take
- advantage of the new versions you also need to use 32-bit
- memory instead of the slower 16-bit memory. Most new turbo
- cards comes both with a faster processor and 32-bit memory.
-
- Mathematical coprocessors like the 68881 or 68882 are great
- if you have to do a lot of floating calculations. Although all
- programs does not make use of these extra coprocessors most
- "serious" programs do.
-
-
-
- 1.3.2 BLITTER
-
- The "Blitter" is a part of the Agnus chip. It is specialized
- in moving data, and can even do logically calculations and bit-
- shifting while the data is moved. It is the Blitter which is
- used when BOBs are drawn, data from and to the disks are
- transferred, when windows are moved etc... The Blitter can also
- be used to draw lines with patterns and fill areas with a
- colour or pattern.
-
-
-
- 1.3.3 COPPER
-
- The Copper is a part of the coprocessors on the Amiga which
- main task is to change colours and display modes while the
- picture is "drawn" on the monitor/TV. It is because of the
- Copper you can use several screens on the same display and drag
- them up or down.
-
- The Copper is also used to increase the number of colours on
- the display by making colourful backgrounds with smoothly
- coloured skies. Furthermore, the Copper can be used to
- synchronize other parts of the Amiga like the Blitter, and
- can be used as a timer.
-
-
-
- 1.3.4 AUDIO CHANNELS
-
- There exist four audio channels on the which each can play
- sounds independently of the other processes. They convert 8-bit
- data into analog waveforms which are sent to the two audio
- ports. Since two of the channels are dedicated for the left
- port and the other two channels for the right port can stereo
- sound be played.
-
- You only have to give the audio channels some digital waveforms
- or sampled data, tell them which rate and volume should be used,
- and they can play the sound without using any other processing
- time. No other home computer have yet matched the quality nor
- the efficiency with which the Amiga plays sound.
-
-
-
- 1.3.5 HARDWARE SPRITES
-
- The sprite hardware is a part of the custom chips. It can
- handle eight hardware sprites which can independently of the
- display below be moved around and animated. Each sprite can
- only use four colours where one is transparent, but if they
- are paired up to 16 colours can be used.
-
- Since these sprites are handled by the hardware are they
- extremely fast but also simple to use. With some clever
- software routines can the eight hardware sprites be used
- several times on the same display thus greatly increase the
- number of available sprites.
-
- The sprite hardware can also be used to detect collisions
- between two sprites, something which can be very useful in
- games.
-
-
-
- 1.3.6 COMPLEX INTERFACE ADAPTOR (CIA)
-
- To tie all processors and other hardware parts there exist two
- so called "Complex Interface Adaptors" (CIA - 8520) chips.
- These two chips several timers, status bits etc... See header
- file "hardware/cia.h" for a full list.
-
- Normally should a C programmer not go this deep into the
- system, but it is acceptable as long as you do it with help of
- the macros and constants defined in the header files. A lot of
- fun and useful stuff like flashing with the power led can be
- done.
-
-
-
- 1.3.7 DMA
-
- DMA stands for "Direct Memory Access" which means that the
- hardware can directly get and store data in the memory without
- going through the main processor. For example; each audio
- channel has a DMA port and thus can each channel play waveforms
- continuously without disturbing other processes.
-
- Most parts of the Amiga (the blitter, sprite hardware, copper,
- audio channels etc..) have separate DMA channels/ports. Each
- process can then very efficiently execute their tasks without
- interfering or disturbing other parts.
-
-
- 1.3.8 THE ENHANCED CHIP SET
-
- The custom chips have several times been updated. The latest
- version is called the "Enhanced Chip Set", and the chips can
- address up to 2 MB of chip memory. These new chips also offers
- new display modes and other nice things. I will cover this
- subject in the next version of the manual. (Hopefully very
- soon...)
-
-
-
- 1.4 AMIGA DOS V2.0
-
- The new operating system V2.0 (2.05 and 2.05) has been out for
- quite a while now. With this new version comes a new ROM chip
- on 512 KB which replaces the old "Kick Start" of only 256 KB.
- A lot of things have been added which will be covered in the
- next version. I am sad that I could not manage to include it in
- this edition, but do not worry, it is coming soon!
-
-
-
- 1.5 MEMORY
-
- The Amiga is using different types of memory, and it can
- sometimes be rather confusing. The problem is that some of
- the coprocessors can only use one type of memory while the
- main processor can use all types. It is best to give a short
- explanation.
-
-
-
- 1.5.1 CHIP
-
- The so called "chip" memory is the only type of memory that can
- be used by the custom chips on the Amiga. Anything that should
- be used by the Blitter, Copper, Sprite Hardware, Audio Channels
- etc... must be in chip memory.
-
- The first Amiga models had 512 KB of chip memory. Later the
- Amiga 2000C was released with 1 MB of chip memory. The newest
- versions, Amiga 3000, Amiga 500+, Amiga 600, can all access up
- to 2 MB of chip memory.
-
- The more chip memory you have the more graphics, sounds,
- sprites etc can be used. If your program does not necessarily
- have to use chip memory should you instead first try to use
- other types of memory. This is explained in the first
- introduction chapter of the manual.
-
-
-
- 1.5.2 SLOW
-
- The so called "slow" memory exists only on old Amiga 500 and
- Amiga 2000 models. These models can only access 512 KB of chip
- memory. The following 512 KB can not be used by the custom
- chips, but the memory can still be interrupted by the custom
- chips. If the Amiga is using a lot of graphics or sound this
- memory is often interrupted and therefore will all operations
- with this type of memory be a bit slower.
-
-
-
- 1.5.3 FAST
-
- The following 8 MB (or more if you have an Amiga 3000) are of
- the type "fast memory". This memory can only be accessed by the
- main processor, and will not be interrupted by the custom
- chips.
-
-
-
- 1.6 HIT THE HARDWARE
-
- Normally should all operations be made by the special functions
- which are included in the libraries. You can then be sure that
- your program will run without problems on even future models.
- However, sometimes can it be necessary to directly modify the
- hardware registers. If speed is essential or you want to write
- a small and simple program you may use parts of the hardware.
-
- The problem when you are using the hardware directly is that if
- a new Amiga model is released it may happen that the resources
- have been moved to a new location. The functions in the
- libraries are always updated when the system is changed so any
- program that is using these functions will continue to run as
- before. However, programs that hit the hardware may crash on
- the new system!
-
- To use the hardware and still be relative safe you should use
- two special global structures:
-
- 1. The Custom structure.
- 2. The CIA structure.
-
-
-
- 1.6.1 GET ACCESS TO THE CUSTOM CHIPS
-
- The Custom structure is defined in header file "hardware/
- custom.h". It is a very large structure that contains many of
- the custom chips' hardware registers. This structure is
- automatically linked to the custom chips, and any modifications
- in the structure will directly affect the hardware registers.
-
- To get access to the Custom structure you should write like
- this: (The name must be "custom"!)
-
- extern struct Custom far custom;
-
-
- You can now start to modify the values in the custom structure,
- but still be relative safe that your program will continue to
- run on later Amiga models. See the header files and the
- included examples for more information about how to use these
- registers.
-
- Note that some of these registers should be "reserved" and
- "locked" before you may start to alter them. See chapter
- "AudioiDevice" for more information. You can of course directly
- modify the values, but you may end up modifying other programs'
- values. This will normally not be any problems for the system,
- but the other program will definitely not like it.
-
-
-
- 1.6.2 GET ACCESS TO THE CIA CHIPS
-
- The CIA structure is automatically linked to the CIA chips.
- There exist two CIA chips and therefore it also exist two
- CIA structure (defined in the header file "hardware/cia.h"). To
- get access to these structures you should write like this: (The
- names must be "ciaa" and "ciab"!)
-
- extern struct CIA far ciaa;
- extern struct CIA far ciab;
-
- You can now start to use the CIA registers. See header files
- and included examples for more information about how eo use
- these registers.
-
-
-
- 1.7 EXAMPLES
-
- Example 1
-
- This fantastic useful program does what all true hackers have
- dreamt of. Enjoy your Amiga's fantastic ability to flash one
- LED!
-
- Example 2
- This is a very bad program that plays a tune with the first
- audio channel. The reason why it is bad is because the
- program does not "lock" the channel before it uses the
- hardware. It simply steals the sound channel without asking
- nor notifying anyone.
-
- If you lock the channel as described in the Audio Device
- chapter you may use the hardware registers. However, this
- program does not lock it nor tries to reserve the channels
- as we should. The program is included here only as a
- demonstration how the hardware registers are working, but
- should not be used in your own programs!!!
-
- See also programs in the chapter "DirtyInput".
-