Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
83 user(s) are online (51 user(s) are browsing Forums)

Members: 1
Guests: 82

devils_advisor, more...

Support us!

Recent OS4 Files
OS4Depot.net




« 1 ... 8 9 10 (11)


Re: Porting to AmigaOS4 thread
Quite a regular
Joined:
2007/2/27 10:47
From Gravity well
Posts: 685
I'm at the limit of my understanding but...

@Raziel

Link library to Amiga shared library is not a compilation issue, more like a "translation" job for which there is unlikely to be a software solution. The assumptions required of each don't seem to match.

Even the header files look quite different, at least to me. One factor maybe that the commonly used variety is intended to work both within an executable file and loaded separately. This is rather on the OS level (AmigaOS 4: a mention of "shared object" in elf.library). Before the program runs one line. Amiga libraries are "opened" by the program and the OS only complies.

   Report Go to top

Re: Porting to AmigaOS4 thread
Home away from home
Joined:
2006/11/26 21:45
From a dying planet
Posts: 3719
@Thematic

Yes, i know, this was a total noob question, since i never tried or done anything like this.

In the meantime i learned, that it need to be done with
IDLTool and the help of an .xml file to create a skeleton which the .a/.so library is "linked" in somewhat.

Thats about all i know

_________________
People are dying.
Entire ecosystems are collapsing.
We are in the beginning of a mass extinction.
And all you can talk about is money and fairytales of eternal economic growth.
How dare you!
– Greta Thunberg
   Report Go to top

Re: Porting to AmigaOS4 thread
Home away from home
Joined:
2006/11/26 21:45
From a dying planet
Posts: 3719
Another noob question:

Address Sanitizer or (-l)asan should be available since gcc 4.8.

It doesn't work though
Quote:

Development:Coding/SDK/gcc/ppc-amigaos/bin/ld: cannot find -lasan


Is it the same case as with -lto, that it has to be turned on in our gcc builds, or do we have to have the corresponding library first to use it in compiling?

Sounds like a really good addition to me and if we could get it, i'd vouche for it.

_________________
People are dying.
Entire ecosystems are collapsing.
We are in the beginning of a mass extinction.
And all you can talk about is money and fairytales of eternal economic growth.
How dare you!
– Greta Thunberg
   Report Go to top

Re: Porting to AmigaOS4 thread
Home away from home
Joined:
2006/11/26 21:45
From a dying planet
Posts: 3719
@kas1e

