Headlines |
-
mce.lha - game/utility
Apr 23, 2024
-
theme_list.lha - utility/misc
Apr 23, 2024
-
faac.lha - audio/convert
Apr 22, 2024
-
faad2.lha - audio/convert
Apr 22, 2024
-
seq.lha - audio/misc
Apr 22, 2024
-
libfaac.lha - development/library/audio
Apr 22, 2024
-
libfaad.lha - development/library/audio
Apr 22, 2024
-
image2pdf.lha - utility/text/convert
Apr 22, 2024
-
libharfbuzz.lha - development/library/graphics
Apr 20, 2024
-
libpng.lha - development/library/graphics
Apr 20, 2024
|
|
|
|
Re: can
|
Posted on: 1/20 20:42
#101
|
Just can't stay away
|
@Hans Quote: A bit embarrassing if Odyssey can't handle what was recommended SSL protocol settings years ago (e.g., min TLS 1.2, with ciphers restricted to ones that don't have known flaws). OWB development was stopped by Pleyo in 2009 already, anything newer wont work in OWB, incl. my AmigaOS 3.x/m68k and 4.x/PPC ports and and the AROS/x86 one, and probably not in forks of it like Odyssey either.
|
|
|
|
Re: can't login to ZitaFTP server webpage?
|
Posted on: 1/20 8:45
#102
|
Just can't stay away
|
@328gts Are you trying to use OWB or Odyssey? I don't know anything about Odyssey, for OWB using "SetEnv SAVE SSL_NO_VERIFY 1" may work.
|
|
|
|
Re: can't login to ZitaFTP server webpage?
|
Posted on: 1/19 19:14
#103
|
Just can't stay away
|
@328gts OWB doesn't use AmiSSL but was linked with libssl, with the shared libssl-0.9.8.so in old versions (OWB Blastoise and older), or statically linked in the newer versions. The certificate file used, DEVS:curl-ca-bundle.crt, is of course outdated and probably none of the certs in it are sill valid, but it can be updated for example from https://curl.se/docs/caextract.html (rename the downloaded cacert.pem to curl-ca-bundle.crt and copy it to DEVS:). If ZitaFTP requires SSL/TLS protocol versions which weren't available in OpenSSL 0.9.8 yet OWB would have to be rebuild using a newer version of the OpenSSL library.
|
|
|
|
Re: Upgrade X1000 to RX560 or not?
|
Posted on: 1/14 21:20
#105
|
Just can't stay away
|
@ktadd Not sure if that's possible on the X1000 as well since I don't know anything about it's CFE firmware, but on U-Boot systems you can set the U-Boot variables to first try booting from an USB stick. If no bootable USB stick is inserted it will still boot from the HD.
That way you can have an emergency boot system (on the USB stick) without requiring a serial terminal to change boot options if something goes wrong with your HD boot partition.
|
|
|
|
Re: [Solved] How to delete a file that ends with
|
Posted on: 1/14 6:37
#106
|
Just can't stay away
|
@nbache Using patterns is one option, and if "delete" still doesn't work that way maybe first renaming the file could work. If the OS C: tools can't do it another possibility would be to use the SDK (coreutils) "rm" instead.
But what's more important: It shouldn't be possible to create files with a ':' in the name at all. Which file system was used and allowed to create such a file name? It's a bug in the file system which has to be fixed.
|
|
|
|
Re: x5000 benchmarks / speed up
|
Posted on: 1/12 21:11
#107
|
Just can't stay away
|
@geennaam Quote: AmigaOS, every variant, can only address 2GB. So this is normal. There's extended memory bu means of bank switching. But that is hardly used. AmigaOS 4.x can address 4 GB, the single, ancient exec function which used to limit the address space to 2 GB in AmigaOS 3.x is no longer used since more than 20 years and was replaced by a function supporting the complete 4 GB. However, the upper 2 GB of the 32 bit 4 GB (virtual) address space are reserved for PCI(e), U-Boot, etc. in AmigaOS 4.x, resulting in only 2 GB for normal applications, which don't support ExtMem, in AmigaOS 4.x as well.
|
|
|
|
Re: Amiga OS4.1 SSD Harddrive utility
|
Posted on: 1/12 19:45
#108
|
Just can't stay away
|
@daveyw Quote: I don't believe we should be using SFS/0 on OS4 systems, although joerg is far more knowledgeable than me on this. SFS\0: Max. file size 4 GB-2 bytes, max. partition size 128 GB. Data recovery tools like SFSSalv (os4depot and Aminet SFS distributions) and PartitionWizard (Enhancer Software) available. SFS\2: Supports files larger than 4 GB and partitions larger than 128 GB (theoretically much larger, but apparently there are bugs with drives and/or partitions larger than 2 or 4 TB). No data recovery tools available. No other differences, for example neither format supports the new AmigaOS 4.1 FileSystem API. => You shouldn't use SFS\2 but only SFS\0. Except for a single SFS\2 partition for files larger than 4 GB if you need that.
|
|
|
|
Re: binutils 2.40 first native(!) beta tests !
|
Posted on: 1/8 16:35
#109
|
Just can't stay away
|
@softwarefailure Quote: As to why "j" is declared static, no idea. As I said in the thread over at the Hyperion forums I took this code straight from clib2. If you take any function from the clib2 sources you can be 80% sure it has a serious bug That was one of the reason it was replaced more than 20 years ago by newlib... Quote: According to afxgroup's reply on the Hyperion forums it's a bug in the binutils which don't NULL-terminate the ctor/dtor lists on linking, thereby causing invalid ctors/dtors getting called That's utter nonsense, unlike for .init/.fini it's not the job of binutils to terminate the .ctors/.dtors array with a NULL pointer, you have to do it yourself (it's of course automatically done when using the standard C library startup and linker script) crtbegin.c/o or in your case child.c/o:
static void (*__CTOR_LIST__[1]) (void) __attribute__(used, section(".ctors")) = (void *)~0;
static void (*__DTOR_LIST__[1]) (void) __attribute__(used, section(".dtors")) = (void *)~0;
crtend.c/o:
static void (*__CTOR_LIST__[1]) (void) __attribute__(used, section(".ctors")) = NULL;
static void (*__DTOR_LIST__[1]) (void) __attribute__(used, section(".dtors")) = NULL;
If you don't link with crtend.o, or custom code with the same contents, as last object file that's the reason for the missing NULL-termination of .ctors/.dtors.
|
|
|
|
Re: binutils 2.40 first native(!) beta tests !
|
Posted on: 1/7 22:19
#110
|
Just can't stay away
|
@softwarefailure Your _fini(void) function can't work because int j (why static?) isn't initialized to 0 and therefore __DTOR_LIST__[j+1]() may be a random memory address and not a destructor function pointer from __DTOR_LIST__[]. Additionally it may try to call one function too much, i.e. the NULL pointer from crtend.o at the end of __DTOR_LIST__[], but I'm not sure.
|
|
|
|
Re: Amiga OS4.1 SSD Harddrive utility
|
Posted on: 1/7 15:59
#111
|
Just can't stay away
|
@amiganuts To check SFS\0 partitions you can use SFSCheck from http://os4depot.net/?function=showcon ... driver/filesystem/sfs.lhaPartitionWizard (Enhancer Software) can copy data from a corrupted SFS\0 partition to another one, but it can't repair broken partitions. It can repair FFS (DOS\0-DOS\7) partitions. There are no tools for SFS\2. Your X5000 should include NGFS which should be the best file system available for AmigaOS 4.1. The only differences between SFS\0 and SFS\2 are the limits for the file size (SFS\0: 4 GB - 2 bytes) and partition size (SFS\0: 128 GB).
|
|
|
|
Re: MPlayer 1.5 released!
|
Posted on: 1/1 20:34
#112
|
Just can't stay away
|
@Maijestro Quote: It actually works with "-vo amiga:mode=3" and MPlayer 1.5 but leads to a slightly higher CPU load when playing videos compared to the sdl_sm502/comp or wpa output. My -vo amiga is only usable on real hardware, it either requires PIP/overlay support (-vo amiga:mode=0-2) (Merlin, Voodoo, ATI R100/R200, etc.), or at least something with 2D hardware scaling (-vo -amiga:mode=3), i.e. any gfx card but SM502/QEmu.
|
|
|
|
Re: MPlayer 1.5 released!
|
Posted on: 12/25 8:23
#113
|
Just can't stay away
|
@samo79 Quote: * Added amiga video output (a new modern P96 video output written by Jörg Strohmayer!) New? Not really It's probably even older, but the file date of the last version of my vo_amiga.c I found was 30.04.2014. IIRC I implemented it for MPlayer version 0.9 or 1.0, glad you got something working out of this mess even with current MPlayer versions. It's useless for current hardware, the PIP/overlay parts were only supported by some ancient gfx cards like Merlin, Voodoo 3/4/5, ATI R100/R200, etc. and current gfx cards no longer support PIP/overlay, but the 16 bit RGB part of it (-vo amiga:mode=3 in my versions) might still be usable for 16 bit only gfx cards like the SM502: A Sam460ex without gfx card and QEmu.
|
|
|
|
Re: wb2filer v0.8
|
Posted on: 12/22 20:17
#114
|
Just can't stay away
|
@balaton For comparing strings AmigaOS has IUtility->Stricmp(), Strnicmp(), UTF8Stricmp() and UTF8Strnicmp(). Additionally a country collation specific locale.library function ILocale->StrnCmp().
|
|
|
|
Re: wb2filer v0.8
|
Posted on: 12/22 7:14
#115
|
Just can't stay away
|
@balaton Quote: (either with strncpy or with a loop if using strncpy is not allowed) He doesn't want to use C library functions to get smaller and faster executables (no main() with argv[] parsing, no C library stdio setup, no malloc setup, etc.). AmigaOS doesn't include a strncpy() function outside of the C library, but it has a strlcpy() (IUtility->Strlcpy()). Quote: The if (DRIVE) break; line in the loop will never be true because you break from the loop after setting DRIVE to TRUE so this can only be reached with DRIVE=FALSE and therefore not needed. It's not required, just some speed up: It's for breaking the outer for(a...) loop as well. Instead you could set a to 1 after DRIVE=TRUE in the inner for(b...) loop. Quote: (Better call DRIVE as is_drive or similar as all caps names are usually used for macros by convenrion.) In AmigaOS code all caps names are often used for BOOL variables as well. Quote: Why are you opening DOS.library separately in _start instead of calling init For example for the
IDOS->Printf("can't init()\n");
but that's not required anyway: all libraries opened in init() are kickstart libraries which can't fail to open. If any of them couldn't be opened loading the wb2filer executable wouldn't be possible either...
|
|
|
|
Re: wb2filer v0.8
|
Posted on: 12/21 17:54
#116
|
Just can't stay away
|
@kas1e You can remove
if (!strstr_OS4(nw->Title," ") && !strstr_OS4(nw->Title,",") && !strstr_OS4(nw->Title,"%")) goto end;
The for (int32 a...) for(int32 b...) loop does the same, except for not checking for a ',' char.
if (!icon_name || !icon_name[0] || icon_name[IUtility->Strlen(icon_name)-1] != ':') goto end;
can be replaced by
if (!DRIVE) goto end;
If you want small code compile with -Os instead of -O3.
|
|
|
|
Re: wb2filer v0.8
|
Posted on: 12/20 18:05
#117
|
Just can't stay away
|
@kas1e You are searching for the first instead of the last '%', try something like
BOOL DRIVE = FALSE;
for(int32 a = len; a; a--)
{
if('%' == icon_name[a]) for(int32 b = a-1; b; b--)
{
if(b >= 1 && ' ' == icon_name[b] && ' ' == icon_name[b-1])
{
icon_name[b-1] = ':';
icon_name[b] = 0;
DRIVE = TRUE;
break;
}
}
if (DRIVE) break;
}
To reduce code size add "static inline" to all functions, except for _start().
Edited by joerg on 2023/12/20 18:49:19
|
|
|
|
Re: YT stopped working with Odyssey
|
Posted on: 12/17 11:53
#118
|
Just can't stay away
|
@Maijestro I don't know how fonts work in Odyssey, my AmigaOS 3.x and 4.x ports of OWB ports used the AmigaOS native font functions instead of libfreetype and fontconfig, but you could try if executing "fc-cache -f" in a shell helps. Depending on how much TTF/OTF fonts you have installed that may take a long time to complete.
|
|
|
|
Re: wb2filer v0.7
|
Posted on: 12/17 11:08
#119
|
Just can't stay away
|
@kas1e Remove
IExec->DropInterface((struct Interface *)IExec);
in deinit(). Both Release() and DropInterface() decrease the usage counter of the interface, i.e. you are decreasing it twice. DropInterface() should only be used if you got the interface with GetInterface() instead of some other way and using Obtain(). If it gets 0 and the library open counter 0 as well a library can be expunged. Not exec.library though
IExec = (struct ExecIFace *)sysbase->MainInterface
can't fail, no need to check the result. Using library versions 37 (AmigaOS 2.04) doesn't make sense, everything < 50 are old m68k versions without the AmigaOS 4.x Interfaces. An IUtility pointer is somewhere in struct ExecBase as well, but maybe not in the public versions of struct ExecBase but only the complete one in the internal OS4 includes. Not sure anymore, but my newlib _start() neither opened utility.library nor dos.library but got the IUtility and IDOS interface pointers in some other way. Add
IExec->DropInterface((struct Interface*)IDOS);
IExec->CloseLibrary((struct Library *)DOSBase);
before the return RETURN_ERROR/FAIL; if ReadArgs() or init() fails. init() should never fail, but ReadArgs() does if someone passes wrong arguments, for example none or more than one. Move
IDOS->Printf("deinit done, patching cleaned\n");
before deinit(); since deinit() closes the dos interface and library and you shouldn't call functions of closed interfaces, it may even crash depending on debug options of the kernel.
int ret = IUtility->SNPrintf(command_line,MAX_DOS_PATH, "%s%lc%lc%s%lc", args.filer_binary, ' ', '"', icon_name, '"');
can be simplyfied to something like
int ret = IUtility->SNPrintf(command_line,MAX_DOS_PATH, "%s \"%s\"", args.filer_binary, icon_name);
but maybe
int ret = IUtility->SNPrintf(command_line,MAX_DOS_PATH, "\"%s\" \"%s\"", args.filer_binary, icon_name);
is required: The filer path may include spaces.
|
|
|
|
Re: wb2filer v0.7
|
Posted on: 12/16 16:21
#120
|
Just can't stay away
|
@kas1e
struct ExecIFace *IExec;
int32 _start(STRPTR args, int32 length, struct ExecBase *sysbase)
{
IExec = (struct ExecIFace *)sysbase->MainInterface;
IExec->Obtain();
...
IExec->Release();
return RETURN_OK;
}
Quote: so probabaly need to switch to native ReadArgs() way ? Yes, unless you want to parse "args" yourself. If you want to support starting it from Workbench (using ToolTypes) as well the easiest way is using something like https://aminet.net/package/dev/c/nrdargs
Edited by joerg on 2023/12/16 16:51:25
|
|
|
|