Copyright (c) Hyperion Entertainment and contributors.

Difference between revisions of "UserDoc:Introduction to AmigaOS"

From AmigaOS Documentation Wiki
Jump to navigation Jump to search
Line 197: Line 197:
   
 
Scripts are simple text files that contain a list of commands written in a vareity of languages: the AmigaDOS, Arexx and Python languages are provided with AmigaOS - there are many others. Each of these language has its strengths. You'll have to learn the one that suits what you want to do. You can create a script using a text editor. Then you will be able to run such script from the Workbench or from the shell (or from any other script). By using ARexx ports provided in parts of AmigaOS (the Workbench or Multiview, for example) and third-party applications, scripts can be used make your computer performa wide vareity of actions.
 
Scripts are simple text files that contain a list of commands written in a vareity of languages: the AmigaDOS, Arexx and Python languages are provided with AmigaOS - there are many others. Each of these language has its strengths. You'll have to learn the one that suits what you want to do. You can create a script using a text editor. Then you will be able to run such script from the Workbench or from the shell (or from any other script). By using ARexx ports provided in parts of AmigaOS (the Workbench or Multiview, for example) and third-party applications, scripts can be used make your computer performa wide vareity of actions.
 
 
 
== Basic AmigaOS components ==
 
 
AmigaOS is made of different components which have their own job in the system. The most important ones are mandatory. Without them the system does not even start. Other components are less important and the user can choose to use them or not. This is the case of drivers. For instance, a device driver may be omitted. If so, the corresponding device will just not work as AmigaOS will have no driver that allows it to know what to do with this device.
 
 
=== Kickstart modules ===
 
 
These components are the heart of AmigaOS. Their duties is to do graphics, to handle discs or to handle all reads/writes to files. Also one of them is the AmigaOS kernel which is some kind of director handling the work of all other components.
 
You can find all these modules in the '''Kickstart''' directory in the system volume. Here is a list:
 
 
==== Mandatory modules ====
 
 
The following modules are required in any AmigaOS system. Without one of these, the system will not start.
 
 
* kernel - The kernel works like a conductor in an orchestra. Its job is to make everything works together. It creates processes, handle memory usage, defines the way other components will access peripherals...etc. Note that the AmigaOS kernel is not based on any other kernel. It is a self made kernel that works since 1983.
 
* loader - this component handles the loading of all other kickstart modules
 
* battclock.resource.kmod - this module handles reading/writing the battery backed up clock which is used on all computers to keep the date and time
 
* bootimage - this is the boot picture. It is displayed during the start sequence of AmigaOS
 
* bootmenu.kmod - this component handles the Early Startup Menu the use can use to define some settings before starting AmigaOS
 
* con-handler.kmod - it directs the read and write requests to the console window, to a serial AUX: device or any other supported interface
 
* console.device.kmod - it opens a window and reads/writes text to and from that window
 
* diskboot.kmod - handles the booting of AmigaOS from a supported disk
 
* diskboot.config - this is a text file experienced users can modify to change the boot behaviour of AmigaOS
 
* dos.library.kmod - this module is a collection of functions that any program can use to perform actions on disks, files and directories
 
* elf.library.kmod - handles the loading of executable programs
 
* env-handler.kmod - handles the read/writes of environment variables
 
* FileSystem.resource.kmod - handles the use of the different filesystems
 
* gadtools.library.kmod - collection of functions used to create all graphic objects like gadgets, sliders, menus...
 
* gameport.device.kmod - handles the read/writes of game pads and joysticks
 
* graphics.library.kmod - collection of functions used to draw graphic elements on the monitor
 
* hunk.library.kmod - set of functions to read a data stream into memory
 
* input.device.kmod - handles of input events like keyboard events or mouse clicks
 
* intuition.library.kmod - collection of functions to create and handle all graphic elements (screens, windows, the mouse pointer...)
 
* layers.library.kmod - set of functions to be used to handle different layers in graphic operations
 
* keyboard.device.kmod - driver for the keyboard
 
