Copyright (c) Hyperion Entertainment and contributors.
Difference between revisions of "AmigaOS Apps Development"
Ray Sbaitso (talk | contribs) |
Ray Sbaitso (talk | contribs) m (→Gui4Cli) |
||
(21 intermediate revisions by the same user not shown) | |||
Line 46: | Line 46: | ||
== AmigaOS Software Development Kit == |
== AmigaOS Software Development Kit == |
||
+ | |||
+ | [[File:Boingball-dev.png|200px|thumb|left|Image Source: AmigaOS webpage]] |
||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
The official AmigaOS Software Development Kit contains everything needed to get started writing native applications for AmigaOS, including the AmigaOS native GCC compiler, support applications, autodocs, includes and headers. |
The official AmigaOS Software Development Kit contains everything needed to get started writing native applications for AmigaOS, including the AmigaOS native GCC compiler, support applications, autodocs, includes and headers. |
||
[http://www.hyperion-entertainment.com/index.php?option=com_registration&view=files&parent=30&Itemid=63 AmigaOS Software Development Kit download from Hyperion Entertainment] |
[http://www.hyperion-entertainment.com/index.php?option=com_registration&view=files&parent=30&Itemid=63 AmigaOS Software Development Kit download from Hyperion Entertainment] |
||
+ | |||
+ | == AutoDocViewer == |
||
+ | |||
+ | [[File:Autodocv1.jpg|300px|thumb|left|Image Source: AutoDocViewer OS4Depot webpage]] |
||
+ | [[File:Autodocv2.jpg|500px|thumb|center|Image Source: AutoDocViewer OS4Depot webpage]] |
||
+ | |||
+ | |||
+ | |||
+ | This program makes it easy to read Autodoc files on AmigaOS via a simple to use ReAction interface. |
||
+ | |||
+ | [http://os4depot.net/?function=showfile&file=development/utility/autodocviewer.lha AutoDocViewer OS4 Depot webpage] |
||
== AutoDoc Reader == |
== AutoDoc Reader == |
||
Line 229: | Line 257: | ||
[https://blog.alb42.de/fpc-amigaos-4/ Free Pascal for AmigaOS webpage] |
[https://blog.alb42.de/fpc-amigaos-4/ Free Pascal for AmigaOS webpage] |
||
+ | |||
+ | == GL4ES == |
||
+ | |||
+ | [[File:Gl4es.png|200px|thumb|left|Image Source: GL4ES webpage]] |
||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | GL4ES is an OpenGL 2.1/1.5 to GL ES 2.0/1.1 translation library, with support for Pandora, ODroid, OrangePI, CHIP, Raspberry PI, Android and AmigaOS. |
||
+ | |||
+ | [http://os4depot.net/?function=showfile&file=development/library/graphics/gl4es_sdk.lha GL4ES OS4Depot webpage] |
||
+ | |||
+ | [https://github.com/ptitSeb/gl4es GL4ES GitHub webpage] |
||
+ | |||
+ | [http://ptitseb.github.io/gl4es/ GL4ES webpage] |
||
== glsnoop == |
== glsnoop == |
||
Line 237: | Line 288: | ||
== Gui4Cli == |
== Gui4Cli == |
||
+ | |||
+ | [[File:G4c.gif|300px|thumb|left|Image Source: Gui4Cli webpage]] |
||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
Gui4Cli is a simple interpreted, event-driven language (no need for previous programming knowledge), which allows you to easily construct great-looking, resizable, font-sensitive GadTools GUIs which (among many other things) can be used to form command lines that can be sent to AmigaDOS or an ARexx port of an other program, for execution. It has many other capabilities too, things like directory & database listviews, maths evaluation, graphics, timers, commodities, file notifications, pipes, appicons etc. etc. With it you can control just about any aspect of the Amiga. Think of it as "Visual DOS". |
Gui4Cli is a simple interpreted, event-driven language (no need for previous programming knowledge), which allows you to easily construct great-looking, resizable, font-sensitive GadTools GUIs which (among many other things) can be used to form command lines that can be sent to AmigaDOS or an ARexx port of an other program, for execution. It has many other capabilities too, things like directory & database listviews, maths evaluation, graphics, timers, commodities, file notifications, pipes, appicons etc. etc. With it you can control just about any aspect of the Amiga. Think of it as "Visual DOS". |
||
− | [http:// |
+ | [http://aminet.net/package/dev/gui/gui4cli-update Gui4Cli Aminet webpage] |
== Hollywood == |
== Hollywood == |
||
Line 258: | Line 320: | ||
[https://www.hollywood-mal.com/ Hollywood webpage] |
[https://www.hollywood-mal.com/ Hollywood webpage] |
||
+ | |||
+ | == Irrlicht Engine == |
||
+ | |||
+ | [[File:Irrlichtlogo.png|300px|thumb|left|Image Source: Irrlicht webpage]] |
||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | The Irrlicht Engine is an open source realtime 3D engine written in C++. It is cross-platform, using D3D, OpenGL and its own software renderers. OpenGL-ES2 and WebGL renderers are also in development. It is a stable library which has been worked on for nearly 2 decades. We've got a huge community and Irrlicht is used by hobbyists and professional companies alike. You can find enhancements for it all over the web, like alternative terrain renderers, portal renderers, exporters, world layers, tutorials, editors, language bindings and so on. And best of all: It's completely free. |
||
+ | |||
+ | [https://github.com/kas1e/Irrlicht/ Irrlicht for AmigaOS webpage] |
||
== Lua / LOVE / tolua++ == |
== Lua / LOVE / tolua++ == |
||
+ | |||
+ | [[File:Lua.gif|200px|thumb|left|Image Source: Lua webpage]] |
||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
Lua is a powerful, efficient, lightweight, embeddable scripting language. It supports procedural programming, object-oriented programming, functional programming, data-driven programming, and data description. |
Lua is a powerful, efficient, lightweight, embeddable scripting language. It supports procedural programming, object-oriented programming, functional programming, data-driven programming, and data description. |
||
Line 285: | Line 382: | ||
== PortablE == |
== PortablE == |
||
+ | |||
+ | [[File:PortablE logo.gif|200px|thumb|left|Image Source: PortablE webpage]] |
||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
PortablE is a recreation of the AmigaE programming language, along with many improvements, and the aim of being portable across many platforms. |
PortablE is a recreation of the AmigaE programming language, along with many improvements, and the aim of being portable across many platforms. |
||
Line 302: | Line 412: | ||
== Simple DirectMedia Layer SDL == |
== Simple DirectMedia Layer SDL == |
||
+ | [[File:SDL logo.png|200px|thumb|left|Image Source: Simple DirectMedia Layer webpage]] |
||
− | Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games including Valve's award winning catalog and many Humble Bundle games. |
||
− | [https://github.com/AmigaPorts/SDL SDL AmigaOS Port webpage] |
||
− | == SimpleGit == |
||
− | This is a very simple git client based on libgit2 with AmigaOS being the major target operating system. |
||
− | [https://github.com/capehill/simplegit SimpleGit webpage] |
||
− | == SDK Browser == |
||
− | [[File:SDKBrowser1.png|400px|thumb|left|Image Source: SDK Browser webpage]] |
||
Line 321: | Line 425: | ||
+ | |||
+ | Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games including Valve's award winning catalog and many Humble Bundle games. |
||
+ | |||
+ | [https://github.com/AmigaPorts/SDL SDL AmigaOS Port webpage] |
||
+ | |||
+ | == SimpleGit == |
||
+ | |||
+ | This is a very simple git client based on libgit2 with AmigaOS being the major target operating system. |
||
+ | |||
+ | [https://github.com/capehill/simplegit SimpleGit webpage] |
||
+ | |||
+ | == SDK Browser == |
||
+ | |||
+ | [[File:SDKBrowser1.png|300px|thumb|left|Image Source: SDK Browser webpage]] |
||
Line 363: | Line 481: | ||
== vbcc == |
== vbcc == |
||
+ | |||
+ | [[File:Vbcc logo.png|200px|thumb|left|Image Source: vbcc webpage]] |
||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
vbcc is a highly optimizing portable and retargetable ISO C compiler available for AmigaOS. It supports ISO C according to ISO/IEC 9899:1989 and a subset of the new standard ISO/IEC 9899:1999 (C99). |
vbcc is a highly optimizing portable and retargetable ISO C compiler available for AmigaOS. It supports ISO C according to ISO/IEC 9899:1989 and a subset of the new standard ISO/IEC 9899:1999 (C99). |
||
+ | |||
+ | It is split into a target-independent and a target-dependent part, and provides complete abstraction of host- and target- arithmetic. Therefore, it fully supports cross-compiling for 8, 16, 32 and 64bit architectures. Embedded systems are supported by features like different pointer-sizes (e.g. differently sized function- and object-pointers or near- and far-pointers), ROM-able code, inline-assembly, bit-types, interrupt-handlers, section-attributes, stack-calculation and many others (depending on the backend). vbcc provides a large set of aggressive high-level optimizations as well as target-specific optimizations to produce faster or smaller code. Rather than restricting analysis and optimization to single functions or files, vbcc is able to optimize across functions and even modules. |
||
[http://sun.hasenbraten.de/vbcc/ vbcc webpage] |
[http://sun.hasenbraten.de/vbcc/ vbcc webpage] |
||
== Vim == |
== Vim == |
||
+ | |||
+ | [[File:vim1.jpg|300px|thumb|left|Image Source: Vim OS4Depot webpage]] |
||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
Vim is a highly configurable text editor built to make creating and changing any kind of text very efficient. Vim is rock stable and is continuously being developed to become even better. Among its features are: |
Vim is a highly configurable text editor built to make creating and changing any kind of text very efficient. Vim is rock stable and is continuously being developed to become even better. Among its features are: |
||
Line 380: | Line 532: | ||
Please note that this is not a straight port of the upstream version. It includes a full MUI GUI with most of the bells and whistles found in Vim on any of the major platforms. "TheBar" custom class must be installed for MUI for this version of Vim. |
Please note that this is not a straight port of the upstream version. It includes a full MUI GUI with most of the bells and whistles found in Vim on any of the major platforms. "TheBar" custom class must be installed for MUI for this version of Vim. |
||
− | [ |
+ | [http://os4depot.net/index.php?function=showfile&file=utility/text/edit/vim_mui.lha Vim OS4Depot webpage] |
[https://github.com/amiga-mui/thebar TheBar custom class webpage] |
[https://github.com/amiga-mui/thebar TheBar custom class webpage] |
||
+ | |||
+ | [https://github.com/sodero/MUI-Vim Vim GitHub webpage] |
Latest revision as of 16:19, 7 June 2020
If you are interested in developing applications for AmigaOS please note that the Developer Section contains documentation that is useful for developing applications, device drivers, games and other programming projects on AmigaOS. Information from the developers conference (DevCon) held annually at AmiWest including videos of past conferences and more can also be found in this section. The Tutorial Section contains a couple of hands-on tutorials that are intended to allow beginning developers to get into programming with step-by-step examples. Finally, the Autodocs section contains the well-known autodocs, function-by-function documentation of libraries and devices in the AmigaOS system.
Additional assistance is available at Hyperion Entertainment Forums and OS4 Coding.
The following is a sampling of software development applications that may assist with development for AmigaOS.
Contents
- 1 Disclaimer
- 2 adtools GNU Compiler Collection (GCC)
- 3 Amiga Image Storage System AISS
- 4 AmigaOS Software Development Kit
- 5 AutoDocViewer
- 6 AutoDoc Reader
- 7 Awk
- 8 Beginner's Guide to Programming ReAction
- 9 CMake
- 10 CodeBench
- 11 Cubic IDE
- 12 Debug 101
- 13 Emperor
- 14 Free Pascal
- 15 GL4ES
- 16 glsnoop
- 17 Gui4Cli
- 18 Hollywood
- 19 Irrlicht Engine
- 20 Lua / LOVE / tolua++
- 21 MUIRexx
- 22 PortablE
- 23 ProAction
- 24 Simple DirectMedia Layer SDL
- 25 SimpleGit
- 26 SDK Browser
- 27 vbcc
- 28 Vim
Disclaimer
The following list of applications, with the exception of the official AmigaOS Software Development Kit, is neither endorsed by nor supported by Hyperion Entertainment. This list is strictly informational only.
adtools GNU Compiler Collection (GCC)
The "adtools" project is the Amiga development tools project that hosts a number of tools that can be used for cross-compiling between various platforms and developing applications for AmigaOS and other Amiga-like platforms. The suite is based on the GCC compiler suite.
Amiga Image Storage System AISS
The Amiga Image Storage System AISS is an environment to store, access and maintain toolbar images. This can also be used in conjunction with AISS Viewer to easily locate and reference resources into development projects.
Amiga Image Storage System AISS OS4Depot webpage
AmigaOS Software Development Kit
The official AmigaOS Software Development Kit contains everything needed to get started writing native applications for AmigaOS, including the AmigaOS native GCC compiler, support applications, autodocs, includes and headers.
AmigaOS Software Development Kit download from Hyperion Entertainment
AutoDocViewer
This program makes it easy to read Autodoc files on AmigaOS via a simple to use ReAction interface.
AutoDocViewer OS4 Depot webpage
AutoDoc Reader
This is a great freeware program to view any text file (autodocs, C-header and others) with database and search options. This is very useful to read the autodocs from the Software Development Kit. Developers documentation in autodoc format is often needed in everyday work. Getting familiar with a lot of files and searching tons of text for desired information is not an easy task. That's where the idea of writing a program that could ease using autodocs originated.
Features include:
- Possibility of creating a database of ours autodocs files,
- Fast and easy documents browsing,
- Possibility of independent loading of autodocs not included in a base,
- Search engine for functions, methods and parameters,
- Easy usage with mouse or keyboard.
The program can act as separate viewer or autodoc-viewing module for other software (e.g. DOpus or GED).
Awk
Awk, the powerful language to manipulate and process text files, is available for AmigaOS.
Beginner's Guide to Programming ReAction
This is a beginners guide to programming with ReAction, a toolkit for GUI programming in AmigaOS.
Beginner's Guide to Programming ReAction OS4Depot webpage
Additional information on ReAction
CMake
CMake is a cross platform build tool used to easily build complex projects across different platforms with a single build process. It has been ported to AmigaOS with the intention of making porting of various complex softwares easier for AmigaOS developers.
CodeBench
CodeBench is an Integrated Development Environment (IDE).
Designed purely for use on the latest version of AmigaOS, CodeBench is a management system that is modular to allow adaptation to various programming languages.
The tabbed editor allowing multiple files to be open at any one time. Syntax highlighting and all the usual functions are included: Cut, Copy, Paste, Undo, Find, Replace, Indent etc. Blocks of pre-built code can also be inserted as well as handling highlighted blocks. Also supports color "themes" for familiarity.
Utilizing a 'project' based system, all files are grouped together by type and are easily accessible from the Project Window. Editing is a simple matter of selecting the required file and it is opened in the built-in editor. Creating the finished article from the project is a one click event from the toolbar.
Cubic IDE
The central component of Cubic IDE is GoldED, a fully-featured developers editor for selected versions of AmigaOS. Cubic IDE includes the Installation Wizard, an AmigaGuide authoring mode, LISP and Rexx support packages, the HTML editing environment Webworld and various other add-ons. Together, they form a set of tools for all steps of your development process, from writing source codes and installations over documentation to creation of a web site for your final product.
The editor offers all functions you can expect from a modern program.
- Unlimited undo and redo, configurable syntax highlighting, templates, folding, automatic backups, macro recording and extensive rexx support.
- Single document interface and multiple document interface (all texts in one window)
- Advanced layout and block functions.
- Very high speed
- Optional input aids including context-sensitive completion and automatic case correction.
- Plug-In interface
- Support for encryption
- Spellchecking
All aspects of the Cubic IDE interface are configurable: fonts, colors, toolbars, menus, mouse, etc. Tabbed dialogs simplify the configuration. The software can handle an unlimited number of open screens and windows. Background processes like printing are multithreaded and do not block the user interface. The editor recognizes file types and automatically adjusts the editing environment. For example, the menu will show compiler-specific functions after loading a C source code.
Cubic IDE seamlessly integrates with SAS/C, vbcc, gcc and the StormC3 development environment.
- Free C/C++ compiler and software development kit included for your convenience for AmigaOS.
- Revised online version of "The C Book" included for C beginners.
- Configurable references system for includes, source codes and other material helps you with finding information quickly.
- The QuickInfo function constantly shows information related to the word under the cursor (e.g. parameters of OS functions).
- Source level debugger support for StormC3 users (breakpoints are displayed next to the text).
- The editor automatically highlights matching brackets.
- Symbol browser lists all functions, structures, labels etc. defined in your source codes.
- Built-in grep support allows you to search patterns in a list of files.
Debug 101
Debug 101 is a source debugger for AmigaOS. It contains many of the features found in other debuggers like GDB as well as a ReAction GUI.
Emperor
Emperor is a very powerful software to write GUI-based programs. There are C/C++- source codes that are generated by Emperor. They can be easily translated by an external C/C++-Compiler. Developer wanted to make parameterizing of the Graphical User Interface (GUI) and its macro-elements as easy as possible. Following standard-GUI-elements are implemented:
- Screens
- Windows
- Reaction gadgets
- Menus
- Popup-menus
- Requests
- ASL-requests
- Locale-catalogs
Following NON-GUI-elements are implemented:
- Functionmacros
- Install-scripts
- ToolTypes
- Includes
- Libraries
- Declare variables
- InterConnection maps between gadgets
- Create list-arrays for gadgets
With Emperor you are generating a complete C/C++-source code, which only must be compiled by an external compiler. Aim of this program is to assure software developer to create their programs (its source code) by Emperor, because the making of software (opening of windows, file- and fontrequests, menus etc.) is often equal and must not longer copied by programmers from other source codes. Emperor decrees about one or more macros for every GUI-element. Like the menus: here you must, for creating the complete Project-menu (open, close, save, print etc.) and its translation, (in Locale-".catalog"-file) only select the corresponding entry in the list. This is also possible with requests e.g. by making a QuitRequest. These are called in the own source code as function "REQUESTNAME();". But the program should also be for Amigans, who never programmed before, and want an easy way in the programming of AmigaOS-GUIs.
Free Pascal
Free Pascal is a professional Pascal compiler available for AmigaOS that can target many processor architectures.
Free Pascal for AmigaOS webpage
GL4ES
GL4ES is an OpenGL 2.1/1.5 to GL ES 2.0/1.1 translation library, with support for Pandora, ODroid, OrangePI, CHIP, Raspberry PI, Android and AmigaOS.
glsnoop
An experimental graphics API tracing tool for AmigaOS.
Gui4Cli
Gui4Cli is a simple interpreted, event-driven language (no need for previous programming knowledge), which allows you to easily construct great-looking, resizable, font-sensitive GadTools GUIs which (among many other things) can be used to form command lines that can be sent to AmigaDOS or an ARexx port of an other program, for execution. It has many other capabilities too, things like directory & database listviews, maths evaluation, graphics, timers, commodities, file notifications, pipes, appicons etc. etc. With it you can control just about any aspect of the Amiga. Think of it as "Visual DOS".
Hollywood
Hollywood is a multimedia-oriented programming language that can be used to create graphical applications very easily. It was designed with the paradigm to make software creation as easy as possible in mind. Thus, Hollywood is suited for beginners and advanced users alike. Hollywood comes with an extensive function library (encompassing over 800 different commands) that simplifies the creation of games, presentations, and applications, to a great extent. Having been in development since 2002 it is a very mature and stable software package today.
One of the highlights of Hollywood is its inbuilt cross-compiler which can be used to deploy software on many different platforms without having to change a single line of the code. The cross-compiler can compile for all platforms from any platform Hollywood is running on. For instance, you can compile macOS application bundles using the Windows version of Hollywood. There is even an optional add-on that can convert Hollywood applets into stand-alone APKs for release on Android! Android development has never been so easy!
Hollywood is a light-weight, but still powerful programming language whose core is just about two megabytes in size and does not require any external components. Hence, it is ideal for creating programs which run right out of the box. In fact, Hollywood programs will run perfectly from an USB flash drive without any prior installation whatsoever.
Platform architectures currently supported include AmigaOS, Android, iOS, MacOS, Windows, Linux and more.
Irrlicht Engine
The Irrlicht Engine is an open source realtime 3D engine written in C++. It is cross-platform, using D3D, OpenGL and its own software renderers. OpenGL-ES2 and WebGL renderers are also in development. It is a stable library which has been worked on for nearly 2 decades. We've got a huge community and Irrlicht is used by hobbyists and professional companies alike. You can find enhancements for it all over the web, like alternative terrain renderers, portal renderers, exporters, world layers, tutorials, editors, language bindings and so on. And best of all: It's completely free.
Lua / LOVE / tolua++
Lua is a powerful, efficient, lightweight, embeddable scripting language. It supports procedural programming, object-oriented programming, functional programming, data-driven programming, and data description.
Lua combines simple procedural syntax with powerful data description constructs based on associative arrays and extensible semantics. Lua is dynamically typed, runs by interpreting bytecode with a register-based virtual machine, and has automatic memory management with incremental garbage collection, making it ideal for configuration, scripting, and rapid prototyping.
LOVE is an awesome framework you can use to make 2D games in Lua. It's free, open-source, and works on Windows, Mac OS X, Linux and AmigaOS.
tolua++ is an extension of toLua, a tool to integrate C/C++ code with Lua. tolua++ includes new features oriented to c++, such as class templates.
tolua is a tool that greatly simplifies the integration of C/C++ code with Lua. Based on a "cleaned" header file, tolua automatically generates the binding code to access C/C++ features from Lua. Using Lua-5.0 API and metamethod facilities, the current version automatically maps C/C++ constants, external variables, functions, namespace, classes, and methods to Lua. It also provides facilities to create Lua modules.
MUIRexx
MUIRexx is a program which serves as an interface between ARexx and MagicUserInterface (MUI). MUIRexx does not provide complete access to all of the capabilities of MagicUserInterface (MUI), however, quite a lot of capability is implemented in MUIRexx such as notification, icon buttons, and application objects (objects that react to icons dropped on them), as well as many standard MUI objects. Complete graphical user interfaces as well as full applications can be developed using MUIRexx and ARexx macros. Additionally, it is also possible to dynamically change or add objects after the application has been created.
PortablE
PortablE is a recreation of the AmigaE programming language, along with many improvements, and the aim of being portable across many platforms.
PortablE works by translating your E code into C++, and then using GCC to compile it into an executable that you can run. But you don't need to worry about these details, because the PEGCC program will handle them for you. PortablE needs an installation of GCC, which is free & easily installed.
ProAction
A powerful interface between any Arexx enabled scripting language and the AmigaOS ReAction GUI system. ProAction provides GUIs for script writers, using a unique "dual ARexx Port" approach. ProAction itself is an ARexx host which provides functions for building and managing the GUI, then GUI events are sent as commands to an ARexx port managed by the script.
It can be used from any language that can support an ARexx host. (ARexx (with rexxsupport.libray) python via arexx.so etc etc)
Simple DirectMedia Layer SDL
Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games including Valve's award winning catalog and many Humble Bundle games.
SimpleGit
This is a very simple git client based on libgit2 with AmigaOS being the major target operating system.
SDK Browser
The SDK Browser provides any Amiga Programmer a quick reference tool into the live AmigaOS Software Development Kit installation on your Amiga, via a 100% graphical (GUI) based tool. It can help you find the format (prototype) for any AmigaOS4.x system call as well as lookup a specific structure reference, method, tag item, what-have-you, quicker than any other tool. Or, you can simply use it as a great way to wander through the AmigaOS4.x development documentation (AutoDocs, Includes, etc.) to learn more about how to program for this great machine and its powerful operating system. There is a great deal of (largely untapped) power available with the "standard" OS if you only know where to look.
Features include:
- Fully multitasking search bar with start/stop and pause/resume. File pattern filter added to search bar, and maintained separately for each search type. Interact with results as they are found, or continue to use all other parts of the SDK Browser as the search continues in the background. Search will continue even when hidden or iconified, and is controllable from the commodity exchange as well.
- History Bar. Quickly return to any of the last 20 items that have been viewed previously. Browse forward or back with the arrow buttons, or pull down and select a new position within the browser history. The history bar works like a combination of a web browser forward and back buttons and a rotating 20 item tabbed display. Giving you the flexibility to quickly work with the last 20 items that have been referenced already.
- Support for more than one interface(API) found within the same library. If the XML file for a given library contains more than one interface for accessing that library, then the SDK Browser will create a new browsable Library tree for each interface and name them with their respective interface name. This is also why the Interface name was added to each library entry under the Library list.
- Faster than ever before using newly optimized viewing routines and less disk access.
- Function calls under "Commands" or an open view of any "Library" now displays just the description of the function call within the AutoDoc instead of displaying the entire AutoDoc and attempting to search for the start of the description. This makes for a cleaner an easier to read display, while the entire AutoDoc file is still instantly available by selecting the Library name itself, or browsing the "AutoDocs" directly.
- Quick find ANY item in the active list just by typing the first few letters of its name.
- New "Includes" browsing. Live browse the system includes using the new embedded directory scanner.
- Convenient "Send To" menu for launching a helpful set of external viewers right from the SDK Browser. Quickly open source files into the editor of your choice, or open HTML files directly into your web browser of choice. You can also launch the currently selected file with "MultiView", "AmiPDF", or even "Unarc" those archives.
- Improved interface handles all Library, Commands, AutoDocs, and Includes browsing under the "SDK" clicktab, while also giving the user a "Project" tab and directory scan lister for browsing their own project source or any where you need to, quickly and easily from one tool.
- Extensive keyboard controls to enhance the existing "mouse-over" focused movement keys and "mouse-wheel" support.
- Programmable SDK and search paths.
- Programmable EDITOR and WEBBROWSER tooltypes for use by the "Send To" menu.
vbcc
vbcc is a highly optimizing portable and retargetable ISO C compiler available for AmigaOS. It supports ISO C according to ISO/IEC 9899:1989 and a subset of the new standard ISO/IEC 9899:1999 (C99).
It is split into a target-independent and a target-dependent part, and provides complete abstraction of host- and target- arithmetic. Therefore, it fully supports cross-compiling for 8, 16, 32 and 64bit architectures. Embedded systems are supported by features like different pointer-sizes (e.g. differently sized function- and object-pointers or near- and far-pointers), ROM-able code, inline-assembly, bit-types, interrupt-handlers, section-attributes, stack-calculation and many others (depending on the backend). vbcc provides a large set of aggressive high-level optimizations as well as target-specific optimizations to produce faster or smaller code. Rather than restricting analysis and optimization to single functions or files, vbcc is able to optimize across functions and even modules.
Vim
Vim is a highly configurable text editor built to make creating and changing any kind of text very efficient. Vim is rock stable and is continuously being developed to become even better. Among its features are:
- persistent, multi-level undo tree
- extensive plugin system
- support for hundreds of programming languages and file formats
- powerful search and replace
- integrates with many tools
Please note that this is not a straight port of the upstream version. It includes a full MUI GUI with most of the bells and whistles found in Vim on any of the major platforms. "TheBar" custom class must be installed for MUI for this version of Vim.