Who's Online
104 user(s) are online (
99 user(s) are browsing
Forums )
Members: 0
Guests: 104
more...
Topic options
View mode
Newest First
Re: Porting to AmigaOS4 thread
Posted on:
2020/11/21 18:32
#241
Just can't stay away
Joined: 2007/2/6 13:57Last Login
: 11/16 10:39
From Donostia (SPAIN)
Group:
Registered Users
@Raziel No problem. As said, will post my code/source I used in/with CodesetsConvertStr().
Re: Porting to AmigaOS4 thread
Posted on:
2020/11/21 18:33
#242
Home away from home
Joined: 2006/11/26 21:45Last Login
: Yesterday 23:10
From a dying planet
Group:
Registered Users
@jabirulo Thank you
Re: Porting to AmigaOS4 thread
Posted on:
2020/11/22 10:43
#243
Just can't stay away
Joined: 2007/2/6 13:57Last Login
: 11/16 10:39
From Donostia (SPAIN)
Group:
Registered Users
@Raziel
Ok, here is code "converted", dunnot if it will crash/GR or make your system burn
#if defined(__amigaos4__) && defined(USE_SYSDIALOGS)
#include "backends/dialogs/amigaos/amigaos-dialogs.h"
#include "common/config-manager.h"
#include "common/encoding.h"
#include <proto/codesets.h>
//#include <libraries/codesets.h>
#include <proto/asl.h>
#include <proto/dos.h>
#include <proto/exec.h>
#include <cstring>
#include <cstdlib>
struct Library * CodesetsBase = NULL ;
struct CodesetsIFace * ICodesets = NULL ;
char * AmigaOSDialogManager :: utf8ToLocal ( char * in ) {
if (! in ) {
return strdup ( "" );
}
CodesetsBase = IExec -> OpenLibrary ( "codesets.library" , 6 );
if ( CodesetsBase ) {
ICodesets = ( CodesetsIFace *) IExec -> GetInterface ( CodesetsBase , "main" , 1L , NULL );
struct codeset * srcmib = ICodesets -> CodesetsFind ( "ISO-8859-1" , CSA_FallbackToDefault , FALSE , TAG_DONE );
//LONG dstmib = CSA_DestCodeset(NULL, 0);
struct codeset * dstmib = ICodesets -> CodesetsFind ( "UTF-8" , CSA_FallbackToDefault , FALSE , TAG_DONE );
//if (dstmib != CS_MIBENUM_INVALID) {
if( dstmib != NULL ) {
//LONG dstlen = FSGetByteSize((APTR)in, -1, CS_MIBENUM_UTF_8, dstmib);
ULONG dstlen = ICodesets -> CodesetsStrLen ( in , TAG_END );
char * out = ( char *) malloc ( dstlen + 1 );
if ( out ) {
if( ( out = ICodesets -> CodesetsConvertStr ( CSA_SourceCodeset , srcmib ,
CSA_DestCodeset , dstmib ,
CSA_Source , in ,
//CSA_DestLenPtr, &dstlen,
TAG_DONE )) != NULL ) {
//if (ConvertTagList((APTR)in, -1, (APTR)out, -1, CS_MIBENUM_UTF_8, dstmib, NULL) != -1) {
IExec -> DropInterface ( ( struct Interface *) ICodesets );
ICodesets = NULL ;
IExec -> CloseLibrary ( CodesetsBase );
CodesetsBase = NULL ;
return out ;
}
free ( out );
}
}
IExec -> DropInterface ( ( struct Interface *) ICodesets );
ICodesets = NULL ;
IExec -> CloseLibrary ( CodesetsBase );
CodesetsBase = NULL ;
}
return strdup ( in );
}
Re: Porting to AmigaOS4 thread
Posted on:
2020/11/22 11:49
#244
Home away from home
Joined: 2006/11/26 21:45Last Login
: Yesterday 23:10
From a dying planet
Group:
Registered Users
@jabirulo
Thank you very much
I now get only one more warning
C ++ backends / dialogs / amigaos / amigaos - dialogs . o
backends / dialogs / amigaos / amigaos - dialogs . cpp : In member function 'virtual Common::DialogManager::DialogResult AmigaOSDialogManager::showFileBrowser(const Common::U32String&, Common::FSNode&, bool)' :
backends / dialogs / amigaos / amigaos - dialogs . cpp : 111 : 56 : warning : cast from type 'const value_type*' { aka 'const char*' } to type 'char*' casts away qualifiers [- Wcast - qual ]
char * newTitle = utf8ToLocal (( char *) utf8Title . c_str ());
^
- i get a working exe with an asl requester opening
- closing the requester works too, but
after closing the requester once i can not open another instances
Can you spot the mistake?
struct Library * AslBase = IExec -> OpenLibrary ( AslName , 50 );
struct AslIFace * IAsl ;
Common :: DialogManager :: DialogResult AmigaOSDialogManager :: showFileBrowser (const Common :: U32String & title , Common :: FSNode & choice , bool isDirBrowser ) {
char pathBuffer [ MAXPATHLEN ];
Common :: String utf8Title = title . encode ();
DialogResult result = kDialogCancel ;
if ( AslBase ) {
IAsl = ( struct AslIFace *) IExec -> GetInterface ( AslBase , "main" , 1 , NULL );
struct FileRequester * fr = NULL ;
if ( ConfMan . hasKey ( "browser_lastpath" )) {
strncpy ( pathBuffer , ConfMan . get ( "browser_lastpath" ). c_str (), sizeof ( pathBuffer )- 1 );
}
fr = ( struct FileRequester *) IAsl -> AllocAslRequestTags ( ASL_FileRequest , TAG_DONE );
if (! fr )
return result ;
char * newTitle = utf8ToLocal (( char *) utf8Title . c_str ());
if ( IAsl -> AslRequestTags ( fr , ASLFR_TitleText , newTitle , ASLFR_RejectIcons , TRUE , ASLFR_InitialDrawer , pathBuffer , ASLFR_DrawersOnly , ( isDirBrowser ? TRUE : FALSE ), TAG_DONE )) {
if ( strlen ( fr -> fr_Drawer ) < sizeof ( pathBuffer )) {
strncpy ( pathBuffer , fr -> fr_Drawer , sizeof ( pathBuffer ));
if (! isDirBrowser ) {
IDOS -> AddPart ( pathBuffer , fr -> fr_File , sizeof ( pathBuffer ));
}
choice = Common :: FSNode ( pathBuffer );
ConfMan . set ( "browser_lastpath" , pathBuffer );
result = kDialogOk ;
}
free ( newTitle );
IAsl -> FreeAslRequest (( APTR ) fr );
}
IExec -> DropInterface (( struct Interface*) IAsl );
IAsl = NULL ;
IExec -> CloseLibrary ( AslBase );
AslBase = NULL ;
}
return result ;
}
Re: Porting to AmigaOS4 thread
Posted on:
2020/11/22 12:26
#245
Just can't stay away
Joined: 2007/7/14 21:30Last Login
: 11/3 18:55
From Lothric
Group:
Registered Users
@Raziel
Quote:
struct Library *AslBase = IExec->OpenLibrary(AslName, 50); Don't open the library here.
Quote:
Is enough. AslBase shall be initialized to nullptr because it's a global variable.
Then open the library inside the showFileBrowser(), instead of:
Quote:
AslBase = IExec->OpenLibrary(AslName, 50); if (AslBase) ...Cosmetic: probably those NULLs should be converted to nullptr (not sure, check ScummVM coding guidelines). nullptr is what modern C++ prefers.
Quote:
backends/dialogs/amigaos/amigaos-dialogs.cpp:111:56: warning: cast from type 'const value_type*' {aka 'const char*'} to type 'char*' casts away qualifiers [-Wcast-qual] char *newTitle = utf8ToLocal((char *)utf8Title.c_str()); Try to remove (char*) casting, it's bad. If utf8ToLocal doesn't modify "newTitle" cast unnecessary and in that case utf8ToLocal() should take "const char*" input parameter instead of "char*".
Re: Porting to AmigaOS4 thread
Posted on:
2020/11/22 14:10
#246
Home away from home
Joined: 2006/11/26 21:45Last Login
: Yesterday 23:10
From a dying planet
Group:
Registered Users
@Capehill
Thanks for the pointers, ASL window is now usable more than once.
Some more oddities:
1)
I have no files displayed in the ASL requester window.
Is that expected, since i'm only supposed to choose the directory?
It would be better if the directory entries could be displayed, otherwise the user doesn't know if it's an empty directory in the first place.
2)
I get a crash now when choosing a directory and clicking ok in the asl requester. The asl requestrer goes away, but then it bombs
Crash log for task "scummvm"
Generated by GrimReaper 53.19
Crash occured in module kernel at address 0x02003658
Type of crash : unknown exception
Alert number : 0x81000009
Register dump :
GPR ( General Purpose Registers ):
0 : 0201F758 425620F0 17191417 02003670 531E5970 0200B030 02A8824C 61BD1210
8 : 628CF360 00000001 00000000 0201DF6C 28842244 425E62C8 425E0000 4DAA9340
16 : 7E92E998 00000000 5048B9D0 50D1F470 44DFC60A 44DFC4C0 61B8C088 411F6E3C
24 : 00000001 425E0000 00000001 00000000 02A8B092 531E5970 531E5970 02973054
FPR ( Floating Point Registers , NaN = Not a Number ):
0 : 1628 nan nan - 4.4678e+307
4 : - 5.31401e+303 - 6.90452e+282 981 128
8 : 529 1628 52 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 ) : 0x4D310374
Instruction Pointer ( ip ) : 0x02003658
Xtended Exception ( xer ) : 0x411D3018
Count ( ctr ) : 0x6FF494D0
Link ( lr ) : 0x7FAD9920
DSI Status ( dsisr ) : 0x411D2DD0
Data Address ( dar ) : 0x021AD048
680x0 emulated registers :
DATA : 00000001 00000000 00000000 00000000 00000000 00000000 00000000 00000000
ADDR : 6FFB8700 971D2500 00000000 00000000 00000000 00000000 00000000 42560F20
FPU0 : 0 0 0 0
FPU4 : 0 0 0 0
Symbol info :
Instruction pointer 0x02003658 belongs to module "kernel" ( HUNK / Kickstart )
Stack trace :
native kernel module kernel + 0x00003658
native kernel module kernel + 0x0001f760
native kernel module newlib . library . kmod + 0x00011714
native kernel module newlib . library . kmod + 0x00005e2c
[ backends / dialogs / amigaos / amigaos - dialogs . cpp : 127 ] scummvm : _ZN20AmigaOSDialogManager15showFileBrowserERKN6Common9U32StringERNS0_6FSNodeEb ()+ 0x1f8 ( section 1 @ 0x3286C4 )
[ gui / browser . cpp : 92 ] scummvm : _ZN3GUI13BrowserDialog8runModalEv ()+ 0x100 ( section 1 @ 0x2BBE80 )
[ gui / launcher . cpp : 371 ] scummvm : _ZN3GUI14LauncherDialog7addGameEv ()+ 0x128 ( section 1 @ 0x254350 )
[ gui / launcher . cpp : 656 ] scummvm : _ZN3GUI14LauncherDialog13handleCommandEPNS_13CommandSenderEmm ()+ 0x414 ( section 1 @ 0x256A64 )
[ gui / widget . cpp : 55 ] scummvm : _ZN3GUI12ButtonWidget13handleMouseUpEiiii ()+ 0xa4 ( section 1 @ 0x2A4EB0 )
[ gui / widget . cpp : 511 ] scummvm : _ZN3GUI20DropdownButtonWidget13handleMouseUpEiiii ()+ 0x4c ( section 1 @ 0x2A510C )
[ gui / dialog . cpp : 228 ] scummvm : _ZN3GUI6Dialog13handleMouseUpEiiii ()+ 0x130 ( section 1 @ 0x24CC54 )
[ gui / gui - manager . cpp : 395 ] scummvm : _ZN3GUI10GuiManager7runLoopEv ()+ 0x1a4 ( section 1 @ 0x2505B8 )
[ gui / dialog . cpp : 77 ] scummvm : _ZN3GUI6Dialog8runModalEv ()+ 0x44 ( section 1 @ 0x24C864 )
[ base / main . cpp : 106 ] scummvm : _ZL14launcherDialogv ()+ 0xe4 ( section 1 @ 0x67850 )
[ base / main . cpp : 537 ] scummvm : scummvm_main ()+ 0x2700 ( section 1 @ 0x69FAC )
[ backends / platform / sdl / amigaos / amigaos - main . cpp : 79 ] scummvm : main ()+ 0x12c ( section 1 @ 0x66AA0 )
native kernel module newlib . library . kmod + 0x000020a4
native kernel module newlib . library . kmod + 0x00002d0c
native kernel module newlib . library . kmod + 0x00002ee8
scummvm : _start ()+ 0x170 ( section 1 @ 0x1AB8 )
native kernel module dos . library . kmod + 0x000255c8
native kernel module kernel + 0x000420ac
native kernel module kernel + 0x000420f4
PPC disassembly :
02003650 : 60633670 ori r3 , r3 , 13936
02003654 : 44000022 . word 0x44000022
*02003658: 4e800020 blr
0200365c : 7c641b78 mr r4 , r3
02003660 : 3c600200 lis r3 , 512
System information :
CPU
Model : P . A . Semi 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
Expansion buses
PCI / AGP
00 : 1D.0 Vendor 0x1959 Device 0xA004
Range 0 : 007F03F8 - 007F0400 ( IO )
00 : 1D.1 Vendor 0x1959 Device 0xA004
Range 0 : 007F02F8 - 007F0300 ( IO )
00 : 1A.0 Vendor 0x1959 Device 0xA007
00 : 00.0 Vendor 0x1959 Device 0xA001
00 : 01.0 Vendor 0x1959 Device 0xA009
00 : 14.3 Vendor 0x1959 Device 0xA005
00 : 1C.0 Vendor 0x1959 Device 0xA003
Range 0 : 007F0200 - 007F0240 ( IO )
00 : 1C.1 Vendor 0x1959 Device 0xA003
Range 0 : 007F0240 - 007F0280 ( IO )
00 : 1C.2 Vendor 0x1959 Device 0xA003
Range 0 : 007F0280 - 007F02C0 ( IO )
00 : 11.3 Vendor 0x1959 Device 0xA002
00 : 11.2 Vendor 0x1959 Device 0xA002
00 : 11.1 Vendor 0x1959 Device 0xA002
00 : 11.0 Vendor 0x1959 Device 0xA002
00 : 10.2 Vendor 0x1959 Device 0xA002
00 : 10.0 Vendor 0x1959 Device 0xA002
00 : 03.0 Vendor 0x1959 Device 0xA00C
00 : 04.0 Vendor 0x1959 Device 0xA00A
00 : 05.0 Vendor 0x1959 Device 0xA00A
00 : 08.0 Vendor 0x1959 Device 0xA000
00 : 09.0 Vendor 0x1959 Device 0xA000
00 : 15.0 Vendor 0x1959 Device 0xA006
00 : 1B.0 Vendor 0x1959 Device 0xA00B
00 : 1E.0 Vendor 0x1959 Device 0xA008
Range 0 : 007F0400 - 007F0500 ( IO )
Range 1 : 007F0500 - 007F0600 ( IO )
0A : 12.0 Vendor 0x1002 Device 0x4380
Range 0 : 00001030 - 00001038 ( IO )
Range 1 : 00001050 - 00001054 ( IO )
Range 2 : 00001048 - 00001050 ( IO )
Range 3 : 00001058 - 0000105C ( IO )
Range 4 : 00001020 - 00001030 ( IO )
0A : 13.0 Vendor 0x1002 Device 0x4387
Range 0 : A0306000 - A0307000 ( MEM )
0A : 13.1 Vendor 0x1002 Device 0x4388
Range 0 : A0307000 - A0308000 ( MEM )
0A : 13.2 Vendor 0x1002 Device 0x4389
Range 0 : A0308000 - A0309000 ( MEM )
0A : 13.3 Vendor 0x1002 Device 0x438A
Range 0 : A0305000 - A0306000 ( MEM )
0A : 13.4 Vendor 0x1002 Device 0x438B
Range 0 : A0304000 - A0305000 ( MEM )
0A : 13.5 Vendor 0x1002 Device 0x4386
Range 0 : A0309800 - A0309900 ( MEM )
0A : 14.0 Vendor 0x1002 Device 0x4385
Range 0 : 00001000 - 00001010 ( IO )
Range 1 : A0309400 - A0309800 ( MEM )
0A : 14.1 Vendor 0x1002 Device 0x438C
Range 0 : 00001040 - 00001048 ( IO )
Range 1 : 00001058 - 0000105C ( IO )
Range 2 : 00001038 - 00001040 ( IO )
Range 3 : 00001050 - 00001054 ( IO )
Range 4 : 00001010 - 00001020 ( IO )
0A : 14.2 Vendor 0x1002 Device 0x4383
Range 0 : A0300000 - A0304000 ( MEM )
0A : 14.3 Vendor 0x1002 Device 0x438D
Range 0 : 00000000 - 00100000 ( MEM )
0A : 14.4 Vendor 0x1002 Device 0x4384
06 : 00.0 Vendor 0x10EC Device 0x8168
Range 0 : 00003000 - 00003100 ( IO )
Range 2 : A0104000 - A0105000 ( MEM )
Range 4 : A0100000 - A0104000 ( PREF . MEM )
02 : 00.0 Vendor 0x1002 Device 0x679A
Range 0 : 90000000 - A0000000 ( PREF . MEM )
Range 2 : A0000000 - A0040000 ( MEM )
Range 4 : 00002000 - 00002100 ( IO )
02 : 00.1 Vendor 0x1002 Device 0xAAA0
Range 0 : A0060000 - A0064000 ( MEM )
Libraries
0x628c6418 : ISO - 8859 - 15.charset V52.1
0x628c6318 : english - british_ISO - 8859 - 15.language V52.1
0x02a8b092 : exec . library V53.89
0x6140a8e8 : camdmidi . usbfd V53.5
0x6feab508 : cgxvideo . library V42.1
0x5058db68 : PCI_SoundCardHornet . driver V52.2
0x5058d6e8 : PCI_sblive . pci V52.1
0x5058d7a8 : PCI_Soundcard . driver V52.2
0x5058d3e8 : PCI_GamePortHornet . driver V52.2
0x5058d268 : PCI_GamePort . driver V53.1
0x5058d628 : Generic_usb . driver V53.3
0x5058d0e8 : Generic_Mouse . driver V52.1
0x50c4b9d8 : AmigaInput . library V53.3
0x4b5c54a8 : minigl . library V2.24
0x50302bd0 : Warp3D . library V53.27
0x50618358 : W3D_Permedia2 . library V53.4
0x506181d8 : W3D_Napalm . library V53.1
0x50618958 : W3D_Avenger . library V53.1
0x6124f448 : W3D_SI . library V1.14
0x4f53b0d8 : W3D_Picasso96 . library V53.12
0x4f547f30 : palette . gadget V53.6
0x4f53b040 : TextEditor . mcc V15.54
0x4f547e90 : TheButton . mcc V26.20
0x4f547df0 : TheBar . mcc V26.20
0x5bc3fe90 : Busy . mcc V21.23
0x5bc3fd50 : String . mui V21.45
0x5bc3fcb0 : Popasl . mui V21.27
0x5bc3fb70 : Pendisplay . mui V21.23
0x5bc3fa30 : Poppen . mui V21.22
0x5bc3f850 : Gauge . mui V21.22
0x5bc3f7b0 : Listtree . mcc V21.33
0x4f5c6498 : muigfx . library V21.23
0x4f4e368c : muimaster . library V21.200
0x502dde74 : amigaguide . datatype V53.6
0x4f4f10d4 : amigaguide . library V53.8
0x504b133c : codesets . library V6.21
0x543c5728 : update . library V53.18
0x542aef50 : expat . library V53.6
0x5bc3f2b0 : fuelgauge . gadget V53.8
0x54314a38 : pthreads . library V53.11
0x6157b7d8 : timesync . library V53.7
0x5bc3f210 : jpeg . datatype V53.7
0x5bf6b168 : X1kTemp . docky V53.10
0x5c087b88 : DateTime . docky V52.11
0x61973580 : datebrowser . gadget V53.7
0x5bf73990 : texteditor . gadget V53.24
0x5c331158 : KeymapSwitcher . docky V52.3
0x619e4f28 : NetDock . docky V51.6
0x61c24858 : GFXDock . docky V50.4
0x6198b548 : RAMDock . docky V50.4
0x6198bac8 : CPUDock . docky V50.5
0x619e3eb8 : SMARTDock . docky V53.2
0x619e3db8 : Separator . docky V53.2
0x619e3cb8 : smartsubdock . docky V50.8
0x619e3b38 : Spacer . docky V53.2
0x5d2b6738 : smartbutton . docky V50.8
0x61fa4eb0 : getcolor . gadget V53.10
0x61afd210 : gradientslider . gadget V53.6
0x61afd354 : colorwheel . gadget V53.7
0x61fa7c38 : radiobutton . gadget V53.9
0x5d23b490 : shared . image V2.1
0x61fa7b78 : speedbar . gadget V53.12
0x61a4c024 : clipview . library V1.10
0x628cce80 : slider . gadget V53.15
0x61e4f760 : requester .class V53.18
0x628ccd40 : getfont . gadget V53.9
0x628ccca0 : getfile . gadget V53.12
0x628ccac0 : integer . gadget V53.12
0x61fa7638 : clicktab . gadget V53.44
0x5d3aadf8 : chooser . gadget V53.21
0x628cca20 : penmap . image V53.5
0x61fabed0 : anim . gadget V53.1
0x628cc980 : checkbox . gadget V53.9
0x61fabc48 : progressbar . gadget V53.12
0x628cc7a0 : arexx .class V53.5
0x628cc2a0 : bitmap . image V53.9
0x628cc5c0 : space . gadget V53.6
0x5d3aa568 : hdaudio . audio V6.23
0x6fef11c8 : listbrowser . gadget V53.62
0x6fef79e0 : string . gadget V53.20
0x628cc160 : scroller . gadget V53.14
0x5dc691a8 : filesave . audio V6.5
0x600d6d34 : device . audio V6.2
0x62b26aa4 : usergroup . library V4.30
0x600fea60 : bsdsocket . library V4.307
0x603e42d0 : ilbm . datatype V53.3
0x60e149f8 : wav . datatype V54.4
0x60e14ae8 : sound . datatype V54.6
0x60e14934 : mpega . library V2.4
0x60e16420 : mathieeedoubbas . library V52.1
0x61216efc : textclip . library V53.1
0x61218588 : usbhidgate . library V53.2
0x62904a5c : xadmaster . library V13.2
0x61877984 : xpkmaster . library V5.2
0x618779fc : hid . usbfd V53.12
0x613e2324 : camd . library V53.6
0x615820c0 : button . gadget V53.21
0x61582160 : glyph . image V53.3
0x61871e50 : window .class V54.7
0x6179fbb8 : popupmenu .class V53.2
0x610e6578 : popupmenu . library V53.11
0x628c7f50 : label . image V53.13
0x628c7eb0 : drawlist . image V53.3
0x6feab5f8 : layout . gadget V54.2
0x6179fac0 : bevel . image V53.6
0x628c7d70 : png . datatype V53.10
0x62b16264 : picture . datatype V53.7
0x618713f4 : asl . library V53.49
0x62b5e9d8 : timezone . library V53.8
0x628de408 : application . library V53.12
0x628dd17c : ft2 . library V53.2
0x62b22250 : Picasso96API . library V54.9
0x6fef808c : workbench . library V53.53
0x628e35c0 : gadtools . library V53.7
0x628c80cc : commodities . library V53.7
0x62b52140 : datatypes . library V54.6
0x62dded74 : png . iconmodule V53.1
0x628d60cc : icon . library V53.16
0x6fdc2920 : z . library V53.9
0x6ff8e118 : version . library V53.15
0x62b29490 : iffparse . library V53.1
0x6ffb9ccc : locale . library V54.2
0x6ff3d7ac : diskfont . library V53.9
0x6fd53e68 : petunia . library V53.6
0x6fd53da8 : diskcache . library V3.31
0x6fe97220 : dos . library V53.158
0x6fdc20a4 : usbprivate . library V53.12
0x6fef4f3c : massstorage . usbfd V53.83
0x6feabe4c : hub . usbfd V53.10
0x6fef4ea8 : bootkeyboard . usbfd V52.3
0x6fef4e28 : bootmouse . usbfd V53.3
0x6fef4d28 : mounter . library V53.19
0x6feab7fc : usbresource . library V53.12
0x6ff8f5b8 : hunk . library V53.4
0x6feab6f4 : elf . library V53.27
0x6ff494d0 : intuition . library V54.26
0x6ff622c0 : keymap . library V53.9
0x6ff3e5a0 : cybergraphics . library V43.0
0x6ff8e9a0 : RadeonHD . chip V3.6
0x6ffb8420 : graphics . library V54.156
0x6fffe4f0 : layers . library V54.12
0x6ff34150 : rtg . library V54.89
0x6ff8e824 : PCIGraphics . card V53.15
0x6ff8f0e4 : nonvolatile . library V53.5
0x6ffab258 : newlib . library V53.30
0x6ff8d1ac : utility . library V54.1
0x6ffa8398 : expansion . library V53.1
0x6126191e : rexxsyslib . library V53.4 ( Legacy )
Devices
0x5d206744 : netprinter . device V1.15 ( Legacy )
0x6198b454 : printer . device V53.1
0x6196f3b4 : serial . device V54.1
0x5d23ba34 : clipboard . device V53.3
0x6024acf4 : ahi . device V6.6
0x600d6468 : rtl8169 . device V53.4
0x615654a4 : diskimage . device V53.4
0x6ff8dd10 : usbsys . device V53.12
0x6ff8fb90 : ehci . usbhcd V53.24
0x6ff8faf0 : ohci . usbhcd V53.21
0x6ff3c664 : cfide . device V53.0
0x6fef45b4 : sb600sata . device V53.20
0x6ff8d448 : console . device V53.99
0x6ff3c3f0 : ramdrive . device V52.6
0x6ff6250c : input . device V53.5
0x6ff3d3b4 : keyboard . device V53.11
0x6ff3c050 : timer . device V53.2
Tasks
AmiDock ( Waiting )
Stack : 0x61c86004 - 0x61c95ffc , pointer @ 0x61c95910 ( Cookie OK )
Signals : SigRec 0x00000100 , SigWait 0x00180000
State : Process ( Waiting )
rhd_gc ( Waiting )
Stack : 0x6fea2000 - 0x6feaa000 , pointer @ 0x6fea9f40 ( Cookie OK )
Signals : SigRec 0x80000001 , SigWait 0x00000000
State : Task ( Waiting )
ahi . device Unit Process ( Waiting )
Stack : 0x620b8004 - 0x620c7ffc , pointer @ 0x620c7f20 ( Cookie OK )
Signals : SigRec 0xf000c000 , SigWait 0x00000100
State : Process ( Waiting )
MiniGL watch - dog ( Waiting )
Stack : 0x44cd7004 - 0x44ce6ffc , pointer @ 0x44ce6ec0 ( Cookie OK )
Signals : SigRec 0xc0001000 , SigWait 0x00000000
State : Process ( Waiting )
camdmidi . usbfd ( Waiting )
Stack : 0x6137d004 - 0x6138cffc , pointer @ 0x6138cf60 ( Cookie OK )
Signals : SigRec 0x60001000 , SigWait 0x00000100
State : Process ( Waiting )
ClickToFront ( Waiting )
Stack : 0x61bd9004 - 0x61be8ffc , pointer @ 0x61be89f0 ( Cookie OK )
Signals : SigRec 0xc000d000 , SigWait 0x00000100
State : Process ( Waiting )
input . device ( Waiting )
Stack : 0x6fe82000 - 0x6fe92000 , pointer @ 0x6fe91f00 ( Cookie OK )
Signals : SigRec 0x80000000 , SigWait 0x00000000
State : Task ( Waiting )
sound . datatype process ( Waiting )
Stack : 0x41d48004 - 0x41d67ffc , pointer @ 0x41d67e40 ( Cookie OK )
Signals : SigRec 0x80001000 , SigWait 0x40002000
State : Process ( Waiting )
sound . datatype process ( Waiting )
Stack : 0x46846004 - 0x46865ffc , pointer @ 0x46865e40 ( Cookie OK )
Signals : SigRec 0x80001000 , SigWait 0x40002000
State : Process ( Waiting )
SFS DosList handler ( Waiting )
Stack : 0x6307e004 - 0x63081ffc , pointer @ 0x63081f20 ( Cookie OK )
Signals : SigRec 0x80000000 , SigWait 0x00000000
State : Process ( Waiting )
USB stack ( Waiting )
Stack : 0x6fe9a000 - 0x6fe9e000 , pointer @ 0x6fe9df20 ( Cookie OK )
Signals : SigRec 0xf8007000 , SigWait 0x00000000
State : Task ( Waiting )
OHCI Controller Task Unit 0 ( Waiting )
Stack : 0x6fdb9000 - 0x6fdc1000 , pointer @ 0x6fdc0f10 ( Cookie OK )
Signals : SigRec 0xbc009000 , SigWait 0x00000000
State : Task ( Waiting )
OHCI Controller Task Unit 1 ( Waiting )
Stack : 0x6fd91000 - 0x6fd99000 , pointer @ 0x6fd98f10 ( Cookie OK )
Signals : SigRec 0xbc009000 , SigWait 0x00000000
State : Task ( Waiting )
OHCI Controller Task Unit 2 ( Waiting )
Stack : 0x6fd75000 - 0x6fd7d000 , pointer @ 0x6fd7cf10 ( Cookie OK )
Signals : SigRec 0xbc009000 , SigWait 0x00000000
State : Task ( Waiting )
OHCI Controller Task Unit 4 ( Waiting )
Stack : 0x6fd31000 - 0x6fd39000 , pointer @ 0x6fd38f10 ( Cookie OK )
Signals : SigRec 0xbc009000 , SigWait 0x00000000
State : Task ( Waiting )
OHCI Controller Task Unit 3 ( Waiting )
Stack : 0x6fd49000 - 0x6fd51000 , pointer @ 0x6fd50f10 ( Cookie OK )
Signals : SigRec 0xbc009000 , SigWait 0x00000000
State : Task ( Waiting )
EHCI Controller Task Unit 0 ( Waiting )
Stack : 0x6fd05000 - 0x6fd0d000 , pointer @ 0x6fd0cf10 ( Cookie OK )
Signals : SigRec 0xbe009000 , SigWait 0x00000000
State : Task ( Waiting )
page_sweep ( Waiting )
Stack : 0x6fde8004 - 0x6fdefffc , pointer @ 0x6fdefe90 ( Cookie OK )
Signals : SigRec 0x80000000 , SigWait 0x00000000
State : Task ( Waiting )
sb600sata . device - chip 0 port 0 ( Waiting )
Stack : 0x6fe48000 - 0x6fe50000 , pointer @ 0x6fe4ff20 ( Cookie OK )
Signals : SigRec 0xc0000000 , SigWait 0x20000000
State : Task ( Waiting )
cfide . device task ( Waiting )
Stack : 0x6fdf0000 - 0x6fdf8000 , pointer @ 0x6fdf7f40 ( Cookie OK )
Signals : SigRec 0xc0000000 , SigWait 0x00000000
State : Task ( Waiting )
sb600sata . device - chip 0 port 1 ( Waiting )
Stack : 0x6fe18000 - 0x6fe20000 , pointer @ 0x6fe1ff20 ( Cookie OK )
Signals : SigRec 0xc0000000 , SigWait 0x20008000
State : Task ( Waiting )
hid . usbfd ( Waiting )
Stack : 0x61365004 - 0x6136cffc , pointer @ 0x6136ce90 ( Cookie OK )
Signals : SigRec 0xe0000000 , SigWait 0x00000100
State : Process ( Waiting )
HID Mouse ( Waiting )
Stack : 0x611e5004 - 0x611f4ffc , pointer @ 0x611f4f20 ( Cookie OK )
Signals : SigRec 0x80001000 , SigWait 0x00000000
State : Process ( Waiting )
reaper . task ( Waiting )
Stack : 0x62c7f004 - 0x62c86ffc , pointer @ 0x62c86e50 ( Cookie OK )
Signals : SigRec 0x00007000 , SigWait 0x00000000
State : Process ( Waiting )
SSD0 / SmartFilesystem 1.293 ( Waiting )
Stack : 0x6fb1c004 - 0x6fb1fffc , pointer @ 0x6fb1feb0 ( Cookie OK )
Signals : SigRec 0xe0000100 , SigWait 0x10000000
State : Process ( Waiting )
ICD0 / CDFileSystem 53.4 ( Waiting )
Stack : 0x60f7f004 - 0x60f8effc , pointer @ 0x60f8ef30 ( Cookie OK )
Signals : SigRec 0x00000100 , SigWait 0x00000000
State : Process ( Waiting )
ICD1 / CDFileSystem 53.4 ( Waiting )
Stack : 0x6100b004 - 0x6101affc , pointer @ 0x6101af30 ( Cookie OK )
Signals : SigRec 0x00000100 , SigWait 0x00000000
State : Process ( Waiting )
CD0 / CDFileSystem 53.4 ( Waiting )
Stack : 0x63062004 - 0x63065ffc , pointer @ 0x63065f30 ( Cookie OK )
Signals : SigRec 0x00000100 , SigWait 0x00000000
State : Process ( Waiting )
SSD4 / SmartFilesystem 1.293 ( Waiting )
Stack : 0x62e6a004 - 0x62e6dffc , pointer @ 0x62e6deb0 ( Cookie OK )
Signals : SigRec 0xe0000100 , SigWait 0x10000000
State : Process ( Waiting )
SSD2 / SmartFilesystem 1.293 ( Waiting )
Stack : 0x62efc004 - 0x62effffc , pointer @ 0x62effeb0 ( Cookie OK )
Signals : SigRec 0xe0000100 , SigWait 0x10000000
State : Process ( Waiting )
SSD3 / SmartFilesystem 1.293 ( Waiting )
Stack : 0x62ebf004 - 0x62ec2ffc , pointer @ 0x62ec2eb0 ( Cookie OK )
Signals : SigRec 0xe0000100 , SigWait 0x10000000
State : Process ( Waiting )
SSD5 / SmartFilesystem 1.293 ( Waiting )
Stack : 0x62e1d004 - 0x62e20ffc , pointer @ 0x62e20eb0 ( Cookie OK )
Signals : SigRec 0xe0000100 , SigWait 0x10000000
State : Process ( Waiting )
SSD1 / SmartFilesystem 1.293 ( Waiting )
Stack : 0x62f51004 - 0x62f54ffc , pointer @ 0x62f54eb0 ( Cookie OK )
Signals : SigRec 0xe0000100 , SigWait 0x10000000
State : Process ( Waiting )
hid . usbfd ( Waiting )
Stack : 0x61359004 - 0x61360ffc , pointer @ 0x61360e90 ( Cookie OK )
Signals : SigRec 0xe0000000 , SigWait 0x00000100
State : Process ( Waiting )
HID Keyboard ( Waiting )
Stack : 0x61311004 - 0x61320ffc , pointer @ 0x61320f10 ( Cookie OK )
Signals : SigRec 0x90001000 , SigWait 0x00000000
State : Process ( Waiting )
RAM / ram - handler 53.172 ( Waiting )
Stack : 0x62b91004 - 0x62b94ffc , pointer @ 0x62b94d40 ( Cookie OK )
Signals : SigRec 0x80000000 , SigWait 0x00000100
State : Process ( Waiting )
SBU / SmartFilesystem 1.293 ( Waiting )
Stack : 0x62dd8004 - 0x62ddbffc , pointer @ 0x62ddbeb0 ( Cookie OK )
Signals : SigRec 0xe0000100 , SigWait 0x10000000
State : Process ( Waiting )
MainIPC0 / CrossDOSFileSystem 53.11 ( Waiting )
Stack : 0x60d6a004 - 0x60d79ffc , pointer @ 0x60d79eb0 ( Cookie OK )
Signals : SigRec 0x40000100 , SigWait 0x00000000
State : Process ( Waiting )
MainIPH0 / CrossDOSFileSystem 53.11 ( Waiting )
Stack : 0x61098004 - 0x610a7ffc , pointer @ 0x610a7eb0 ( Cookie OK )
Signals : SigRec 0x40000100 , SigWait 0x00000000
State : Process ( Waiting )
HID Consumer ( Waiting )
Stack : 0x611d1004 - 0x611e0ffc , pointer @ 0x611e0f20 ( Cookie OK )
Signals : SigRec 0x80001000 , SigWait 0x00000000
State : Process ( Waiting )
HID Consumer ( Waiting )
Stack : 0x612b5004 - 0x612c4ffc , pointer @ 0x612c4f20 ( Cookie OK )
Signals : SigRec 0x80001000 , SigWait 0x00000000
State : Process ( Waiting )
HID Keyboard ( Waiting )
Stack : 0x614ac004 - 0x614bbffc , pointer @ 0x614bbf10 ( Cookie OK )
Signals : SigRec 0x90001000 , SigWait 0x00000000
State : Process ( Waiting )
hid . usbfd ( Waiting )
Stack : 0x6134d004 - 0x61354ffc , pointer @ 0x61354e90 ( Cookie OK )
Signals : SigRec 0xe0000000 , SigWait 0x00000100
State : Process ( Waiting )
HID Keyboard ( Waiting )
Stack : 0x6126d004 - 0x6127cffc , pointer @ 0x6127cf10 ( Cookie OK )
Signals : SigRec 0x90001000 , SigWait 0x00000000
State : Process ( Waiting )
HID Keyboard ( Waiting )
Stack : 0x61299004 - 0x612a8ffc , pointer @ 0x612a8f10 ( Cookie OK )
Signals : SigRec 0x90001000 , SigWait 0x00000000
State : Process ( Waiting )
HID Keyboard ( Waiting )
Stack : 0x612e1004 - 0x612f0ffc , pointer @ 0x612f0f10 ( Cookie OK )
Signals : SigRec 0x90001000 , SigWait 0x00000000
State : Process ( Waiting )
hid . usbfd ( Waiting )
Stack : 0x61341004 - 0x61348ffc , pointer @ 0x61348e90 ( Cookie OK )
Signals : SigRec 0xe0000000 , SigWait 0x00000100
State : Process ( Waiting )
pager ( Waiting )
Stack : 0x62c5b004 - 0x62c7affc , pointer @ 0x62c7aef0 ( Cookie OK )
Signals : SigRec 0x80001000 , SigWait 0x00000000
State : Process ( Waiting )
IDF1 / FastFileSystem 53.2 ( Waiting )
Stack : 0x60ddb004 - 0x60deaffc , pointer @ 0x60deaed0 ( Cookie OK )
Signals : SigRec 0xa8000100 , SigWait 0x00000000
State : Process ( Waiting )
IDF0 / FastFileSystem 53.2 ( Waiting )
Stack : 0x60e1b004 - 0x60e2affc , pointer @ 0x60e2aed0 ( Cookie OK )
Signals : SigRec 0xa8000100 , SigWait 0x00000000
State : Process ( Waiting )
WinFrame 1 Process ( Waiting )
Stack : 0x5030a004 - 0x50349ffc , pointer @ 0x50349eb0 ( Cookie OK )
Signals : SigRec 0xff800000 , SigWait 0x00000000
State : Process ( Waiting )
SDL thread SDLAudioP1 ( 0x418de5d8 ) ( Waiting )
Stack : 0x43210004 - 0x43403ffc , pointer @ 0x43403eb0 ( Cookie OK )
Signals : SigRec 0x40000000 , SigWait 0x00000000
State : Process ( Waiting )
rtl8169 . device.0 ( Waiting )
Stack : 0x5bb20004 - 0x5bb2fffc , pointer @ 0x5bb2ff00 ( Cookie OK )
Signals : SigRec 0x78008000 , SigWait 0x00000100
State : Process ( Waiting )
IPC0 / CrossDOSFileSystem 53.11 ( Waiting )
Stack : 0x60d86004 - 0x60d95ffc , pointer @ 0x60d95ee0 ( Cookie OK )
Signals : SigRec 0x00010100 , SigWait 0x00000000
State : Process ( Waiting )
IPH0 / CrossDOSFileSystem 53.11 ( Waiting )
Stack : 0x610f2004 - 0x61101ffc , pointer @ 0x61101ee0 ( Cookie OK )
Signals : SigRec 0x00010100 , SigWait 0x00000000
State : Process ( Waiting )
ICBM0 / CBM1541FileSystem 2.3 ( Waiting )
Stack : 0x61172004 - 0x61181ffc , pointer @ 0x61181f20 ( Cookie OK )
Signals : SigRec 0xb0000000 , SigWait 0x00000100
State : Process ( Waiting )
ICBM1 / CBM1541FileSystem 2.3 ( Waiting )
Stack : 0x61517004 - 0x61526ffc , pointer @ 0x61526f20 ( Cookie OK )
Signals : SigRec 0xb0000000 , SigWait 0x00000100
State : Process ( Waiting )
CON / con - handler 53.78 ( Waiting )
Stack : 0x5037e004 - 0x5038dffc , pointer @ 0x5038de20 ( Cookie OK )
Signals : SigRec 0xb0000100 , SigWait 0x00000000
State : Process ( Waiting )
dos_filedir_notify ( Waiting )
Stack : 0x6fb5d004 - 0x6fb60ffc , pointer @ 0x6fb60ad0 ( Cookie OK )
Signals : SigRec 0x40001000 , SigWait 0x80000000
State : Process ( Waiting )
ENV / env - handler 54.5 ( Waiting )
Stack : 0x62c53004 - 0x62c56ffc , pointer @ 0x62c56ef0 ( Cookie OK )
Signals : SigRec 0x80000000 , SigWait 0x00000100
State : Process ( Waiting )
URL / launch - handler 53.38 ( Waiting )
Stack : 0x60e58004 - 0x60ed2ffc , pointer @ 0x60ecefb0 ( Cookie OK )
Signals : SigRec 0x80000000 , SigWait 0x00000100
State : Process ( Waiting )
RANDOM / Random - Handler 52.1 ( Waiting )
Stack : 0x60efb004 - 0x60f0affc , pointer @ 0x60f0aef0 ( Cookie OK )
Signals : SigRec 0x00000100 , SigWait 0x00000000
State : Process ( Waiting )
CON / con - handler 53.78 ( Waiting )
Stack : 0x5088d004 - 0x5089cffc , pointer @ 0x5089ce20 ( Cookie OK )
Signals : SigRec 0xa0000100 , SigWait 0x00000000
State : Process ( Waiting )
CON / con - handler 53.78 ( Waiting )
Stack : 0x61c6a004 - 0x61c79ffc , pointer @ 0x61c79e20 ( Cookie OK )
Signals : SigRec 0xa0000100 , SigWait 0x00000000
State : Process ( Waiting )
CON / con - handler 53.78 ( Waiting )
Stack : 0x61d01004 - 0x61d10ffc , pointer @ 0x61d10e20 ( Cookie OK )
Signals : SigRec 0xa0000100 , SigWait 0x00000000
State : Process ( Waiting )
CON / con - handler 53.78 ( Waiting )
Stack : 0x61d7f004 - 0x61d8effc , pointer @ 0x61d8ee20 ( Cookie OK )
Signals : SigRec 0xa0000100 , SigWait 0x00000000
State : Process ( Waiting )
CON / con - handler 53.78 ( Waiting )
Stack : 0x61e0c004 - 0x61e1bffc , pointer @ 0x61e1be20 ( Cookie OK )
Signals : SigRec 0xa0000100 , SigWait 0x00000000
State : Process ( Waiting )
CON / con - handler 53.78 ( Waiting )
Stack : 0x61e86004 - 0x61e95ffc , pointer @ 0x61e95e20 ( Cookie OK )
Signals : SigRec 0xa0000100 , SigWait 0x00000000
State : Process ( Waiting )
CON / con - handler 53.78 ( Waiting )
Stack : 0x61f4f004 - 0x61f5effc , pointer @ 0x61f5ee20 ( Cookie OK )
Signals : SigRec 0xa0000100 , SigWait 0x00000000
State : Process ( Waiting )
CON / con - handler 53.78 ( Waiting )
Stack : 0x62b3f004 - 0x62b4effc , pointer @ 0x62b4ee20 ( Cookie OK )
Signals : SigRec 0xa0000100 , SigWait 0x00000000
State : Process ( Waiting )
AUDIO / AHI - Handler 6.2 ( Waiting )
Stack : 0x61047004 - 0x61057004 , pointer @ 0x61056ed0 ( Cookie OK )
Signals : SigRec 0x00000100 , SigWait 0x00000000
State : Process ( Waiting )
Camd Wait Proc ( Waiting )
Stack : 0x613aa004 - 0x613c2ffc , pointer @ 0x613c2f10 ( Cookie OK )
Signals : SigRec 0x80001000 , SigWait 0x00000000
State : Process ( Waiting )
APPDIR / appdir - handler - in - dos 53.158 ( Waiting )
Stack : 0x62bff004 - 0x62c06ffc , pointer @ 0x62c06dc0 ( Cookie OK )
Signals : SigRec 0x80000000 , SigWait 0x00000100
State : Process ( Waiting )
CON / con - handler 53.78 ( Waiting )
Stack : 0x62cbb004 - 0x62cc2ffc , pointer @ 0x62cc2e20 ( Cookie OK )
Signals : SigRec 0xa0000100 , SigWait 0x00000000
State : Process ( Waiting )
RAW / con - handler 53.78 ( Waiting )
Stack : 0x62ccf004 - 0x62cd6ffc , pointer @ 0x62cd6e20 ( Cookie OK )
Signals : SigRec 0xa0000100 , SigWait 0x00000000
State : Process ( Waiting )
CON / con - handler 53.78 ( Waiting )
Stack : 0x62d03004 - 0x62d0affc , pointer @ 0x62d0ae20 ( Cookie OK )
Signals : SigRec 0xa0000100 , SigWait 0x00000000
State : Process ( Waiting )
dos_nbmd_process ( Waiting )
Stack : 0x6fb6d004 - 0x6fb70ffc , pointer @ 0x6fb70f30 ( Cookie OK )
Signals : SigRec 0x00001100 , SigWait 0x00000000
State : Process ( Waiting )
dos_lock_handler ( Waiting )
Stack : 0x6fb75004 - 0x6fb78ffc , pointer @ 0x6fb78f00 ( Cookie OK )
Signals : SigRec 0x00001100 , SigWait 0x00000000
State : Process ( Waiting )
RexxMaster ( Waiting )
Stack : 0x60cc6004 - 0x60cd6004 , pointer @ 0x60cd5f70 ( Cookie OK )
Signals : SigRec 0xc0000000 , SigWait 0x00000100
State : Process ( Waiting )
diskimage . device unit 6 ( Waiting )
Stack : 0x60d4a004 - 0x60d5dffc , pointer @ 0x60d5dc50 ( Cookie OK )
Signals : SigRec 0xc0000000 , SigWait 0x00000100
State : Process ( Waiting )
diskimage . device unit 1 ( Waiting )
Stack : 0x60db3004 - 0x60dc6ffc , pointer @ 0x60dc6c50 ( Cookie OK )
Signals : SigRec 0xc0000000 , SigWait 0x00000100
State : Process ( Waiting )
diskimage . device unit 0 ( Waiting )
Stack : 0x60df7004 - 0x60e0affc , pointer @ 0x60e0ac50 ( Cookie OK )
Signals : SigRec 0xc0000000 , SigWait 0x00000100
State : Process ( Waiting )
diskimage . device unit 4 ( Waiting )
Stack : 0x60f50004 - 0x60f63ffc , pointer @ 0x60f63c50 ( Cookie OK )
Signals : SigRec 0xc0000000 , SigWait 0x00000100
State : Process ( Waiting )
diskimage . device unit 5 ( Waiting )
Stack : 0x60fdc004 - 0x60fefffc , pointer @ 0x60fefc50 ( Cookie OK )
Signals : SigRec 0xc0000000 , SigWait 0x00000100
State : Process ( Waiting )
diskimage . device unit 7 ( Waiting )
Stack : 0x61078004 - 0x6108bffc , pointer @ 0x6108bc50 ( Cookie OK )
Signals : SigRec 0xc0000000 , SigWait 0x00000100
State : Process ( Waiting )
diskimage . device unit 2 ( Waiting )
Stack : 0x6111f004 - 0x61132ffc , pointer @ 0x61132c50 ( Cookie OK )
Signals : SigRec 0xc0000000 , SigWait 0x00000100
State : Process ( Waiting )
diskimage . device unit 3 ( Waiting )
Stack : 0x6118e004 - 0x611a1ffc , pointer @ 0x611a1c50 ( Cookie OK )
Signals : SigRec 0xc0000000 , SigWait 0x00000100
State : Process ( Waiting )
TEXTCLIP / textclip - handler 53.1 ( Waiting )
Stack : 0x60edf004 - 0x60eeeffc , pointer @ 0x60eeeeb0 ( Cookie OK )
Signals : SigRec 0x80000000 , SigWait 0x00000100
State : Process ( Waiting )
compose . task ( Waiting )
Stack : 0x6024e000 - 0x60256000 , pointer @ 0x60255e00 ( Cookie OK )
Signals : SigRec 0x00000010 , SigWait 0x00000000
State : Task ( Waiting )
Workbench ( Waiting )
Stack : 0x600eb004 - 0x600faffc , pointer @ 0x600faea0 ( Cookie OK )
Signals : SigRec 0x80000000 , SigWait 0x00000000
State : Process ( Waiting )
ramlib ( Waiting )
Stack : 0x62ba1004 - 0x62bb9ffc , pointer @ 0x62bb9f20 ( Cookie OK )
Signals : SigRec 0x80001000 , SigWait 0x00000100
State : Process ( Waiting )
Workbench DosList Notify ( Waiting )
Stack : 0x5d2e4004 - 0x5d2f3ffc , pointer @ 0x5d2f3f40 ( Cookie OK )
Signals : SigRec 0x00003000 , SigWait 0x00000100
State : Process ( Waiting )
TextEditor . mcc clipboard server ( Waiting )
Stack : 0x50644004 - 0x50647ffc , pointer @ 0x50647ea0 ( Cookie OK )
Signals : SigRec 0x80000000 , SigWait 0x00000100
State : Process ( Waiting )
MUI imagespace screen notify ( Waiting )
Stack : 0x4f3c8004 - 0x4f3d7ffc , pointer @ 0x4f3d7d20 ( Cookie OK )
Signals : SigRec 0xc0001000 , SigWait 0x00000100
State : Process ( Waiting )
texteditor . gadget Clipboard Server ( Waiting )
Stack : 0x5bdc7004 - 0x5bddfffc , pointer @ 0x5bddff00 ( Cookie OK )
Signals : SigRec 0x80000000 , SigWait 0x00000100
State : Process ( Waiting )
ContextMenus Command Dispatcher ( Waiting )
Stack : 0x61b20004 - 0x61b2fffc , pointer @ 0x61b2ff30 ( Cookie OK )
Signals : SigRec 0x80001000 , SigWait 0x00000000
State : Process ( Waiting )
string . gadget server ( Waiting )
Stack : 0x5d2c8004 - 0x5d2d7ffc , pointer @ 0x5d2d7db0 ( Cookie OK )
Signals : SigRec 0x40000000 , SigWait 0x00000100
State : Process ( Waiting )
Workbench Clipboard Server ( Waiting )
Stack : 0x5d3c8004 - 0x5d3d7ffc , pointer @ 0x5d3d7f00 ( Cookie OK )
Signals : SigRec 0x80000000 , SigWait 0x00000100
State : Process ( Waiting )
SDL thread SDLTimer ( 0x418de908 ) ( Ready )
Stack : 0x43018004 - 0x4320bffc , pointer @ 0x4320bea0 ( Cookie OK )
Signals : SigRec 0x80009000 , SigWait 0x80000000
State : Process ( Ready )
NotificationServer ( Waiting )
Stack : 0x61ea2004 - 0x61ec1ffc , pointer @ 0x61ec1b10 ( Cookie OK )
Signals : SigRec 0xbf801000 , SigWait 0x00000000
State : Process ( Waiting )
TCP / IP Control ( Waiting )
Stack : 0x5bb7d004 - 0x5bb8cffc , pointer @ 0x5bb8cdc0 ( Cookie OK )
Signals : SigRec 0xf8009080 , SigWait 0x00000000
State : Process ( Waiting )
hub . usbfd ( Waiting )
Stack : 0x6fcad004 - 0x6fcb4ffc , pointer @ 0x6fcb4f10 ( Cookie OK )
Signals : SigRec 0x30000000 , SigWait 0x00000000
State : Task ( Waiting )
hub . usbfd ( Waiting )
Stack : 0x6fca1004 - 0x6fca8ffc , pointer @ 0x6fca8f10 ( Cookie OK )
Signals : SigRec 0x30000000 , SigWait 0x00000000
State : Task ( Waiting )
hub . usbfd ( Waiting )
Stack : 0x6fc89004 - 0x6fc90ffc , pointer @ 0x6fc90f10 ( Cookie OK )
Signals : SigRec 0x30000000 , SigWait 0x00000000
State : Task ( Waiting )
Background CLI [ wait ] ( Waiting )
Stack : 0x4163c004 - 0x4164bffc , pointer @ 0x4164bf00 ( Cookie OK )
Signals : SigRec 0x80001000 , SigWait 0x00000100
State : Process ( Waiting )
Background CLI [ wait ] ( Waiting )
Stack : 0x50c3a004 - 0x50c49ffc , pointer @ 0x50c49f00 ( Cookie OK )
Signals : SigRec 0x80001000 , SigWait 0x00000100
State : Process ( Waiting )
Background CLI [ wait ] ( Waiting )
Stack : 0x4f406004 - 0x4f415ffc , pointer @ 0x4f415f00 ( Cookie OK )
Signals : SigRec 0x80001000 , SigWait 0x00000100
State : Process ( Waiting )
ELF Collector ( Waiting )
Stack : 0x6306a004 - 0x63079ffc , pointer @ 0x63079e70 ( Cookie OK )
Signals : SigRec 0x00000100 , SigWait 0x00000000
State : Process ( Waiting )
hub . usbfd ( Waiting )
Stack : 0x6fc95004 - 0x6fc9cffc , pointer @ 0x6fc9cf10 ( Cookie OK )
Signals : SigRec 0x30000000 , SigWait 0x00000000
State : Task ( Waiting )
hub . usbfd ( Waiting )
Stack : 0x6fc7d004 - 0x6fc84ffc , pointer @ 0x6fc84f10 ( Cookie OK )
Signals : SigRec 0x30000000 , SigWait 0x00000000
State : Task ( Waiting )
hub . usbfd ( Waiting )
Stack : 0x6fcb9004 - 0x6fcc0ffc , pointer @ 0x6fcc0f10 ( Cookie OK )
Signals : SigRec 0x30000000 , SigWait 0x00000000
State : Task ( Waiting )
Background CLI [ smbfs . os4_2.2 '//Synology-DS120j/NAS' ] ( Waiting )
Stack : 0x4f9f4004 - 0x4fa03ffc , pointer @ 0x4fa035a0 ( Cookie OK )
Signals : SigRec 0x8000f080 , SigWait 0x00000000
State : Process ( Waiting )
AmigaInput Dispatcher ( Waiting )
Stack : 0x43c00000 - 0x43c04000 , pointer @ 0x43c03f30 ( Cookie OK )
Signals : SigRec 0x80000000 , SigWait 0x00000000
State : Task ( Waiting )
ARexx ( Waiting )
Stack : 0x4f958004 - 0x4f968004 , pointer @ 0x4f967d70 ( Cookie OK )
Signals : SigRec 0x00000100 , SigWait 0x00000000
State : Process ( Waiting )
ARexx ( Waiting )
Stack : 0x502ac004 - 0x502bc004 , pointer @ 0x502bbd70 ( Cookie OK )
Signals : SigRec 0x00000100 , SigWait 0x00000000
State : Process ( Waiting )
TCP / IP Superserver ( Waiting )
Stack : 0x5bb99004 - 0x5bba8ffc , pointer @ 0x5bba89f0 ( Cookie OK )
Signals : SigRec 0xd0000080 , SigWait 0x00000000
State : Process ( Waiting )
TCP / IP Configuration ( Waiting )
Stack : 0x5bbb5004 - 0x5bbc4ffc , pointer @ 0x5bbc4e10 ( Cookie OK )
Signals : SigRec 0xf8003000 , SigWait 0x00000000
State : Process ( Waiting )
ARexx ( Waiting )
Stack : 0x503f6004 - 0x50406004 , pointer @ 0x50405d70 ( Cookie OK )
Signals : SigRec 0x00000100 , SigWait 0x00000000
State : Process ( Waiting )
MultiEdit ( Waiting )
Stack : 0x59913004 - 0x5992bffc , pointer @ 0x5992bc90 ( Cookie OK )
Signals : SigRec 0xf8001000 , SigWait 0x00000000
State : Process ( Waiting )
Mounter GUI ( Waiting )
Stack : 0x6158e004 - 0x615a1ffc , pointer @ 0x615a1e10 ( Cookie OK )
Signals : SigRec 0x80007000 , SigWait 0x00000000
State : Process ( Waiting )
DiskImageGUI ( Waiting )
Stack : 0x61b58004 - 0x61b67ffc , pointer @ 0x61b67dc0 ( Cookie OK )
Signals : SigRec 0xd7009000 , SigWait 0x00000100
State : Process ( Waiting )
application . library messageserver ( Waiting )
Stack : 0x618bd000 - 0x618bdfa0 , pointer @ 0x618bdf10 ( Cookie OK )
Signals : SigRec 0xc0000000 , SigWait 0x00000000
State : Task ( Waiting )
Background CLI [ SYS : System / AmiUpdate / AmiUpdate ] ( Waiting )
Stack : 0x4f7ed004 - 0x4f86cffc , pointer @ 0x4f86c350 ( Cookie OK )
Signals : SigRec 0xec001000 , SigWait 0x00000000
State : Process ( Waiting )
Background CLI [ RX ] ( Waiting )
Stack : 0x50470004 - 0x5047fffc , pointer @ 0x5047fe20 ( Cookie OK )
Signals : SigRec 0x00000100 , SigWait 0x00000000
State : Process ( Waiting )
Background CLI [ RX ] ( Waiting )
Stack : 0x4fa08004 - 0x4fa17ffc , pointer @ 0x4fa17e20 ( Cookie OK )
Signals : SigRec 0x00000100 , SigWait 0x00000000
State : Process ( Waiting )
Background CLI [ RX ] ( Waiting )
Stack : 0x53235004 - 0x53244ffc , pointer @ 0x53244e20 ( Cookie OK )
Signals : SigRec 0x00000100 , SigWait 0x00000000
State : Process ( Waiting )
clipview . library server ( Waiting )
Stack : 0x61a2c004 - 0x61a4bffc , pointer @ 0x61a4be00 ( Cookie OK )
Signals : SigRec 0xd8003000 , SigWait 0x00000000
State : Process ( Waiting )
KeymapSwitcher . docky ( Waiting )
Stack : 0x5bde4004 - 0x5bdf3ffc , pointer @ 0x5bdf3ef0 ( Cookie OK )
Signals : SigRec 0x80001000 , SigWait 0x00000000
State : Process ( Waiting )
ContextMenus ( Waiting )
Stack : 0x61e28004 - 0x61e37ffc , pointer @ 0x61e37c80 ( Cookie OK )
Signals : SigRec 0xe0001000 , SigWait 0x00000100
State : Process ( Waiting )
AsyncWB ( Waiting )
Stack : 0x61ef3004 - 0x61f02ffc , pointer @ 0x61f02eb0 ( Cookie OK )
Signals : SigRec 0xc0001000 , SigWait 0x00000100
State : Process ( Waiting )
smartbutton . docky ( Waiting )
Stack : 0x619b4004 - 0x619c3ffc , pointer @ 0x619c3ec0 ( Cookie OK )
Signals : SigRec 0x80001000 , SigWait 0x00000000
State : Process ( Waiting )
MouseBlanker ( Waiting )
Stack : 0x61b44004 - 0x61b53ffc , pointer @ 0x61b53a00 ( Cookie OK )
Signals : SigRec 0xc000d000 , SigWait 0x00000100
State : Process ( Waiting )
UsbSound ( Waiting )
Stack : 0x61d2d004 - 0x61d3cffc , pointer @ 0x61d3cc40 ( Cookie OK )
Signals : SigRec 0xc0001000 , SigWait 0x00000000
State : Process ( Waiting )
datatypes . library ( Waiting )
Stack : 0x61822004 - 0x61831ffc , pointer @ 0x61831e30 ( Cookie OK )
Signals : SigRec 0x80001000 , SigWait 0x00000000
State : Process ( Waiting )
RAWBInfo ( Waiting )
Stack : 0x61d52004 - 0x61d61ffc , pointer @ 0x61d61ec0 ( Cookie OK )
Signals : SigRec 0x80001000 , SigWait 0x00000100
State : Process ( Waiting )
DefIcons ( Waiting )
Stack : 0x61dae004 - 0x61dbdffc , pointer @ 0x61dbddc0 ( Cookie OK )
Signals : SigRec 0x80009000 , SigWait 0x00000100
State : Process ( Waiting )
Background CLI [ Tools : Audio / Tools / CamdTools / MidiThru / MidiThru ] ( Waiting )
Stack : 0x5c3d9004 - 0x5c3e8ffc , pointer @ 0x5c3e8b50 ( Cookie OK )
Signals : SigRec 0x80001000 , SigWait 0x00000100
State : Process ( Waiting )
« IPrefs » ( Waiting )
Stack : 0x610d4004 - 0x610e3ffc , pointer @ 0x610e3980 ( Cookie OK )
Signals : SigRec 0x0000f000 , SigWait 0x20000100
State : Process ( Waiting )
TCP / IP Log ( Waiting )
Stack : 0x5bbe1004 - 0x5bbf0ffc , pointer @ 0x5bbf0f00 ( Cookie OK )
Signals : SigRec 0x80003000 , SigWait 0x00000000
State : Process ( Waiting )
Background CLI [ Tools : System / CAPSLock / CAPSLock ] ( Waiting )
Stack : 0x60c6a004 - 0x60c79ffc , pointer @ 0x60c79b90 ( Cookie OK )
Signals : SigRec 0x70001000 , SigWait 0x00000100
State : Process ( Waiting )
ConClip ( Waiting )
Stack : 0x60d1e004 - 0x60d2dffc , pointer @ 0x60d2deb0 ( Cookie OK )
Signals : SigRec 0x80000000 , SigWait 0x00000000
State : Process ( Waiting )
USB stack Process ( Waiting )
Stack : 0x615ca004 - 0x615d9ffc , pointer @ 0x615d9ee0 ( Cookie OK )
Signals : SigRec 0x80001000 , SigWait 0x00000000
State : Process ( Waiting )
MassStorage Notifier ( Waiting )
Stack : 0x6fdc5000 - 0x6fdccd00 , pointer @ 0x6fdccc70 ( Cookie OK )
Signals : SigRec 0x80001000 , SigWait 0x00000000
State : Task ( Waiting )
DST watcher ( Waiting )
Stack : 0x61846004 - 0x61855ffc , pointer @ 0x61855f10 ( Cookie OK )
Signals : SigRec 0xc0000000 , SigWait 0x00000000
State : Process ( Waiting )
hub . usbfd ( Waiting )
Stack : 0x6fb8d004 - 0x6fb94ffc , pointer @ 0x6fb94f10 ( Cookie OK )
Signals : SigRec 0x30000000 , SigWait 0x00000000
State : Task ( Waiting )
hub . usbfd ( Waiting )
Stack : 0x6fba1004 - 0x6fba8ffc , pointer @ 0x6fba8f10 ( Cookie OK )
Signals : SigRec 0x30000000 , SigWait 0x00000000
State : Task ( Waiting )
Shell Process [ scummvm ] ( Crashed )
Stack : 0x42370004 - 0x42563ffc , pointer @ 0x425620f0 ( Cookie OK )
Signals : SigRec 0x00000020 , SigWait 0x08000000
State : Process ( Crashed )
ramlib . support ( Waiting )
Stack : 0x62bbe004 - 0x62bd6ffc , pointer @ 0x62bd6f00 ( Cookie OK )
Signals : SigRec 0x80005000 , SigWait 0x00000000
State : Process ( Waiting )
Mounter Task ( Waiting )
Stack : 0x6fdd5000 - 0x6fde3a60 , pointer @ 0x6fde3970 ( Cookie OK )
Signals : SigRec 0xb0001000 , SigWait 0x00000000
State : Task ( Waiting )
Mounter Companion Process ( Waiting )
Stack : 0x615b6004 - 0x615c5ffc , pointer @ 0x615c5f40 ( Cookie OK )
Signals : SigRec 0x80003000 , SigWait 0x00000000
State : Process ( Waiting )
dos_signal_server ( Waiting )
Stack : 0x6fb65004 - 0x6fb68ffc , pointer @ 0x6fb68f10 ( Cookie OK )
Signals : SigRec 0x0000f000 , SigWait 0x00000000
State : Process ( Waiting )
Background CLI [ System : Prefs / Presets / CANDI / data / Dandelion ] ( Ready )
Stack : 0x542ea004 - 0x542f9ffc , pointer @ 0x542f9a40 ( Cookie OK )
Signals : SigRec 0x00000010 , SigWait 0x14000100
State : Process ( Ready )
CANDI ( Waiting )
Stack : 0x61f6b004 - 0x61f7affc , pointer @ 0x61f7a800 ( Cookie OK )
Signals : SigRec 0x70005000 , SigWait 0x00000000
State : Process ( Waiting )
dos_appdir_server ( Waiting )
Stack : 0x6fb41004 - 0x6fb48ffc , pointer @ 0x6fb48d40 ( Cookie OK )
Signals : SigRec 0x80005000 , SigWait 0x00000000
State : Process ( Waiting )
CPUDock_idleTask ( Ready )
Stack : 0x5bf80000 - 0x5bf84000 , pointer @ 0x5bf83f00 ( Cookie OK )
Signals : SigRec 0x80000000 , SigWait 0x40000000
State : Task ( Ready )
idle . task ( Ready )
Stack : 0x6ff61000 - 0x6ff62000 , pointer @ 0x6ff61fd0 ( Cookie OK )
Signals : SigRec 0x00000000 , SigWait 0x00000000
State : Task ( Ready )
3) wrt to char*
How owuld i get rid of it?
Simply removing the char * within the function doesn't work.
Re: Porting to AmigaOS4 thread
Posted on:
2020/11/22 14:32
#247
Just can't stay away
Joined: 2007/7/14 21:30Last Login
: 11/3 18:55
From Lothric
Group:
Registered Users
@Raziel
1) I suppose ASLFR_DrawersOnly tag sets mode. Check autodocs to be sure, I don't have one at hand.
2) Which line? I guess options are strlen, strncpy or free. Placing bets on free() because utf-code looks suspicious: first there is malloc to allocate memory (free() would free malloc'd memory) but then out-variable is reassigned and thus is potentially not allocated via malloc() anymore:
Quote:
char *out = (char *)malloc(dstlen + 1); if (out) { if( (out=ICodesets->CodesetsConvertStr(CSA_SourceCodeset, srcmib, IF CodesetsConvertStr allocates memory using IExec functions then free() most likely crash. You need to check Codesets autodoc regarding what is the meaning of CodesetsConvertStr return value.
3) What happened when you remove the (char*) cast and change utfToLocal function signature to use const char* (both .h/.cpp)?
Re: Porting to AmigaOS4 thread
Posted on:
2020/11/22 15:02
#248
Home away from home
Joined: 2006/11/26 21:45Last Login
: Yesterday 23:10
From a dying planet
Group:
Registered Users
@Capehill
Sorry for being a noob.
These are both .cpp/.h
#ifndef BACKEND_AMIGAOS_DIALOGS_H
#define BACKEND_AMIGAOS_DIALOGS_H
#if defined(__amigaos4__) && defined(USE_SYSDIALOGS)
#include "common/fs.h"
#include "common/dialogs.h"
class AmigaOSDialogManager : public Common :: DialogManager {
public:
virtual DialogResult showFileBrowser (const Common :: U32String & title , Common :: FSNode & choice , bool isDirBrowser );
private:
const char * utf8ToLocal (const char * in );
};
#endif
#endif // BACKEND_AMIGAOS_DIALOGS_H
#define FORBIDDEN_SYMBOL_EXCEPTION_FILE
#define FORBIDDEN_SYMBOL_EXCEPTION_unistd_h
#define FORBIDDEN_SYMBOL_EXCEPTION_time_h
#define FORBIDDEN_SYMBOL_EXCEPTION_strdup
#include "common/scummsys.h"
#if defined(__amigaos4__) && defined(USE_SYSDIALOGS)
#include "backends/dialogs/amigaos/amigaos-dialogs.h"
#include "common/config-manager.h"
#include "common/encoding.h"
#include <proto/asl.h>
#include <proto/codesets.h>
#include <proto/dos.h>
#include <proto/exec.h>
#include <cstring>
#include <cstdlib>
struct CodesetsIFace * ICodesets = nullptr ;
struct Library * CodesetsBase = nullptr ;
const char * AmigaOSDialogManager :: utf8ToLocal (const char * in ) {
if (! in ) {
return strdup ( "" );
}
CodesetsBase = IExec -> OpenLibrary ( "codesets.library" , 6 );
if ( CodesetsBase ) {
ICodesets = ( CodesetsIFace *) IExec -> GetInterface ( CodesetsBase , "main" , 1L , nullptr );
struct codeset * srcmib = ICodesets -> CodesetsFind ( "ISO-8859-1" , CSA_FallbackToDefault , FALSE , TAG_DONE );
struct codeset * dstmib = ICodesets -> CodesetsFind ( "UTF-8" , CSA_FallbackToDefault , FALSE , TAG_DONE );
if ( dstmib != nullptr ) {
ULONG dstlen = ICodesets -> CodesetsStrLen ( in , TAG_END );
char * out = ( char *) malloc ( dstlen + 1 );
if ( out ) {
if (( out = ICodesets -> CodesetsConvertStr ( CSA_SourceCodeset , srcmib , CSA_DestCodeset , dstmib , CSA_Source , in , TAG_DONE )) != nullptr ) {
return out ;
}
}
free ( out );
}
IExec -> DropInterface (( struct Interface *) ICodesets );
ICodesets = nullptr ;
IExec -> CloseLibrary ( CodesetsBase );
CodesetsBase = nullptr ;
}
return strdup ( in );
}
struct AslIFace * IAsl ;
struct Library * AslBase ;
Common :: DialogManager :: DialogResult AmigaOSDialogManager :: showFileBrowser (const Common :: U32String & title , Common :: FSNode & choice , bool isDirBrowser ) {
char pathBuffer [ MAXPATHLEN ];
Common :: String utf8Title = title . encode ();
DialogResult result = kDialogCancel ;
AslBase = IExec -> OpenLibrary ( AslName , 50 );
if ( AslBase ) {
IAsl = ( struct AslIFace *) IExec -> GetInterface ( AslBase , "main" , 1 , nullptr );
struct FileRequester * fr = nullptr ;
if ( ConfMan . hasKey ( "browser_lastpath" )) {
strncpy ( pathBuffer , ConfMan . get ( "browser_lastpath" ). c_str (), sizeof ( pathBuffer )- 1 );
}
fr = ( struct FileRequester *) IAsl -> AllocAslRequestTags ( ASL_FileRequest , TAG_DONE );
if (! fr )
return result ;
const char * newTitle = utf8ToLocal ((const char *) utf8Title . c_str ());
if ( IAsl -> AslRequestTags ( fr , ASLFR_TitleText , newTitle , ASLFR_RejectIcons , TRUE , ASLFR_InitialDrawer , pathBuffer , ASLFR_DrawersOnly , ( isDirBrowser ? TRUE : FALSE ), TAG_DONE )) {
if ( strlen ( fr -> fr_Drawer ) < sizeof ( pathBuffer )) {
strncpy ( pathBuffer , fr -> fr_Drawer , sizeof ( pathBuffer ));
if (! isDirBrowser ) {
IDOS -> AddPart ( pathBuffer , fr -> fr_File , sizeof ( pathBuffer ));
}
choice = Common :: FSNode ( pathBuffer );
ConfMan . set ( "browser_lastpath" , pathBuffer );
result = kDialogOk ;
}
free ( newTitle );
IAsl -> FreeAslRequest (( APTR ) fr );
}
IExec -> DropInterface (( struct Interface*) IAsl );
IAsl = nullptr ;
IExec -> CloseLibrary ( AslBase );
AslBase = nullptr ;
}
return result ;
}
#endif
I get this now on compiling
C ++ backends / dialogs / amigaos / amigaos - dialogs . o
backends / dialogs / amigaos / amigaos - dialogs . cpp : In member function 'virtual Common::DialogManager::DialogResult AmigaOSDialogManager::showFileBrowser(const Common::U32String&, Common::FSNode&, bool)' :
backends / dialogs / amigaos / amigaos - dialogs . cpp : 123 : 9 : error : invalid conversion from 'const void*' to 'void*' [- fpermissive ]
free ( newTitle );
^~~~~~~~
In file included from / SDK / newlib /include/ stdio . h : 29 ,
from ./ common / scummsys . h : 118 ,
from backends / dialogs / amigaos / amigaos - dialogs . cpp : 28 :
/ SDK / newlib /include/ stdlib . h : 86 : 20 : note : initializing argument 1 of 'void free(void*)'
_VOID _EXFUN ( free ,( _PTR ));
^~~~
gmake : *** [ backends / dialogs / amigaos / amigaos - dialogs . o ] Error 1
Re: Porting to AmigaOS4 thread
Posted on:
2020/11/22 15:03
#249
Just can't stay away
Joined: 2007/2/6 13:57Last Login
: 11/16 10:39
From Donostia (SPAIN)
Group:
Registered Users
@Raziel
Alas I don't know if crash/GR will be solved I updated utf8ToLocal() function/method:
...
//if (dstmib != CS_MIBENUM_INVALID) {
if( dstmib != NULL ) {
//LONG dstlen = FSGetByteSize((APTR)in, -1, CS_MIBENUM_UTF_8, dstmib);
ULONG dstlen = 0 ; //ICodesets->CodesetsStrLen(in, TAG_END);
STRPTR dst_str = ICodesets -> CodesetsConvertStr ( CSA_SourceCodeset , srcmib ,
CSA_DestCodeset , dstmib ,
CSA_Source , in ,
CSA_DestLenPtr , & dstlen ,
TAG_DONE );
if( ( dst_str != NULL ) {
char * out = ( char *) malloc ( dstlen + 1 );
if( out ) {
strcpy ( out , dst_str , dstlen );
ICodesets -> CodesetsFreeA ( dst_str , NULL );
IExec -> DropInterface ( ( struct Interface *) ICodesets );
ICodesets = NULL ;
IExec -> CloseLibrary ( CodesetsBase );
CodesetsBase = NULL ;
return out ;
}
free ( out );
}
}
...
NOTE: if you get an error with "STRPTR" definition doesn't exists, just change it to "char *"
Does the crash/GR happen too if you click on ASL's CANCEL button?
NOTE2: I suspect "out" will be freed when exit/destroying the Common class.
Re: Porting to AmigaOS4 thread
Posted on:
2020/11/22 15:45
#250
Home away from home
Joined: 2006/11/26 21:45Last Login
: Yesterday 23:10
From a dying planet
Group:
Registered Users
@jabirulo
With your changes i now get htis
C ++ backends / dialogs / amigaos / amigaos - dialogs . o
backends / dialogs / amigaos / amigaos - dialogs . cpp : In member function 'char* AmigaOSDialogManager::utf8ToLocal(char*)' :
backends / dialogs / amigaos / amigaos - dialogs . cpp : 69 : 33 : error : too many arguments to function 'char* strcpy(char*, const char*)'
strcpy ( out , dst_str , dstlen );
^
In file included from / SDK / newlib /include/ stdio . h : 29 ,
from ./ common / scummsys . h : 118 ,
from backends / dialogs / amigaos / amigaos - dialogs . cpp : 28 :
/ SDK / newlib /include/ string . h : 31 : 8 : note : declared here
char * _EXFUN ( strcpy ,( char *, const char *));
^~~~~~
backends / dialogs / amigaos / amigaos - dialogs . cpp : In member function 'virtual Common::DialogManager::DialogResult AmigaOSDialogManager::showFileBrowser(const Common::U32String&, Common::FSNode&, bool)' :
backends / dialogs / amigaos / amigaos - dialogs . cpp : 111 : 56 : warning : cast from type 'const value_type*' { aka 'const char*' } to type 'char*' casts away qualifiers [- Wcast - qual ]
char * newTitle = utf8ToLocal (( char *) utf8Title . c_str ());
^
gmake : *** [ backends / dialogs / amigaos / amigaos - dialogs . o ] Error 1
I did not check what happens when i cancel, but i guess it's the same as with when i simply close the asl window, right?
Then nothing happened, no crash
Re: Porting to AmigaOS4 thread
Posted on:
2020/11/22 19:30
#251
Just can't stay away
Joined: 2007/2/6 13:57Last Login
: 11/16 10:39
From Donostia (SPAIN)
Group:
Registered Users
@Raziel Oops sorry, it should be (no check for length): strcpy(out, dst_str); EDIT: or try a safer "strncpy(out, dst_str, dstlen);" If you don't get a crash when CANCEL/QUIT ASl requester, maybe is the path+fiel string that has something wrong, that can mean that my changes has some bug on it. Is there a way I can get your sources/changes to recompile and see what happens. Do you use crosscompiler/cygnix/amigaos4/...
Edited by jabirulo on 2020/11/22 19:46:18
Re: Porting to AmigaOS4 thread
Posted on:
2020/11/22 19:37
#252
Home away from home
Joined: 2006/11/26 21:45Last Login
: Yesterday 23:10
From a dying planet
Group:
Registered Users
@jabirulo
That did it, no ore crashes, games being added
Thanks a lot, sir
Now, if you can help me getting rid of this warning
C ++ backends / dialogs / amigaos / amigaos - dialogs . o
backends / dialogs / amigaos / amigaos - dialogs . cpp : In member function 'virtual Common::DialogManager::DialogResult AmigaOSDialogManager::showFileBrowser(const Common::U32String&, Common::FSNode&, bool)' :
backends / dialogs / amigaos / amigaos - dialogs . cpp : 111 : 56 : warning : cast from type 'const value_type*' { aka 'const char*' } to type 'char*' casts away qualifiers [- Wcast - qual ]
char * newTitle = utf8ToLocal (( char *) utf8Title . c_str ());
^
Nevermind the below...simply removing "ASLFR_DrawersOnly, " from the ASLWindow works
...
and show me how to get the files (and not only the directories) to display in the asl requester, that would be grand
(The sdl implementation of the file browser does show the files too and i want to stick as close to the original behaviour as possible)
Re: Porting to AmigaOS4 thread
Posted on:
2020/11/22 19:58
#253
Just can't stay away
Joined: 2007/2/6 13:57Last Login
: 11/16 10:39
From Donostia (SPAIN)
Group:
Registered Users
@Raziel
Do you need the file or just only the (full)path?
This part of code (already in your sources) adds the filename to the (full)path, only when isDirBrowser is FALSE(-1):
Common :: DialogManager :: DialogResult AmigaOSDialogManager :: showFileBrowser (const Common :: U32String & title , Common :: FSNode & choice , bool isDirBrowser ) {
...
if (! isDirBrowser ) {
IDOS -> AddPart ( pathBuffer , fr -> fr_File , sizeof ( pathBuffer ));
}
...
Re: Porting to AmigaOS4 thread
Posted on:
2020/11/22 20:01
#254
Home away from home
Joined: 2006/11/26 21:45Last Login
: Yesterday 23:10
From a dying planet
Group:
Registered Users
@jabirulo Nope, i edited my post above in the meantime. It's just the display of all files in the current dir. You don't need anything else, the path of the current dir is sufficient, it's just a nice touch to be able to actually see the files in the directory to be able to make out missing ones in case there is an error.
Re: Porting to AmigaOS4 thread
Posted on:
2020/11/22 20:04
#255
Just can't stay away
Joined: 2007/2/6 13:57Last Login
: 11/16 10:39
From Donostia (SPAIN)
Group:
Registered Users
@Raziel Ok if it's only a cosmetic feature, as you posted "remove ASLFR_DrawersOnly".
Re: Porting to AmigaOS4 thread
Posted on:
2020/11/23 8:14
#256
Just can't stay away
Joined: 2007/7/14 21:30Last Login
: 11/3 18:55
From Lothric
Group:
Registered Users
@Raziel
Regarding const, I meant something like:
Quote:
- Header: class AmigaOSDialogManager : public Common::DialogManager { ... private: char *utf8ToLocal(const char *in); }; - Implementation: char *AmigaOSDialogManager::utf8ToLocal(const char *in) { ... } Common::DialogManager::DialogResult AmigaOSDialogManager::showFileBrowser(const Common::U32String &title, Common::FSNode &choice, bool isDirBrowser) { ... char *newTitle = utf8ToLocal(utf8Title.c_str()); ... }In short, pass const char* as input (it's supposed to be read-only data). Return value should be just char* if this data is going to be free()'d.
Re: Porting to AmigaOS4 thread
Posted on:
2020/11/23 10:54
#257
Home away from home
Joined: 2006/11/26 21:45Last Login
: Yesterday 23:10
From a dying planet
Group:
Registered Users
@Capehill Thank you very much. With the above i don't get anymore warnings. The longer i look at the code the less i know. There was a warning about a cast from const to char and with your solution it works, the warning is gone, but isn't that exactly what we are doing now? casting a const char to a char??? char *AmigaOSDialogManager::utf8ToLocal(const char *in) { I don't understand...
Re: Porting to AmigaOS4 thread
Posted on:
2020/11/23 11:03
#258
Just can't stay away
Joined: 2007/2/6 13:57Last Login
: 11/16 10:39
From Donostia (SPAIN)
Group:
Registered Users
utf8ToLocal() expects as input/argument a CONST CHAR* "utf8ToLocal(const char *in)" and it returns a CHAR* "char *AmigaOSDialogManager::utf8ToLocal()" "char *newTitle = utf8ToLocal(utf8Title.c_str());" Input is/seems a const char* "utf8Title.c_str()" Result is char* "char *newTitle". Those kind of warning aren't much of important, just only "expects" data to be "read-only" (const) so you don't change on your function/code and broke something.
Re: Porting to AmigaOS4 thread
Posted on:
2020/11/23 23:50
#259
Home away from home
Joined: 2006/11/26 21:45Last Login
: Yesterday 23:10
From a dying planet
Group:
Registered Users
@jabirulo I see...so much to learn, so much to understand Thank you
Re: Porting to AmigaOS4 thread
Posted on:
2020/11/24 12:58
#260
Home away from home
Joined: 2006/11/26 21:45Last Login
: Yesterday 23:10
From a dying planet
Group:
Registered Users
@Capehill
I was rummaging through ScummVM's code and stumbled over these two instances regarding OpenGL.
#if !defined(AMIGAOS) && !defined(__MORPHOS__)
if ( renderToFrameBuffer ) {
glClear ( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT );
_frameBuffer = createFramebuffer ( _engineRequestedWidth , _engineRequestedHeight );
_frameBuffer -> attach ();
}
#endif
}
#if !defined(AMIGAOS) && !defined(__MORPHOS__)
OpenGL :: FrameBuffer * OpenGLSdlGraphics3dManager :: createFramebuffer ( uint width , uint height ) {
#if !defined(USE_GLES2)
if ( _antialiasing && OpenGLContext . framebufferObjectMultisampleSupported ) {
return new OpenGL :: MultiSampleFrameBuffer ( width , height , _antialiasing );
} else
#endif
{
return new OpenGL :: FrameBuffer ( width , height );
}
}
#endif // AMIGAOS
1) Does #if !defined mean that the platforms are excluded or included?
2) Shouldn't it be #if !defined(__amigaos4__)?
I though (AMIGAOS) was the old platform define for the classic 68k line?
3) What would happen if i change that to #if !defined(__amigaos4__)
Are those (excluded?) GL commands supported?
Could i get rid of this (exclusion?) completely?
Thank you very much
Currently Active Users Viewing This Thread:
2
(
0 members
and 2 Anonymous Users
)