* keymap.library.kmod - functions to handle different keymaps
 
* newlib.library.kmod - collection of functions to perform memory operations (allocating memory, copying memory areas... )
 
* nonvolatile.library.kmod - provides a simple means for an application developer to manage nonvolatile storage
 
* nvram.resource.kmod - handles the read/writes to the EEPROM chip present on many AmigaOS computers
 
* PCIGraphics.card - driver that supports the use of different graphic cards
 
* ram-handler.kmod - functions that handles the '''Ram disk:''' special disk
 
* ramdrive.device.kmod - device that allows the usage of the ramdrive device '''RAD:''' disk
 
* ramlib.kmod - loads disk based libraries and devices for exec.library
 
* rtg.library - library of functions perform lowlevel graphic operations on graphic cards
 
* shell.kmod - the AmigaOS command line interface
 
* strap.kmod - module that handles booting on different disk devices
 
* timer.device.kmod - driver to give access to timing functions
 
 
==== Filesystem support ====
 
 
These kickstart modules can be loaded or left aside. If you want to use a particular filesystem on your disk partitions, you need to load the corresponding filesystem module.
 
 
* CDFileSystem - handles the CD-ROM disks with data stored in different formats: ISO9660, HFS...
 
* SmartFilesystem - allows to store data on partitions in SFS0 and SFS2
 
* JXFileSystem - allows to create partitions in JXFS
 
* FastFileSystem - allows the usage of partitions in FFS and FFS2 layouts
 
* diskcache.library.kmod - component required by the SmartFileSystem and JXFileSystem modules
 
 
==== Hardware drivers ====
 
 
===== Graphic cards drivers =====
 
 
* 3dfxVoodoo.chip
 
* 3DLabsPermedia2.chip
 
* ATIRadeon.chip
 
* RadeonHD.chip
 
* siliconmotion502.chip
 
 
===== Disk drivers =====
 
 
Each of these drivers allow the use of disks connected to a disk controller. These files are named with the name of the controller they support. As an example, the '''sii3114ide.device.kmod''' allows to use disks connected on a '''Silicon Image SiI3114''' controller chip.
 
 
* it8212ide.device.kmod
 
* lsi53c8xx.device.kmod
 
* sam460sata.device.kmod
 
* sii3112ide.device.kmod
 
* sii3512ide.device.kmod
 
* sii3114ide.device.kmod
 
* sii0680ide.device.kmod
 
* sii3132ide.device.kmod
 
 
===== USB drivers =====
 
 
* hub.usbfd
 
* usbsys.device
 
* usbresource.library
 
* ehci.usbhcd
 
* ohci.usbhcd
 
* uhci.usbhcd
 
* massstorage.usbfd
 
 
===== Other drivers =====
 
 
* bootkeyboard.usbfd - allows a USB keyboard to be used even before the USB stack is loaded
 
* bootmouse.usbfd - allows a USB mouse to be used even before the USB stack is loaded
 
* fpga.resource.kmod - allows to use the FPGA components which are present on some Amiga computers
 
* i2c.resource.kmod - allows to use the i2c interface present on some Amiga computers
 
* xena.resource.kmod - provides access to the Xena chip on the AmigaOne X1000
 
 
==== Misc modules ====
 
 
* petunia.library.kmod - this module contains the Just-In-Time emulator that allows AmigaOS to run programs made for the Motorola 68k processor
 
 
=== System components ===
 
 
Beside the kickstart modules, AmigaOS uses many different components that can be loaded only when used. These files are stored in different directories in the system volume.
 
Here is described a default AmigaOS installation.
 
 
* C
 
This directory contains AmigaDOS '''C'''ommands
 
* Classes
 
contains different object elements easy to be used in any program: gadgets, requesters, graphic table, windows...
 
* Devs
 
contains definition for '''Dev'''ices
 
* Emulation
 
contains files used for the 68k emulation (though E-UAE)
 
* Fonts
 
contains various systems fonts
 
* Internet
 
contains a dialer to connect to Internet
 
* Kickstart
 
