Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
65 user(s) are online (48 user(s) are browsing Forums)

Members: 0
Guests: 65

more...

Headlines

 
  Register To Post  

« 1 ... 10 11 12 (13) 14 15 16 ... 22 »
Re: Porting to AmigaOS4 thread
Just can't stay away
Just can't stay away


See User information
@Raziel

No problem. As said, will post my code/source I used in/with CodesetsConvertStr().

Go to top
Re: Porting to AmigaOS4 thread
Home away from home
Home away from home


See User information
@jabirulo

Thank you

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
Go to top
Re: Porting to AmigaOS4 thread
Just can't stay away
Just can't stay away


See User information
@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"1LNULL);

struct codeset *srcmib ICodesets->CodesetsFind("ISO-8859-1"CSA_FallbackToDefault,FALSETAG_DONE);

        
//LONG dstmib = CSA_DestCodeset(NULL, 0); 
        
struct codeset *dstmib ICodesets->CodesetsFind("UTF-8"CSA_FallbackToDefault,FALSETAG_DONE);

        
//if (dstmib != CS_MIBENUM_INVALID) { 
        
if(dstmib != NULL) {
            
//LONG dstlen = FSGetByteSize((APTR)in, -1, CS_MIBENUM_UTF_8, dstmib); 
            
ULONG dstlen ICodesets->CodesetsStrLen(inTAG_END);

            
char *out = (char *)malloc(dstlen 1); 
            if (
out) { 
                if( (
out=ICodesets->CodesetsConvertStr(CSA_SourceCodesetsrcmib,
                                                       
CSA_DestCodesetdstmib,
                                                       
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); 
}

Go to top
Re: Porting to AmigaOS4 thread
Home away from home
Home away from home


See User information
@jabirulo

Thank you very much

I now get only one more warning

C++      backends/dialogs/amigaos/amigaos-dialogs.o
backends
/dialogs/amigaos/amigaos-dialogs.cppIn member function 'virtual Common::DialogManager::DialogResult AmigaOSDialogManager::showFileBrowser(const Common::U32String&, Common::FSNode&, bool)':
backends/dialogs/amigaos/amigaos-dialogs.cpp:111:56warningcast 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(AslName50);
struct AslIFace *IAsl;

Common::DialogManager::DialogResult AmigaOSDialogManager::showFileBrowser(const Common::U32String &titleCommon::FSNode &choicebool isDirBrowser) {

    
char pathBuffer[MAXPATHLEN];
    
Common::String utf8Title title.encode();    
    
DialogResult result kDialogCancel;

    if (
AslBase) {

        
IAsl = (struct AslIFace*)IExec->GetInterface(AslBase"main"1NULL);

        
struct FileRequester *fr NULL;

        if (
ConfMan.hasKey("browser_lastpath")) {
            
strncpy(pathBufferConfMan.get("browser_lastpath").c_str(), sizeof(pathBuffer)-1);
        }

        
fr = (struct FileRequester *)IAsl->AllocAslRequestTags(ASL_FileRequestTAG_DONE);

        if (!
fr)
            return 
result;

        
char *newTitle utf8ToLocal((char *)utf8Title.c_str());

        if (
IAsl->AslRequestTags(frASLFR_TitleTextnewTitleASLFR_RejectIconsTRUEASLFR_InitialDrawerpathBufferASLFR_DrawersOnly, (isDirBrowser TRUE FALSE), TAG_DONE)) {

            if (
strlen(fr->fr_Drawer) < sizeof(pathBuffer)) {
                
strncpy(pathBufferfr->fr_Drawersizeof(pathBuffer));
                if (!
isDirBrowser) {
                    
IDOS->AddPart(pathBufferfr->fr_Filesizeof(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;
}

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
Go to top
Re: Porting to AmigaOS4 thread
Just can't stay away
Just can't stay away


See User information
@Raziel

Quote:

struct Library *AslBase = IExec->OpenLibrary(AslName, 50);


Don't open the library here.

Quote:

struct Library *AslBase;


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*".




Go to top
Re: Porting to AmigaOS4 thread
Home away from home
Home away from home


See User information
@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):
   
00201F758 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 RegistersNaN 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
:
DATA00000001 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:127scummvm:_ZN20AmigaOSDialogManager15showFileBrowserERKN6Common9U32StringERNS0_6FSNodeEb()+0x1f8 (section 1 0x3286C4)
    [
gui/browser.cpp:92scummvm:_ZN3GUI13BrowserDialog8runModalEv()+0x100 (section 1 0x2BBE80)
    [
gui/launcher.cpp:371scummvm:_ZN3GUI14LauncherDialog7addGameEv()+0x128 (section 1 0x254350)
    [
gui/launcher.cpp:656scummvm:_ZN3GUI14LauncherDialog13handleCommandEPNS_13CommandSenderEmm()+0x414 (section 1 0x256A64)
    [
gui/widget.cpp:55scummvm:_ZN3GUI12ButtonWidget13handleMouseUpEiiii()+0xa4 (section 1 0x2A4EB0)
    [
gui/widget.cpp:511scummvm:_ZN3GUI20DropdownButtonWidget13handleMouseUpEiiii()+0x4c (section 1 0x2A510C)
    [
gui/dialog.cpp:228scummvm:_ZN3GUI6Dialog13handleMouseUpEiiii()+0x130 (section 1 0x24CC54)
    [
gui/gui-manager.cpp:395scummvm:_ZN3GUI10GuiManager7runLoopEv()+0x1a4 (section 1 0x2505B8)
    [
gui/dialog.cpp:77scummvm:_ZN3GUI6Dialog8runModalEv()+0x44 (section 1 0x24C864)
    [
base/main.cpp:106scummvm:_ZL14launcherDialogv()+0xe4 (section 1 0x67850)
    [
base/main.cpp:537scummvm:scummvm_main()+0x2700 (section 1 0x69FAC)
    [
backends/platform/sdl/amigaos/amigaos-main.cpp:79scummvm: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
:
 
0200365060633670   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.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 

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 1007F0500 007F0600 (IO
  
0A:12.0 Vendor 0x1002 Device 0x4380 
   Range 0
00001030 - 00001038 (IO
   
Range 100001050 00001054 (IO
   
Range 2: 00001048 - 00001050 (IO
   
Range 3: 00001058 - 0000105C (IO
   
Range 400001020 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 1A0309400 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 300001050 00001054 (IO
   
Range 400001010 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 2A0104000 A0105000 (MEM
   
Range 4A0100000 A0104000 (PREF.MEM
  
02:00.0 Vendor 0x1002 Device 0x679A 
   Range 0
90000000 A0000000 (PREF.MEM
   
Range 2A0000000 A0040000 (MEM
   
Range 400002000 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
 
0x6198b454printer.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
  
Stack0x61c86004 0x61c95ffcpointer 0x61c95910 (Cookie OK
  
SignalsSigRec 0x00000100SigWait 0x00180000 
  State
Process (Waiting
 
rhd_gc (Waiting
  
Stack0x6fea2000 0x6feaa000pointer 0x6fea9f40 (Cookie OK
  
SignalsSigRec 0x80000001SigWait 0x00000000 
  State
Task (Waiting
 
ahi.device Unit Process (Waiting
  
Stack0x620b8004 0x620c7ffcpointer 0x620c7f20 (Cookie OK
  
SignalsSigRec 0xf000c000SigWait 0x00000100 
  State
Process (Waiting
 
MiniGL watch-dog (Waiting
  
Stack0x44cd7004 0x44ce6ffcpointer 0x44ce6ec0 (Cookie OK
  
SignalsSigRec 0xc0001000SigWait 0x00000000 
  State
Process (Waiting
 
camdmidi.usbfd (Waiting
  
Stack0x6137d004 0x6138cffcpointer 0x6138cf60 (Cookie OK
  
SignalsSigRec 0x60001000SigWait 0x00000100 
  State
Process (Waiting
 
ClickToFront (Waiting
  
Stack0x61bd9004 0x61be8ffcpointer 0x61be89f0 (Cookie OK
  
SignalsSigRec 0xc000d000SigWait 0x00000100 
  State
Process (Waiting
 
input.device (Waiting
  
Stack0x6fe82000 0x6fe92000pointer 0x6fe91f00 (Cookie OK
  
SignalsSigRec 0x80000000SigWait 0x00000000 
  State
Task (Waiting
 
sound.datatype process (Waiting
  
Stack0x41d48004 0x41d67ffcpointer 0x41d67e40 (Cookie OK
  
SignalsSigRec 0x80001000SigWait 0x40002000 
  State
Process (Waiting
 
sound.datatype process (Waiting
  
Stack0x46846004 0x46865ffcpointer 0x46865e40 (Cookie OK
  
SignalsSigRec 0x80001000SigWait 0x40002000 
  State
Process (Waiting
 
SFS DosList handler (Waiting
  
Stack0x6307e004 0x63081ffcpointer 0x63081f20 (Cookie OK
  
SignalsSigRec 0x80000000SigWait 0x00000000 
  State
Process (Waiting
 
USB stack (Waiting
  
Stack0x6fe9a000 0x6fe9e000pointer 0x6fe9df20 (Cookie OK
  
SignalsSigRec 0xf8007000SigWait 0x00000000 
  State
Task (Waiting
 
OHCI Controller Task Unit 0 (Waiting
  
Stack0x6fdb9000 0x6fdc1000pointer 0x6fdc0f10 (Cookie OK
  
SignalsSigRec 0xbc009000SigWait 0x00000000 
  State
Task (Waiting
 
OHCI Controller Task Unit 1 (Waiting
  
Stack0x6fd91000 0x6fd99000pointer 0x6fd98f10 (Cookie OK
  
SignalsSigRec 0xbc009000SigWait 0x00000000 
  State
Task (Waiting
 
OHCI Controller Task Unit 2 (Waiting
  
Stack0x6fd75000 0x6fd7d000pointer 0x6fd7cf10 (Cookie OK
  
SignalsSigRec 0xbc009000SigWait 0x00000000 
  State
Task (Waiting
 
OHCI Controller Task Unit 4 (Waiting
  
Stack0x6fd31000 0x6fd39000pointer 0x6fd38f10 (Cookie OK
  
SignalsSigRec 0xbc009000SigWait 0x00000000 
  State
Task (Waiting
 
OHCI Controller Task Unit 3 (Waiting
  
Stack0x6fd49000 0x6fd51000pointer 0x6fd50f10 (Cookie OK
  
SignalsSigRec 0xbc009000SigWait 0x00000000 
  State
Task (Waiting
 
EHCI Controller Task Unit 0 (Waiting
  
Stack0x6fd05000 0x6fd0d000pointer 0x6fd0cf10 (Cookie OK
  
SignalsSigRec 0xbe009000SigWait 0x00000000 
  State
Task (Waiting
 
page_sweep (Waiting
  
Stack0x6fde8004 0x6fdefffcpointer 0x6fdefe90 (Cookie OK
  
SignalsSigRec 0x80000000SigWait 0x00000000 
  State
Task (Waiting
 
sb600sata.device chip 0 port 0 (Waiting
  
Stack0x6fe48000 0x6fe50000pointer 0x6fe4ff20 (Cookie OK
  
SignalsSigRec 0xc0000000SigWait 0x20000000 
  State
Task (Waiting
 
cfide.device task (Waiting
  
Stack0x6fdf0000 0x6fdf8000pointer 0x6fdf7f40 (Cookie OK
  
SignalsSigRec 0xc0000000SigWait 0x00000000 
  State
Task (Waiting
 
sb600sata.device chip 0 port 1 (Waiting
  
Stack0x6fe18000 0x6fe20000pointer 0x6fe1ff20 (Cookie OK
  
SignalsSigRec 0xc0000000SigWait 0x20008000 
  State
Task (Waiting
 
hid.usbfd (Waiting
  
Stack0x61365004 0x6136cffcpointer 0x6136ce90 (Cookie OK
  
SignalsSigRec 0xe0000000SigWait 0x00000100 
  State
Process (Waiting
 
HID Mouse (Waiting
  
Stack0x611e5004 0x611f4ffcpointer 0x611f4f20 (Cookie OK
  
SignalsSigRec 0x80001000SigWait 0x00000000 
  State
Process (Waiting
 
reaper.task (Waiting
  
Stack0x62c7f004 0x62c86ffcpointer 0x62c86e50 (Cookie OK
  
SignalsSigRec 0x00007000SigWait 0x00000000 
  State
Process (Waiting
 
SSD0/SmartFilesystem 1.293  (Waiting
  
Stack0x6fb1c004 0x6fb1fffcpointer 0x6fb1feb0 (Cookie OK
  
SignalsSigRec 0xe0000100SigWait 0x10000000 
  State
Process (Waiting
 
ICD0/CDFileSystem 53.4  (Waiting
  
Stack0x60f7f004 0x60f8effcpointer 0x60f8ef30 (Cookie OK
  
SignalsSigRec 0x00000100SigWait 0x00000000 
  State
Process (Waiting
 
ICD1/CDFileSystem 53.4  (Waiting
  
Stack0x6100b004 0x6101affcpointer 0x6101af30 (Cookie OK
  
SignalsSigRec 0x00000100SigWait 0x00000000 
  State
Process (Waiting
 
CD0/CDFileSystem 53.4  (Waiting
  
Stack0x63062004 0x63065ffcpointer 0x63065f30 (Cookie OK
  
SignalsSigRec 0x00000100SigWait 0x00000000 
  State
Process (Waiting
 
SSD4/SmartFilesystem 1.293  (Waiting
  
Stack0x62e6a004 0x62e6dffcpointer 0x62e6deb0 (Cookie OK
  
SignalsSigRec 0xe0000100SigWait 0x10000000 
  State
Process (Waiting
 
SSD2/SmartFilesystem 1.293  (Waiting
  
Stack0x62efc004 0x62effffcpointer 0x62effeb0 (Cookie OK
  
SignalsSigRec 0xe0000100SigWait 0x10000000 
  State
Process (Waiting
 
SSD3/SmartFilesystem 1.293  (Waiting
  
Stack0x62ebf004 0x62ec2ffcpointer 0x62ec2eb0 (Cookie OK
  
SignalsSigRec 0xe0000100SigWait 0x10000000 
  State
Process (Waiting
 
SSD5/SmartFilesystem 1.293  (Waiting
  
Stack0x62e1d004 0x62e20ffcpointer 0x62e20eb0 (Cookie OK
  
SignalsSigRec 0xe0000100SigWait 0x10000000 
  State
Process (Waiting
 
SSD1/SmartFilesystem 1.293  (Waiting
  
Stack0x62f51004 0x62f54ffcpointer 0x62f54eb0 (Cookie OK
  
SignalsSigRec 0xe0000100SigWait 0x10000000 
  State
Process (Waiting
 
hid.usbfd (Waiting
  
Stack0x61359004 0x61360ffcpointer 0x61360e90 (Cookie OK
  
SignalsSigRec 0xe0000000SigWait 0x00000100 
  State
Process (Waiting
 
HID Keyboard (Waiting
  
Stack0x61311004 0x61320ffcpointer 0x61320f10 (Cookie OK
  
SignalsSigRec 0x90001000SigWait 0x00000000 
  State
Process (Waiting
 
RAM/ram-handler 53.172  (Waiting
  
Stack0x62b91004 0x62b94ffcpointer 0x62b94d40 (Cookie OK
  
SignalsSigRec 0x80000000SigWait 0x00000100 
  State
Process (Waiting
 
SBU/SmartFilesystem 1.293  (Waiting
  
Stack0x62dd8004 0x62ddbffcpointer 0x62ddbeb0 (Cookie OK
  
SignalsSigRec 0xe0000100SigWait 0x10000000 
  State
Process (Waiting
 
MainIPC0/CrossDOSFileSystem 53.11  (Waiting
  
Stack0x60d6a004 0x60d79ffcpointer 0x60d79eb0 (Cookie OK
  
SignalsSigRec 0x40000100SigWait 0x00000000 
  State
Process (Waiting
 
MainIPH0/CrossDOSFileSystem 53.11  (Waiting
  
Stack0x61098004 0x610a7ffcpointer 0x610a7eb0 (Cookie OK
  
SignalsSigRec 0x40000100SigWait 0x00000000 
  State
Process (Waiting
 
HID Consumer (Waiting
  
Stack0x611d1004 0x611e0ffcpointer 0x611e0f20 (Cookie OK
  
SignalsSigRec 0x80001000SigWait 0x00000000 
  State
Process (Waiting
 
HID Consumer (Waiting
  
Stack0x612b5004 0x612c4ffcpointer 0x612c4f20 (Cookie OK
  
SignalsSigRec 0x80001000SigWait 0x00000000 
  State
Process (Waiting
 
HID Keyboard (Waiting
  
Stack0x614ac004 0x614bbffcpointer 0x614bbf10 (Cookie OK
  
SignalsSigRec 0x90001000SigWait 0x00000000 
  State
Process (Waiting
 
hid.usbfd (Waiting
  
Stack0x6134d004 0x61354ffcpointer 0x61354e90 (Cookie OK
  
SignalsSigRec 0xe0000000SigWait 0x00000100 
  State
Process (Waiting
 
HID Keyboard (Waiting
  
Stack0x6126d004 0x6127cffcpointer 0x6127cf10 (Cookie OK
  
SignalsSigRec 0x90001000SigWait 0x00000000 
  State
Process (Waiting
 
HID Keyboard (Waiting
  
Stack0x61299004 0x612a8ffcpointer 0x612a8f10 (Cookie OK
  
SignalsSigRec 0x90001000SigWait 0x00000000 
  State
Process (Waiting
 
HID Keyboard (Waiting
  
Stack0x612e1004 0x612f0ffcpointer 0x612f0f10 (Cookie OK
  
SignalsSigRec 0x90001000SigWait 0x00000000 
  State
Process (Waiting
 
hid.usbfd (Waiting
  
Stack0x61341004 0x61348ffcpointer 0x61348e90 (Cookie OK
  
SignalsSigRec 0xe0000000SigWait 0x00000100 
  State
Process (Waiting
 
pager (Waiting
  
Stack0x62c5b004 0x62c7affcpointer 0x62c7aef0 (Cookie OK
  
SignalsSigRec 0x80001000SigWait 0x00000000 
  State
Process (Waiting
 
IDF1/FastFileSystem 53.2  (Waiting
  
Stack0x60ddb004 0x60deaffcpointer 0x60deaed0 (Cookie OK
  
SignalsSigRec 0xa8000100SigWait 0x00000000 
  State
Process (Waiting
 
IDF0/FastFileSystem 53.2  (Waiting
  
Stack0x60e1b004 0x60e2affcpointer 0x60e2aed0 (Cookie OK
  
SignalsSigRec 0xa8000100SigWait 0x00000000 
  State
Process (Waiting
 
WinFrame 1 Process (Waiting
  
Stack0x5030a004 0x50349ffcpointer 0x50349eb0 (Cookie OK
  
SignalsSigRec 0xff800000SigWait 0x00000000 
  State
Process (Waiting
 
SDL thread SDLAudioP1 (0x418de5d8) (Waiting
  
Stack0x43210004 0x43403ffcpointer 0x43403eb0 (Cookie OK
  
SignalsSigRec 0x40000000SigWait 0x00000000 
  State
Process (Waiting
 
rtl8169.device.0 (Waiting
  
Stack0x5bb20004 0x5bb2fffcpointer 0x5bb2ff00 (Cookie OK
  
SignalsSigRec 0x78008000SigWait 0x00000100 
  State
Process (Waiting
 
IPC0/CrossDOSFileSystem 53.11  (Waiting
  
Stack0x60d86004 0x60d95ffcpointer 0x60d95ee0 (Cookie OK
  
SignalsSigRec 0x00010100SigWait 0x00000000 
  State
Process (Waiting
 
IPH0/CrossDOSFileSystem 53.11  (Waiting
  
Stack0x610f2004 0x61101ffcpointer 0x61101ee0 (Cookie OK
  
SignalsSigRec 0x00010100SigWait 0x00000000 
  State
Process (Waiting
 
ICBM0/CBM1541FileSystem 2.3  (Waiting
  
Stack0x61172004 0x61181ffcpointer 0x61181f20 (Cookie OK
  
SignalsSigRec 0xb0000000SigWait 0x00000100 
  State
Process (Waiting
 
ICBM1/CBM1541FileSystem 2.3  (Waiting
  
Stack0x61517004 0x61526ffcpointer 0x61526f20 (Cookie OK
  
SignalsSigRec 0xb0000000SigWait 0x00000100 
  State
Process (Waiting
 
CON/con-handler 53.78  (Waiting
  
Stack0x5037e004 0x5038dffcpointer 0x5038de20 (Cookie OK
  
SignalsSigRec 0xb0000100SigWait 0x00000000 
  State
Process (Waiting
 
dos_filedir_notify (Waiting
  
Stack0x6fb5d004 0x6fb60ffcpointer 0x6fb60ad0 (Cookie OK
  
SignalsSigRec 0x40001000SigWait 0x80000000 
  State
Process (Waiting
 
ENV/env-handler 54.5  (Waiting
  
Stack0x62c53004 0x62c56ffcpointer 0x62c56ef0 (Cookie OK
  
SignalsSigRec 0x80000000SigWait 0x00000100 
  State
Process (Waiting
 
URL/launch-handler 53.38  (Waiting
  
Stack0x60e58004 0x60ed2ffcpointer 0x60ecefb0 (Cookie OK
  
SignalsSigRec 0x80000000SigWait 0x00000100 
  State
Process (Waiting
 
RANDOM/Random-Handler 52.1  (Waiting
  
Stack0x60efb004 0x60f0affcpointer 0x60f0aef0 (Cookie OK
  
SignalsSigRec 0x00000100SigWait 0x00000000 
  State
Process (Waiting
 
CON/con-handler 53.78  (Waiting
  
Stack0x5088d004 0x5089cffcpointer 0x5089ce20 (Cookie OK
  
SignalsSigRec 0xa0000100SigWait 0x00000000 
  State
Process (Waiting
 
CON/con-handler 53.78  (Waiting
  
Stack0x61c6a004 0x61c79ffcpointer 0x61c79e20 (Cookie OK
  
SignalsSigRec 0xa0000100SigWait 0x00000000 
  State
Process (Waiting
 
CON/con-handler 53.78  (Waiting
  
Stack0x61d01004 0x61d10ffcpointer 0x61d10e20 (Cookie OK
  
SignalsSigRec 0xa0000100SigWait 0x00000000 
  State
Process (Waiting
 
CON/con-handler 53.78  (Waiting
  
Stack0x61d7f004 0x61d8effcpointer 0x61d8ee20 (Cookie OK
  
SignalsSigRec 0xa0000100SigWait 0x00000000 
  State
Process (Waiting
 
CON/con-handler 53.78  (Waiting
  
Stack0x61e0c004 0x61e1bffcpointer 0x61e1be20 (Cookie OK
  
SignalsSigRec 0xa0000100SigWait 0x00000000 
  State
Process (Waiting
 
CON/con-handler 53.78  (Waiting
  
Stack0x61e86004 0x61e95ffcpointer 0x61e95e20 (Cookie OK
  
SignalsSigRec 0xa0000100SigWait 0x00000000 
  State
Process (Waiting
 
CON/con-handler 53.78  (Waiting
  
Stack0x61f4f004 0x61f5effcpointer 0x61f5ee20 (Cookie OK
  
SignalsSigRec 0xa0000100SigWait 0x00000000 
  State
Process (Waiting
 
CON/con-handler 53.78  (Waiting
  
Stack0x62b3f004 0x62b4effcpointer 0x62b4ee20 (Cookie OK
  
SignalsSigRec 0xa0000100SigWait 0x00000000 
  State
Process (Waiting
 
AUDIO/AHI-Handler 6.2  (Waiting
  
Stack0x61047004 0x61057004pointer 0x61056ed0 (Cookie OK
  
SignalsSigRec 0x00000100SigWait 0x00000000 
  State
Process (Waiting
 
Camd Wait Proc (Waiting
  
Stack0x613aa004 0x613c2ffcpointer 0x613c2f10 (Cookie OK
  
SignalsSigRec 0x80001000SigWait 0x00000000 
  State
Process (Waiting
 
APPDIR/appdir-handler-in-dos 53.158  (Waiting
  
Stack0x62bff004 0x62c06ffcpointer 0x62c06dc0 (Cookie OK
  
SignalsSigRec 0x80000000SigWait 0x00000100 
  State
Process (Waiting
 
CON/con-handler 53.78  (Waiting
  
Stack0x62cbb004 0x62cc2ffcpointer 0x62cc2e20 (Cookie OK
  
SignalsSigRec 0xa0000100SigWait 0x00000000 
  State
Process (Waiting
 
RAW/con-handler 53.78  (Waiting
  
Stack0x62ccf004 0x62cd6ffcpointer 0x62cd6e20 (Cookie OK
  
SignalsSigRec 0xa0000100SigWait 0x00000000 
  State
Process (Waiting
 
CON/con-handler 53.78  (Waiting
  
Stack0x62d03004 0x62d0affcpointer 0x62d0ae20 (Cookie OK
  
SignalsSigRec 0xa0000100SigWait 0x00000000 
  State
Process (Waiting
 
dos_nbmd_process (Waiting
  
Stack0x6fb6d004 0x6fb70ffcpointer 0x6fb70f30 (Cookie OK
  
SignalsSigRec 0x00001100SigWait 0x00000000 
  State
Process (Waiting
 
dos_lock_handler (Waiting
  
Stack0x6fb75004 0x6fb78ffcpointer 0x6fb78f00 (Cookie OK
  
SignalsSigRec 0x00001100SigWait 0x00000000 
  State
Process (Waiting
 
RexxMaster (Waiting
  
Stack0x60cc6004 0x60cd6004pointer 0x60cd5f70 (Cookie OK
  
SignalsSigRec 0xc0000000SigWait 0x00000100 
  State
Process (Waiting
 
diskimage.device unit 6 (Waiting
  
Stack0x60d4a004 0x60d5dffcpointer 0x60d5dc50 (Cookie OK
  
SignalsSigRec 0xc0000000SigWait 0x00000100 
  State
Process (Waiting
 
diskimage.device unit 1 (Waiting
  
Stack0x60db3004 0x60dc6ffcpointer 0x60dc6c50 (Cookie OK
  
SignalsSigRec 0xc0000000SigWait 0x00000100 
  State
Process (Waiting
 
diskimage.device unit 0 (Waiting
  
Stack0x60df7004 0x60e0affcpointer 0x60e0ac50 (Cookie OK
  
SignalsSigRec 0xc0000000SigWait 0x00000100 
  State
Process (Waiting
 
diskimage.device unit 4 (Waiting
  
Stack0x60f50004 0x60f63ffcpointer 0x60f63c50 (Cookie OK
  
SignalsSigRec 0xc0000000SigWait 0x00000100 
  State
Process (Waiting
 
diskimage.device unit 5 (Waiting
  
Stack0x60fdc004 0x60fefffcpointer 0x60fefc50 (Cookie OK
  
SignalsSigRec 0xc0000000SigWait 0x00000100 
  State
Process (Waiting
 
diskimage.device unit 7 (Waiting
  
Stack0x61078004 0x6108bffcpointer 0x6108bc50 (Cookie OK
  
SignalsSigRec 0xc0000000SigWait 0x00000100 
  State
Process (Waiting
 
diskimage.device unit 2 (Waiting
  
Stack0x6111f004 0x61132ffcpointer 0x61132c50 (Cookie OK
  
SignalsSigRec 0xc0000000SigWait 0x00000100 
  State
Process (Waiting
 
diskimage.device unit 3 (Waiting
  
Stack0x6118e004 0x611a1ffcpointer 0x611a1c50 (Cookie OK
  
SignalsSigRec 0xc0000000SigWait 0x00000100 
  State
Process (Waiting
 
TEXTCLIP/textclip-handler 53.1  (Waiting
  
Stack0x60edf004 0x60eeeffcpointer 0x60eeeeb0 (Cookie OK
  
SignalsSigRec 0x80000000SigWait 0x00000100 
  State
Process (Waiting
 
compose.task (Waiting
  
Stack0x6024e000 0x60256000pointer 0x60255e00 (Cookie OK
  
SignalsSigRec 0x00000010SigWait 0x00000000 
  State
Task (Waiting
 
Workbench (Waiting
  
Stack0x600eb004 0x600faffcpointer 0x600faea0 (Cookie OK
  
SignalsSigRec 0x80000000SigWait 0x00000000 
  State
Process (Waiting
 
ramlib (Waiting
  
Stack0x62ba1004 0x62bb9ffcpointer 0x62bb9f20 (Cookie OK
  
SignalsSigRec 0x80001000SigWait 0x00000100 
  State
Process (Waiting
 
Workbench DosList Notify (Waiting
  
Stack0x5d2e4004 0x5d2f3ffcpointer 0x5d2f3f40 (Cookie OK
  
SignalsSigRec 0x00003000SigWait 0x00000100 
  State
Process (Waiting
 
TextEditor.mcc clipboard server (Waiting
  
Stack0x50644004 0x50647ffcpointer 0x50647ea0 (Cookie OK
  
SignalsSigRec 0x80000000SigWait 0x00000100 
  State
Process (Waiting
 
MUI imagespace screen notify (Waiting
  
Stack0x4f3c8004 0x4f3d7ffcpointer 0x4f3d7d20 (Cookie OK
  
SignalsSigRec 0xc0001000SigWait 0x00000100 
  State
Process (Waiting
 
texteditor.gadget Clipboard Server (Waiting
  
Stack0x5bdc7004 0x5bddfffcpointer 0x5bddff00 (Cookie OK
  
SignalsSigRec 0x80000000SigWait 0x00000100 
  State
Process (Waiting
 
ContextMenus Command Dispatcher (Waiting
  
Stack0x61b20004 0x61b2fffcpointer 0x61b2ff30 (Cookie OK
  
SignalsSigRec 0x80001000SigWait 0x00000000 
  State
Process (Waiting
 
string.gadget server (Waiting
  
Stack0x5d2c8004 0x5d2d7ffcpointer 0x5d2d7db0 (Cookie OK
  
SignalsSigRec 0x40000000SigWait 0x00000100 
  State
Process (Waiting
 
Workbench Clipboard Server (Waiting
  
Stack0x5d3c8004 0x5d3d7ffcpointer 0x5d3d7f00 (Cookie OK
  
SignalsSigRec 0x80000000SigWait 0x00000100 
  State
Process (Waiting
 
SDL thread SDLTimer (0x418de908) (Ready
  
Stack0x43018004 0x4320bffcpointer 0x4320bea0 (Cookie OK
  
SignalsSigRec 0x80009000SigWait 0x80000000 
  State
Process (Ready
 
NotificationServer (Waiting
  
Stack0x61ea2004 0x61ec1ffcpointer 0x61ec1b10 (Cookie OK
  
SignalsSigRec 0xbf801000SigWait 0x00000000 
  State
Process (Waiting
 
TCP/IP Control (Waiting
  
Stack0x5bb7d004 0x5bb8cffcpointer 0x5bb8cdc0 (Cookie OK
  
SignalsSigRec 0xf8009080SigWait 0x00000000 
  State
Process (Waiting
 
hub.usbfd (Waiting
  
Stack0x6fcad004 0x6fcb4ffcpointer 0x6fcb4f10 (Cookie OK
  
SignalsSigRec 0x30000000SigWait 0x00000000 
  State
Task (Waiting
 
hub.usbfd (Waiting
  
Stack0x6fca1004 0x6fca8ffcpointer 0x6fca8f10 (Cookie OK
  
SignalsSigRec 0x30000000SigWait 0x00000000 
  State
Task (Waiting
 
hub.usbfd (Waiting
  
Stack0x6fc89004 0x6fc90ffcpointer 0x6fc90f10 (Cookie OK
  
SignalsSigRec 0x30000000SigWait 0x00000000 
  State
Task (Waiting
 
Background CLI [wait] (Waiting
  
Stack0x4163c004 0x4164bffcpointer 0x4164bf00 (Cookie OK
  
SignalsSigRec 0x80001000SigWait 0x00000100 
  State
Process (Waiting
 
Background CLI [wait] (Waiting
  
Stack0x50c3a004 0x50c49ffcpointer 0x50c49f00 (Cookie OK
  
SignalsSigRec 0x80001000SigWait 0x00000100 
  State
Process (Waiting
 
Background CLI [wait] (Waiting
  
Stack0x4f406004 0x4f415ffcpointer 0x4f415f00 (Cookie OK
  
SignalsSigRec 0x80001000SigWait 0x00000100 
  State
Process (Waiting
 
ELF Collector (Waiting
  
Stack0x6306a004 0x63079ffcpointer 0x63079e70 (Cookie OK
  
SignalsSigRec 0x00000100SigWait 0x00000000 
  State
Process (Waiting
 
hub.usbfd (Waiting
  
Stack0x6fc95004 0x6fc9cffcpointer 0x6fc9cf10 (Cookie OK
  
SignalsSigRec 0x30000000SigWait 0x00000000 
  State
Task (Waiting
 
hub.usbfd (Waiting
  
Stack0x6fc7d004 0x6fc84ffcpointer 0x6fc84f10 (Cookie OK
  
SignalsSigRec 0x30000000SigWait 0x00000000 
  State
Task (Waiting
 
hub.usbfd (Waiting
  
Stack0x6fcb9004 0x6fcc0ffcpointer 0x6fcc0f10 (Cookie OK
  
SignalsSigRec 0x30000000SigWait 0x00000000 
  State
Task (Waiting
 
Background CLI [smbfs.os4_2.2 '//Synology-DS120j/NAS'] (Waiting
  
Stack0x4f9f4004 0x4fa03ffcpointer 0x4fa035a0 (Cookie OK
  
SignalsSigRec 0x8000f080SigWait 0x00000000 
  State
Process (Waiting
 
AmigaInput Dispatcher (Waiting
  
Stack0x43c00000 0x43c04000pointer 0x43c03f30 (Cookie OK
  
SignalsSigRec 0x80000000SigWait 0x00000000 
  State
Task (Waiting
 
ARexx (Waiting
  
Stack0x4f958004 0x4f968004pointer 0x4f967d70 (Cookie OK
  
SignalsSigRec 0x00000100SigWait 0x00000000 
  State
Process (Waiting
 
ARexx (Waiting
  
Stack0x502ac004 0x502bc004pointer 0x502bbd70 (Cookie OK
  
SignalsSigRec 0x00000100SigWait 0x00000000 
  State
Process (Waiting
 
TCP/IP Superserver (Waiting
  
Stack0x5bb99004 0x5bba8ffcpointer 0x5bba89f0 (Cookie OK
  
SignalsSigRec 0xd0000080SigWait 0x00000000 
  State
Process (Waiting
 
TCP/IP Configuration (Waiting
  
Stack0x5bbb5004 0x5bbc4ffcpointer 0x5bbc4e10 (Cookie OK
  
SignalsSigRec 0xf8003000SigWait 0x00000000 
  State
Process (Waiting
 
ARexx (Waiting
  
Stack0x503f6004 0x50406004pointer 0x50405d70 (Cookie OK
  
SignalsSigRec 0x00000100SigWait 0x00000000 
  State
Process (Waiting
 
MultiEdit (Waiting
  
Stack0x59913004 0x5992bffcpointer 0x5992bc90 (Cookie OK
  
SignalsSigRec 0xf8001000SigWait 0x00000000 
  State
Process (Waiting
 
Mounter GUI (Waiting
  
Stack0x6158e004 0x615a1ffcpointer 0x615a1e10 (Cookie OK
  
SignalsSigRec 0x80007000SigWait 0x00000000 
  State
Process (Waiting
 
DiskImageGUI (Waiting
  
Stack0x61b58004 0x61b67ffcpointer 0x61b67dc0 (Cookie OK
  
SignalsSigRec 0xd7009000SigWait 0x00000100 
  State
Process (Waiting
 
application.library messageserver (Waiting
  
Stack0x618bd000 0x618bdfa0pointer 0x618bdf10 (Cookie OK
  
SignalsSigRec 0xc0000000SigWait 0x00000000 
  State
Task (Waiting
 
Background CLI [SYS:System/AmiUpdate/AmiUpdate] (Waiting
  
Stack0x4f7ed004 0x4f86cffcpointer 0x4f86c350 (Cookie OK
  
SignalsSigRec 0xec001000SigWait 0x00000000 
  State
Process (Waiting
 
Background CLI [RX] (Waiting
  
Stack0x50470004 0x5047fffcpointer 0x5047fe20 (Cookie OK
  
SignalsSigRec 0x00000100SigWait 0x00000000 
  State
Process (Waiting
 
Background CLI [RX] (Waiting
  
Stack0x4fa08004 0x4fa17ffcpointer 0x4fa17e20 (Cookie OK
  
SignalsSigRec 0x00000100SigWait 0x00000000 
  State
Process (Waiting
 
Background CLI [RX] (Waiting
  
Stack0x53235004 0x53244ffcpointer 0x53244e20 (Cookie OK
  
SignalsSigRec 0x00000100SigWait 0x00000000 
  State
Process (Waiting
 
clipview.library server (Waiting
  
Stack0x61a2c004 0x61a4bffcpointer 0x61a4be00 (Cookie OK
  
SignalsSigRec 0xd8003000SigWait 0x00000000 
  State
Process (Waiting
 
KeymapSwitcher.docky (Waiting
  
Stack0x5bde4004 0x5bdf3ffcpointer 0x5bdf3ef0 (Cookie OK
  
SignalsSigRec 0x80001000SigWait 0x00000000 
  State
Process (Waiting
 
ContextMenus (Waiting
  
Stack0x61e28004 0x61e37ffcpointer 0x61e37c80 (Cookie OK
  
SignalsSigRec 0xe0001000SigWait 0x00000100 
  State
Process (Waiting
 
AsyncWB (Waiting
  
Stack0x61ef3004 0x61f02ffcpointer 0x61f02eb0 (Cookie OK
  
SignalsSigRec 0xc0001000SigWait 0x00000100 
  State
Process (Waiting
 
smartbutton.docky (Waiting
  
Stack0x619b4004 0x619c3ffcpointer 0x619c3ec0 (Cookie OK
  
SignalsSigRec 0x80001000SigWait 0x00000000 
  State
Process (Waiting
 
MouseBlanker (Waiting
  
Stack0x61b44004 0x61b53ffcpointer 0x61b53a00 (Cookie OK
  
SignalsSigRec 0xc000d000SigWait 0x00000100 
  State
Process (Waiting
 
UsbSound (Waiting
  
Stack0x61d2d004 0x61d3cffcpointer 0x61d3cc40 (Cookie OK
  
SignalsSigRec 0xc0001000SigWait 0x00000000 
  State
Process (Waiting
 
datatypes.library (Waiting
  
Stack0x61822004 0x61831ffcpointer 0x61831e30 (Cookie OK
  
SignalsSigRec 0x80001000SigWait 0x00000000 
  State
Process (Waiting
 
RAWBInfo (Waiting
  
Stack0x61d52004 0x61d61ffcpointer 0x61d61ec0 (Cookie OK
  
SignalsSigRec 0x80001000SigWait 0x00000100 
  State
Process (Waiting
 
DefIcons (Waiting
  
Stack0x61dae004 0x61dbdffcpointer 0x61dbddc0 (Cookie OK
  
SignalsSigRec 0x80009000SigWait 0x00000100 
  State
Process (Waiting
 
Background CLI [Tools:Audio/Tools/CamdTools/MidiThru/MidiThru] (Waiting
  
Stack0x5c3d9004 0x5c3e8ffcpointer 0x5c3e8b50 (Cookie OK
  
SignalsSigRec 0x80001000SigWait 0x00000100 
  State
Process (Waiting
 
« IPrefs » (Waiting
  
Stack0x610d4004 0x610e3ffcpointer 0x610e3980 (Cookie OK
  
SignalsSigRec 0x0000f000SigWait 0x20000100 
  State
Process (Waiting
 
TCP/IP Log (Waiting
  
Stack0x5bbe1004 0x5bbf0ffcpointer 0x5bbf0f00 (Cookie OK
  
SignalsSigRec 0x80003000SigWait 0x00000000 
  State
Process (Waiting
 
Background CLI [Tools:System/CAPSLock/CAPSLock] (Waiting
  
Stack0x60c6a004 0x60c79ffcpointer 0x60c79b90 (Cookie OK
  
SignalsSigRec 0x70001000SigWait 0x00000100 
  State
Process (Waiting
 
ConClip (Waiting
  
Stack0x60d1e004 0x60d2dffcpointer 0x60d2deb0 (Cookie OK
  
SignalsSigRec 0x80000000SigWait 0x00000000 
  State
Process (Waiting
 
USB stack Process (Waiting
  
Stack0x615ca004 0x615d9ffcpointer 0x615d9ee0 (Cookie OK
  
SignalsSigRec 0x80001000SigWait 0x00000000 
  State
Process (Waiting
 
MassStorage Notifier (Waiting
  
Stack0x6fdc5000 0x6fdccd00pointer 0x6fdccc70 (Cookie OK
  
SignalsSigRec 0x80001000SigWait 0x00000000 
  State
Task (Waiting
 
DST watcher (Waiting
  
Stack0x61846004 0x61855ffcpointer 0x61855f10 (Cookie OK
  
SignalsSigRec 0xc0000000SigWait 0x00000000 
  State
Process (Waiting
 
hub.usbfd (Waiting
  
Stack0x6fb8d004 0x6fb94ffcpointer 0x6fb94f10 (Cookie OK
  
SignalsSigRec 0x30000000SigWait 0x00000000 
  State
Task (Waiting
 
hub.usbfd (Waiting
  
Stack0x6fba1004 0x6fba8ffcpointer 0x6fba8f10 (Cookie OK
  
SignalsSigRec 0x30000000SigWait 0x00000000 
  State
Task (Waiting
 
Shell Process [scummvm] (Crashed
  
Stack0x42370004 0x42563ffcpointer 0x425620f0 (Cookie OK
  
SignalsSigRec 0x00000020SigWait 0x08000000 
  State
Process (Crashed
 
ramlib.support (Waiting
  
Stack0x62bbe004 0x62bd6ffcpointer 0x62bd6f00 (Cookie OK
  
SignalsSigRec 0x80005000SigWait 0x00000000 
  State
Process (Waiting
 
Mounter Task (Waiting
  
Stack0x6fdd5000 0x6fde3a60pointer 0x6fde3970 (Cookie OK
  
SignalsSigRec 0xb0001000SigWait 0x00000000 
  State
Task (Waiting
 
Mounter Companion Process (Waiting
  
Stack0x615b6004 0x615c5ffcpointer 0x615c5f40 (Cookie OK
  
SignalsSigRec 0x80003000SigWait 0x00000000 
  State
Process (Waiting
 
dos_signal_server (Waiting
  
Stack0x6fb65004 0x6fb68ffcpointer 0x6fb68f10 (Cookie OK
  
SignalsSigRec 0x0000f000SigWait 0x00000000 
  State
Process (Waiting
 
Background CLI [System:Prefs/Presets/CANDI/data/Dandelion] (Ready
  
Stack0x542ea004 0x542f9ffcpointer 0x542f9a40 (Cookie OK
  
SignalsSigRec 0x00000010SigWait 0x14000100 
  State
Process (Ready
 
CANDI (Waiting
  
Stack0x61f6b004 0x61f7affcpointer 0x61f7a800 (Cookie OK
  
SignalsSigRec 0x70005000SigWait 0x00000000 
  State
Process (Waiting
 
dos_appdir_server (Waiting
  
Stack0x6fb41004 0x6fb48ffcpointer 0x6fb48d40 (Cookie OK
  
SignalsSigRec 0x80005000SigWait 0x00000000 
  State
Process (Waiting
 
CPUDock_idleTask (Ready
  
Stack0x5bf80000 0x5bf84000pointer 0x5bf83f00 (Cookie OK
  
SignalsSigRec 0x80000000SigWait 0x40000000 
  State
Task (Ready
 
idle.task (Ready
  
Stack0x6ff61000 0x6ff62000pointer 0x6ff61fd0 (Cookie OK
  
SignalsSigRec 0x00000000SigWait 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.

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
Go to top
Re: Porting to AmigaOS4 thread
Just can't stay away
Just can't stay away


See User information
@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)?

Go to top
Re: Porting to AmigaOS4 thread
Home away from home
Home away from home


See User information
@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 &titleCommon::FSNode &choicebool 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"1Lnullptr);

        
struct codeset *srcmib ICodesets->CodesetsFind("ISO-8859-1"CSA_FallbackToDefaultFALSETAG_DONE);
        
struct codeset *dstmib ICodesets->CodesetsFind("UTF-8"CSA_FallbackToDefaultFALSETAG_DONE);

        if (
dstmib != nullptr) {
            
ULONG dstlen ICodesets->CodesetsStrLen(inTAG_END);

            
char *out = (char *)malloc(dstlen 1);
            if (
out) {
                if ((
out=ICodesets->CodesetsConvertStr(CSA_SourceCodesetsrcmibCSA_DestCodesetdstmibCSA_SourceinTAG_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 &titleCommon::FSNode &choicebool isDirBrowser) {

    
char pathBuffer[MAXPATHLEN];

    
Common::String utf8Title title.encode();    

    
DialogResult result kDialogCancel;

    
AslBase IExec->OpenLibrary(AslName50);
    if (
AslBase) {

        
IAsl = (struct AslIFace*)IExec->GetInterface(AslBase"main"1nullptr);

        
struct FileRequester *fr nullptr;

        if (
ConfMan.hasKey("browser_lastpath")) {
            
strncpy(pathBufferConfMan.get("browser_lastpath").c_str(), sizeof(pathBuffer)-1);
        }

        
fr = (struct FileRequester *)IAsl->AllocAslRequestTags(ASL_FileRequestTAG_DONE);

        if (!
fr)
            return 
result;

        const 
char *newTitle utf8ToLocal((const char *)utf8Title.c_str());

        if (
IAsl->AslRequestTags(frASLFR_TitleTextnewTitleASLFR_RejectIconsTRUEASLFR_InitialDrawerpathBufferASLFR_DrawersOnly, (isDirBrowser TRUE FALSE), TAG_DONE)) {

            if (
strlen(fr->fr_Drawer) < sizeof(pathBuffer)) {
                
strncpy(pathBufferfr->fr_Drawersizeof(pathBuffer));
                if (!
isDirBrowser) {
                    
IDOS->AddPart(pathBufferfr->fr_Filesizeof(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.cppIn member function 'virtual Common::DialogManager::DialogResult AmigaOSDialogManager::showFileBrowser(const Common::U32String&, Common::FSNode&, bool)':
backends/dialogs/amigaos/amigaos-dialogs.cpp:123:9errorinvalid 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:20note:   initializing argument 1 of 'void free(void*)'
 
_VOID _EXFUN(free,(_PTR));
                    ^~~~
gmake: *** [backends/dialogs/amigaos/amigaos-dialogs.oError 1

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
Go to top
Re: Porting to AmigaOS4 thread
Just can't stay away
Just can't stay away


See User information
@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_SourceCodesetsrcmib,
                                                       
CSA_DestCodeset,   dstmib,
                                                       
CSA_Source,     in,
                                                       
CSA_DestLenPtr, &dstlen,
                                                      
TAG_DONE);
            if( (
dst_str!= NULL) {
                
char *out = (char *)malloc(dstlen 1); 
                if(
out) {
                    
strcpy(outdst_strdstlen);
                    
ICodesets->CodesetsFreeA(dst_strNULL);
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.

Go to top
Re: Porting to AmigaOS4 thread
Home away from home
Home away from home


See User information
@jabirulo

With your changes i now get htis
C++      backends/dialogs/amigaos/amigaos-dialogs.o
backends
/dialogs/amigaos/amigaos-dialogs.cppIn member function 'char* AmigaOSDialogManager::utf8ToLocal(char*)':
backends/dialogs/amigaos/amigaos-dialogs.cpp:69:33errortoo many arguments to function 'char* strcpy(char*, const char*)'
      
strcpy(outdst_strdstlen);
                                 ^
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:8notedeclared here
 char  
*_EXFUN(strcpy,(char *, const char *));
        ^~~~~~
backends/dialogs/amigaos/amigaos-dialogs.cppIn member function 'virtual Common::DialogManager::DialogResult AmigaOSDialogManager::showFileBrowser(const Common::U32String&, Common::FSNode&, bool)':
backends/dialogs/amigaos/amigaos-dialogs.cpp:111:56warningcast 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.oError 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

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
Go to top
Re: Porting to AmigaOS4 thread
Just can't stay away
Just can't stay away


See User information
@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
Go to top
Re: Porting to AmigaOS4 thread
Home away from home
Home away from home


See User information
@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.cppIn member function 'virtual Common::DialogManager::DialogResult AmigaOSDialogManager::showFileBrowser(const Common::U32String&, Common::FSNode&, bool)':
backends/dialogs/amigaos/amigaos-dialogs.cpp:111:56warningcast 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)

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
Go to top
Re: Porting to AmigaOS4 thread
Just can't stay away
Just can't stay away


See User information
@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 &titleCommon::FSNode &choicebool isDirBrowser) {

...
                if (!
isDirBrowser) {
                    
IDOS->AddPart(pathBufferfr->fr_Filesizeof(pathBuffer));
                }
...

Go to top
Re: Porting to AmigaOS4 thread
Home away from home
Home away from home


See User information
@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.

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
Go to top
Re: Porting to AmigaOS4 thread
Just can't stay away
Just can't stay away


See User information
@Raziel

Ok if it's only a cosmetic feature, as you posted "remove ASLFR_DrawersOnly".

Go to top
Re: Porting to AmigaOS4 thread
Just can't stay away
Just can't stay away


See User information
@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.


Go to top
Re: Porting to AmigaOS4 thread
Home away from home
Home away from home


See User information
@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...

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
Go to top
Re: Porting to AmigaOS4 thread
Just can't stay away
Just can't stay away


See User information
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.

Go to top
Re: Porting to AmigaOS4 thread
Home away from home
Home away from home


See User information
@jabirulo

I see...so much to learn, so much to understand

Thank you

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
Go to top
Re: Porting to AmigaOS4 thread
Home away from home
Home away from home


See User information
@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 widthuint height) {
#if !defined(USE_GLES2)
    
if (_antialiasing && OpenGLContext.framebufferObjectMultisampleSupported) {
        return new 
OpenGL::MultiSampleFrameBuffer(widthheight_antialiasing);
    } else
#endif
    
{
        return new 
OpenGL::FrameBuffer(widthheight);
    }
}
#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

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
Go to top

  Register To Post
« 1 ... 10 11 12 (13) 14 15 16 ... 22 »

 




Currently Active Users Viewing This Thread: 1 ( 0 members and 1 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2023 The XOOPS Project