Poster | Thread |
ShInKurO
| |
Re: I'm trying to port mplayer Posted on 15-Jul-2004 10:26:02
| | [ #21 ] |
|
|
|
Regular Member |
Joined: 18-Jan-2004 Posts: 465
From: Italy | | |
|
| @Trixie
For a period of time GoldED5 was distribuited free from the official site, i don't understand why GoldED5 couldn't be uploaded on aminet.....
ShInKurO |
|
Status: Offline |
|
|
Trixie
| |
Re: I'm trying to port mplayer Posted on 15-Jul-2004 10:38:14
| | [ #22 ] |
|
|
|
Amiga Developer Team |
Joined: 1-Sep-2003 Posts: 2090
From: Czech Republic | | |
|
| @Slash
GoldEd might seem difficult to setup but if you have a look at it, most file types come preconfigured so you can start coding, creating AmigaGuide documents, Installer scripts etc. right away.
What I absolutely like about GoldEd is that you can easily switch between various working environments. It's all a mouseclick away! I need a HTML editor - click! - there we are! And so on.
Just like any comprehensive program with a lot of functions, it takes some time to get into it, regardless of type or platform. Read the manual thoroughly and you'll be fine.
Oriented towards Windows? How's that? Is it the look? As far as program behaviour is concerned - if only other Amiga apps were as neat and functional as GoldEd is!
I've always used StormC together with GoldEd, and they are a perfect pair IMHO. Very neatly integrated, indeed! Too bad StormC is a dead-end app (unless H&P decide to start development for OS4).
Regards, Trixie
_________________ The Rear Window blog
AmigaOne X5000/020 @ 2GHz / 4GB RAM / Radeon RX 560 / ESI Juli@ / AmigaOS 4.1 Final Edition SAM440ep-flex @ 667MHz / 1GB RAM / Radeon 9250 / AmigaOS 4.1 Final Edition |
|
Status: Offline |
|
|
Trixie
| |
Re: I'm trying to port mplayer Posted on 15-Jul-2004 10:52:10
| | [ #23 ] |
|
|
|
Amiga Developer Team |
Joined: 1-Sep-2003 Posts: 2090
From: Czech Republic | | |
|
| @ShInKurO
Quote:
For a period of time GoldED5 was distributed free from the official site |
Yes I used GoldEd 5 a lot after it was made freeware. However, Dietmar has rewritten the program significantly since that and I can tell you, GoldEd 5 is dog slow compared to AIX. With GoldEd it is definitely not the kind of progress when a program gets more and more bloated with every new version released.
Regards, Trixie
_________________ The Rear Window blog
AmigaOne X5000/020 @ 2GHz / 4GB RAM / Radeon RX 560 / ESI Juli@ / AmigaOS 4.1 Final Edition SAM440ep-flex @ 667MHz / 1GB RAM / Radeon 9250 / AmigaOS 4.1 Final Edition |
|
Status: Offline |
|
|
NutsAboutAmiga
| |
Re: I'm trying to port mplayer Posted on 15-Jul-2004 18:56:43
| | [ #24 ] |
|
|
|
Elite Member |
Joined: 9-Jun-2004 Posts: 12817
From: Norway | | |
|
| @Rogue
1st attempt at solving fork issues, hers my test program, the problem is that the result of the program differs alot between linux i686 and AmigaOS40 compile,
on AmigaOS40 it looks like longjmp() equals return; on linux it kind a works, it just crashes due some unknown error if enable the uncommented code.
Quote:
#include
jmp_buf afork_buffer;
#define afork_max_pids = 2000; int afork_dummy_pid = 0; int afork_return = 0;
int a_vfork() { if (afork_dummy_pid>0) return -1; afork_dummy_pid ++; // return setjmp return setjmp(afork_buffer); }
void a_exit(int ret) { afork_return = ret; ret = afork_dummy_pid--; longjmp(afork_buffer,ret); printf("a_exit failed!!!!\n"); }
int a_waitpid(int pid) { return afork_return; }
int main(int args,char *arg[]) { int test,pid,pidb;
for(test=0;test<=3;test++) { printf("---\n"); switch (pid = a_vfork()) { case 0: printf("%i: I'm a fork, what are you\n",test);
/*** Can't uncomment this on Linux, *** * * switch (pidb = a_vfork()) * { * case 0: printf("LEVEL 2,%i: I'm a fork, what are you\n",test); * a_exit(200); * break; * case -1: printf("LEVEL 2,ERROR: too meny forks running...\n"); * break; * default: printf("LEVEL 2,%i: Success created pid %i\n",test,pidb); * printf(" pid %i has return value %i\n\n",pidb,a_waitpid(pidb)); * break; * } ***/
a_exit(100); break; case -1: printf("ERROR: too many forks running...\n"); break; default: printf("%i: Success created pid %i\n",test,pid); printf(" pid %i has return value %i\n\n",pid,a_waitpid(pid)); break; } } }
|
_________________ http://lifeofliveforit.blogspot.no/ Facebook::LiveForIt Software for AmigaOS |
|
Status: Offline |
|
|
Rogue
| |
Re: I'm trying to port mplayer Posted on 15-Jul-2004 19:37:24
| | [ #25 ] |
|
|
|
OS4 Core Developer |
Joined: 14-Jul-2003 Posts: 3999
From: Unknown | | |
|
| @NutsAboutAmiga
Quote:
on AmigaOS40 it looks like longjmp() equals return; |
What do you mean by that? I don't understand...
_________________ Seriously, if you want to contact me do not bother sending me a PM here. Write me a mail |
|
Status: Offline |
|
|
NutsAboutAmiga
| |
Re: I'm trying to port mplayer Posted on 15-Jul-2004 19:49:39
| | [ #26 ] |
|
|
|
Elite Member |
Joined: 9-Jun-2004 Posts: 12817
From: Norway | | |
|
| @Rogue
this is the text output from Linux i686:
Quote:
--- 0: I'm a fork, what are you 0: Success created pid 1 pid 1 has return value 100
--- 1: I'm a fork, what are you 1: Success created pid 1 pid 1 has return value 100
--- 2: I'm a fork, what are you 2: Success created pid 1 pid 1 has return value 100
--- 3: I'm a fork, what are you 3: Success created pid 1 pid 1 has return value 100
|
this is the text output from AmigaOS:
Quote:
--- 0: I'm a fork, what are you --- 1: I'm a fork, what are you --- 2: I'm a fork, what are you --- 3: I'm a fork, what are you
|
This can only mean that longjmp() do not return to setjmp(), or meybe that the jmp_buf is wrong...
I'm using the same code_________________ http://lifeofliveforit.blogspot.no/ Facebook::LiveForIt Software for AmigaOS |
|
Status: Offline |
|
|
NutsAboutAmiga
| |
Re: I'm trying to port mplayer Posted on 15-Jul-2004 19:54:19
| | [ #27 ] |
|
|
|
Elite Member |
Joined: 9-Jun-2004 Posts: 12817
From: Norway | | |
|
| |
Status: Offline |
|
|
AmiDog
| |
Re: I'm trying to port mplayer Posted on 16-Jul-2004 7:10:55
| | [ #28 ] |
|
|
|
Cult Member |
Joined: 1-Jun-2004 Posts: 917
From: Kumla, Sweden | | |
|
| @NutsAboutAmiga
They are working just fine as far as I can tell. setjmp and longjmp are used by AmiGenerator and are working as they should on both OS3.x and 4.0. However, your code is far more complex. This is how it's used in AmiGenerator:
jmp_buf jb; if (!setjmp(jb)) { /* some code here */
/* and now let's return to setjmp as if we never entered here */ longjmp(jb, 1); }
Anyway, I don't really understand what you are trying to do?
The idea with setjmp and longjmp is to allow you to recover from bad situations by returning to a place in your code where you can handle those situations. In AmiGenerator it's used to allow the 68000 core to use global register variables (thus messing with certain registers) while the rest of the program know nothing about this. Therefor one have to make sure the registers used as global register variables are reset when returning from the CPU emulation functions. A pair of setjmp and longjmp does just that, setjmp pushes everything onto the stack, and then longjmp reads it back again, returning register values to what they were before the setjmp. |
|
Status: Offline |
|
|
NutsAboutAmiga
| |
Re: I'm trying to port mplayer Posted on 16-Jul-2004 16:49:27
| | [ #29 ] |
|
|
|
Elite Member |
Joined: 9-Jun-2004 Posts: 12817
From: Norway | | |
|
| @AmiDog
I'm trying to emulate vfork not implement it, vfork is none existent inn AmigaOS40, so some how I need to work around this fact,
this is from Man pages inn linux on setjmp/longjmp
Quote:
DESCRIPTION setjmp() and longjmp() are useful for dealing with errors and inter? rupts encountered in a low?level subroutine of a program. setjmp() saves the stack context/environment in env for later use by longjmp(). The stack context will be invalidated if the function which called setjmp() returns.
sigsetjmp() is similar to setjmp(). If savesigs is nonzero, the set of blocked signals is saved in env and will be restored if a siglongjmp() is later performed with this env.
|
so if the amigaos version of setjmp only pushes it back to stack, the that will fall and be strick violation to, function calls.
this is from manual pages inn linux about longjmp
Quote:
NAME longjmp, siglongjmp non local jump to a saved stack context
|
_________________ http://lifeofliveforit.blogspot.no/ Facebook::LiveForIt Software for AmigaOS |
|
Status: Offline |
|
|