Poster | Thread |
Vanhapolle
| |
AmigaOS4.1 coding for example OpenScreenTags Posted on 28-Sep-2014 1:19:35
| | [ #1 ] |
|
|
|
Regular Member |
Joined: 22-Sep-2014 Posts: 372
From: Unknown | | |
|
| I download SDK for AmigaOS4.1 i know i dont yet have oS4.1 but i want look documentation i found there is documentation forexample OpenScreenTags function want know if this means i can use old OS3.9 ways do other things than what documentaiton covers. Is there OS4.1 which text editors what i can use make code to complie with GCC? i like GoldEd. Any Gui editor for native GUI ? (i think is ReAction)
Last edited by Vanhapolle on 28-Sep-2014 at 01:21 AM.
|
|
Status: Offline |
|
|
Nibunnoichi
| |
Re: AmigaOS4.1 coding for example OpenScreenTags Posted on 29-Sep-2014 8:03:45
| | [ #2 ] |
|
|
|
Cult Member |
Joined: 18-Nov-2004 Posts: 969
From: Roma + Lecco, Italia | | |
|
| @Vanhapolle
Quote:
Vanhapolle wrote: I download SDK for AmigaOS4.1 i know i dont yet have oS4.1 but i want look documentation i found there is documentation forexample OpenScreenTags function want know if this means i can use old OS3.9 ways do other things than what documentaiton covers. Is there OS4.1 which text editors what i can use make code to complie with GCC? i like GoldEd. Any Gui editor for native GUI ? (i think is ReAction)
|
Don't forget to look at the official Amiga OS Wiki for documentation and reference, it has good information and it should replace the old RKMs. Also keep an eye on OS4 Coding there are interesting articles (also on GUI programming) in the blogs section. This is an introductory guide to ReAction programming, and here you can find some examples too using "reaction" as keyword.
As an editor you can also use the freeware Annotate which supports syntax highlighting too. While CodeBench is a full featured IDE it will be commercial but for now it has free version downloadable.
_________________ Proud Amigan since 1987 Owner of various Commodore and a SAM440ep\OS4.1FE See them on http://retro.furinkan.org/ |
|
Status: Offline |
|
|
Hypex
| |
Re: AmigaOS4.1 coding for example OpenScreenTags Posted on 29-Sep-2014 17:48:38
| | [ #3 ] |
|
|
|
Elite Member |
Joined: 6-May-2007 Posts: 11230
From: Greensborough, Australia | | |
|
| |
Status: Offline |
|
|
eliyahu
| |
Re: AmigaOS4.1 coding for example OpenScreenTags Posted on 29-Sep-2014 18:10:14
| | [ #4 ] |
|
|
|
Super Member |
Joined: 3-Mar-2010 Posts: 1961
From: Waterbury, Connecticut (USA) | | |
|
| @thread
on the subject of text editors i'd like to also mention -- in addition to annotate and codebench -- the native version of cygnused pro 5 and the new stormc5ed from alinea, the latter of which i use when i'm not using codebench.
-- eliyahu
_________________ "Physical reality is consistent with universal laws. When the laws do not operate, there is no reality. All of this is unreal." |
|
Status: Offline |
|
|
broadblues
| |
Re: AmigaOS4.1 coding for example OpenScreenTags Posted on 29-Sep-2014 19:56:33
| | [ #5 ] |
|
|
|
Amiga Developer Team |
Joined: 20-Jul-2004 Posts: 4446
From: Portsmouth England | | |
|
| |
Status: Offline |
|
|
broadblues
| |
Re: AmigaOS4.1 coding for example OpenScreenTags Posted on 29-Sep-2014 19:59:12
| | [ #6 ] |
|
|
|
Amiga Developer Team |
Joined: 20-Jul-2004 Posts: 4446
From: Portsmouth England | | |
|
| @Hypex
Quote:
Yes you can use old OS3.9 ways as you put it, all the "old" functions are there. Tags for OpenScreenTags() functions are listed in OpenScreen() for some reason.
|
Because functions with Tags name extension are Varargs version on the non Tags Version, _________________ BroadBlues On Blues BroadBlues On Amiga Walker Broad |
|
Status: Offline |
|
|
Vanhapolle
| |
Re: AmigaOS4.1 coding for example OpenScreenTags Posted on 29-Sep-2014 21:18:22
| | [ #7 ] |
|
|
|
Regular Member |
Joined: 22-Sep-2014 Posts: 372
From: Unknown | | |
|
| I must look them when all is working. But is there no free editors ? with Amiga feeling not something like VIM,Emacs. at least i dont like them much. And i cannot imagine buying editor soon maybe even getting hard drives (one for MorphOS and one for AmigaOS),SATA adapters etc is pricey.. |
|
Status: Offline |
|
|
broadblues
| |
Re: AmigaOS4.1 coding for example OpenScreenTags Posted on 29-Sep-2014 22:25:38
| | [ #8 ] |
|
|
|
Amiga Developer Team |
Joined: 20-Jul-2004 Posts: 4446
From: Portsmouth England | | |
|
| @Vanhapolle
Whilst Coebench is commercial the free version is quite functional IIRC. Limitations are the number of projects open at the same time, either C *or* hollywood not both etc.
_________________ BroadBlues On Blues BroadBlues On Amiga Walker Broad |
|
Status: Offline |
|
|
Chris_Y
| |
Re: AmigaOS4.1 coding for example OpenScreenTags Posted on 29-Sep-2014 22:35:53
| | [ #9 ] |
|
|
|
Elite Member |
Joined: 21-Jun-2003 Posts: 3204
From: Beds, UK | | |
|
| @broadblues
Quote:
Quote:
Tags for OpenScreenTags() functions are listed in OpenScreen() for some reason.
|
Because functions with Tags name extension are Varargs version on the non Tags Version, |
As I'm sure you know, they are the varargs version of the "TagList" function.
OpenScreen() is completely different, it's an old legacy function that nobody in their right mind would have used since 2.04 was released.
_________________ "Miracles we do at once, the impossible takes a little longer" - AJS on Hyperion Avatar is Tabitha by Eric W Schwartz |
|
Status: Offline |
|
|
broadblues
| |
Re: AmigaOS4.1 coding for example OpenScreenTags Posted on 29-Sep-2014 22:44:52
| | [ #10 ] |
|
|
|
Amiga Developer Team |
Joined: 20-Jul-2004 Posts: 4446
From: Portsmouth England | | |
|
| @Chris_Y
Yes of course, in the case plain OpenScreen() OpenWindow() et al the tags lists are passed in the Extended versions of the NewWindow / NewScreen structures, instead of as separate function arguments. Which is why the Tag documentation is still in the original function. _________________ BroadBlues On Blues BroadBlues On Amiga Walker Broad |
|
Status: Offline |
|
|
CodeSmith
| |
Re: AmigaOS4.1 coding for example OpenScreenTags Posted on 30-Sep-2014 5:21:25
| | [ #11 ] |
|
|
|
Elite Member |
Joined: 8-Mar-2003 Posts: 3045
From: USA | | |
|
| Somewhat related, today Bombjack posted a nice dump of developer docs from the 1990 Amiga Developer Conference. All sorts of cool stuff in there from the Zorro 3 bus specs to the new features added to AmigaOS 2 (the fundamentals of which are still relevant in OS4.1). Like most of Bomback's scans this one is OCR'd so you can search it. A quick ctrl-F in Adobe Reader revealed a few instances of OpenScreenTags.
Linky: http://www.bombjack.org/commodore/amiga/amiga-commodore/Amiga_Developer_Conference_1990.pdf |
|
Status: Offline |
|
|
Hypex
| |
Re: AmigaOS4.1 coding for example OpenScreenTags Posted on 30-Sep-2014 17:35:13
| | [ #12 ] |
|
|
|
Elite Member |
Joined: 6-May-2007 Posts: 11230
From: Greensborough, Australia | | |
|
| @broadblues
Quote:
Codebench is by far the best solution. |
It's the most powerful yes but it's also slow to start and crashes in searches and when trying to add lots of source files.
OTOH TIDE starts up fast and is good for small programs, limited as it may be.. I have found it stable.
No solutions I found could locate, sort and add all types of source files to a project in one swoop then generate a generic makefile.
Quote:
Because functions with Tags name extension are Varargs version on the non Tags Version, |
I'm not aware of any programs making use of the old functions with extended tags added. Nor would it be recommended for years. Also, when looking up info, you would associate tags with a function having "Tags" in the name, before one that does not.Last edited by Hypex on 01-Oct-2014 at 03:46 PM.
|
|
Status: Offline |
|
|
Hans
| |
Re: AmigaOS4.1 coding for example OpenScreenTags Posted on 30-Sep-2014 20:35:30
| | [ #13 ] |
|
|
|
Elite Member |
Joined: 27-Dec-2003 Posts: 5067
From: New Zealand | | |
|
| @Vanhapolle
Quote:
Vanhapolle wrote: I download SDK for AmigaOS4.1 i know i dont yet have oS4.1 but i want look documentation i found there is documentation forexample OpenScreenTags function want know if this means i can use old OS3.9 ways do other things than what documentaiton covers.
|
As a general rule you should not use undocumented behaviours of API functions. Anything that isn't in the documentation could change with any update. For example, AllocVec() used to store the allocation size just before the allocation, and some developers used this. However, this was an implementation-specific side-effect, and all software that exploited this no longer work (on AmigaOS 4.x). Commodore themselves begged developers to stick to only what was in the documentation.
For an OpenScreenTags() example, download Composite3DDemo, and look in Composite3DDemo.cpp.
Hans
P.S., The Composite3DDemo uses AmigaOS 4.x' interfaces. If you're writing code that you want to run on AmigaOS 3, MorphOS, and/or AROS, then there's a #define that you can set to drop the "IExec->" part. The details are in the SDK's documentation drawer somewhere._________________ http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more. Home of the RadeonHD driver for Amiga OS 4.x project. https://keasigmadelta.com/ - More of my work. |
|
Status: Offline |
|
|
broadblues
| |
Re: AmigaOS4.1 coding for example OpenScreenTags Posted on 30-Sep-2014 23:24:13
| | [ #14 ] |
|
|
|
Amiga Developer Team |
Joined: 20-Jul-2004 Posts: 4446
From: Portsmouth England | | |
|
| @Hypex
Quote:
Quote:
Quote: Codebench is by far the best solution.
|
It's the most powerful yes but it's also slow to start and crashes in searches and when trying to add lots of source files.
|
I don't find start up too bad, but it does depend on how much SDK data is in the dictionary, you can reduce the number of types of thing in the dictionary, but clicking on rebuild in the Projects_>settings->help tab. I have have just System Functions and System Structures, but I also have a lextra with the entire newlib / clib function library in it (including man pages).
I reported the search bug, to avoid falling foul of it simply clip on the chooser gadget at the top of the serach box before searching.
Quote:
Quote:
Quote: Because functions with Tags name extension are Varargs version on the non Tags Version,
|
I'm not aware of any programs making use of the old functions with extended tags added.
|
Aren't you? I can think of one, I'll leave it to the reader to guess which one.
Last edited by broadblues on 30-Sep-2014 at 11:24 PM.
_________________ BroadBlues On Blues BroadBlues On Amiga Walker Broad |
|
Status: Offline |
|
|
Nibunnoichi
| |
Re: AmigaOS4.1 coding for example OpenScreenTags Posted on 1-Oct-2014 12:53:10
| | [ #15 ] |
|
|
|
Cult Member |
Joined: 18-Nov-2004 Posts: 969
From: Roma + Lecco, Italia | | |
|
| @Hypex
Quote:
Hypex wrote: It's the most powerful yes but it's also slow to start and crashes in searches and when trying to add lots of source files.
|
Dunno, some time ago i tried importing a whole SVN tree and even if i was skeptical at the beginning, it worked great... it was the first time i did something similar on the Amiga so i was quite excited too
_________________ Proud Amigan since 1987 Owner of various Commodore and a SAM440ep\OS4.1FE See them on http://retro.furinkan.org/ |
|
Status: Offline |
|
|
Hypex
| |
Re: AmigaOS4.1 coding for example OpenScreenTags Posted on 1-Oct-2014 16:10:10
| | [ #16 ] |
|
|
|
Elite Member |
Joined: 6-May-2007 Posts: 11230
From: Greensborough, Australia | | |
|
| |
Status: Offline |
|
|
Hypex
| |
Re: AmigaOS4.1 coding for example OpenScreenTags Posted on 1-Oct-2014 16:21:31
| | [ #17 ] |
|
|
|
Elite Member |
Joined: 6-May-2007 Posts: 11230
From: Greensborough, Australia | | |
|
| @Nibunnoichi
I imported some Amiga code recently and had to do the .c and .h files seperately and in each source directory. I also found that the included makefiles needed to be modifed as the whole code would not all compile in one go. But that is the way the author organised it. It took a little work to import it all into CodeBench for use.
I first got trouble when I tried to import all the Stratagus files into CodeBench. They changed the build system to CMake and the OS4 port of CMake can't generate working files out of the box to compile. As well as CMake replacing each compile line with a CMake call that slows down compilation considerably. So wanted CodeBench to load it all in and to generate a standard makefile. At first it seemed to be going well, but there were too many files, and CoeBench just crashed in the end. I know how to stress it out. |
|
Status: Offline |
|
|
Vanhapolle
| |
Re: AmigaOS4.1 coding for example OpenScreenTags Posted on 14-Oct-2014 4:48:54
| | [ #18 ] |
|
|
|
Regular Member |
Joined: 22-Sep-2014 Posts: 372
From: Unknown | | |
|
| How much i must change code if i want compile old program which used OS2.04 /OS3.9 routines. and i mean modern ones not maybe AllocVec which point is nice but generally i think basic memory allocation routines work fine my needs. of course AllocVec type rountines helps coding...
|
|
Status: Offline |
|
|
NutsAboutAmiga
| |
Re: AmigaOS4.1 coding for example OpenScreenTags Posted on 14-Oct-2014 12:19:32
| | [ #19 ] |
|
|
|
Elite Member |
Joined: 9-Jun-2004 Posts: 12825
From: Norway | | |
|
| @Vanhapolle
That will depend on the state of the code, for example you should not code for AGA screen modes on AmigaOS4, you could but they will not be 320x256, all fake AGA modes are all 640x480, so you most depends on BytesPerRow form the Bitmap lock, do not assume you know it.
You could use the old 32bit api for DOS.library to read directory, but its better to use 64bit API to read directory’s to get correct filesize right.
You could allocate structs your self, but its better to use AllocSysObjects() and AllocDosObjects(), to tell AmigaOS what the structs are for.
You could compile your program with -D__USE_INLINE__ so that you don't need to add IExec -> and IDOS -> in front of the commands, or you could add that if you like.
You could compile your program with -lauto so you don't need to open the libraries, or you could open the librarys your self, but then you need to obtain the interface "main" from etch lib.
There is also small change for struct TimeVal, there is a compiler switch (define), don't remember the name of the define. So you can use the old struct TimeVal, if you need to.
Anything that try’s to access hardware direct wont work on AmigaONE/Sam computers, this you most rewrite.
Anything that reads or writes from devices using CMD_READ and CMD_WRITE, should be replaced by NSD equvalent commands.
If you wont to keep things backwords compatible you need to add #ifdef #else #endif or can split the code into .o files, so that only parts of code separated and other parts are shared between the two versions.
I don't think there is anything more to add.
Oh yes, keep in mind that font sizes are bigger on AmigaOS 4.x then on AmigaOS 3.x, anything that use static coordinate system like GadTools can easily look ugly. There for I recommend using MUI or Reaction as GUI's. Last edited by NutsAboutAmiga on 14-Oct-2014 at 11:08 PM. Last edited by NutsAboutAmiga on 14-Oct-2014 at 12:23 PM. Last edited by NutsAboutAmiga on 14-Oct-2014 at 12:22 PM. Last edited by NutsAboutAmiga on 14-Oct-2014 at 12:21 PM.
_________________ http://lifeofliveforit.blogspot.no/ Facebook::LiveForIt Software for AmigaOS |
|
Status: Offline |
|
|
Hypex
| |
Re: AmigaOS4.1 coding for example OpenScreenTags Posted on 14-Oct-2014 14:30:30
| | [ #20 ] |
|
|
|
Elite Member |
Joined: 6-May-2007 Posts: 11230
From: Greensborough, Australia | | |
|
| @NutsAboutAmiga
GadTools if fine if you use it to render a font sensitive GUI. I've done it myself, just open the system set font and use that to calculate buttons, which all programers should save been doing as it's easier to manage. Unfortunately this stuffs up when people use Topaz 8 for the GUI
GadTools also have the benefit of being cross compatible on all Amiga platforms. From AmigaOS2 and above to the extents of MorphOS. Depends on your needs.
Of course if Commodore included a layout engine for GdTools it would have helped. Last edited by Hypex on 14-Oct-2014 at 02:31 PM.
|
|
Status: Offline |
|
|