contains the kickstart modules
 
* L
 
contains hand'''l'''ers and filesystems
 
* Libs
 
contains dynamic '''Libr'''airies of functions
 
* Locale
 
contains all files used to localise the system (catalogs, keymaps...)
 
* MUI
 
contains the needed files for programs that use the MUI third party graphic interface
 
* Prefs
 
contains the preference programs used to customise AmigaOS
 
* S
 
contains the '''S'''cripts
 
* SObjs
 
contains .so shared object library files
 
* Storage
 
contains other optional files
 
* System
 
contains some programs used by the system itself (i.e. you don't need to run them yourself) or low-level programs like disk tools
 
* Utilities
 
contains several utilities
 
 
== AmigaOS boot procedure ==
 
 
Basically a computer with AmigaOS does the following when the power button is pushed:
 
* the BIOS of the computer initialises the hardware
 
* the BIOS looks on the harddisk and finds a file called the Second Level Booter (SLB)
 
* the SLB will then analyses all Amiga partitions and read each system configuration it finds. It shows all available configurations to the user.
 
* the SLB loads the kickstart files of the selected configuration
 
* the kickstart files are executed, AmigaOS becomes alive
 
* the file Startup-sequence is executed and with it all commands it contains
 
* the Workbench is started
 
 
At this point the user can use his/her computer.
 
 
 
   
 
== AmigaOS System Tools ==
 
== AmigaOS System Tools ==

Revision as of 00:22, 12 August 2012

Like any modern personal computer system, AmigaOS presents a graphic interface and relies on common peripherals to let the user control their system. Beyond most systems, AmigaOS provides more flexibility and options in how the user can approach, configure and use their Amiga computer.

In this page we will describe the details of AmigaOS graphic user interface (GUI) - how screens, windows and gadgets are presented and how you can use them. We will also describe the various means by which the user can control and operate AmigaOS. In additional pages, you can read about how AmigaOS works and what its components are.

AmigaOS Input - Point, Click and Type

There are two common ways you can use and control your AmigaOS system - by mouse and keyboard.

But AmigaOS also lets you control your system by other input devices (like touchscreens or voice recognition) depending on drivers and devices connected. Depending on software installed, AmigaOS can also be remotely controlled by networked protocols (like VNC and Synergy). Finally, AmigaOS can be controlled internal scripts set up by the User.

Using the mouse

Typically in AmigaOS, you use a mouse to act on graphic elements (like "gadgets", "icons" or webpage "links"). By default, AmigaOS expects and supports mice or trackball pointing devices with at least two buttons. The left mouse button is used to "left-click" on graphic objects, to select them or operate them. The right mouse button is used to "right-click" and display the menus of the current application.

Style2.5.png

Optionally, one can use a mouse or trackball device with three (a "middle" button) and four buttons. With such devices, the functionality of the additional buttons can vary by application or environment. These functionalities can typically be configured by the user in the application.

Furthermore, scroll wheels are supported by AmigaOS in a topical fashion. If the current application's window is scrollable, the scrollwheel will act on that area. If the mouse pointer is positioned over a specifically scrollable gadget, the scrollwheel will affect that gadget.

In some applications and environments, you can also "double-click" (click twice, quickly) with the left button on an object to engage them. In the Workbench file manager, a single mouse click will only "select" an icon, whereas a double-click will open drawer/directory, run an application or open a file in an associated program.

Beside "clicking" - pressing down and releasing a mouse button at a specific location - you can also perform what is known as "dragging", which means clicking down and then moving the mouse around before releasing the mouse button. This is typically always done with the left mouse button and is done to select objects (draw a box around them) or to resize a window.

Using the keyboard

Of course the keyboard is used to enter text into text editing areas. But your keyboard can do so much more with its special "qualifier" keys and AmigaOS.

The most common example of a qualifier key is the "Shift" key which causes typed text to be made upper-case or capitalized. There are more qualifier keys on most keyboards, here is a list of all of them:

  • the Shift keys - the common key that causes your text to be capitalized.
  • The "Alternate" keys - the "Alt" keys typically to the bottom right and left of the keyboard.
  • the "Control" keys - the "Ctrl" keys also to the bottom right and left of the keyboard.
  • the "Amiga" keys - special "A" keys on the right and left side of the space bar. Besides being unique to AmigaOS, the right and left Amiga keys always mean different things (unlike the rest of the qualifier keys, most of the time). If you have a non-AmigaOS keyboard, the "Windows" or MacOS "Command" keys function as "Amiga" keys.
    • the Right Amiga key - is used for "short cuts" within your current application.
    • the Left Amiga key - is used for "short cuts" that are globally active anytime and anywhere in your AmigaOS system.

While all of these qualifier keys don't usually do anything on their own, when you press and hold one or more of these keys down while pressing regular keys, they can change what you type (capitalizing or making alternate characters) or become powerful "short-cuts" within your applications or throughout your entire AmigaOS system.

The most famous short-cuts are the copy, cut and paste operations that you can perform on selected text:

  • the Right-Amiga-C short-cut copies any selected text or content to the Clipboard.
  • the Right-Amiga-X short-cut "cuts" any selected text or content to the Clipboard.
  • the Right-Amiga-V short-cut "pastes" any text or content from the Clipboard into your application (at the current cursor location).

The AmigaOS GUI - Intuition

When AmigaOS has started, you will typically see the Workbench file manager. This is the start of your experience with the AmigaOS GUI and it's most basic elements: a screen with menus and windows containing icons and "gagdets". With all these components, you will be able to interact with the Workbench and your AmigaOS applications.

Screens

As start-up, the Workbench will be running on its "Workbench Screen". This will be the default location where most other application windows will also appear when started.

Typically an AmigaOS screen will have a "title bar" across the top with a graphical "depth gadget" at the right end. In the case of the Workbench screen, there will be an AmigaOS "boing ball" at the left end and the title bar will display certain system information (OS version, memory availability, etc.). Within the screen, the Workbench and any other applications can open windows, display icons and other GUI devices. If you right-click over the title bar, it becomes a "Menu Bar", showing you the control menus that are available for that application.

In many cases, other applications may open screens in addition to the Workbench screen. The "depth gadget" at the right end of each screen's title bar allows you to click from screen from screen. Besides clicking on the screen's depth gadet, AmigaOS also lets the user see other screens behind the front screen by "dragging' down on the screen title bar.

The characteristics of the Workbench screen such as resolution and color depth can be configured in the "Screenmode" preferences editor. Other screens can be either be configured in the "Screens" preferences editor or from within individual applications. Typically, AmigaOS applications also give the user the choice of whether application runs on their own screens or the "public" Workbench screen.

Windows

Windows are graphic containers that appear within AmigaOS screens. Windows can be created by any number of different applications - the Workbench, Shell sessions or applications. LibFig4-1.png

Almost all windows of AmigaOS will have these comment elements:

  • Borders - A border around the window's contents. Holding the Shift+Left-Amiga keys down while dragging any border will drag the window around.
  • Title bar - A thicker top border that typically contains a name of the application or it's contents. The area of the title bar acts as a "drag bar" which you can use to drag the window around the screen.
  • Depth gadget - The right-most gadget in the top title bar that either pulls the window to front (if it isn't frontmost) or pushes it to the back (if it's in front). Holding down the Shift key while clicking this gagdet pushes the window to the back.

In AmigaOS, windows may also optionally have these additional features and elements:

  • Close gadget - The left-most gadget in the title bar that closes the window.
  • Scroll bar(s) and arrows - If the contents of the window can be scrolled in vertically and/or horizontally, there will be a scroll bar with arrow scroll buttons. These scroll bars can also be used if the mouse pointer is over a scroll bar and the mouse scroll wheel is used.
  • Zoom gadget - the second gadget from the right-most of the title bar which switches the window between two sizes. Holding down the Shift key while clicking this gadget will make it fill the screen.
  • Iconification gadget - left-most of the right-hand gadgets in the title bar which causes the window to disappear into an icon on the Workbench background - thus "Iconifying" the window or application.
  • Sizing gadget - In the case of windows that can be resized, this is the gadget in the bottom right corner of the window that you can drag to resize the window.

Each AmigaOS application can use almost infinite combinations of these features in the make up of their windows.

Menus

Menus are lists of items that will allow you to see and use what commands are available in an application. The Workbench uses menus you can use to perform actions on the Workbench and its contents. Menus typically provide many more functions and commands than can be presented to the user than just graphic buttons, etc. within an application's window, as a result they are a primary way most applications are used.

LibFig2-4.png

In AmigaOS menus can always be found for the current application by moving the mouse to the top of the screen and right-clicking. The screen title bar will become a menu bar and will show the names of all the current application's menus.

By dragging with the right mouse button, each menu will display its "menu items". Each of those menu items corresponds to a command or setting. In some cases you will find a "check box" on a menu item which you can click on to toggle a setting. In other cases, you will find that menu items have a little arrow head that indicates that item actually has a "sub-menu" - a menu within a menu. Menus ending with ellipses ("...") indicate that menu item will open a window that can be cancelled without commiting any command. For those menu items that might be deactivated (they may not apply at the moment), they will be "greyed-out".

The labels of many menu items will also include a letter or two with an "A" at the right edge. This indicates what the keyboard Right-Amiga "short cut" is the equivalent of using that menu item within that application. In the above screen shot, you can see that pressing the two keys - "Right-Amiga" and "N" - would do the same as that menu item - to create a new drawer.

Consistent Organization

For the sake of consistency (when applicable), the first two AmigaOS menus of any application are typically organized with the following hierarchy:

First Menu:
Second Menu:
PROJECT
EDIT
New = Create new project in application. Cut = Cut the selected content into the Clipboard.
Open... = Open the file containing an existing project. Copy = Copy the selected content into the Clipboard.
Save = Save the current project to it's current file name. Paste = Paste the contents of the Clipboard into the current project (at the current location).
Save As... = Save the current project to a file of a new name. Undo = Undo the last change to current project.
Print = Print the current project. Redo = Restore the last change "undone" in the current project.
Close = Close the current project.
Quit = Quit the application.

Menu Variations

AmigaOS also includes a couple additional ways menus can be can serve the user:

Pop-Up Menus

In the GUI preferences editor you can configure menus to "pop-up" under the mouse pointer whenever you right-click the mouse. This means you do not need to move the mouse to the top of the screen to use the menus. There are also options for making menus "sticky", meaning that you don't need to drag the mouse to navigate the menus, but rather just right click and the menus stay open till you make a selection or click away.

Context Menus

The Workbench (with a utility added by default) and many applications provide "contextural menus". This means that you can put your mouse pointer over elements and right-click to pop-up a menu of things that are specific to the item you clicked over. In the case of the Workbench (with the Context Menus utility), right clicking on a file will pop-up a menu of things that could be done with that file, like deleting it.

All of these features provide both a simple means of using many functions within an application and at the same time allowing the user to configure a very efficient user interface that responds to nearly every whim.

Icons

Icons are small images which can represent a disk, a directory, an application file or data file. Icons are primarilly used within the AmigaOS Workbench environment to represent all the file system objects to be managed. The user can select these icons, open them with the mouse or delete them or move them around within the Workbench. The user can also edit the icon imagery, change how icons react to the user and adjust parameters stored within the icon file that affect how the represented file will be used.

Many applications and all AmigaOS file requesters allow Workbench icons to be "dragged and dropped" into the application or requester windows and the associated file will be recognized by the application, if possible.

Applications may also make more limited use of icons to represent file system objects or may be used as imagery in an "icon bar" of buttons that can be clicked to perform various actions represented by icon imagery.

App Icons

Many applications provide the option to be "iconified" either by clicking on an iconification gadget in their window title bars or by menu item. In those events, the application's window will disappear and an "app icon" will appear on the background of the Workbench screen. Double-clicking on the app icon will cause the icon to disappear and the application's window to reappear. Even while the application is iconified, it does continue to run and perform whatever the user may have it doing.

Some applications may also place an app icon on the Workbench background even while the application is open to allow the user to be able to drop other file icons on the app icon and have them be used by the application.

Graphic gadgets

LibFig5-1.png

Buttons

Buttons are elements you can click to perform actions.

Text fields

Text fields are graphic areas where you can enter some text, either alphabetic or numeric.

Sliders

Cycle gadgets

Cycle gadgets allow you to select one value between several.

Checkmark gadgets

You can click on checkmark gadgets to enable/disable an option. A visual checkmark image is shown when this option is enabled.

Tabs

Tabs are used in programs to organise graphic elements in independant pages.

Controlling AmigaOS - Which Way?

AmigaOS provides a number of parallel ways that the user can control and put their Amigas to use. The easiest and most common method is to use the AmigaOS graphic icons, windows and mouse interface - the "Workbench". But AmigaOS also provides a more traditional or "old fashioned" method called a command line interface (the "CLI" or "Shell"), where the user can type text commands and interact using a text interface. AmigaOS also provides a unique means of "interprocess communications" where user can have many applications and parts of the OS "talk" to each other.

The Workbench & Intuition

The Workbench is the first thing you see when AmigaOS is fully started. As we described above, AmigaOS provides a straightforward and easy graphical means to start applications, manage your computer and all your files. Files and programs are represented with icons, generally known as "Projects" and "Tools". They can be stored in any arrangement of directories ("Drawers"). You double-click on a program icon and it will open in a Intuition GUI window on your Workbench screen.

In the following pages we will discuss the these concepts:

  • What is the Workbench
  • Workbench menus
  • Keyboard control
  • Workbench requesters
  • Configuration
  • Workbench help

Please see the section about the AmigaOS Workbench to learn more about it.

The Shell & DOS Commands

OS4-Window-Shell.jpg

The AmigaOS Shell can be opened by double-clicking the "Shell" icon in the AmigaOS "System" drawer. The Shell is a text based interface that allows you to perform most of the same operations as the Workbench - to run and interact with application programs, manage files and control your Amiga computer. AmigaOS also comes with dozens of standard "DOS commands" (programs purely meant for Shell usage). Simply enter the name of a program or command (like "dir") and press Enter, the command or program will run and it will print its results in the Shell window. While considered old fashioned, many users find the Shell to still be the most efficient way to perform many tasks on the Amigas.

Please see the section on the AmigaOS Shell to learn more.

Scripts & Messages

Scripts are simple text files that contain a list of commands written in a vareity of languages: the AmigaDOS, Arexx and Python languages are provided with AmigaOS - there are many others. Each of these language has its strengths. You'll have to learn the one that suits what you want to do. You can create a script using a text editor. Then you will be able to run such script from the Workbench or from the shell (or from any other script). By using ARexx ports provided in parts of AmigaOS (the Workbench or Multiview, for example) and third-party applications, scripts can be used make your computer performa wide vareity of actions.

AmigaOS System Tools

AmigaOS comes with a variety of programs to help in the preparation of your computer. These include tools for:

  • Drive preparation (Media Toolbox, Format, Format DCRW & Mounter).
  • Font Handling (TypeManager & FixFonts).
  • Script Languages (RexxMast and Python).
  • The Shell.
  • Miscellaneous Utilities (Find, Help, Grim Reaper & Ringhio Server).

AmigaOS Utilities

AmigaOS comes with a selection of utilities to assist the user, including:

  • Commodities.
  • Editors (Notepad, MEmacs, PrefsObjectEditor & IconEdit).
  • Postscript oriented apps (AmiPDF, AmiGS & Ghostscript).
  • Disk apps (PartitionWizard & RawDisk).
  • Screenblankers.
  • AmiDock and Dockies.
  • The Unarc dearchiver.
  • PlayCD.
  • Miscellaneous apps (Clock, printing apps, KeyShow, install apps, etc.).