@DATABASE "OS_DevKit Extension" @author "Fromentin BRICE & Jens Vang Petersen" @INDEX "os_index.guide/main" @node MAIN "OS_DevKit" ___________ ___________ / /\ / /\ OS-DevKit Extension / ___ / // _______/ / Additional power for AMOS Pro V2.00+ / /\_/ / // /\_____ \/ / / // / // /\ Written by: / / // / //______ / / Fromentin BRICE / /_// / /_\_____/ / / / / // / / /__________/ //__________/ / Parts of the guides by: \__________\/ \__________\/ Jens Vang Petersen @{b}@{u}WELCOME TO OS_DevKit@{uu}@{ub} +--------------------------------------------------------------------------+ @{" Legal Notes " link "Legal"} @{" What Is It ? " link "What"} @{" Small Speech " link "words"} @{" Special Thanks To " link "thank"} @{" Contact The Author " link "touch"} @{" Install This Thing " link "inst"} @{" Alphabetical Command Index " link "os_index.guide/Cindex"} @{" Easy2use vs. Advanced " link "EvsA"} @{" StructureListings Index " link "os_index.guide/Sindex"} @{" TagListings Index " link "os_index.guide/Tindex"} @{" Easy2use Support for 'intuition' & 'graphics': " link "os_intuition_h.guide/main"} @{" Screens [56] " link "os_intuition_h.guide/SCRE"} @{" Windows [67] " link "os_intuition_h.guide/WIND"} @{" Advanced Support for 'intuition': " link "os_intuition_l.guide/main"} @{" Screens [52] " link "os_intuition_l.guide/SCRE"} @{" Windows [91] " link "os_intuition_l.guide/WIND"} @{" Gadgets [28] " link "os_intuition_l.guide/GADG"} @{" Structure Drawing [92] " link "os_intuition_l.guide/STRU"} @{" Misc. [22] " link "os_intuition_l.guide/MISC"} @{" Advanced Support for 'graphics': " link "os_graphics_l.guide/main"} @{" Blitter [09] " link "os_graphics_l.guide/BLIT"} @{" Copper [10] " link "os_graphics_l.guide/COPP"} @{" Colours [10] " link "os_graphics_l.guide/COLO"} @{" Drawing [15] " link "os_graphics_l.guide/DRAW"} @{" Fonts [09] " link "os_graphics_l.guide/FONT"} @{" Fast Filling [10] " link "os_graphics_l.guide/FFIL"} @{" RTG [16] " link "os_graphics_l.guide/RTGF"} @{" Sprites [11] " link "os_graphics_l.guide/SPRI"} @{" GFX Structures [52] " link "os_graphics_l.guide/STRU"} @{" Misc. [04] " link "os_graphics_l.guide/MISC"} @{" Easy2use Support for 'gadtools.library': " link "os_gadtools_h.guide/main"} @{" Gadgets [46] " link "os_gadtools_h.guide/gadgets"} @{" Pull-down menus [16] " link "os_gadtools_h.guide/menus"} @{" Other Handy things [07] " link "os_gadtools_h.guide/handy"} @{" Advanced Support for 'gadtools.library': " link "os_gadtools_l.guide/main"} @{" Gadgets [30] " link "os_gadtools_l.guide/GADG"} @{" Menus [18] " link "os_gadtools_l.guide/MENU"} @{" Support for 'dos.library': " link "os_dos.guide/main"} @{" Path Controle [06] " link "os_dos.guide/PATH"} @{" DOS Errors [03] " link "os_dos.guide/ERRS"} @{" File access [37] " link "os_dos.guide/FILE"} @{" Programes [03] " link "os_dos.guide/PROG"} @{" Misc. [05] " link "os_dos.guide/MISC"} @{" Support for 'exec.library': " link "os_exec.guide/main"} @{" Memory Control [08] " link "os_exec.guide/MEMO"} @{" Libraries [05] " link "os_exec.guide/LIBS"} @{" Message Ports [23] " link "os_exec.guide/MESS"} @{" Nodes [29] " link "os_exec.guide/NODE"} @{" Signals [05] " link "os_exec.guide/SIGN"} @{" Interrupts [05] " link "os_exec.guide/INTR"} @{" Tasks [03] " link "os_exec.guide/TASK"} @{" Support for 'workbench' & 'icons': " link "os_exec.guide/main"} @{" Workbench controle [05] " link "os_wb.guide/WORK"} @{" Icons & Tooltypes [14] " link "os_wb.guide/ICON"} @{" AppItems [08] " link "os_wb.guide/APPI"} @{" Other Libraries: " link "os_misc1.guide/main"} @{" ASL requesters [08] " link "os_misc1.guide/ASLR"} @{" Datatypes [14] " link "os_misc1.guide/DATA"} @{" Locale [07] " link "os_misc1.guide/LOCA"} @{" LowLevel (Gameports) [09] " link "os_misc1.guide/LOWL"} @{" Layers [05] " link "os_misc1.guide/LAYE"} @{" IFF-Parse [15] " link "os_misc1.guide/IFFP"} @{" BOOPSI [06] " link "os_misc1.guide/BOOP"} @{" Commodities [22] " link "os_misc1.guide/COMO"} @{" Other Commands: " link "os_miscM.guide/main"} @{" Base-Addresses [13] " link "os_miscM.guide/BASE"} @{" Cli Arguments [05] " link "os_miscM.guide/CLIA"} @{" Chained Lists [16] " link "os_miscM.guide/CHNL"} @{" Memory Access [12] " link "os_miscM.guide/MEMA"} @{" Tag-lists [04] " link "os_miscM.guide/TAGL"} @{" Time & Date [09] " link "os_miscM.guide/TIME"} @{" Versions [06] " link "os_miscM.guide/VERS"} @{" Misc Commands [15] " link "os_miscM.guide/MISC"} @endnode @node "Legal" "Legal Notes" @{u}OSDevKit ©1995-98 FROMENTIN Brice@{uu} OS DevKit is provided to you "as it is" without any warranty of any kind, either expressed or implied. Author and other parts involved into the distribution of this software deny all responsibility for damage that this software may cause whatever it is. You are using this program at your own risk. OS DevKit, its example programms and all documentation are copyright 1995-98 Fromentin Brice . Any modification whatever it is by any person or part other than us or any operation not explicitly allowed here on the files listed above is illegal. Any person breaking the rules listed above is exposed to legal proceedings from holder of the copyright which has been violated. Buying full version of this software does not grant you the right of distribuate part of OS DevKit. But, all compiled program can be distribuate freely with at once one condition : - If it's a commercial product, I must be contact to know it. - Else, one requester specifying that the program was created with OS DevKit must be display. @ENDNODE @NODE "What" "What is it ?" @{u}What is it ?@{uu} The OS DevKit extension is a development kit for AMOSPro. In fact, it allows to AMOSPro to use system ressources in a legal way. If we can reproach AMOSPro with something, it's that it doesn't know the pride of AMIGA : INTUITION Yeah, without Intuition no pretty graphic interfaces and lot of other things. But my work wouldn't be complete if I should not offer others possibilities ... Yet, if I can't pretend to take the place of F. Lionet. I consider this kit like the AMOSPro's logical evolution, i.e, its integration in AmigaOS. Homewer, this extension is not compatible under OS 2.0 for evolution reasons. Thus, I can make some functions that are simple and rapidly usable. Over, for Rigths reasons, I can't detail all functions as they could be. But, this kit is not for novices, a good control of AmigaOS is required. Roughly, we can find functions of : - exec.library - intuition.library - gadtools.library - asl.library - graphics.library - datatypes.library - commodities.library As well as some functions to make easiest the use of Operating System : - Own Chain Lists - Specific structures Management - TAG Lists Management Over, to help you, I include come procedures that allow you to easily make painstaking operations. If you make others procedures, please give them to everyone, this way all of us will take advantage of your work. The AMIGA Operating System is for us a new adventure ... OS_DevKit requirements : AMOSPro V2.0 + AMIGA with OS 2.0 + 68000 + Good Work, and don't hesitate to join me ... TMG @ENDNODE @NODE "touch" "Contact me ?" Contact me ? In fact you can contact me in the following BBS : LOGIN DISTRIBUTION (16) 40.21.97.19 Boîte aux lettres ASkyl Msgs -> Courrier ou Feedback Also you can write me (Home sweet home) : M. FROMENTIN Brice (OS DevKit) 2 Rue CROIX SEROT SAILLE 44350 GUERANDE FRANCE @ENDNODE @NODE "Words" "Small Speech" @{u}Dear all,@{uu} I want to thanks you to buy this product. For the others, I want to say that piracy killed AMIGA one time ... OS DevKit is a product who grew in spite of its slanderers, indeed, the goal of being 100% system being very quickly reaches, it was me necessary to become very quickly minus rigorous for many profiles is not exempt of patchs (or other) whose prevents the good starting of the extension. To all those who helped me to discover these small anxieties without chafing, I depend upon thanking them of it. You have surely notice the available bug report on the disk. This last will help me to correct the mistakes that I would have committed to the most quickly. @ENDNODE @NODE "Thank" "Special Thanks" @{u}The Author would like to thank:@{uu} I want to thank you to be here. AMIGA is not a machine for us but a feeling between us that I 'feel' when writing these lines ... AMIGA To know you. AXIS Pour la musique de la GASP!96. BILLOU To make free advert for AMIGA. CJ Pour avoir accompli le miracle qui est sous vos yeux. En 2 jours, il a transformé mes fichiers ASCII en Guide. CRITTERS Pour tout ce qu'il est et a fait. COMMODORE To die in time. ESCOM To buy COMMODORE. GILLES Pour avoir tellement menti qu'il a fini par montrer sa vraie nature aux gens qui l'entourent. Je te réserve une bonne surprise d'ici quelques années ... HAUTECLOQUE F. Pour ses judicieux conseils. LIONET F. Pour l'AMOS qui m'a donné goût à l'AMIGA. MANU & MICKEY Pour StoneTracker, plus besoin d'en écrire un. OCCHIPINTI A. Pour nous avoir soutenu au nom de notre cause commune. QUARTZ Inf. Pour nous supporter et nous distribuer. POLUX Pour savoir qui je suis ... RYCKO Pour être le meilleur Zicos sous tous les angles. SAKABUTH Pour la confiance qu'il m'a accordé. SONIK Pour ses visites rafraîchissantes. SOREN Pour avoir fait son travail en temps et en heure, tu as fait un mauvais choix mais il n'est pas trop tard : NE TE LAISSE PAS ENVAHIR PAR CETTE SANGSUE MENTEUSE. ZAK Pour les bons moments passés ensembles. Mais l'égoïsme ne me plait pas alors quand Narcisse aura fini de s'admirer peut-être qu'il reconnaîtra ses TORTS !!! @ENDNODE @NODE Inst "Installation" @{u}Installation@{uu} Click on icon 'Installation' and follow directives. After Installation : - Start AMOSPro - Sélect in menu Config -> Set Interpreter - Click on 'Load Default Configuration' - Click on 'Set Loaded Extensions' - Get down slider until n°20 and Click on it. - Enter le text 'AMOSPro_OS_DevKit_20.Lib' and Validate - Click on 'Exit' - Click on 'Save Configuration' - Click on 'Quit' - Quit l'AMOSPro Have you see directory 'Autres', you can find interesting files in it : - Add_To_System_Equates -> Some new equates for AMOSPro 'see AMOSPro manual' - TMG.i -> All calculated values useful for OS like TAGs values ... @ENDNODE @NODE Conseils "Advices" @{u}Conseils@{uu} For a reason completely logical, a 'Amos Lock' sends back the AMOS in before plan, then if it disturbs you, puts the keys of 'Reset' like switcher + a letter. Like it, it is more on that the Lock and minus visible. The extension doesn't liberate alone the facilities that you allocated, in a system communicating multitask, you can give to an other task an element that you allocated. The Kit manages the simple mistakes during of the transmission of the parameters: - If a void parameter is past, he won't make anything in case of action, if a mistake produces, contact me for describe me the all. - If he was about a conference then a mistake will be produced. If you want to use the orders V39 (Bearer AGA), test the version of the OS first. I could have made it but the functions would have been less rapids. In I making wanted to create some functions entirely 'OS Legal' but faster than the AMOS itself. So some sacrifices are mandatory but anything of terrifying. Don't hesitate to unfold the procedures for better understand them. Buy you some coffee and some aspirin. @ENDNODE @NODE Glossaire "Glossary" Buffer It is a zone memory who allows to store some datas of temporary way. It is necessary to poke this last therefore. Handle It is a pointer on a private structure. OS Operating System. Pointer It is an Address memory. Thenpointer of one string is the address of the first character of the string. All the functions whose need such a pointer require that the string finishes by 0 or 'Chr$(0)'. RasInfo It is a structure reattach to the ViewPort who allows to make hardware scrolling and Double Buffer. it allows to specify to the ViewPort which BitMap to display. RastPort It is a structure whose contains all the necessary news in order to do some tracings in the BitMap. !!! DO NOT WRITE DIRECTLY IN THE BITMAP!!! Structure It is a zone memory containing some news ordinates. Tag It is a identifier. ex: OC_BuiltInLanguage= $80090001 ViewPort It is a structure who manages the display. @ENDNODE @node "EvsA" "Easy vs. Advanced" @{u}Easy2use vs. Advanced@{uu} The AMIGA operating systems is very flexible, much more than you usualy see in AMOS. This however takes some experience to make use of, and for most people it's quite a shock to jump from the idiot-proof AMOS system to the hard system. In the first versions of 'OS DevKit', there were only the 'Advanced' access to building graphics and interfaces. That gave almost endless possibilities to do what ever you liked, and a good chance of crashing the AMIGA anytime you tried to do anything. With V2.00 'OS DevKit' now includes a set of 'Easy2use' commands that acts much like the usual AMOS system. This has two advantages, one is that it's much easier to start using, and then it's also much easier to avoid crashes on the system. Ofcourse the extension offers several bridges between the two sets so you can easily build the things you need, and then use advanced functions to play special tricks.. The area that's mainly covered with the two set of commands is the user-interface, which means windows, screens, menus and gadgets. This is also the area that's the hardest to grasp for the new-commer to the system, at the same time it's the main reason to use this extensions in the first place.. @{u}Advantages of 'Easy2use' commands@{uu} - Few crashes due to solid error-catchers.. - Easy to translate from normal AMOS.. - Easy to 'read' later on.. @{u}Advantages of 'Advanced' commands@{uu} - Full access to all options.. - Faster than 'Easy2use'-set, due to fewer error-catchers.. @{u}Advice And Hint@{uu} The best way to start out is to use the 'Easy2use' commands for as much as possible, and when they fail turn to the 'advanced' to do the needed tricks. As mentioned before, there's several instructions that's capable of bridging the 2 sets, so by starting out with the easy set you don't lock away the advanced options.. @endnode