Can you tell me if that crash is one of those dos.library not open type ones?
Crash log for task "ScummVM_SDL2_Shared"
Generated by GrimReaper 53.19
Crash occured in module libstdc
++.so at address 0x7C33C6E4
Type of crash
DSI (Data Storage Interruptexception
Alert number
0x80000003

Register dump
:
GPR (General Purpose Registers):
   
07C33809C 4995A300 3D408000 49666584 00000000 00000006 4963E10C 49E16798 
   8
49666584 49E16798 4995A348 00000008 000007A8 4966E398 00000000 4E74D340 
  16
7CAD3EE0 00000000 4F8F7010 4E01E7C8 02B30000 02B30000 00000000 00000001 
  24
6FF8C180 00000001 49E158D0 49666584 4963EFDC 00000000 496639F4 4B9E3E68 


FPR 
(Floating Point RegistersNaN Not a Number):
   
0:              nan                0                0                0 
   4
:                0               -1                1              0.5 
   8
:              300             0.04                0       4.5036e+15 
  12
:              480                0                0                0 
  16
:                0                0                0                0 
  20
:                0                0                0                0 
  24
:                0                0                0                0 
  28
:                0                0                0               -

FPSCR 
(Floating Point Status and Control Register): 0x82008000


SPRs 
(Special Purpose Registers):
           
Machine State (msr) : 0x0200B030
                Condition 
(cr) : 0x4B6C1AB4
      Instruction Pointer 
(ip) : 0x7C33C6E4
       Xtended Exception 
(xer) : 0x4AA64018
                   Count 
(ctr) : 0x6FF494D0
                     Link 
(lr) : 0x7FAE9920
            DSI Status 
(dsisr) : 0x4AA63DD0
            Data Address 
(dar) : 0x021AD048



680x0 emulated registers
:
DATA96F04E00 00000000 00000000 00000000 00000000 00000000 00000000 00000000 
ADDR
6FFB8700 96BC5B00 00000000 00000000 00000000 00000000 00000000 49959CA0 
FPU0
:                0                0                0                0 
FPU4
:                0                0                0                0 



Symbol info
:
Instruction pointer 0x7C33C6E4 belongs to module "libstdc++.so" (PowerPC
Symbol_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE 0xEC in section 11 offset 0x000068E4

Stack trace
:
    
Games:ScummVM/sobjs/libstdc++.so:_ZNK10__cxxabiv120__si_class_type_info12__do_dyncastEiNS_17__class_type_info10__sub_kindEPKS1_PKvS4_S6_RNS1_16__dyncast_resultE()+0xec (section 11 0x68E4)
    
Games:ScummVM/sobjs/libstdc++.so:__dynamic_cast()+0x94 (section 11 0x229C)
    
module ScummVM_SDL2_Shared at 0x7CC2E000 (section 4 0x2C5FDC)
    
module ScummVM_SDL2_Shared at 0x7CC2D048 (section 4 0x2C5024)
    
module ScummVM_SDL2_Shared at 0x7CC2D370 (section 4 0x2C534C)
    
module ScummVM_SDL2_Shared at 0x7CC2CDD4 (section 4 0x2C4DB0)
    
module ScummVM_SDL2_Shared at 0x7CC2D370 (section 4 0x2C534C)
    
module ScummVM_SDL2_Shared at 0x7CC2CDD4 (section 4 0x2C4DB0)
    
module ScummVM_SDL2_Shared at 0x7CC2E230 (section 4 0x2C620C)
    
module ScummVM_SDL2_Shared at 0x7CC59BF0 (section 4 0x2F1BCC)
    
module Games:ScummVM/plugins/libtitanic.so at 0x79A90450 (section 0 0x1ACC40)
    
module Games:ScummVM/plugins/libtitanic.so at 0x79A9A55C (section 0 0x1B6D4C)
    
module Games:ScummVM/plugins/libtitanic.so at 0x79A99160 (section 0 0x1B5950)
    
module Games:ScummVM/plugins/libtitanic.so at 0x79A98F2C (section 0 0x1B571C)
    
module Games:ScummVM/plugins/libtitanic.so at 0x79AA1C34 (section 0 0x1BE424)
    
module Games:ScummVM/plugins/libtitanic.so at 0x79AA0638 (section 0 0x1BCE28)
    
module Games:ScummVM/plugins/libtitanic.so at 0x798F5D54 (section 0 0x12544)
    
module Games:ScummVM/plugins/libtitanic.so at 0x798FA24C (section 0 0x16A3C)
    
module Games:ScummVM/plugins/libtitanic.so at 0x798FA420 (section 0 0x16C10)
    
module ScummVM_SDL2_Shared at 0x7CAD5660 (section 4 0x16D63C)
    
module ScummVM_SDL2_Shared at 0x7CAD69CC (section 4 0x16E9A8)
    
module ScummVM_SDL2_Shared at 0x7CAD4144 (section 4 0x16C120)
    
native kernel module newlib.library.kmod+0x000020a4
    native kernel module newlib
.library.kmod+0x00002d0c
    native kernel module newlib
.library.kmod+0x00002ee8
    ScummVM_SDL2_Shared
:_start()+0x170 (section 11 0x1AB8)
    
native kernel module dos.library.kmod+0x000255c8
    native kernel module kernel
+0x000420ac
    native kernel module kernel
+0x000420f4

PPC disassembly
:
 
7c33c6dc8361002c   lwz               r27,44(r1)
 
7c33c6e07c0803a6   mtlr              r0
*7c33c6e4816b001c   lwz               r11,28(r11)
 
7c33c6e883810030   lwz               r28,48(r1)
 
7c33c6ec83a10034   lwz               r29,52(r1)

System information:

CPU 
 Model
P.ASemi PWRficient PA6T-1682M VB1 
 CPU speed
1800 MHz 
 FSB speed
900 MHz 
 Extensions
altivec 

Machine 
 Machine name
AmigaOne X1000 
 Memory
2097152 KB 
 Extensions
bus.pci bus.pcie

And if yes, how can i determine it?
Just because dos.library is mentioned after _start() in the stack trace?

_________________
People are dying.
Entire ecosystems are collapsing.
We are in the beginning of a mass extinction.
And all you can talk about is money and fairytales of eternal economic growth.
How dare you!
– Greta Thunberg
   Report Go to top

Re: Porting to AmigaOS4 thread
Home away from home
Joined:
2007/9/11 12:31
From Russia
Posts: 6325
@Raziel
Quote:

Address Sanitizer

That one need llvm/clang and stuff

Quote:

And if yes, how can i determine it?
Just because dos.library is mentioned after _start() in the stack trace?


Usually when i see dos.library in stack trace and dar are 0x00000000, then yes. But in your example DAR seems different.

_________________
Join us to improve dopus5!
zerohero's mirror of os4/os3 crosscompiler suites
   Report Go to top

Re: Porting to AmigaOS4 thread
Home away from home
Joined:
2006/11/26 21:45
From a dying planet
Posts: 3719
@kas1e

Ah, ok, thanks

_________________
People are dying.
Entire ecosystems are collapsing.
We are in the beginning of a mass extinction.
And all you can talk about is money and fairytales of eternal economic growth.
How dare you!
– Greta Thunberg
   Report Go to top

Re: Porting to AmigaOS4 thread
Home away from home
Joined:
2006/11/26 21:45
From a dying planet
Posts: 3719
@all

Im trying to port a game engine that doesn't feature sound yet.

Though MorphOS does integrate it like this:
case AUDIO_S16MSB
format_str="S16MSB"
audioConfig.format AUDIO_FLOAT32_SIGNED_LSB;
audioConfig.bytesPerSample 4;
break;

While it compiles i get a crash on starting the game:
Crash log for task "cosmo_amigaos4"
Generated by GrimReaper 53.19
Crash occured in module cosmo_amigaos4 at address 0x7C5B6E20
Type of crash
DSI (Data Storage Interruptexception
Alert number
0x80000003

Register dump
:
GPR (General Purpose Registers):
07C5B8888 3AB1FC50 00000006 00000000 00000038 39AA52E0 295D4000 000D1F8F
8
00000001 00000000 00000008 000D35D7 000F4240 39A8DEB8 00000000 4DC5F680
16
7C4D8CB0 00000000 4CF5D280 39A6E098 02B30000 02B30000 00000000 00000001
24
6FF8C180 00000001 00003E68 3325FFB8 00000038 00000000 00000000 FFFFFFFF

FPR 
(Floating Point RegistersNaN Not a Number):
0nan -5.31401e+303 2.90111e+257 nan
4
: -5.31401e+303 -5.31401e+303 400 200
8
0 640 320 4.5036e+15
12
4.5036e+15 2.14748e+09 0 0
16
0 0 0 0
20
0 0 0 0
24
0 0 0 0
28
0 0 0 0

FPSCR 
(Floating Point Status and Control Register): 0x82004000

SPRs 
(Special Purpose Registers):
Machine State (msr) : 0x0200B030
Condition 
(cr) : 0x4870E064
Instruction Pointer 
(ip) : 0x7C5B6E20
Xtended Exception 
(xer) : 0x34979018
Count 
(ctr) : 0x6FF494D0
Link 
(lr) : 0x7FAE9920
DSI Status 
(dsisr) : 0x34978DD0
Data Address 
(dar) : 0x021AD048

680x0 emulated registers
:
DATA98F7A000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
ADDR
6FFB8700 98B43100 00000000 00000000 00000000 00000000 00000000 3AB1F730
FPU0
0 0 0 0
FPU4
0 0 0 0

Symbol info
:
Instruction pointer 0x7C5B6E20 belongs to module "cosmo_amigaos4" (PowerPC)
Symbol_Mix_remove_all_effects 0x24 in section 1 offset 0x000E6DFC

Stack trace
:
cosmo_amigaos4:_Mix_remove_all_effects()+0x24 (section 1 0xE6DFC)
cosmo_amigaos4:Mix_PlayChannelTimed()+0x1c4 (section 1 0xE8864)
cosmo_amigaos4:_Z8play_sfxi()+0xd0 (section 1 0x2C4FC)
cosmo_amigaos4:_Z9main_menuv()+0x238 (section 1 0x12FC0)
cosmo_amigaos4:main()+0x84 (section 1 0x8D10)
native kernel module newlib.library.kmod+0x000020a4
native kernel module newlib
.library.kmod+0x00002d0c
native kernel module newlib
.library.kmod+0x00002ee8
cosmo_amigaos4
:_start()+0x170 (section 1 0x1AB8)
native kernel module dos.library.kmod+0x000255c8
native kernel module kernel
+0x000420ac
native kernel module kernel
+0x000420f4

PPC disassembly
:
7c5b6e1893e1001c stw r31,28(r1)
7c5b6e1c41820074 beq0x7C5B6E90
*7c5b6e2083dc0000 lwz r30,0(r28)
7c5b6e247c7d1b78 mr r29,r3
7c5b6e28
2f9e0000 cmpwi cr7,r30,0


my make file is:
CXX        =    g++
CXXFLAGS=    -Wall -Wextra -`sdl2-config --cflags --static-libs
                -
std=gnu++11 -I/sdk/local/newlib/include/sdl2
SDL_LIBS
=    `sdl2-config --static-libs
            -
lSDL2_mixer -lflac -lvorbisfile -lvorbis -logg -lmikmod 
            
-lsmpeg2 -lmodplug 
            
-lSDL2main -lSDL2

OBJS    
=    src/actor.c src/actor.h src/main.c src/player.c src/player.
            src
/game.h src/game.c src/palette.c src/palette.h src/util.
            src
/util.c src/map.c src/map.h src/defines.h src/input.
            src
/input.h src/dialog.c src/dialog.h src/tile.c src/tile.
            src
/files/vol.c src/files/vol.h src/files/file.
            src
/files/file.h src/video.c src/video.h src/sound/music.
            src
/sound/music.h src/backdrop.c src/backdrop.h src/save.
            src
/save.h src/status.c src/status.h src/actor_worktype.
            src
/actor_worktype.h src/effects.c src/effects.
            src
/actor_collision.c src/actor_collision.h src/actor_toss.
            src
/actor_toss.h src/font.c src/font.h src/sound/sfx.
            src
/sound/sfx.h src/sound/audio.c src/sound/audio.
            src
/platforms.c src/platforms.h src/sound/opl.
            src
/sound/opl.h src/fullscreen_image.c src/fullscreen_image.
            src
/cartoon.c src/cartoon.h src/b800_font.h src/config.
            src
/config.h src/high_scores.c src/high_scores.h src/demo.
            src
/demo.h src/b800.c src/b800.h

cosmo_amigaos4
: $(OBJS)
        $(
CXX) $(LDFLAGS) -$@ $(OBJS) $(SDL_LIBS) -lm -lz -lpthread

clean
:
    
rm -f src/*.o cosmo_amigaos4


Any ideas?
Any noob stuff i have overlooked again?

See also this thread

Thank y'all

_________________
People are dying.
Entire ecosystems are collapsing.
We are in the beginning of a mass extinction.
And all you can talk about is money and fairytales of eternal economic growth.
How dare you!
– Greta Thunberg
   Report Go to top

Re: Porting to AmigaOS4 thread
Quite a regular
Joined:
2007/2/6 13:57
From Donostia (SPAIN)
Posts: 543
Does it work if you compile without audio?
Just add to audio.c a "return;" and compile:
...
void audio_init()
{
audioConfig.enabled = false;
return;
...

Here it works then fine (no audio), so maybe is some kind of problems with audio not correctly initialized or dunnot.


Try with this Makefile I modified from MorphOS version to use amigaso4 g++:

TARGET cosmo

LIBS 
= -athread=native -lSDL2_image -ltiff -lwebp -lpng -ljpeg -lz -lm -lSDL2_mixer -lmikmod -lmodplug -lFLAC -lsmpeg2 -lvorbisfile -lvorbis -logg -lSDL2 -lpthread
INCS 
= -Wall -gstabs -ISDK:Local/newlib/include/SDL2 -D__AMIGADATE__="`c:date LFORMAT %d.%m.%Y`" -D__MORPHOS__


.SRCS   =               src/actor.
                        src
/main.
                        src
/player.
                        src
/game.c src/palette.c src/util.
                        src
/map.c src/input.c src/dialog.c src/tile.
                        src
/files/vol.c src/files/file.c src/video.
                        src
/sound/music.c src/backdrop.c src/save.
                        src
/status.c src/actor_worktype.
                        src
/effects.c src/actor_collision.c src/actor_toss.
                        src
/font.c src/sound/sfx.c src/sound/audio.
                        src
/platforms.c src/sound/opl.c src/fullscreen_image.
                        src
/cartoon.c src/config.c src/high_scores.
                        src
/demo.c src/b800.

OBJS 
= $(.SRCS:.c=.o)

%.
o: %.
    ppc
-amigaos-g++ -O2 --$@ $< -Isrc $(INCS)

all: $(TARGET)

clean:
    -
rm -$(TARGET) $(OBJS

$(
TARGET): $(OBJS)
    
ppc-amigaos-g++ -O2 -$(TARGET) $(OBJS) $(LIBS)

   Report Go to top

Re: Porting to AmigaOS4 thread
Home away from home
Joined:
2006/11/26 21:45
From a dying planet
Posts: 3719
@jabirulo

Yes, it even plays without audio, but the idea is to get audio working

_________________
People are dying.
Entire ecosystems are collapsing.
We are in the beginning of a mass extinction.
And all you can talk about is money and fairytales of eternal economic growth.
How dare you!
– Greta Thunberg
   Report Go to top

Re: Porting to AmigaOS4 thread
Quite a regular
Joined:
2007/2/6 13:57
From Donostia (SPAIN)
Posts: 543
try this fast ugly recompile:
[EDIT: removed link]

I build under amigaos4 no crosscompiler was used (or harmed)


Edited by jabirulo on 2020/6/30 9:09:25
   Report Go to top

Re: Porting to AmigaOS4 thread
Home away from home
Joined:
2006/11/26 21:45
From a dying planet
Posts: 3719
@jabirulo

That works with sound, cool

Could you share your code changes to the github thread, please?

Also the Makefile seems to be from a completely different project...SDLPop and bin is called "prince", the objects doesn't match either...did that really work for you or was it an oversight?

And the game is still being sold, so you should probably remove the link.

_________________
People are dying.
Entire ecosystems are collapsing.
We are in the beginning of a mass extinction.
And all you can talk about is money and fairytales of eternal economic growth.
How dare you!
– Greta Thunberg
   Report Go to top

Re: Porting to AmigaOS4 thread
Not too shy to talk
Joined:
2007/3/30 18:39
Posts: 279
@Raziel

Quote:

Address Sanitizer or (-l)asan should be available since gcc 4.8.

It doesn't work though
Quote:


Development:Coding/SDK/gcc/ppc-amigaos/bin/ld: cannot find -lasan



Is it the same case as with -lto, that it has to be turned on in our gcc builds, or do we have to have the corresponding library first to use it in compiling?

Sounds like a really good addition to me and if we could get it, i'd vouche for it.


Sanitizers are fantastic tools! I use them as soon as I can (they made me able to send patches to ResidualVM codebase).

Unfortunately, on PPC, even on Linux, their support is not working AFAIK. The libasan is found but that crashes at execution.

I don't remember if I tried with clang (maybe I had other problems to get it working correctly, even without sanitizer options).

I should test again and provide a status.

Edit: Right now, I've just tested on Ubuntu 16.04 PPC with gcc 5.4 and got a valid error detected and reported by the asan sanitizer.


Edited by corto on 2020/6/30 10:23:42
   Report Go to top

Re: Porting to AmigaOS4 thread
Quite a regular
Joined:
2007/2/6 13:57
From Donostia (SPAIN)
Posts: 543
@Raziel

I used BeWorld github sources, so no changes, just added -D__MORPHOS__ to use BeWorld changes.

Oops I thought it was the shareware version/datas I was using.

Double ooops, use the makefile I put a few posts above, I added by mistake the one from PrinceOfPersia

EDIT:
just a few changes (with #ifdef __amigaos4__) in:
#search src/#? all __amigaos4__ quiet
Devel:SDK/ejemplos/cca/cosmo-engine-master/src/video.c
Devel:SDK/ejemplos/cca/cosmo-engine-master/src/video.h
Devel:SDK/ejemplos/cca/cosmo-engine-master/src/main.c
Devel:SDK/ejemplos/cca/cosmo-engine-master/src/input.h
Devel:SDK/ejemplos/cca/cosmo-engine-master/src/config.c
Devel:SDK/ejemplos/cca/cosmo-engine-master/src/files/vol.c
#

http://jabirulo.byethost13.com/temp/cosmo/cosmo_amigaos4.7z
(removed data files, only exec and BeWorld sources + changes)


Edited by jabirulo on 2020/6/30 11:25:58
Edited by jabirulo on 2020/6/30 12:39:42
   Report Go to top


« 1 ... 8 9 10 (11)



[Advanced Search]



Powered by XOOPS 2.0 © 2001-2016 The XOOPS Project