Click Here
home features news forums classifieds faqs links search
6071 members 
Amiga Q&A /  Free for All /  Emulation /  Gaming / (Latest Posts)
Login

Nickname

Password

Lost Password?

Don't have an account yet?
Register now!

Support Amigaworld.net
Your support is needed and is appreciated as Amigaworld.net is primarily dependent upon the support of its users.
Donate

Menu
Main sections
» Home
» Features
» News
» Forums
» Classifieds
» Links
» Downloads
Extras
» OS4 Zone
» IRC Network
» AmigaWorld Radio
» Newsfeed
» Top Members
» Amiga Dealers
Information
» About Us
» FAQs
» Advertise
» Polls
» Terms of Service
» Search

IRC Channel
Server: irc.amigaworld.net
Ports: 1024,5555, 6665-6669
SSL port: 6697
Channel: #Amigaworld
Channel Policy and Guidelines

Who's Online
23 crawler(s) on-line.
 59 guest(s) on-line.
 2 member(s) on-line.


 Hypex,  cdimauro

You are an anonymous user.
Register Now!
 Hypex:  50 secs ago
 cdimauro:  3 mins ago
 AmigaMac:  2 hrs 11 mins ago
 JimS:  4 hrs 22 mins ago
 Hans:  4 hrs 36 mins ago
 RobertB:  5 hrs 13 mins ago
 agami:  5 hrs 38 mins ago
 A1200:  5 hrs 39 mins ago
 Kremlar:  5 hrs 59 mins ago
 amigakit:  6 hrs 8 mins ago

/  Forum Index
   /  Amiga Development
      /  I'm trying to port mplayer
Register To Post

Goto page ( Previous Page 1 | 2 )
PosterThread
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
Profile     Report this post  
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
Profile     Report this post  
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
Profile     Report this post  
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
Profile     Report this post  
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
Profile     Report this post  
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
Profile     Report this post  
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

@NutsAboutAmiga

Or maybe setjmp, longjmp is not working.... on AmigaOS

_________________
http://lifeofliveforit.blogspot.no/
Facebook::LiveForIt Software for AmigaOS

 Status: Offline
Profile     Report this post  
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
Profile     Report this post  
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
Profile     Report this post  
Goto page ( Previous Page 1 | 2 )

[ home ][ about us ][ privacy ] [ forums ][ classifieds ] [ links ][ news archive ] [ link to us ][ user account ]
Copyright (C) 2000 - 2019 Amigaworld.net.
Amigaworld.net was originally founded by David Doyle